A retired quad copter autopilot was recycled into a simple wifi cam. It took a long time to get the wifi software to work, years ago, so it was worth having some kind of demo of it. It goes from 3fps of 640x480 color to 14fps of 320x240 greyscale. It consumes 0.3A at 5V.
Before the raspberri pi zero W, all we really had were microcontrollers, wifi dongles, & really crummy board cams. The raspberri pi 1 came out shortly after this project was started, but it was large, still required USB dongles for any video & networking. We also had gumstix, which required its own dongles & was nosebleed expensive. Roving Networks provided a complete wifi stack in a $50 module, but it was still too expensive & the speed might have been too slow.
It's a complete waste, as commercial wifi cams go. A modern gopro can stream higher quality video at 30fps. There are many hardware video compressors which could do the job in less space. For its time, it was still probably the cheapest thing which could get some kind of moving pictures to a phone.
It was supposed to be the cheapest, smallest circuit, suitable for fitting on a monocopter & transmitting to a baseline phone without any external adapters. The flight software, video compression & communication would all be run on a single STM32F407 chip, RTL8192 wifi chip & TCM8238 camera. It was to be so cheap & compact, it could have been mass produced as a toy.
It was so capable, the same networking stack was used in a number of projects: a quad copter remote control, a ground vehicle transmitting video to a phone which handled machine vision in realtime, a quad copter using ground based cameras to transmit video to a phone for navigation.
Rover example using wifi video telepresence.
The encoding was a stripped down JPEG codec called rtjpeg. It was all sent over UDP. The embedded stack provided an unencrypted access point, UDP, TCP, ICMP, HTTP server, DNS server, & DHCP server. A phone would connect to it & get an IP address. The mane problem was the STM32 USB driver couldn't handle simultaneous receive & send transactions, so it often dropped the connection.
The web server provided simple diagnostics, a way to set the SSID & channel. It could stream video out at 6 megabits continuously. Even today's mighty ESP8266 chokes beyond 115200. It's surprising to rediscover just how far the lion of old got with the networking stack. The source code is a bit scattered & it's all very useless, nowadays.
To the lion of old, it was a completely useless & trivial effort. It was nowhere close to ever getting a job. Absolutely no-one was interested. It was a severe depression. They were only taking highly specialized ruby programmers. Anything else was out the window.
Anyone with any sense would make an embedded Linux board out of a higher end ARM & just compile a kernel for it. To today's lion, it's an extremely impressive effort to expand what was possible, hitting the absolute limits of price & size. It was just born into a world which doesn't fairly price value.
Sadly, the source code for this was lost along with the lion kingdom's growing amount of lost source code. Only a few bits of embedded networking code remane. The Android segment contained a lot of tricks for drawing video in software. Variations of the android app must have been stored with autopilot software. As the autopilot software was revised, the obsolete android source code was deleted.