4.6 KiB
SkyLogic AeroAlign
Wireless RC setup platform for two related jobs:
- AeroAlign: digital incidence, reference-angle and differential measurement
- CoG Scale: center-of-gravity measurement using load cells
Both parts are intended to run in the same ESP32 ecosystem and talk to the same Master over ESP-NOW.
Current State
Implemented now:
- Master firmware with WiFi AP, REST API and existing web UI
- IMU Master and IMU Slave support with robust MPU6050 access
- shared telemetry protocol for multiple device types
- UI support for both IMU nodes and future CoG scale nodes
- battery monitoring with optional hide/disable behavior on unsupported Master hardware
Prepared but not fully implemented yet:
- dedicated HX711-based CoG scale firmware
- model profiles with support spacing, leading-edge offset and target CoG
- scale calibration workflow in the web UI
Architecture
IMU Slave(s) ------\
\
CoG Scale Node(s) ----> Master ESP32 ----> WiFi AP ----> Browser UI
/
Master local IMU --/
Device roles
Master- hosts
SkyLogic-AeroAlign - receives ESP-NOW telemetry
- serves the web UI and REST API
- can also have its own MPU6050
- hosts
IMU Slave- remote angle node
- sends pitch, roll and yaw fields as angle telemetry
CoG Scale- future load-cell node
- will send front weight, rear weight and computed CoG in the same shared packet
Telemetry Protocol
The shared packet format is defined in telemetry_protocol.h.
Device types currently defined:
DEVICE_TYPE_IMUDEVICE_TYPE_COG_SCALEDEVICE_TYPE_HYBRID
For IMU nodes:
pitch,roll,yaware angles
For CoG scale nodes:
pitch=> front support weight in gramsroll=> rear support weight in gramsyaw=> CoG position in millimeters
Hardware Overview
IMU nodes
Use:
- ESP32-C3 or ESP32-S3
- MPU6050
- LiPo, charger and 3.3V supply
- optional battery divider depending on node
CoG scale
Planned hardware stack:
- ESP32-C3 or ESP32-S3
- two HX711 boards
- two load cells
- rigid support spacing and repeatable fixtures
See cog_scale_wiring.md.
BOM
The BOM is now maintained as a current component overview instead of placeholder shop links:
Firmware Layout
Existing
Planned
firmware/cog_slave- HX711 reading
- tare and scale calibration
- CoG computation
- ESP-NOW transmission as
DEVICE_TYPE_COG_SCALE
Build
Master:
cd firmware/master
pio run
Slave:
cd firmware/slave
pio run -e esp32-s3
pio run -e slave2-s3
Current Configuration Notes
Slave Master MAC
The Slave now reads the Master MAC from config.cpp, not config.h.
Master battery monitoring
On ESP32-S3 Master boards the battery ADC path is optional. If the divider is not fitted, the firmware and UI hide the battery value instead of showing dummy data.
CoG Math
With front and rear supports spaced by L:
x_cog_from_front_support = rear_weight / (front_weight + rear_weight) * L
If the front support is offset from the wing leading edge:
x_cog_from_leading_edge = support_offset_from_leading_edge + x_cog_from_front_support
The current design note is in AEROALIGN_COG_INTEGRATION.md.
Workflow Plan
The planned operating workflow and the recommended hardware roles are documented in:
3D Printed Parts
The CAD readme now covers both IMU parts and planned CoG fixtures:
Recommended Next Work
- Add
firmware/cog_slavewith HX711 support. - Add tare and calibration endpoints in the Master API.
- Add a dedicated CoG tab in the web UI.
- Add aircraft profiles in NVS.
- Finalize mechanical design for the two support fixtures.