Embedded platform

Quick navigation

Note

The embedded platform runs on the Nucleo-F401RE microcontroller. It acts as a bridge between high-level processing and low-level motor control & sensor reading.

The project is based on C/C++ and uses mbed OS v6.17. Its architecture is organized into four main layers:

1. Brain
  • State machine of the Nucleo

  • KL manager and power safety features

  • Global states definition

  • High-level controlling logic

2. Drivers
  • Interfaces for: BatteryManager, BNO, SteeringMotor, SpeedingMotor, SerialCommunication, VelocityControlDuration

  • Responsible for low-level hardware interaction

3. Periodics
  • Periodic tasks such as: - IMU value publishing - Blinker signals (running version) - Instant consumption & total voltage publisher - Resource monitor

4. Utils
  • Helper tools: serial message (de)construction, callbacks, tasks interface, task manager

Tip

Start with the Preliminary setup if this is your first time working on the platform. Once everything is installed and built, explore the Debugging section to test your setup.