IO board
The IO board is a 23x15mm board with a dedicated STM32F3 microcontroller and the following features:
- CAN interface with communication over UAVCAN for IO control (read / write).
- CAN bootloader for easy firmware update over the bus.
- 11 GPIOs exposing:
- Digital outputs, including timer channels for PWM,
- Digital inputs, including timer channels for pulse counting,
- Analog inputs (ADC).
- Communication busses such as I²C and SPI.
- Molex Picoblade connection for wiring CAN in daisy chain.
- SWD connector for flashing and debugging, with UART exposed on the same connector.
- Costs < 10 USD in components.
Current application software allows a general purpose usage exposing basic IO control over UAVCAN: PWM output and digital inputs.
Links
- Hardware including KiCad files, the schematics in PDF, and gerber files.
- Software using ChibiOS RTOS/HAL, and UAVCAN for communication.
- Bootloader based on libOpenCM3 and a custom lightweight protocol.