Rick Swift & Apple & Embedded I make things. Sometimes, I’ll talk about it here.

My Gorram Frakking Blog

Balloon Controller

I'm probably just procrastinating a bit before getting into writing firmware for this thing, but I though I'd post a picture of the Balloon Controller with nearly everything populated. I'm still waiting for the barometric pressure sensor and GPS connector to arrive, but everything else is installed.

Balloon Controller

I've verified that everything powers up, but beyond that, I have no idea if anything works. I was able to flash the MC with a blinky LED program, though, so that's a good start.

UPDATE (15:38): Got the DBGU serial port work. Note that this board has two USB ports. One for the MC proper, and one for an FTDI chip attached to the SAM7X's DBGU port. This was easier than writing a Mac OS X virtual serial port driver against the MC's USB port.

DBGU Port Working

UPDATE (18:27): Got the battery voltage being measured, and also got the radio link working!

It's a little cumbersome to flash the MC when you have an external power source, because it needs to power cycle to re-enumerate the USB and set up for download. So I pulled the fuse that USB bus power goes through, which means that I only have to disconnect the main power supply to power cycle it, rather than disconnect that and unplug the USB cable.

18 km Range Test a Success

Darren and I tried an 18 km range test today with the n920. Amazingly, we had success with just the rubber ducky antennas, and down to 250 mW transmit power on both ends! He was up near this winery, and I was on the fifth floor of Yahoo! building D.

At first we tried the new Yagi, but it didn't seem to work (at all). We were astonished to get a link with just the whip antennas. They didn't even have a proper ground plane, just being stuck out the side of the plastic boxes I had put the gear in (and pointing upward).

Using the ATS123? command to query the receive signal strength, Darren had -88 dBm, I had -105 dBm (measurements varied, but I think that was at 250 mW). I tried sending a file to myself via loopback, < 1 KB in length, which failed the first time and succeeded the second. A 131 KB file failed, and I didn't try it a second time. I could see it dropped stuff from within the file. We'll have to investigate exactly what went on. Are the radios full duplex? How big are their buffers? It seemed to send the entire file before receiving anything, but that could've been an artifact of PortTermX.

Interestingly, the Yagi didn't seem to offer much. It was also nearly impossible to hold while operating the computer. Next time, we need to put it on a stand of some kind.

Hopefully this weekend we'll try a much longer range test, from the winery to Coyote Hills.

New 900 MHz Yagi Arrived

Our balloon experiment is using a 920 MHz frequency-hopping radio link (we also have 2.4 GHz radios, but will probably stick to 920 MHz). The balloon will carry a dipole or vertical bazooka tuned for 920 MHz, but it will be rotating and squirrelly. It will also be 30 - 50 km away. So I decided a good Yagi on the ground will help ensure we maintain our fade margin.

I looked at a couple options from L-Com. The best 900 MHz Yagi they had offered 14 dBi in 109 cm, but was $120. The next best offered 13 dBi for $44, so I bought it. I didn't realize until it arrived that it was 145 cm long!

900 MHz 13 dBi Yagi

So, this will prove to be unwieldy, at best, especially from a moving car. We might decide to have a fixed ground tracking station, but that approach will need investigation.

Radio Link Test 2

I put the n920 slave in a box and left it with a co-worker on the fifth floor of my office building. I took my laptop and the master radio over to our other building, 5 km away, and set up on the sixth floor. My co-worker was on the balcony outside the building, and I was in a conference room inside.

After we powered up the radios, and after I dealt with my radio coming loose from its dev board, we established a link and I was able to send a few characters to the slave. It was set up with a loopback connector, so those bytes came right back.

A query of the master's receive signal strength returned -91 dBm.

Hopefully this weekend we can do a 20 km test.

Balloon Controller v1

I've been hard at work this week on the Balloon Controller. It's an ARM-based embedded system with a bunch of sensors, intended to be flown as a payload on a high-altitude balloon. I'm very nearly finished with the PCB layout, but I thought I'd post a picture of it anyway:

BalloonControllerPCB1

The board features:

  • MakingThings Make Controller
  • Microhard Corp n920 radio comm link
  • GPS
  • Compass
  • Digital altimeter, 10 - 1300 mBar
  • Internal and external temperature sensors (internal is on the altimeter, external is a thermistor)
  • SD Card
  • System battery voltage sensing
  • Two USB ports, one for downloading new code, the other with an FTDI to access the debug serial port
  • Wide supply voltage range, 9 - 28 V (we'll probably use an 11.1V LiPoly pack for R/C cars

This is just a prototype. The next version will feature an Atmel SAM3S MCU instead of the Make Controller, some GPIO, and more refinement. It might even have an image sensor interface and be able to downlink images in real-time. And they'll be available for purchase, although we'll look at alternatives for the communications link, because the n920 radios are fairly expensive.

Stay tuned for updates.