Arseni Aliakseichyk
Embedded and Infrastructure Engineer
Robot Platform - Consumer Firmware
Zero-Configuration Robotic Control System
Personal • 2025
Post-internship personal project built on the robotic hardware developed at GlobalLogic Poland. The goal was to completely rethink the UX: the original firmware required technical setup, SSH access, and command-line knowledge. The new firmware requires nothing - user powers on the robot, connects to its Wi-Fi hotspot, navigates to the web control panel, and drives. No installation, no configuration, no technical knowledge needed. The entire stack - motor drivers, sensor polling, networking stack, web server, and MQTT broker client - is one multithreaded C11 program using pthreads, compiled as a single static binary. The project was demonstrated at a university open day as an example of what students can build.
Key Features
- Single-process C11 firmware with pthreads: drivers, web server, MQTT client, ESP-NOW bridge, and networking in one binary
- Wi-Fi hotspot mode on boot - robot becomes its own access point, accessible at a fixed local address without internet
- Web-based control panel with joystick UI, speed sliders, and real-time status indicators (FWD OK / BWD OK, distance readout)
- WebRTC video stream - low-latency FPV directly in the browser, no plugins required
- MQTT as the primary REST-like control API - commands and telemetry flow through a local broker, clean subscribe/publish boundaries
- ESP-NOW low-latency control channel - an ESP32-WROOM acts as the receiver and presents itself to the robot via USB CDC (serial COM), bypassing the Wi-Fi stack for time-critical commands
- IMU-based tilt control - ESP32 sensor node (Phase 1 of CyberGlove) streams orientation; tilting the device steers the robot
- Orientation radar visualization in the web UI showing live IMU data
- Hotspot / client Wi-Fi switching from the web panel
- Pilot mode and viewer mode - one controller, multiple observers
- Ultrasonic distance displayed live in UI (HC-SR04, front and rear)
Planned next
- Minimal custom Linux 6.x distribution trimmed to the essentials (no desktop, no package manager at runtime, only the services the robot needs) to push runtime efficiency and boot time as low as possible on the Raspberry Pi 5