GizmoCopter Project Results for ELJ Contest, Aug 2001
On this page...
OK, it's contest deadline time and GizmoCopter isn't flying yet.
We'll say that up-front.
But the deadline has arrived to post what we have. And so here it is.
For the contest judges at Embedded Linux Journal, this is what we've
got so far and what we've overcome to get here.
Here are some notes we believe will be relevant for the judges.
The status of Gizmocopter, as of July 31st, 2001 is as follows:
- Development of Open Source Software
- Libraries and drivers are all under GPL.
The GizmoCopter Project entered into cooperation with
Armadillo Aerospace (AA)
of Dallas, TX to create the
at SourceForge, in order to publish our source code.
(VTVL stands for "vertical takeoff, vertical landing",
a rocketry term equivalent to VTOL used for aircraft.)
AA, led by John Carmack of Id Software (of Quake and Doom fame),
has successfully achieved a short controlled VTVL flight,
the first ever by an amateur rocketeer, earlier in 2001.
It can be done!
- Software Progress in CVS
- It's all still in development.
But you can see where it is in CVS on SourceForge,
including the following:
- The Flight Control and Telemetry Protocol (FCTP) for use in
sending commands and retrieving data (telemetry) over a radio link.
Specifically supported radio transports are AX.25 Amateur Packet Radio,
802.11B Wireless Ethernet and Ricochet Starmode.
- The Flight Sensor and Control Library (libfsc)
acts as the hardware abstraction layer for the flight control software.
Multiple implementations are intended to connect to actual hardware or to
a flight simulator, so that the flight software cannot know which one it's in.
- The Diamond Systems MM series Analog I/O board (dmm-aio)
driver for Linux
will provide a kernel driver for the board, previously only available as
user-level ioperm-enabled programs.
By going into a kernel driver, interrupts can be handled and we can better
take advantage of real-time scheduling features of the OS.
- The beginning of a
flight simulator core
is present. It needs to be integrated into libfsc when that's done.
- Use of Open Source Software
- We are using the following packages on-board the flight computer.
- Cool embedded software: http://opensource.lineo.com/software.html
- Asmutils: http://linuxassembly.org/asmutils.html (smaller than BusyBox, but
not as portable; may still use BusyBox. Includes init, shell, basic
- uClibc: http://cvs.uclinux.org/uClibc.html (also considered dietlibc and
newlib, but had the best luck with this one so far)
- TinyLogin: http://tinylogin.lineo.com/ (login, getty, passwd, adduser,
etc.; compiled with uClibc)
- iproute: http://www.debian.org/Packages/unstable/net/iproute.html (haven't
yet attempted to compile with uClibc, but will be included on flight
- e3: http://www.sax.de/~adlibit/ (editor, this or elvis-tiny will probably
- Public Presentation
- We briefly showed GizmoCopter to the
Silicon Valley Linux User Group (SVLUG)
before the main speaker began at the Aug 1, 2001 meeting.
The response was enthusiastic, and a great moarale boost for our team
after all the time spent on this project so far.
- Hardware Installation
- The MZ104 board sent to us by ELJ for the contest turned out to be
easier to work with than the two Ampro 486DXe processor boards which we
had already bought.
But we still had problems to overcome. The memory that came on the board
either had a flaw or was damaged by electrostatic discharge at some point.
We were unable to install a kernel even to a connected hard drive until
we bought a replacement SO-DIMM memory.
The Disk-on-Chip remains inaccessible and hasn't been verified working.
- Embedded Linux Kernel Deployment
- A Linux 2.4.6 kernel was installed and boots from either of
an attached hard drive or
the on-board boot flash on the MZ104 board.
Our "flight kernel" is a modified Linux 2.4.6 kernel as follows:
The merged combination of the external patches we used can be
And as stated above, we're writing our own "dmm-aio" kernel driver for
the Diamond Systems PC/104 analog I/O board.
- "Pushing the Envelope" for Model Aircraft
- By doing vertical takeoffs and landings,
GizmoCopter is pushing the envelope for model aircraft in several areas.
- Battery discharge rate:
The model aircraft racing motors used by GizmoCopter can draw 24 amps each.
Everybody in model aircraft racing uses NiCd batteries for the motors
because they're the only thing which can handle the discharge rate.
While model airplane racers can handle running that for a few minutes,
we're at four times the power consumption.
GizmoCopter's design point of 96 amps for 1-2 minutes is in the experimental
We were able to select an appropriate battery set only with
extensive battery discharge research.
- Propeller availability:
We had almost taken for granted that since large standard propellers are
easily available, that pusher versions of the same sizes would be too.
They're rare. We finally decided on the 3-blade 14x7 propellers because
they're good enough and there are pushers available.
We can upgrade the propellers as we find more pushers and as we
optimize the future performance of GizmoCopter for carrying payloads.
We made a table of comparison of
Propellers vs. Power Consumption.
[Back to the GizmoCopter Home Page.]
GizmoCopter is a trademark of
the Experimental Rocket Propulsion Society, Inc.,
a California non-profit organization.