AxisOrange
Multi-purpose View the repo
AxisOrange is firmware for M5Stack devices that reads 6‑DOF sensor data (accelerometer and gyroscope), computes orientation quaternions, and transmits the raw sensor values, quaternion, and button events to a PC via Bluetooth SPP, with an optional web‑based serial viewer.
auto-summary
50 stars · 10 forks
- Maintainer
- naninunenoy
- Capabilities
- ble
- Chip families
- esp32
Runs on these boards
Unverified
- Core2Unverified
Flash Core2
Unverified esp-atlas asserts this board↔firmware link at the shown trust tier — it does not guarantee your specific unit or the current firmware version. Flashing can erase keys/config and can brick the device. At your own risk.
- StickCUnverified
Flash StickC
Unverified esp-atlas asserts this board↔firmware link at the shown trust tier — it does not guarantee your specific unit or the current firmware version. Flashing can erase keys/config and can brick the device. At your own risk.
README
AxisOrange
Overview
M5Stack series firmware to send 6DOF sensor(SH200Q or MPU6886) data and quaternion by Bluetooth serial port protocol(SPP).
This is demo. M5StickC calucutates and sends quaternion to PC by SPP. PC receives quaternion via serial port.
Usage
AxisOrange supports M5Unified devices. like
- M5Stack Gray (without MPU9250 model)
- M5Stack Core2
- M5StickC
- M5StickCPlus
Simple viewer
This is AxisOrange data viewer by web serial port.
- Build and write AxisOrange.
- Paring AxisOrange with your PC.
- Open
HtmlViewer/index.html. Reccomend: Google Chrome. - Push [list serial device] and select AxisOrange Port. May be named
ESP32SPP. - AxisOrange can calculate and save gyro zero point error. push [gyro-offset install]
- You can copy raw output of AxisOrange as csv text.
Features
Sensor Data
AxisOrange sends raw value of 6DOF sensor.
- Acc(xyz) [G]
- Gyro(xyz) [deg/s]
Quaternion
AxisOrange calucutates quaternion by acc/gyro and sends it.
- Quaternion(xyzw)
Button
AxisOrange sends button A/B(/C) push/release event trigger.
- Button A Push/Release event
- Button B Push/Release event
- Button C Push/Release event (if 3rd button is installed)
Install
This project use PlatformIO.
Library
- M5Unified and M5GFX
- https://github.com/m5stack/M5Unified
- https://github.com/m5stack/M5GFX
- MIT
- BluetoothSerial
- https://github.com/espressif/arduino-esp32/tree/master/libraries/BluetoothSerial
- http://www.apache.org/licenses/LICENSE-2.0
- Mahony filter
- https://x-io.co.uk/open-source-imu-and-ahrs-algorithms/
License
MIT
Author
Read the full README on GitHub
source github.com/naninunenoy/AxisOrange