Skip to main content

UC2-ESP32 Firmware

One firmware (youseetoo/uc2-esp32, branch main) runs on every UC2 ESP32 board. Each board has its own PlatformIO environment that selects pins and modules at compile time. A build runs in one of three roles:

RoleExample envWhat it does
StandaloneUC2_3, UC2_4JSON over USB serial, all devices on the board
CAN masterUC2_canopen_master (HAT+)JSON over USB serial, routes each device locally or over CANopen to a satellite
CAN satelliteUC2_canopen_slave_motor, _laser, _led, …executes commands from the master; still accepts JSON on its own USB port

All envs, node IDs and baud rates: Boards, roles & node IDs.

Where the code lives​

PathContent
platformio.inione [env:…] per board, with -D feature flags
main/config/<env>/PinConfig.hpins and defaults of that board
main/src/<module>/controllers (motor, home, laser, led, scanner, tmc, bt, …), serial/ (JSON parser, Endpoints.h), canopen/

Build and flash​

Talk to it​

Pages in this folder​