// the find
thevien257/Restaurant-Delivery-RTOS
Real-time restaurant order and delivery management system built on FreeRTOS — featuring concurrent task scheduling, order queue management, kitchen-to-rider dispatch, and priority-based delivery routing.
A two-MCU embedded system for robot-assisted restaurant delivery: an ESP32 (MCU1) handles WiFi, BLE, CAN bus communication, and a display, while an STM32H5 (MCU2) runs FreeRTOS tasks for order queuing, stepper motor control, and IMU-based navigation. The hardware integration is real — CAN bus between boards, checkpoint storage in flash, a web UI served over WiFi AP. This is a student capstone or hobby project, not a reusable library.
The two-MCU architecture with CAN bus inter-board communication is a legitimately interesting design choice that mirrors real industrial systems. The ESP32 side uses ESP-IDF properly with managed components and sdkconfig variants for multiple ESP32 targets. Flash-backed checkpoint storage on the STM32 side means the robot can resume delivery routes after a power cycle, which shows real systems thinking. The WiFi AP web interface for order entry is a practical approach that avoids needing a separate server.
The README is two lines, making this nearly impossible to reproduce without the actual hardware — no BOM, no wiring diagram, no explanation of what 'checkpoint' means in context. There are committed build artifacts in CANRestaurantMCU2/Debug/ and backup files like app_main.c.backup that should have been gitignored. The STM32 side has multiple main*.c variants (main.c, mainnew.c, testCAN.c, testStepper.c) sitting in the same directory with no clear indication of which one is the production entry point. Zero stars, no license on the top-level repo — this is personal work and carries no expectation of support or stability.