Complete reference for operating, configuring, and integrating the C-Quential sequential shift controller with your dual-clutch transmission.
The C-Quential monitors the position of your shift arm and sends shift requests to the transmission the moment the arm crosses its calibrated trip point — before you finish the full throw. This pre-triggering eliminates perceived lag and makes shifts feel immediate.
The shift arm has two controls: the shift arm which moves forward and backward, and the drive select trigger on the arm which works like a gun trigger. The combination of trigger state and arm direction determines what command is sent.
While in Drive or Manual mode, the trigger is not needed for sequential gear changes.
Drive modes use the drive select trigger. A brief press and release is all that is needed — the mode holds after you let go. All changes confirmed on your instrument cluster.
The three illuminated RGB buttons provide direct drive mode selection with a momentary press. Mode is confirmed on your instrument cluster.
Colors are fully configurable. States below use defaults: Accent = Green · Shift = White · Trigger = Red
The C-Quential broadcasts three messages on CAN2 at 47.5 Hz. All are 29-bit extended frames.
All C-Quential product family messages use 29-bit extended IDs structured as 0x1C0T0FFF where T is the device type and FFF is the message function.
| Device | Type (T) | Base Address |
|---|---|---|
| Shift Controller | 0x1 | 0x1C010000 |
| Steering Wheel | 0x2 | 0x1C020000 |
| PDM | 0x3 | 0x1C030000 |
| ECU | 0x4 | 0x1C040000 |
| Sensor | 0x5 | 0x1C050000 |
| Byte | Name | Range | Description |
|---|---|---|---|
| 0 | shiftDwnTripHi | 0x00–0xFF | Downshift trip point — high byte |
| 1 | shiftDwnTripLo | 0x00–0xFF | Downshift trip point — low byte |
| 2 | shiftUpTripHi | 0x00–0xFF | Upshift trip point — high byte |
| 3 | shiftUpTripLo | 0x00–0xFF | Upshift trip point — low byte |
| 4–5 | — | 0x00 | Reserved |
| 6 | armAngleHi | 0x00–0x0F | Live 12-bit arm angle — high byte (range 0–4095) |
| 7 | armAngleLo | 0x00–0xFF | Live 12-bit arm angle — low byte |
| Byte | Name | Range | Description |
|---|---|---|---|
| 0 | hysteresisUp | 0–255 | Upshift hysteresis dead band (ADC counts) |
| 1 | hysteresisDwn | 0–255 | Downshift hysteresis dead band (ADC counts) — independent of upshift |
| 2 | shiftLockout | 0–255 | Lockout timer value × 10ms = actual lockout duration |
| 3 | armState | 0, 1, 2 | 0=Neutral 1=Up 2=Down |
| 4 | shiftCount[31:24] | 0x00–0xFF | Lifetime shift counter — most significant byte |
| 5 | shiftCount[23:16] | 0x00–0xFF | Lifetime shift counter |
| 6 | shiftCount[15:8] | 0x00–0xFF | Lifetime shift counter |
| 7 | shiftCount[7:0] | 0x00–0xFF | Lifetime shift counter — least significant byte |
| Byte | Name | Range | Description |
|---|---|---|---|
| 0 | msgFunction | 0x10–0x13 | Low byte of the received message ID that triggered this ACK |
| 1 | status | 0x00, 0x01 | 0x00 = accepted and written · 0x01 = error |
| 2–7 | — | 0x00 | Reserved |
| Byte | Name | Range | Description |
|---|---|---|---|
| 0 | switchBits | 0x00–0xFF | Bitmask — see bit definitions below |
| 1 | gearByte | 0x00–0x20 | Current gear command: 0x00=none 0x01=Park 0x02=Neutral 0x04=Reverse 0x08=Drive 0x10=Low 0x20=Manual |
| 2 | shiftUpMode | 0, 1, 2 | Shift arm up: 0=idle 1=short press 2=long press |
| 3 | shiftDwnMode | 0, 1, 2 | Shift arm down: 0=idle 1=short press 2=long press |
| 4–7 | — | 0x00 | Reserved for future use |
Send these 29-bit extended frames on CAN2. Changes write to non-volatile memory immediately and take effect in the same cycle. An ACK is returned on 0x1C010020 after each successful write.
| Byte | Name | Range | Description |
|---|---|---|---|
| 0 | hysteresisUp | 0–255 | Upshift dead band in ADC counts. Default 20. |
| 1 | shiftDwnTripHi | 0x00–0xFF | Downshift trip point — high byte of 16-bit ADC value (0–4095) |
| 2 | shiftDwnTripLo | 0x00–0xFF | Downshift trip point — low byte |
| 3 | shiftUpTripHi | 0x00–0xFF | Upshift trip point — high byte of 16-bit ADC value (0–4095) |
| 4 | shiftUpTripLo | 0x00–0xFF | Upshift trip point — low byte |
| 5 | hysteresisDwn | 0–255 | Downshift dead band in ADC counts. Default 20. Independent of upshift. |
| 6 | shiftLockout | 0–255 | Min time between shifts × 10ms. Default 20 = 200ms. Set 0 to disable. |
| 7 | — | 0x00 | Reserved — send as 0x00 |
Three independent LED colors are configurable over CAN. All are 29-bit extended frames on CAN2. An ACK is returned after each successful color write.
Format: Byte 0 = Red · Byte 1 = Green · Byte 2 = Blue · Range 0x00–0xFF
| Byte | Name | Range | |
|---|---|---|---|
| 0 | Red | 0x00–0xFF | Red channel brightness |
| 1 | Green | 0x00–0xFF | Green channel brightness |
| 2 | Blue | 0x00–0xFF | Blue channel brightness |
| 3–7 | — | 0x00 | Send as 0x00 |
| Byte | Name | Range | |
|---|---|---|---|
| 0 | Red | 0x00–0xFF | Red channel brightness |
| 1 | Green | 0x00–0xFF | Green channel brightness |
| 2 | Blue | 0x00–0xFF | Blue channel brightness |
| 3–7 | — | 0x00 | Send as 0x00 |
| Byte | Name | Range | |
|---|---|---|---|
| 0 | Red | 0x00–0xFF | Red channel brightness |
| 1 | Green | 0x00–0xFF | Green channel brightness |
| 2 | Blue | 0x00–0xFF | Blue channel brightness |
| 3–7 | — | 0x00 | Send as 0x00 |
| Color | Byte 0 (R) | Byte 1 (G) | Byte 2 (B) |
|---|---|---|---|
| White (default shift) | 0x80 | 0x80 | 0x80 |
| Red (default trigger) | 0x80 | 0x00 | 0x00 |
| Green (default accent) | 0x00 | 0x80 | 0x00 |
| Blue | 0x00 | 0x00 | 0x80 |
| Cyan | 0x00 | 0x80 | 0x80 |
| Magenta | 0x80 | 0x00 | 0x80 |
| Yellow | 0x80 | 0x80 | 0x00 |
| Orange | 0x80 | 0x30 | 0x00 |
| Off | 0x00 | 0x00 | 0x00 |
| Full brightness white | 0xFF | 0xFF | 0xFF |
All settings survive power cycles. The controller uses addresses 0–19 of the available 1080-byte EEPROM.
| ID | Bus | Dir | Type | Rate | Purpose |
|---|---|---|---|---|---|
| 0x1C010001 | CAN2 | TX | EXT | 47.5 Hz | Arm angle + trip point echo |
| 0x1C010002 | CAN2 | TX | EXT | 47.5 Hz | Status: tuning values + arm state + lifetime shift count |
| 0x1C010003 | CAN2 | TX | EXT | 10 Hz | Peripheral status: switches, outputs, relay states, gear command |
| 0x1C010020 | CAN2 | TX | EXT | On config | Acknowledge — confirms config write accepted |
| 0x1C010010 | CAN2 | RX | EXT | On demand | Set trip points, hysteresis (up+down), lockout timer |
| 0x1C010011 | CAN2 | RX | EXT | On demand | Set accent LED color (R G B) |
| 0x1C010012 | CAN2 | RX | EXT | On demand | Set shift LED color (R G B) |
| 0x1C010013 | CAN2 | RX | EXT | On demand | Set trigger LED color (R G B) |
The Xircuit CAN Bridge Lite is a compact USB-A device that connects directly to a PC and bridges the C-Quential CAN bus to the configurator software. It is based on the ESP32-S3 with a built-in 1.47" display and requires only a USB-A port — no additional power supply needed.
The display shows live bus information at a glance: