LE-1 Payload Design
It has been a busy month getting ready to launch our first High-Altitude Balloon! We had to do a lot of research, talk to the FAA, get an amateur radio license, and design a payload. The payload is a little box of electronics and cameras that will come back down on a parachute, and needs to be as light as possible. The payload will have several systems in it. To control everything, we will be using an Arduino Mega, which is a reasonably small and lightweight controller, and simple enough for kids to program. We will add a GPS module that will track navigation satellites and every second will tell our Arduino the current position (latitude and longitude), altitude, and the current time as well. The Arduino will also be getting information from pressure/temperature/humidity sensors, and it will be saving all this data constantly to an SD card. We also plan to have a lightweight camera on board to take some cool pictures or video.
We will be using latex balloons designed for high-altitude weather research, and filling them with helium. As the balloon rises, the air pressure gets lower, and the balloon expands. At some altitude the balloon will burst, and the payload will return to Earth on the parachute. The ascending balloon/payload and the descending parachute/payload will both be blown by the winds (which change at different altitudes), so our payload will likely come down many miles from our launch site. If we can’t recover the payload after it returns to Earth, we will be pretty bummed out that we not only lost hundreds of dollars of stuff, but we will have no data or pictures to enjoy.
To help us track our balloon, we are going to add a radio transmitter which will send the GPS coordinates every minute or two (the whole trip is only expected to be a couple of hours). This “telemetry” will be using an amateur radio service called APRS (Automated Position Reporting System) — amateur stations on the ground will receive our balloon data and automatically post our position every minute or so on a web site. Very cool indeed — on launch day, you can watch the real-time balloon traveling on a map at various websites like http://aprs.fi/.
Everything else (balloon and parachute size, gas fill volume…) depends on the final weight of our payload. So here is a preview of the payload system:
We will use a styrofoam box to contain the electronics. Styrofoam not only provides a lightweight structure, it provides thermal insulation, can be cut cleanly on a table saw (it is a messy process, but gives nice cuts), and it can be glued with “Glidden Gripper” primer from the paint aisle (paint an edge to glue, position it, and tape it in place with blue tape for 24 hours). Some people use disposable coolers, but we wanted a custom box design.
You can see that the top cover is not yet in place (it is actually the bottom cover, since this payload will hang upside down). To the right you can see the lens of our HackHD video camera sticking out, and to the left you can see a little board we call the Console, which has a couple of switches, lights, and a serial port connector. We make the holes in the sytrofoam using our soldering iron, which easily melts it away.
The controller is an Arduino Mega (http://www.arduino.cc/). We started with a tiny and light Arduino Micro, but ran out of code space, and jumped up to the cavernous flash space in the Mega. We used a Mega-Prototype board to create our own custom shield, which we call the Interface Board.
An “Ultimate GPS” breakout board from Adafruit (http://www.adafruit.com/) is the core of our system, along with their micro-SD breakout board — LadyAda does some beautiful board designs, and backs them up with oodles of documentation and code examples. The GPS connects to serial port 1 on the Mega, and the SD unit connects to the SPI port. Little bits of balsa wood are used for spacers here and there.
Below the GPS unit is a little red humidity sensor from Sparkfun (https://www.sparkfun.com/), which gives a voltage output and connects to an analog input pin on the Mega. We were going to put this on the exterior of the payload, but it turns out to be light-sensitive, so we stuck it inside. The payload box has lots of holes (it would blow apart at altitude if you sealed it), so outside air will be wafting through somewhat.
Below the humidity sensor is a Honeywell 0-to-15psi absolute pressure sensor. This runs at 3.3V and connects to our 5V Mega I2C bus using a converter chip (to the right of the sensor). This is one of the few sensors available that can read the low pressures we will encounter.
To the left of the GPS is a TMP36 temperature sensor (in a TO-92 case) for internal payload temp. This also provides a voltage output and connects to an analog input pin on the Mega.
The Mega program writes data to the SD card every two seconds, including the GPS position info (latitude, longitude, altitude), and temperature/pressure/humidity measurements. We write the data in comma-separated CSV format, so we can easily open the file later using a spreadsheet to see and graph the data.
Most of the wiring is done with 28-gauge enameled magnet wire — we love how easy it is to solder-tin the end. We usually use 24-gauge mag wire for power, but here we used red and yellow stranded.
The Console board has a pushbutton and light on the right for controlling the video camera. A piezo beeper will start making noise when we have landed. The light in the center is the GPS “Fix” indicator, which flashes once a second as it is looking for satellites, and then blips every fifteen seconds when locked and providing valid data. The 4-pin JST connector comes from the Mega serial port 2. There is another pushbutton that connects to the Mega, and an exterior temperature sensor (another TMP36) that connects to another analog input.
To monitor (or control) the Mega from the outside, we connect a terminal emulator on a laptop via a little converter. On a Mac, we like to use CoolTerm (http://www.freeware.the-meiers.org/), and on windows, we use Terminal-by-Bray (https://sites.google.com/site/terminalbpp/).
The converter is a cheap little MAX3232 board from http://dx.com/, stuck in a Hammond plastic box. The 4-pin wire from the Console provides 3.3V, Gnd, TX, and RX. There is no documentation for anything from dx.com, but little boards like this are easy to trace out, and the stuff is cheap (though it takes forever to ship). It’s a great place for switches, connectors, jumper wires, and all kinds of crazy stuff.
EDIT: This camera sucks. You can buy two mobius cameras for the same price.
The HackHD camera board (http://www.hackhd.com/) is the lightest way to take 1080p video, though we were disappointed with the video quality — it must have a low bit rate and the motion artifacts are annoying, especially for the price, but we have it designed in now. When taking video it runs VERY hot, so it will double as a payload heater at low altitudes, but will burn itself up when the air gets thin and there is minimal conductive cooling. We thought of having the Arduino toggle it on and off for short video clips and then cool-down time, but we decided to just set it to photo mode and let it take pics every 2 seconds. Despite the “hack” name, it does not give you any control other than toggle on/off with an open-drain line, there is no output to indicate it is running except a flashing led line, and no way to change between video and photo mode other than to change the config text file on the SD card. The video is marginally-better than the 808#16 720p ebay keychain cameras (see http://www.chucklohr.com/808) we have used on model rockets. You can get a decent 808 for 40 bucks, or pay four times as much for this one. Or use the heavier gopro. If you don’t mind a bit more weight you can use an old Canon and load it with CHDK firmware for periodic pics.
The provided lens was a bit too wide-angle for us (2.5mm), so we picked up some other focal lengths at http://www.m12lenses.com/Default.asp. For this LE-1 run we tried a 2.8mm lens. We screwed the board to a 1/32″ sheet of plywood so it would stay in position.
To power it all, we use two batteries, both 3.7V 2000 mAh Lithium-Polymer units from Sparkfun. One battery connects exclusively to the camera, and should run it for about 3 hours of continuous video, or much longer for just pics. The second battery runs through a little boost converter, also from Sparkfun. This provides a constant 5V to the rest of the electronics, even as the battery voltage declines. This nice little board also has a LiPo charger built in, so we just connect a micro-USB cable to it for charging.
We need to track the balloon so we can find it. On our RF module, you will see a rectangular board at the bottom — this is a “MicroTrak-400″ from Byonics (http://www.byonics.com/). We had to get an amateur radio license in order to use this board. It takes data from the GPS, encodes it in a “packet-radio” format, and transmits it with a built-in 400mW transmitter. The antenna cable connects to the SMA connector. This transmits at 144.390 MHz to ground stations in the Automatic-Position-Reporting-System (APRS), managed by amateur radio stations — the balloon position should be available in near-real-time on various websites like http://aprs.fi/.
The little board to the right is a cheap no-license-needed 433 MHz transmitter from ebay. This is just an ON-or-OFF carrier, so we scabbed together a 555 timer to make it “chirp.” More on this later. The RDF/ line from the interface board does two things: it sets the MT-400 to a different frequency (146.565 MHz) for hopefully locating the payload on the ground with a bit of direction finding, and it turns on our 433 MHz chirper, which is a backup ground beacon.
Foamcore is great stuff. Hot-melt glue is also dandy, and is a decent dielectric even at rf freqs.
We made a frame out of 1/4″ dowels, and used adhesive copper-foil tape to make two legs into a dipole antenna for our MT-400 radio. The payload box will be tied to the structure. This frame, provided it does not smash to bits on landing, will keep our antenna off the ground regardless of which orientation it assumes when it settles on the ground. This is an experiment. Hopefully it will stay intact.
We wrapped the coax around a thin plastic tube to create a balun and keep rf off of the shield (and out of our payload). The blue tape indicates the legs that are removable for easier transport.
The Camera module goes in first. The electronics will be in the right cavity. The left cavity is for frog and mice experiments — just kidding! That chamber could perhaps be used for some sort of experiment, but it is really just to keep our electronics away from the dipole antenna a bit.
The Controller module sits in a foamcore frame.
The Battery module gets connected, and the Console board slips into place.
The Controller module drops into the payload box, with the GPS antenna facing down (it will be up at launch).
The Battery module drops in next.
The RF module is the last thing in. This is an earlier picture before the 433 chirper was added. Some bits of foamcore are jammed in the sides to keep things from moving around. The antenna cables get connected before putting the cover on the payload. At this point the batteries are connected, but the payload is only drawing a small current from each. Still, we will do this assembly just before launch to keep the batteries in a fully-charged state.
(c) 2016 SurlEE