Skip to content
Tercio FD

Tercio FD

1 min readFirmware v2 · protocol v2

The Tercio FD connects your computer to the CAN-FD bus. It appears as a standard USB serial port, forwards every frame in both directions, and reports the health of the bus four times a second.

Rendering of the FD board
Host
USB-C, USB 2.0 full speed, serial (CDC)
Bus
CAN-FD, 500 kbit/s + 2.5 Mbit/s
Transceiver
Microchip MCP2562FD
Termination
120 Ω on board
Connector
JST XH, 3-pin
Board
35 × 25 mm
Bridges framesA frame from the computer goes onto the bus as one CAN-FD frame; every frame on the bus comes back. It does not interpret commands, so anything that speaks the CAN protocol works through it.
Checks every byteOn USB, each frame is COBS-encoded and carries a CRC-16, so a glitch is dropped and counted, never misread. See Serial link.
Reports the busWhile a program holds the port open, it sends its bus health every 250 ms: error counters, bus state, traffic and dropped frames.
Updates over USBOne command restarts it into ST’s USB bootloader for a firmware update. No probe needed.
  • Power
  • Ground
  • Bus / data
  • Debug

Top view, to scale (35 × 25 mm). Hover or tap a connector to name its pins; select it for the full pinout.

On the board
J2 JST XH, 3-pin, 2.5 mm pitch
Mates with
JST XHP-3 housing with SXH-001T-P0.6 crimps

The bus. 120 Ω termination is built in, so the adapter always sits at one end of the bus.

PinSignalTypeFunction
1CAN-HBus / dataCAN high.
2CAN-LBus / dataCAN low.
3GNDGroundBus ground reference.
On the board
J1 USB-C receptacle, USB 2.0 full speed
Mates with
Any USB-C cable with data lines

Power for the adapter and the serial link to your computer. The bus is not powered from here.

PinSignalTypeFunction
—USBBus / dataVBUS, D+, D−, CC1/CC2 (5.1 kΩ to GND), GND.
On the board
J3 5-pin header, 2.54 mm pitch
Mates with
ST-Link or any SWD probe

Programming and debugging. Normal updates go over USB instead.

PinSignalTypeFunctionMCU
1+3.3VPowerTarget voltage sense for the probe.—
2SWDIODebugSerial wire data.PA13
3SWCLKDebugSerial wire clock.PA14
4NRSTDebugReset, active low.—
5GNDGroundGround.—
PWR, greenUSB power is present.
RX, redFlickers with every frame on the bus, including the adapter’s own. No flicker at all: nothing on the bus is talking.
TX, blueFlickers when the adapter transmits a frame from your computer.

Host side

USB
USB-C, USB 2.0 full speed, CDC serial
Drivers
None needed: Windows 10+, macOS, Linux
IDs
VID:PID 1209:0011, product tercioFD
Power
From USB. Does not power the bus or the drivers.

Bus side

Bus
CAN-FD with bit-rate switching, 500 kbit/s + 2.5 Mbit/s, 11-bit IDs
Termination
120 Ω, always on: the adapter sits at one end of the bus
Buffers
64 frames each way; frames not delivered within 50 ms are dropped and counted
Protection
ESD protection on USB and on the CAN lines

Hardware

Processor
STM32G431, Cortex-M4F at 170 MHz, 16 MHz crystal
Transceiver
Microchip MCP2562FD
Mounting
Four 2.5 mm holes, centres 30 × 20 mm
Board
35 × 25 mm

Software

Works with
Tercio Control (Chrome, Edge), Python, Arduino/C++
Firmware
Open source, updatable over USB