Brian Webb
  • Blog
  • Contact

it's been a while

3/17/2019

0 Comments

 
I have been busy, but not posting. I can't believe it's been nearly five years since I posted last!

In the mean time I worked for a while on the LibrePilot project, which is one of the offshoots of the OpenPilot project. Mostly I improved the firmware for the OPLink modem. Recently the LibrePilot project has died down, and there's not a great deal of activity developing it, although I still believe it's a great platform for UAV research and development.

For many years I've been interested in combining a Linux-based CPU with flight hardware to make it easier to experiment with advanced flight controls and navigation. My ideal platform would contain a CPU running some form of Linux with a micro-controller that performs the low-level stabilization.

That's not such a big deal anymore, since it's been done many times, but over the years I've experimented with building a nano-copter based on the now-defunct Intel Edison. I've also designed carrier boards for the NanoPi Neo Air (and family) and the NanoPi Duo.

More recently I've been experimenting with the Raspberry Pi family.The Raspberry Pi Zero W is a nice board, but not quite as advanced as some of the other boards. Fortunately the Raspberry Pi family has a great deal of support by the community, so it's relatively easy to find solutions for pretty much everything you could want to do with them.

One aspect that they excel in (compared with other boards) is support for hardware acceleration, especially in video encoding/decoding.This makes them ideal for digital video for FPV, which is my most recent project.

Digital FPV video on the Raspberry Pi is not new, and there are multiple projects that support it, but I have been working on similar project for low-latency audio decoding/encoding, so I wanted to tackle it myself. What I currently have working is low-latency encoding of the camera on a Raspberry Pi Zero W to H.264, which transmission over UDP to a decoder that also will run on a Raspberry Pi (or Windows/Linux) and display the video either in a window or via the Raspberry Pi composite video or HDMI (untested) port. I also support Mavlink telemetry to add a full-color OSD to the video.

After working on this for a while, I found out about the Sky Viper quadcopters, which are a line of "toy" quadcopters that support all the way up to fully autonomous flight. At least the higher end models run ArduPilot, with all the capabilities that that entails! I purchased a Journey for less than $60, and they sell on Amazon for less than $100, which is an amazing price for such a capable quad-copter!

​This is a picture of mine:
Picture
I also purchased a "for parts" Journey from Ebay that I felt comfortable tearing about to see if I could use the guts in something else. It looks very promising!

This is the guts:
Picture
That includes the flight controller board (center), a GPS with integrated magnetometer (center bottom), and an amazing camera/WiFi board (left). The flight controller board includes an F412 MCU, and and (I believe) ICM-20789 IMU, and CC25000 radio. The camera/WiFi board has a Sonix MCU and WiFi module. It talks to the flight controller via a UART, using the Mavlink protocol, and sends Mavlink telemetry over the standard UDP port and video over a standard RTSP link.

Most recently I've been adapting my FPV/OSD softare to support the Journey, which turns out to be fairly simple. I currently support low-latency video from the Journey along with Mavlink telemetry, both over WiFi, with and integrated OSD, all decoded and displayed on a Raspberry Pi.

The current version of the code (along with other stuff) can be found on github.

Well, that's enough for now. More updates to come.
0 Comments



Leave a Reply.

    Author

    Brian Webb lives in Tucson, Arizona. His interests are in embedded hardware and software development, especially for UAV avionics.

    Brian Webb was previously very active in the OpenPilot project, where he developed advanced firmware for the OPLink Modems. Brian was involved in development of the flight firmware for the CopterControl and Revolution platforms.
    

    Archives

    August 2014

    Categories

    All
    Flight Controller
    Hardware
    Pixie
    STM32

    RSS Feed

    View my profile on LinkedIn
Proudly powered by Weebly