A team of Ultrasound Engineers recently sent an FPGA to 103,000 feet in a High Altitude Balloon and just barely recovered it after three days in the wild.
I tell you, there's always something interesting going on in Programmable Logic Space (where no one can hear you scream). For example, I just received an interesting email from someone we'll call Kevin Hubbard (because that's his name). In addition to being an Ultrasound Engineer from Issaquah, WA, by day, Kevin is also a High Altitude Space Balloon Engineer. In his spare time, Kevin is the Supreme Commander of Black Mesa Labs.
My knee-jerk reaction on receiving Kevin's email was to think of the Black Mesa Research Facility. This is a fictional scientific research facility based in New Mexico, USA, and the primary setting for the original Half-Life game.
However, it turns out that Black Mesa Labs (BML) is actually an open source hardware + open source software development studio Kevin funds himself for $100 a month out of his garage. Part of the Maker Movement, BML was created to explore and create new technology -- all made possible by Kevin's 25 years of experience in Software, PCB, FPGA, and ASIC design coupled with the availability of Copper Connection (an easy to use PCB layout editor) and OSH-Park (an inexpensive PCB fab).
But we digress... In his email, Kevin spake as follows:
Last week a team of Ultrasound Engineers (including myself) sent an FPGA to 103,000 feet (31km) in a High Altitude Balloon and just barely recovered it after three days in the wild. I wrote a story of this adventure that I thought you might appreciate.
Well, as you can see in this video, this must have been a jolly exciting project to work on. I only wish I could have taken part myself.
The HAB1 electronics are built from a high-altitude, flight-ready uBlox GPS unit, a two-way Iridium RockBLOCK satellite communications modem, half-a-dozen custom circuits boards, a fully-custom FPGA-based "Lizard Brain," and a Raspberry Pi Linux-based computer running a custom Flight and Communication program written in Python. All these pieces had to work together, all the time, with built in fault tolerance. In order to make the launch date, Kevin spent six challenging weekends developing and testing the hardware and software.
HAB1 electronics (Source: Black Mesa Labs)
The Mesa Logic FPGA is a family of 0.100" and 0.050" castellated via boards that Kevin has created for general-purpose and low-cost FPGA development projects. These boards are powered by the Lattice ICE5LP4K-SG48 FPGA, which was chosen for its low-cost (~USD $6) coupled with its hand-assembly-friendly QFN48 package.
Mesa Logic 0.100" (top) and Mesa Logic 0.050" (bottom) (Source: Black Mesa Labs)
The on-board configuration PROM contains two images -- a boot image that tri-states all 24 user I/O pins and a user image that utilizes up to 24 user I/O pins for design-specific functions. The FPGA bootloader -- similar to an Arduino Bootloader -- is configured post-assembly using the Lattice JTAG adapter. Once the bootloader has been installed, a .NET utility called BD_SHELL.EXE is used for downloading new FPGA images into the PROM using the Mesa Bus Protocol and a standard FTDI cable.
The board is entirely powered by 5V. A single 6-pin FTDI 3V cable may be used for powering and communicating with the board. BD_SHELL also provides for FPGA internal 32-bit register read and write access using Mesa Bus Protocol with a command line interface similar to a UNIX shell.
Well, I for one am very impressed. If you have a few minutes to peruse and ponder the story of this adventure, I think you'll find it time well spent. I particularly enjoyed the part about recovering the system after it had returned to Earth.
I was just chatting with Kevin on the phone about his Mesa Bus Protocol, which is a point-to-point serial bus protocol that supports a single host talking to multiple Mesa Logic FPGAs over a 2-wire interface. I'm hoping Kevin will tell us more about his Mesa Logic FPGAs and the Mesa Bus Protocol in a future column -- perhaps an enthusiastic comment from you might help persuade him...