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 YesengTrqEstOutput
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

  1. Datastreams → Generic CAN Transmit — set the transmit bus, the CAN speed, and build frame 0x627 with the four channels above.
  2. X-CAN Receive A — set up frame 0x640 with the four slots above.
  3. IO Configuration → Pin Assignments — assign the received values. Data arriving from the device does nothing until it is assigned here.
  4. Defined Sensors and Trip Setups → Gear Position → Gear Position Sensor → In Gear Voltage — calibrate gear position against the incoming gear value.
  5. 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.
  6. Gear Shift → Manual Shift Inputs — calibrate the cut and blip responses.
  7. Calibrate the drive ratios correctly. Blips will not land without them.

In the configuration software

  1. Add a CAN bus at the matching bitrate.
  2. Add CAN bus inputs for RPM, MAP, pedal position and torque from 0x627.
  3. Add CAN bus outputs for gear, blip request, cut request and transmission temperature on 0x640.
  4. Assign the torque input as the engine torque source.
  5. Assign gear cut and throttle blip to their CAN outputs.
  6. Set a Timeout and Timeout mode on every input. UsePrevious holds 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:

  1. The injector size in Fuel Consumption → Injector Consumption Scaling is the size actually fitted.
  2. 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.
  • [ ] engTrqEstOutput is 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.