Close

Building libraries around the project.

A project log for Parrot ESP

Parrot Minidrones #1 : an esp32 JR module to pilot Parrot Minidrones with a standard RC controller.

pierre-loup-mPierre-Loup M. 08/22/2021 at 21:130 Comments

This project has started as a standalone one, i.e. all functionalities included in the code.
But has it went, it became obvious that a lot of parts of this project could (and indeed would) be usable for other projects as well. Reading PPM stream or S.bus data to name few.

The project has thus been split into several libraries, which are available on github (see links).

The RC protocols are handled by the espRC library. For now it can read PPM stream, S.bus frames, and it can emulate Smart port telemetry. More will probably come, but only what was mandatory for this project has been implemented for now. I've tried as much as possible to stick to a common interface to handle specific functions. Understand that there are base classes exposing an interface, and specialized classes handling specific protocols. While it works for PPM and S.bus, I suspect other protocols may not stick to this.
Same thing for telemetry. For now only S.port has been implemented, but I don't know if other telemetry protocols could share an interface together. Time will tell.

The Parrot protocols are handled by the espParrotMinidrone library. Basic function for connection, initialization and piloting are handled. There is room for improvisation, and many functions are left to be implemented (like taking pictures, getting or changing name, get information from sensors, etc.)

ParrotEsp packs everything together. The master branch is intended to be used on an esp32 connected into the JR module bay of a FrSky transmitter. It uses S.bus for input, and outputs SmartPort telemetry back to the transmitter.

The initial standalone code is also available in the stand_alone branch.

Discussions