Skip to content

app: boards: add board profile for DSD TECH SH-C31A - #275

Merged
henrikbrixandersen merged 1 commit into
CANnectivity:mainfrom
eribradl:app-boards-dsdtech-shc31a
Nov 3, 2026
Merged

henrikbrixandersen merged 1 commit into
CANnectivity:mainfrom
eribradl:app-boards-dsdtech-shc31a

Conversation

@eribradl

Copy link
Copy Markdown
Contributor

Add a board profile for the DSD TECH SH-C31A, an STM32G431 USB to CAN FD adapter derived from the CANable 2.0 design. Zephyr support for the board was added in zephyrproject-rtos/zephyr#121958.

  • Channel 0 uses FDCAN1. The RXD and TXD LEDs show RX and TX activity.
  • Hardware timestamps come from TIM2 with a prescaler of 159, i.e. 1 MHz from the 160 MHz APB1 clock, as on mks_canable_v20.
  • The adapter is bus-powered.
  • The firmware fits in the 64 KiB of flash without LTO, so unlike mks_canable_v20 this profile does not enable it.

Testing:

  • Builds without warnings for dsdtech_shc31a on Zephyr main (f545c1ca45). Flash use is 56592 bytes by default and 56676 bytes with CONFIG_CAN_MANUAL_RECOVERY_MODE=y.
  • Hardware: an SH-C31A ran this build with a DFU detach hook added for remote reflashing, on a Linux 6.12 gs_usb host, against a second adapter at CAN FD 1 Mbit/s nominal and 5 Mbit/s data with BRS. 1000 of 1000 64-byte frames went through in each direction, and every frame the adapter sent was echoed. Over 200 frames sent 5 ms apart, the hardware RX timestamps tracked the host clock to within 0.2%.

Add board profile for the DSD TECH SH-C31A USB to CAN FD adapter. The
firmware fits in the 64 KiB of flash without LTO.

Assisted-by: Amp:claude-opus-5.5
Signed-off-by: Eric Bradley <eric@basepowercompany.com>
@henrikbrixandersen
henrikbrixandersen merged commit ec5e153 into CANnectivity:main Nov 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants