Prototype · Hardware and firmware
CAN-to-USB
A CAN-to-USB adapter being designed on the in-house STM32 platform, so its firmware will be yours to read and change.
Planned · the adapter block by block, and how far a frame gets today
- Firmware in the platform
- In the schematic
- Not started
U1 · STM32G473CB Firmware in the platform
FDCAN1 on PB8/PB9, FDCAN2 on PB5/PB13, FDCAN3 on PA8/PA15. The platform’s g4-can2usb example opens FDCAN1 at 500 kbit/s with an 87.5% sample point, on a 170 MHz clock (HSI16 / 4 × 85 / 2), and counts what it receives. FDCAN2 and FDCAN3 have no firmware yet.
can_frames_rx- 0
can_bytes_rx- 0
- Schematic
- Under way, 57 parts placed
- Board layout
- Not started.
CAN2USB.kicad_pcbis empty. - Firmware here
- Still the platform’s starter template
- Title
- CAN-to-USB
- Dwg no.
- Q5-001
- Rev
- 2026.1
- Status
- Prototype
- Drawn by
- DWMM Holdings
Notes
What it does.
A CAN-to-USB adapter built on the in-house STM32 platform instead of a vendor SDK. It’s early: the schematic is under way around an STM32G473, the board layout hasn’t started, and the firmware in this repository is still the platform’s starter template.
- 01
Schematic in progress, targeting the STM32G473
- 02
Built with the in-house STM32 toolchain and no vendor SDK
The CAN half
Written in the platform first.
The CAN side is being worked out as an example app in the STM32 platform, examples/g4-can2usb, so the driver and the clock plan get tested before there’s a board. It brings up FDCAN1 and nothing else. The USB transport is switched off in its app.yaml until the driver exists.
# configs/default.yaml clocks: sysclk_hz: 170000000 pins: PB8: { f: FDCAN1_RX } PB9: { f: FDCAN1_TX } peripherals: fdcan1: { role: app, bitrate_bps: 500000, sample_point: 0.875 } # app.yaml plink: transports: [] # USB CDC is not implemented yet
Specification
What it’s built with, and when.
Pulled from the repository each time this site is built.
- State
- Prototype
- Discipline
- Hardware systems
- Shape
- Hardware and firmware
- Started
- Aug 2026
- Last change
- Aug 2026
- Commits
- 6
- C
- CMake
- KiCad
- STM32G4
- CAN
- C 97%
- CMake 3%
Related work
Built alongside CAN-to-USB
Next
Build on CAN-to-USB
Ask about licensing the platform, bringing up a board, or contract firmware work.