canadensis icon indicating copy to clipboard operation
canadensis copied to clipboard

Add example that runs on a microcontroller

Open samcrow opened this issue 7 months ago • 4 comments

Follow-up from https://github.com/samcrow/canadensis/issues/33

Choose hardware

The hardware should be reasonably low-cost and common. The ideal board would have a microcontroller with CAN FD built in, and a CAN FD transceiver on the board. If that doesn't exist, we could use a CAN FD transceiver expansion board that plugs in to the base board. A separate transceiver board with discrete wires would be too slow and error-prone to set up every time I need to run a test.

Hardware ideas:

Brand Part number Price Microcontroller CAN Other features Existing Rust support
NXP MR-CANHUBK344 $188 NXP S32K344 6x CAN FD 100BASE-T1 Ethernet Nothing, but at least it's Cortex-M and has an SVD file
NXP UCANS32K1SIC $16 NXP S32K146 2x CAN FD Nothing, but at least it's Cortex-M and has an SVD file
ST STM32G0C1E-EV $296 STM32G0C1 2x CAN (not FD) HAL
LXRobotics CyphalPicoBase/CAN €40 RP2040 with MCP2515 CAN controller 1x CAN (not FD) HAL
RaccoonLab uNODE €70 STM32F103 1x CAN (not FD) HAL
LXRobotics Pika Spark €840 NXP® i.MX 8M Mini (Linux) 2x CAN FD 10BASE-T1S Ethernet Good (it's Linux)

Make an application

To start, this probably just needs to have heartbeats, node information, and space to add more functionality.

samcrow avatar May 16 '25 14:05 samcrow