Documentation

Setup and reference for the OpenHaldex C6. For fitting the controller, start with Installation.

Start here

Wi-Fi setup

  1. Join the access pointConnect to OpenHaldex-C6. It's open by default.
  2. Open the interfaceBrowse to 192.168.1.1 or openhaldex.local.

From the Diagnostics page you can:

  • Change the network name. Any printable name from 1 to 32 characters. The access point restarts as soon as you save.
  • Set a password. WPA2, at least 8 characters. Leave it blank for an open network.

Locked out or the interface stopped responding? Long-press the Mode button. It clears the password and restarts an open access point. The network name is kept; use Reset to Default in the interface to go back to OpenHaldex-C6.

Low power mode

OpenHaldex is designed to live on a permanent 12 V feed without draining the battery.

StateCurrent
Sleeping (car off, Wi-Fi off, CAN quiet)about 14 mA
Awake (CAN activity or a Wi-Fi client connected)about 50 mA

How it saves power

There are three levels. Each builds on the one before, and all are set on the Settings page.

  • Idle access point shutdown (always on). After 5 minutes with no Wi-Fi clients and no CAN traffic, Wi-Fi and the LED switch off. They come back as soon as CAN traffic resumes.
  • CAN Sleep. After five minutes with no Wi-Fi clients and both CAN buses silent, the controller sleeps until a CAN frame arrives. The first frame that wakes it may be lost. This gives most of the saving and is the best place to start.
  • CAN Sleep (Aggressive). Also parks the CAN transceivers in standby, drops the processor to 10 MHz and lowers Wi-Fi transmit power. Bus activity wakes the transceivers within microseconds, with a two-second safety check as a backup. Use this if the car sits for days at a time.

Setting it up

Every car idles its CAN bus at a slightly different rate, so there's one calibration step.

  1. Measure the parked busPark and lock the car, then wait about 15 minutes for the bus to go quiet. Stay connected to the controller's Wi-Fi (it stays awake while you're connected) and watch Chassis fps and Haldex fps on the Settings page. Note the highest reading.
  2. Set the wake thresholdSet LP Wake Threshold (fps) a little above that reading. If the bus goes to 0 fps, use 5. If it idles at 8 fps, use 15.
  3. Enable sleepTurn on CAN Sleep, and optionally CAN Sleep (Aggressive).
  4. DisconnectClose the browser and leave the Wi-Fi network. The controller will now sleep, and wake whenever the CAN frame rate rises above your threshold.

The threshold uses the chassis bus frame rate to confirm ignition-on; in standalone mode it uses the Haldex bus instead. Bench Mode keeps Wi-Fi up for testing and clears itself as soon as CAN traffic appears. On switched-ignition installs low power mode is optional.

CAN broadcast and mode change

Turning on Broadcast over CAN in Settings enables two things: mode-change commands received on 0x6A0, and the controller's state broadcast on 0x6B0.

This puts new CAN IDs on the bus. Check nothing else on your car already uses them before enabling it.

Change mode: 0x6A0

Send a standard 11-bit frame to 0x6A0 with the mode in byte 0. For an 8-byte frame, set the unused bytes to 0x00. The controller ignores this frame unless Broadcast over CAN is on.

data[0]Mode
0x01Stock
0x02FWD
0x0350:50
0x0460:40
0x0575:25
0x06Expert

State broadcast: 0x6B0

Use this to show OpenHaldex status on a dash display, FIS screen or aftermarket ECU.

ByteContent
data[0]Reserved
data[1]Standalone flags (bitmask for Gen1, Gen2, Gen4, Gen5)
data[2]Processed Haldex engagement (requested by firmware)
data[3]Lock target percent (actual lock returned by the coupling)
data[4]Vehicle speed (km/h)
data[5]Mode override flag (legacy)
data[6]Current mode number (0 to 5)
data[7]Accelerator pedal (0 to 100%)

SavvyCAN

Capture the car's CAN traffic with SavvyCAN over Wi-Fi or USB, using the GVRET protocol. Handy for finding the signals behind a new feature.

Analyzer mode turns off active Haldex control. The controller goes back to Stock pass-through behaviour while it's on.

Over Wi-Fi

  1. ConnectJoin the OpenHaldex access point.
  2. EnableIn Settings, turn on SavvyCAN via Wi-Fi.
  3. Add the deviceIn SavvyCAN, open Connection, then Add New Device Connection, then Network Connection (GVRET).
  4. Enter the addressIP 192.168.1.1, port 23, CAN speed 500000.

Over USB

  1. ConnectPlug the controller in with a USB-C data cable.
  2. EnableIn Settings, turn on SavvyCAN via Serial.
  3. Add the deviceIn SavvyCAN, add a Serial Connection (GVRET), pick the COM port and set the speed to 500000.

Live diagnostics

Turn on Enable Live Diagnostics in Settings to read measurements from the Haldex module. The right protocol is chosen automatically for your generation.

  • Gen5 (MQB 0CQ, PQ 0AY) uses UDS over ISO-TP: terminal voltage, module temperature, clutch temperature, cooling-fin temperature, clutch current, PWM and voltage.
  • Gen2 (1K0) and Gen4 (0AY) use KWP2000 over VW TP2.0: oil and clutch plate temperatures, supply voltage, oil pressure, estimated torque, and clutch valve duty and current. Raw measuring-block bytes are shown too.

Scaling is confirmed against VCDS. The feature shares the module's diagnostic channel, so it steps aside when a scan tool connects.

If VCDS or another tool won't connect, turn Live Diagnostics off. Excessive CAN traffic can also cause spurious dash warnings.

Frame editing

The Diagnostics page lists every CAN frame OpenHaldex can modify for the selected generation. Untick a frame to leave the car's original message untouched; tick it to let OpenHaldex modify or generate it. Changes apply immediately and are saved per generation. Reset to Defaults restores the standard set.

This is useful for tracking down which edited frame upsets a Haldex learn or sets a fault code, and for tailoring behaviour on unusual cars. It works in both normal and standalone modes.

Home Wi-Fi bridge

On the Diagnostics page, Home WiFi (Bridge Mode) lets the controller join your home or garage network as well as running its own access point. Search for your network, enter its password and select Save & Apply. Once connected, the card shows the address it's reachable at, and openhaldex.local works from that network too.

It looks for your network for 20 seconds after starting, then once every five minutes, so it won't disturb the access point when you're away from home. The controller still sleeps as normal. Leave the network name blank, or select Disable, to turn it off.

Backup and restore

On the Diagnostics page, Export Config saves your Expert tune, steering scale, frame edits, settings and Wi-Fi name to a JSON file. Import Config brings everything back in one go. Wi-Fi passwords are never written to the file; you'll be asked to re-enter them once after importing if any were set.

Export before every firmware update, since an update can wipe on-device settings.

Updating firmware

Over USB: use the firmware updater in Chrome or Edge on a desktop. This is needed for the first install onto older firmware, or if the web interface is ever lost.

Over Wi-Fi: on current firmware, open the OTA page, choose Filesystem and upload littlefs.bin, then choose Firmware and upload firmware.bin. Both are in the release folder on GitHub. The controller reboots once the firmware upload completes. Updates are refused while the car is moving or a CAN bus is unhealthy.

Either way, export a backup first.

Source and licence

OpenHaldex-C6 firmware and hardware files are released under the MIT License. If you redistribute source or binaries, keep the copyright and third-party notices. See LICENSE.md and THIRD_PARTY_NOTICES.md.