← All journal posts

August 6, 2013

Figured out the hardware for the balloon

Geek alert.  This took a long time to figure out because there's not a lot of documentation out there.

I am using an IOIO board bought from Sparkfun to control the robot, servos etc.  I was hoping to use an Arduino, but its limited number of UARTs (low level serial ports) meant that it couldn't talk to the Android phone through USB and the external GPS chip without substantial workarounds.  The IOIO board has the advantage that it has lots of IO ports, is lightweight, low power, and can be controlled directly by a java program on the Android device.  Getting it to work was relatively simple, and it works as advertised.

  • This is what we are attaching:
    • A  AA battery pack with lithium batteries.  This will power the IOIO, servos, etc.  Lithium performs well down to very low temperatures as an added bonus
    • 4 banks of lightweight (9grams!) servos.  These are quite noisy, but seem to work well for releasing paper aircraft.  Can't complain about 9g
    • Internal and external temperature probes base on the TMP36 sensor.  These only work from -40 C to +125 C, so may not read the coldest external temperatures accurately.  Better probes were far more complicated.  I'm particularly interested in the internal (robot) temperature - will it get too cold at altitude, or will it even get too hot, especially after landing in California's central valley?
    • Strobe lights and a buzzer that can be remotely turned on and off.  Helps finding stuff when it's dark and there's trees or thick undergrowth
    • A GPS chipset that can handle altitudes of >120,000 feet.  I'm using the ublox Max-6.  Unfortunately, most Android phone GPS chips die above 60,000 feet, so we need a special external one connected to a UART on the IOIO.  This uses ~50mA at 5volts (=0.25W) so will get quite warm
Black Sky Robotics · blackskyrobotics.com Maps © OpenStreetMap contributors, OpenFreeMap