CQ
// Owner's Reference — DCT Shift Controller

C-Quential
Interface Guide

Complete reference for operating, configuring, and integrating the C-Quential sequential shift controller with your dual-clutch transmission.

500 kbps CAN47.5 Hz Broadcast EEPROM SettingsLive Data Output Configurable RGB LEDsConfig Acknowledge Lifetime Shift CounterPeripheral Status Frame Xircuit CAN Bridge Lite
Part 1 — Operation
// 01 — Operation

How to Use
Your Shifter

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.

First power-on: Turn on the ignition. The middle button illuminates in the shift color (white by default). Top and bottom buttons show your accent color (green by default). This confirms the controller is active and the arm is centered. No commands are being sent.

Upshifting & Downshifting

While in Drive or Manual mode, the trigger is not needed for sequential gear changes.

1
Upshift — pull the shift arm rearward. The top button illuminates shift color. Release — arm returns to neutral and the shift executes.
2
Downshift — push the shift arm forward. The bottom button illuminates the shift color. Release — arm returns to neutral and the shift executes.
3
Shifts register the instant the arm crosses the trip point. You do not need to hold the arm.

Drive Mode Selection

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.

1
Drive — pull trigger + pull arm rearward + release.
2
Reverse — pull trigger + push arm forward + release.
3
High / Low range — pull trigger + pull arm rearward + hold briefly + release.
4
Override — pull trigger + push arm forward + hold. Unlocks full throttle in Reverse for vehicle extraction. Release arm to exit immediately.
Override: Hold shift arm forward for the duration. No LED indicator — confirm on your instrument cluster.
// 02 — Button Controls

The Three
Buttons

The three illuminated RGB buttons provide direct drive mode selection with a momentary press. Mode is confirmed on your instrument cluster.

SW1 — Top
Park
Press once to command Park.
SW2 — Middle
Neutral
Press once to command Neutral.
SW3 — Bottom
Manual / Auto
Press once to toggle Manual / Automatic shift modes.
All button presses are momentary. Press and release — the transmission holds the new state.
// 03 — LED Status Indicators

Understanding
LED States

Colors are fully configurable. States below use defaults: Accent = Green  ·  Shift = White  ·  Trigger = Red

SW1
SW2
SW3
Neutral / Ready
Arm centered. No shift commanded. Middle shows shift color confirming neutral arm position.
SW1
SW2
SW3
Arm Pulled Back — Upshift
Arm past upshift trip. Shift color moves to the top button. Upshift command sent.
SW1
SW2
SW3
Arm Pushed Forward — Downshift
Arm past downshift trip. Shift color moves to the bottom button. Downshift command sent.
SW1
SW2
SW3
Trigger Held — Arm Neutral
Trigger depressed. Middle shows trigger color. Move arm to select drive mode.
SW1
SW2
SW3
Trigger + Arm Back — Drive / High-Low
Trigger held, arm pulled back. Top button shows trigger color. Car goes into Drive.
While in Drive, pull trigger + arm back again and hold briefly to toggle between High and Low gear range — confirmed on dash.
SW1
SW2
SW3
Trigger + Arm Forward — Reverse / Override
Trigger held, arm pushed forward. Bottom button shows trigger color. Car goes into Reverse.
While in Reverse, pull trigger + arm forward again and hold to activate override mode — confirmed on dash.
Part 2 — CAN Integration
// 04 — CAN Output Messages

Transmitted
Data

The C-Quential broadcasts three messages on CAN2 at 47.5 Hz. All are 29-bit extended frames.

Bus assignment: CAN2 carries all configuration and telemetry. CAN1 is the vehicle factory interface and is not covered in this document.

CAN ID Scheme

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.

DeviceType (T)Base Address
Shift Controller0x10x1C010000
Steering Wheel0x20x1C020000
PDM0x30x1C030000
ECU0x40x1C040000
Sensor0x50x1C050000
0x1C010001TXEXT 29-bitCAN2 · 47.5 Hz
Arm angle + trip point echo. Use this to read stored trip points and monitor the live sensor value during calibration.
ByteNameRangeDescription
0shiftDwnTripHi0x00–0xFFDownshift trip point — high byte
1shiftDwnTripLo0x00–0xFFDownshift trip point — low byte
2shiftUpTripHi0x00–0xFFUpshift trip point — high byte
3shiftUpTripLo0x00–0xFFUpshift trip point — low byte
4–50x00Reserved
6armAngleHi0x00–0x0FLive 12-bit arm angle — high byte (range 0–4095)
7armAngleLo0x00–0xFFLive 12-bit arm angle — low byte
Reading arm angle: angle = (byte6 << 8) | byte7. Move arm to desired position, note value, send as trip point in config message.
0x1C010002TXEXT 29-bitCAN2 · 47.5 Hz
Status broadcast — current tuning parameters, arm state, and lifetime shift counter.
ByteNameRangeDescription
0hysteresisUp0–255Upshift hysteresis dead band (ADC counts)
1hysteresisDwn0–255Downshift hysteresis dead band (ADC counts) — independent of upshift
2shiftLockout0–255Lockout timer value × 10ms = actual lockout duration
3armState0, 1, 20=Neutral   1=Up   2=Down
4shiftCount[31:24]0x00–0xFFLifetime shift counter — most significant byte
5shiftCount[23:16]0x00–0xFFLifetime shift counter
6shiftCount[15:8]0x00–0xFFLifetime shift counter
7shiftCount[7:0]0x00–0xFFLifetime shift counter — least significant byte
Reading shift count: count = (b4<<24)|(b5<<16)|(b6<<8)|b7. Survives power cycles. Never reset. Max: 4,294,967,295 shifts.
0x1C010020TXEXT 29-bitCAN2 · On config receipt
Acknowledge — sent once after any configuration message is received and written to EEPROM.
ByteNameRangeDescription
0msgFunction0x10–0x13Low byte of the received message ID that triggered this ACK
1status0x00, 0x010x00 = accepted and written  ·  0x01 = error
2–70x00Reserved
ACK byte 0 values: 0x10 = calibration  ·  0x11 = accent color  ·  0x12 = shift color  ·  0x13 = trigger color
0x1C010003TXEXT 29-bitCAN2 · 10 Hz
Peripheral status — mechanical state of all switches and outputs. Use this frame for remote diagnostics to confirm every physical input and relay output is working correctly.
ByteNameRangeDescription
0switchBits0x00–0xFFBitmask — see bit definitions below
1gearByte0x00–0x20Current gear command: 0x00=none 0x01=Park 0x02=Neutral 0x04=Reverse 0x08=Drive 0x10=Low 0x20=Manual
2shiftUpMode0, 1, 2Shift arm up: 0=idle 1=short press 2=long press
3shiftDwnMode0, 1, 2Shift arm down: 0=idle 1=short press 2=long press
4–70x00Reserved for future use
Byte 0 bit definitions (1 = active):

bit 0 — Trigger (drive select) pressed
bit 1 — Button 1 (SW1 top) pressed
bit 2 — Button 2 (SW2 middle) pressed
bit 3 — Button 3 (SW3 bottom) pressed
bit 4 — Shift Up output active
bit 5 — Shift Down output active
bit 6 — Override ON relay active
bit 7 — Override OFF relay active
// 05 — CAN Configuration Messages

Configuring
Your Unit

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.

0x1C010010RXEXT 29-bitCAN2
Main calibration frame — sets trip points, independent hysteresis values, and shift lockout in one message.
ByteNameRangeDescription
0hysteresisUp0–255Upshift dead band in ADC counts. Default 20.
1shiftDwnTripHi0x00–0xFFDownshift trip point — high byte of 16-bit ADC value (0–4095)
2shiftDwnTripLo0x00–0xFFDownshift trip point — low byte
3shiftUpTripHi0x00–0xFFUpshift trip point — high byte of 16-bit ADC value (0–4095)
4shiftUpTripLo0x00–0xFFUpshift trip point — low byte
5hysteresisDwn0–255Downshift dead band in ADC counts. Default 20. Independent of upshift.
6shiftLockout0–255Min time between shifts × 10ms. Default 20 = 200ms. Set 0 to disable.
70x00Reserved — send as 0x00
// Example — upTrip=0x04F0, dwnTrip=0x04C0, hysUp=20, hysDwn=20, lockout=200ms
ID0x1C010010  EXT
Data
14
B0
04
B1
C0
B2
04
B3
F0
B4
14
B5
14
B6
00
B7
ACK0x1C010020 → byte0=0x10  byte1=0x00

Calibration Procedure

1
Monitor 0x1C010001 bytes 6–7 for live arm angle (0–4095). Use the C-Quential Configurator software for a visual gauge.
2
Move arm to desired upshift position. Note the angle value.
3
Move arm to desired downshift position. Note that value.
4
Send 0x1C010010 with your values in bytes 1–4.
5
Confirm ACK on 0x1C010020 byte0=0x10, byte1=0x00. Power cycle to verify persistence.
// 06 — LED Color Configuration

Customizing
LED Colors

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

0x1C010011EXT 29-bitRXCAN2
Accent color — idle color on buttons not actively indicating a shift or trigger state. Default: green (00 80 00)
ByteNameRange
0Red0x00–0xFFRed channel brightness
1Green0x00–0xFFGreen channel brightness
2Blue0x00–0xFFBlue channel brightness
3–70x00Send as 0x00
0x1C010012EXT 29-bitRXCAN2
Shift color — shown on the active button during shifts and on the middle button at neutral. Default: white (80 80 80)
ByteNameRange
0Red0x00–0xFFRed channel brightness
1Green0x00–0xFFGreen channel brightness
2Blue0x00–0xFFBlue channel brightness
3–70x00Send as 0x00
0x1C010013EXT 29-bitRXCAN2
Trigger color — shown when the drive select trigger is held. Default: red (80 00 00)
ByteNameRange
0Red0x00–0xFFRed channel brightness
1Green0x00–0xFFGreen channel brightness
2Blue0x00–0xFFBlue channel brightness
3–70x00Send as 0x00

Common Color Values

ColorByte 0 (R)Byte 1 (G)Byte 2 (B)
White (default shift)0x800x800x80
Red (default trigger)0x800x000x00
Green (default accent)0x000x800x00
Blue0x000x000x80
Cyan0x000x800x80
Magenta0x800x000x80
Yellow0x800x800x00
Orange0x800x300x00
Off0x000x000x00
Full brightness white0xFF0xFF0xFF
// 07 — Non-Volatile Storage

EEPROM
Memory Map

All settings survive power cycles. The controller uses addresses 0–19 of the available 1080-byte EEPROM.

0x00
shiftDwnTripHi
Downshift trip point — high byte
0x01
shiftDwnTripLo
Downshift trip point — low byte
0x02
shiftUpTripHi
Upshift trip point — high byte
0x03
shiftUpTripLo
Upshift trip point — low byte
0x04
accentR
Accent color — red channel
0x05
accentG
Accent color — green channel
0x06
accentB
Accent color — blue channel
0x07
shiftR
Shift color — red channel
0x08
shiftG
Shift color — green channel
0x09
shiftB
Shift color — blue channel
0x0A
triggerR
Trigger color — red channel
0x0B
triggerG
Trigger color — green channel
0x0C
triggerB
Trigger color — blue channel
0x0D
hysteresisUp
Upshift dead band (0–255). Blank → default 20
0x0E
hysteresisDwn
Downshift dead band (0–255). Blank → default 20
0x0F
shiftLockout
Lockout timer ×10ms. Blank → default 200ms
0x10–0x13
shiftCount
Lifetime shift counter — 32-bit unsigned, MSB first. Never reset.
// 08 — Quick Reference

All CAN
Messages

IDBusDirTypeRatePurpose
0x1C010001CAN2TXEXT47.5 HzArm angle + trip point echo
0x1C010002CAN2TXEXT47.5 HzStatus: tuning values + arm state + lifetime shift count
0x1C010003CAN2TXEXT10 HzPeripheral status: switches, outputs, relay states, gear command
0x1C010020CAN2TXEXTOn configAcknowledge — confirms config write accepted
0x1C010010CAN2RXEXTOn demandSet trip points, hysteresis (up+down), lockout timer
0x1C010011CAN2RXEXTOn demandSet accent LED color (R G B)
0x1C010012CAN2RXEXTOn demandSet shift LED color (R G B)
0x1C010013CAN2RXEXTOn demandSet trigger LED color (R G B)
Data logger setup: Subscribe to 0x1C010001 for live arm angle and trip point echo. Subscribe to 0x1C010002 for arm state, tuning parameters, and lifetime shift count. Both broadcast at 47.5 Hz continuously while powered. Subscribe to 0x1C010003 at 10 Hz for peripheral switch and output states.
Neutral output pin: Pin 5 on the controller goes HIGH when the arm is in the neutral position. Connect to a data logger or dash input for a hardware "not shifting" signal.
Part 3 — CAN Bridge Lite
// 09 — Xircuit CAN Bridge Lite

USB-CAN
Bridge

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.

Hardware

Processor
ESP32-S3
Dual-core 240MHz, native USB CDC, Wi-Fi & Bluetooth capable.
CAN Interface
TWAI + SN65HVD230
Single 500 kbps CAN channel. Connects to CAN2 on the shifter controller.
Display
1.47" IPS LCD
172×320 color display showing live bus stats, frame data, and status.
Connection
USB-A Direct
Plugs directly into any USB-A port. No cable required.

LED Status Indicator

Blue — No Device
Module is running and the CAN bus is initialized, but no traffic has been detected. Check CAN wiring and shifter power.
Green — Connected & Healthy
CAN frames are flowing and the bus is error-free. Normal operating state.
Amber — Warning
Bus errors detected. Check termination, wiring, and baud rate. Reverts to green automatically once errors clear.
Red — Fault
TWAI controller entered bus-off state. The bridge will attempt automatic recovery. Check for shorts on CANH/CANL.

Display

The display shows live bus information at a glance:

1
Status — current bus state matching the LED indicator color.
2
Bus Speed — configured baud rate (500 kbps).
3
RX / TX / Bus Errors — running frame counts and cumulative error count.
4
Last Frame — cycles through all unique CAN IDs seen on the bus, showing ID, DLC, and data bytes. Updates every 100ms.

Connecting to the Configurator

1
Plug the CAN Bridge Lite into a USB-A port on your PC.
2
Connect CANH and CANL to CAN2 on the shifter controller. Ensure 120Ω termination at both ends of the bus.
3
Open the C-Quential Configurator software and select the COM port assigned to the bridge.
4
Click CONNECT. The module will briefly restart — this is normal. Allow 2–3 seconds for reconnection.
5
Live data will appear on screen. The LED will turn green once CAN traffic is detected.
Reset on connect: The bridge briefly resets when the configurator software opens the COM port. This is expected behavior and takes 1–2 seconds. Do not disconnect during this time.
Termination: The SN65HVD230 transceiver does not include a built-in terminator. Ensure a 120Ω resistor is placed across CANH and CANL at the bridge end if the bridge is at one end of the bus.
C-Quential — Xavier A. Miller / Xircuit 500 kbps · CAN2 Integration · EEPROM-Backed · Peripheral Status · Xircuit CAN Bridge Lite