Goal: Raspberry Pi–based robot-side coordinator for a WaveGo (Waveshare) bionic dog.
Core Architecture: UDP (Wi-Fi) packets → Packet parser → Router → Outputs
Inputs:
- UDP packets over Wi-Fi (fallback to NRF24 later)
- Packet fields: override, joy_x, joy_y, calm, engage, trig, emotion
Routing Logic:
- override = 1 → manual joystick control
- override = 0 → human-state control
- Packet timeout → FAILSAFE (stop dog + alert LEDs)
Outputs:
- WaveGo robot dog
- Control via UART (serial0)
- JSON commands to ESP32 slave controller
- WS2812 RGB LEDs
- GPIO18
- Used to show emotion / system state
Tech Stack:
- Raspberry Pi OS (64-bit)
- Python 3
- UDP sockets (socket)
- pyserial (UART)
- rpi_ws281x OR adafruit-circuitpython-neopixel (WS2812)
Constraints:
- Hackathon (~6 hours)
- Reliability > completeness
- Minimal dependencies
- Arm subsystem intentionally removed