XY plotter (scalable to 15 colors) — STM32F446 with a deterministic 10 kHz control loop (TIM4 ISR) driving multi-axis step generation, endstop handling, homing/calibration, stream timing and an action FSM (tap, color change, pen up/down); ESP32 (FreeRTOS + micro-ROS over Wi‑Fi), ROS 2 UI, SPI DMA 512 B streaming, CRC protocol.
bytes_processed).STM32F446 firmware (TIM4@10kHz, SPI DMA RX, UART CRC, SSD1309).
ESP32 micro-ROS bridge: ROS 2 stream → SPI DMA → STM32; telemetry.
OLED status, keypad, UART (CRC) to STM32; components and drivers.
PC UI (Tkinter): send stream, control, live preview, progress.
Shared ROS 2 messages (e.g., PlotterTelemetry).
Image → contours → plotter byte stream.
Binary protocol & defines (service/step bytes, EOF=0x3F).
Timelapse demo #1, pen carousel change, and full process (PC + hardware + plotting):
Questions or collaboration proposals: userofbgtu@gmail.com
© OmniRevolve. MIT license.