M5 propo - A tiny transmitter

m5propo

M5 propo is a tiny RC transmitter with M5Stack which has MPU-9250 9-axis sensor. It sends control PWM values with the format which Parrot Bebop uses.

There are 4 bars on the LCD. The cyan bar is the roll gage and the green one is the pitch gage. The bottom yellow bar is for yaw. The throttle value is shown with the right-most gage which is colored with orange when the throttle is active.

The values for roll and pitch are generated by the attitude of M5Stack itself. The raw IMU data and the compass data of MPU-9250 are processed with Madgwick AHRS filter and the resulting quaternion makes the values for roll and pitch. The rough scheme of this propo is here:

m5propo schema

The value for yaw is a bit involved. M5 propo gets the yaw of the frame from the telemetry port of FC via MAVLink. That value is compared with the yaw of M5Stack itself and the difference is used to generate control PWM value for yaw so as to aligne the headings of the frame and the propo. It doesn't work well yet, though.

A test flight

At the first trial, I've used a flat volume and ADC input of ESP32 for the throttle. It worked, though it was hard to control smoothly. Looks some good volume is deadly needed for smooth control. Currently the three buttons of M5Stack are used instead. The center button is the "mid" button which will go to the mid throttle very quickly. The other buttons are the "up/down" buttons. The left button will make throttle down and the right one will make throttle up. These buttons would match the throttle work for the ALTHOLD mode.

See m5stack-app directory for the source code of m5-propo.

links

social