EMBEDDED SYSTEMS · CONTROLS
Two-wheeled inverted-pendulum robot that balances, follows a color target, and stops for obstacles.
Constraint
An inverted pendulum has no steady-state balance: the robot must correct itself continuously while also steering, tracking, and avoiding collisions.
Decision
Wrote a closed-loop PID controller from scratch on an ARM Cortex-M4 MCU at ~100 Hz and layered four prioritized control states on top, keeping the robot balanced through every mode change using hardware interrupts and standard serial protocols.
Evidence
Robot balances on its own, follows Pixy2 color targets, accepts PS2 manual override, and hard-stops from time-of-flight sensors; diagnostics stream over LPUART.


Keep a two-wheeled robot upright on an STM32 Nucleo-L4R5ZI-P while adding vision tracking, manual control, and collision safety, without any of these breaking the balance loop.
Laser-cut acrylic and wood platforms with 3D-printed structural parts, laid out for symmetry and careful placement of heavy components (battery low, electronics stacked above) to suit the inverted-pendulum dynamics.