master
ARCS GRACE Rev 0
A ground prototype for collecting guidance and navigation data, logging it, and driving a servo. The Teensy collects sensor readings and sends them over SPI to the telemetry and attitude-control boards. The goal is to iterate on the hardware and firmware before developing the final system.
Components and development environments
| Component | Hardware and purpose | Development environment |
|---|---|---|
| GNS — Guidance and Navigation System | Teensy 4.0; reads an MPU-6500 IMU, NEO-6M GPS, and DHT11 temperature/humidity sensor. Sends telemetry and a gyro-derived servo target over SPI. | C++ with the Teensyduino core and Arduino CLI; USB bootloader and USB serial. MCUXpresso is planned for the final firmware, not used by this prototype. |
| TDS — Telemetry and DAQ System | Waveshare ESP32-P4-Pico; receives sensor data over SPI and logs it to a FAT32 microSD card. | C with ESP-IDF 6.1 and idf.py; USB flashing and serial monitor. |
| ACS — Attitude Control System | STM32F411 Black Pill; receives the GNS servo target over SPI and drives an SG90 servo. | C with STM32Cube HAL, CMake, Ninja, and an ARM GCC toolchain; ST-Link and OpenOCD for flashing and diagnostics. |
These are experimental prototypes, not flight-ready firmware. See each component's README for setup, wiring, and current limitations. Run ./monitor-boards.sh for a tmux view of the board outputs; the STM32 pane uses ST-Link diagnostics rather than a serial console.
Project code is available under the MIT License. The STM32 vendor files retain their own license notices.
Languages
C
95.3%
Assembly
4.4%
CMake
0.2%