PocketPilot , a new Linux FC based on the 25$ PocketBeagle®

**There is a new puppy in the family !!**

**PocketPilot** is a smaller versions of the BBBmini (https://github.com/mirkix/BBBMINI), designed for use with PocketBeagle (https://beagleboard.org/pocket, a small version of BeagleBone Black). It provides a very small & light-weight open-source ArduPilot based autopilot / flight controller for quadcopter drones & robots.

**Summary of Technical Specifications**
Processor: Octavo Systems OSD3358 1GHz ARM® Cortex-A8
512MB DDR3 RAM integrated
Integrated power management
2×32-bit 200-MHz programmable real-time units (PRUs)
ARM Cortex-M3
72 expansion pin headers with power and battery I/Os, high-speed USB, 8 analog inputs, 44 digital I/Os and numerous digital interface peripherals
microUSB host/client and microSD connectors

For test and initial developments, I have build a prototype using through-hole components & connectors, with sensor modules soldered directly on the breadboard. Since it doesn't need any SMD components, this is relatively easy to build, for an experienced builder by following this schematic:

Please note that there is no ESD protection for USB1 on the prototype, so be very carefull if you plan to use it. We will implement proper protection on a PCB release.

The initial flight test was performed on a 450 class quadcopter == Youtube video
Please note this is flying indoor using optical flow (Lidar Lite V3 and PX4FLOW)

**Integration on a 180 size quadcopter**

In order to reflect the compactness of the PocketPilot , I have integrated the prototype into a KingKong 188 (Aliexpress) quadcopter with these components:
4 x Multistar 1704 and DYS20 A ESC (Blheli)
5 Amp UBEC
Micro Flysky PPM receiver
900 Mhz Telemetry radio with Pigtail Spring Antenna
3S Battery 1800 MAh
VL53LX0 TOF RangeFinder

There is no special instructions for the build but you need a good UBEC with a steep voltage rising curve in order to get the PocketBeagle starting becauses of the power/battery management unit.

This is one of the first test on the KingKong, its flying Alt-Hold using the 7$ VlL53L0X TOF RangeFinder

A special thanks to **Mirko Denecke** for having adapted the BBBMINI ArduPilot code to the PocketPilot and **Robert C Nelson** for making the OS Images including: Linux Debian, Kernel with RT patch and the uboot overlays; allowing to define the IO using a configuration file, making the BeagleBone such a powerfull Linux Embedded Computer.

You can read the instructions here:



For anyone interested, we are planning to release a complete sensor cape for the PocketBeagle so stay tuned :slight_smile:

Views: 1898

Comment by robert bouwens on January 27, 2018 at 12:48am

an emmc is still missing - just bad to see an sd-card slot only

Comment by Patrick Poirier on January 27, 2018 at 5:47am

Yes , its all compromises, 25$ Linux embedded board and emmc dont fit together ;-)

Comment by robert bouwens on January 27, 2018 at 5:50am

yes, your not understanding ;-)

i pay $100 more for the missing piece.

sd-card data corruption and loosing the flying vehicle is great.

Comment by Patrick Poirier on January 27, 2018 at 6:00am

Been flying for years now with SD cards on BeagleBone - RaspberryPi - Odroid  and that never happened.

Dont get me wrong, I prefer emmc for speed but the price still high and its getting harder to keep an Image under 4Gb these days

Comment by robert bouwens on January 27, 2018 at 6:13am

i destroyed to many of them.

haven't build a small system recently but it shouldn't be that hard.

did it for years in the past.

Comment by Curt Olson on January 27, 2018 at 10:13am

Nice work Patrick!  There is no greater proof of an idea than seeing actually flying! :-) I have been wondering where all the DIY'ers disappeared to lately (or if they all got sucked up in the push to commercialize and streamline the hardware/software that was born on this site.)  It is great to see there are a few DIY folks left in the world who take satisfaction in designing and building things themselves.

I picked up a pocketbeagle a couple weeks ago and have been working on my own simple autopilot design around this.  I created a simple interconnect board that includes the pocketbeagle, a teensy 3.2, an imu/pressure breakout board, and a stable 5v voltage regulator from polulu.  I'm planning to use mRobotics for the gps, airspeed sensor, and telemetry components.  The total board size with everything is about the same footprint as the original beaglebone.  My focus is fixed wing aircraft (another dying breed?)  I have the firmware/software 99.9% worked out ... but it is that last 0.1% that worries me. :-)  My plan is to use the teensy instead of the pru's because that's how I breadboarded the system and it parallels some other development work at my day job.  I don't know how soon I'll have a flying video to share, I suppose it depends on that last 0.1% of the firmware and how difficult it is to work around all the unanticipated things.  Good luck with your continued flight testing and development!

Comment by Patrick Poirier on January 27, 2018 at 11:11am

Thanks Curt , really appreciated :-)

To be honest, I am standing  on the shoulders of giants :

Mirko Denecke , who designed and builded the BBBMINI    https://github.com/mirkix/BBBMINI

from which the PocketPilot is inspire, and one of the few persons on the planet that can program PRUs !!!

Robert C Nelson,  the master of the code within the brain of all these little BeagleBones


With a team like that I think this little puppy can fly to the moon :-)

Comment by robert bouwens on January 27, 2018 at 11:26am

robert nelson is very nice.

did need his help as well to build an embedded linux system.

Comment by Curt Olson on January 27, 2018 at 11:29am

I'm not complaining about the great work folks have done to develop the beaglebone architecture, but I wish they had found a way to allow setting up and programming the PRU's with "simple" arduino style tools.  The complexity of PRU's, the devel tools, device tree, etc. just really is an impediment for me.  If code robustness and understandability is a dimension on the decision matrix, then simpler boards (like teensy or atmel) that can be programmed with arduino tools become more attractive.  You give up board real estate to add another processor to handle all the sensors and PWM outputs, but that's about it.  Everything else becomes way easier and maybe even comprehensible for a more average DIY'er.

I don't know if I ever make any headway on my goals to find simpler ways to do things, but I do try.  The more experience I gain, the more important I feel it is to seek simplicity.  My on-board flight code (software stack?) is heavily invested in python running in the main loop.  The primary purpose is to shave complexity out of the system and make the code easier to read and work with.  This is another reason my system needs a beaglebone or pi type processor at the heart of it.

I really shouldn't complain about complexity because we all do it and it's a natural way humans build things.  We add features, we expand the infrastructure to include the new features, we build abstraction layers to hide differences in underlying hardware or software libs.  But over and over again I notice that highly elaborate and polished systems are barriers for new people to enter the field and begin experimenting with the technology themselves.  So my reaction to all that is to independently develop my own overly complex system ... but at least it's simple in my own mind. :-)

Comment by robert bouwens on January 27, 2018 at 11:40am

the pru is not linux.

ist just a co-processor for the sitara.

offloading interrupts from the linux kernel is actually a good thing.

we will see where the road ends.

but at least you have to show a video when your work is getting up in the air ;-)


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service