Syvecs S6+ / S7+ / S8
Applies to: IOcan · Standalone controller. What this means
You have a ZF 8HP, a BMW DKG or a Porsche PDK to run and a Syvecs S6+, S7+ or S8 managing the engine. There is no preset for Syvecs, so this is a mapped-by-hand integration. The frame layout below is known-good, and the Syvecs broadcasts a torque estimate you can use directly.
This page covers the ECU side. The transmission side — which controller to add and which transmission preset to pair — is on the per-transmission pages (8HP · DKG · PDK).
Choosing between devices? Which device do I need? settles it in one question, and compares the IOcan CAN gateway with the standalone transmission controller.
Syvecs is one of the better integrations on this site, for one reason: it broadcasts its own torque estimate, so the device does not have to calculate one.
Compatibility summary
| Preset name in the app | None — mapped by hand. The layout below is the known-good mapping and is built as CAN inputs and outputs |
| Torque broadcast | Yes — engTrqEstOutput |
| Injector pulse width | Not required when the torque broadcast is used |
| Recommended torque method | ECU-reported torque |
| Cut and blip route | CAN, into Syvecs' own shift strategies |
Both ends have fully configurable CAN, so this is a two-sided mapping job rather than an exercise in matching someone's fixed stream. Building the device side is much quicker than it used to be — the CAN Analyzer's Custom Input builds each input against live traffic and transfers it into the configuration.
Known-good frame layout
Nothing here is mandatory — both devices are flexible — but it works, and it saves you inventing one.
Device → Syvecs, frame 0x640
Received in Syvecs as X-CAN Receive A, all values 16-bit big endian:
| Slot | Signal |
|---|---|
| #1 | Current gear |
| #2 | Blip request |
| #3 | Cut request |
| #4 | Transmission temperature |
Syvecs → device, frame 0x627
Sent from Syvecs Generic CAN Transmit:
| Signal | Notes |
|---|---|
RPM |
|
MAP1 |
|
ppsA |
Pedal position |
engTrqEstOutput |
Syvecs' own torque estimate — assign as the device's torque input |
Set which bus carries this under Datastreams → Generic CAN Transmit → Transmit Bus, and make sure the CAN speed matches the device.
⚠️ On the S7+, use CAN 2 for this. CAN 1 carries the fixed Syvecs datastream and serves the internal I/O expander. Generic CAN Transmit and Receive belong on CAN 2, pins B2 and B3. Assigning Generic Transmit to CAN 1 while an expander is configured produces a calibration error and the ECU will not come into sync.
Setup
In SCal
- Datastreams → Generic CAN Transmit — set the transmit bus, the CAN speed,
and build frame
0x627with the four channels above. - X-CAN Receive A — set up frame
0x640with the four slots above. - IO Configuration → Pin Assignments — assign the received values. Data arriving from the device does nothing until it is assigned here.
- Defined Sensors and Trip Setups → Gear Position → Gear Position Sensor → In Gear Voltage — calibrate gear position against the incoming gear value.
- Fuel Consumption → Injector Consumption Scaling — enter the real injector size. The torque estimate is derived from fuel flow, so an inherited or nominal injector figure gives you a confidently wrong torque number.
- Gear Shift → Manual Shift Inputs — calibrate the cut and blip responses.
- Calibrate the drive ratios correctly. Blips will not land without them.
In the configuration software
- Add a CAN bus at the matching bitrate.
- Add CAN bus inputs for RPM, MAP, pedal position and torque from
0x627. - Add CAN bus outputs for gear, blip request, cut request and transmission
temperature on
0x640. - Assign the torque input as the engine torque source.
- Assign gear cut and throttle blip to their CAN outputs.
- Set a Timeout and Timeout mode on every input.
UsePreviousholds a stale value forever and is the wrong choice on anything safety-relevant.
Cut and blip strategy
A known-good starting point:
- Cut — progressive ignition retard. This works on the majority of setups, but adjust it to yours rather than accepting it.
- Blip — drive-by-wire blip with predictive blip time. Tune strength and duration to match RPM without over-revving.
Start low on both and increase. Dial them in on a dyno or a closed track, not on the road — see tuning a blip safely.
What this mapping does not provide
The OEM gateways require seven mandatory inputs — eight on PDK. The layout above does not carry:
- Throttle position (distinct from pedal position)
- Coolant temperature
- Oil temperature
- Brake status
- Vehicle speed (PDK gateway only)
Add them to frame 0x627, or supply them from a device input. Brake almost
always ends up as a device input from the brake switch regardless of what the
ECU broadcasts.
A missing mandatory input raises fault 0x0001 and the driver will not run,
so resolve these at the wiring stage rather than during commissioning. The full
set is on the signal requirements matrix.
Torque signal setup and validation
Use the broadcast value. A real torque value beats a calibrated estimate.
It is still an estimate, derived from fuel flow — so it is only as good as the injector scaling behind it. Two things to check before driving:
- The injector size in Fuel Consumption → Injector Consumption Scaling is the size actually fitted.
- The broadcast value is plausible against a known figure — a dyno run, or the engine's rated torque at a known load point.
Validate before driving. The torque value sets clutch pressure, nothing checks whether it is plausible, and under-reporting is the direction that slips and overheats clutches. On a gateway it also sets the depth of every shift cut, because the TCU's requested torque limit is rescaled against it.
See Engine torque estimation for the verification points, and Check your torque model for what happens when the injector scaling changes after commissioning.
Verification checklist
- [ ] RPM tracks the ECU's own RPM channel.
- [ ] Pedal position reads zero closed and full scale at wide-open throttle.
- [ ] MAP is plausible at idle and tracks load.
- [ ]
engTrqEstOutputis present, changing, and plausible against a known torque figure. - [ ] Injector scaling in SCal matches the injectors actually fitted.
- [ ] Gear position in SCal follows the gear the device reports.
- [ ] Drive ratios are calibrated.
- [ ] Every signal from the "does not provide" list is present from its alternative source.
- [ ] No mandatory-input faults are active.