Board requirement for High Altitude Ballooning - advice please

Hi all,

Hoping someone can offer me some advice. I am at the very early stages of a High Altitude Ballooning project which involves ballooning a payload up to 40,000ft and edge of space, to take photographs and other sensor readings.

I am looking at microcontrollers such as Arduino and Raspberry Pi. Long term I am thinking about making my own PCB with a controller chip (such as a 328) but initially I'd like to look at a ready made board if possible. I've tried to summarise the key requirements below:

  1. Must be battery powered (for obvious reasons). Due to altitude we use lithium batteries not alkaline. For power consumption, 3.3v is better than 5v if possible. Due to weight, it is normal to use 4 x 1.5v AA batteries in series.

  2. Needs to be able to talk to digital devices such as radio transmitter, GPS module, temperature sensor, camera etc.

  3. If possible, log data at regular intervals to a permanent storage (either EEPROM or SD Card)

  4. Ability to receive code from the Arduino interface and store/run that code (sounds obvious but wanted to mention it)

So the general idea is that the Arduino will regularly send GPS co-ordinates via radio to earth, whilst logging other data (temperature etc) and instructing a camera to take regular photos. So this doesn't really need a super powerful CPU, nor does it need much storage or memory in my opinion.

I've had a look through the board comparison sheet and narrowed down to the following:

  1. Due. Runs at 3.3v. Doesn't have EEPROM but hoping I could use SD card expansion? But can this run on batteries?

  2. Fio. Runs at 3.3v. Can run from batteries. Not a full board with onboard connections so more work to incorporate external devices or load code.

  3. Pro 168. Same as Fio.

Clearly the above assumes I am going for 3.3v rather than 5v and a large range of boards would become available if I chose to go with 5v. But for power consumption reasons I would prefer to try 3.3v solution first.

Any advice on boards or anything else related to this is very much appreciated. Cheers!

Hi, welcome to the forum.

For battery powered operation often a 8MHz 3.3V Arduino is used.
It can be the Arduino Fio, or Pro Mini 3.3V 8MHz, and there are a few others.

The Arduino Fio is a strange board, since the usb connector can not be used to upload a sketch (the code), it is only used for power. A seperate usb-serial adapter is needed.

The Pro Mini 3.3V 8MHz is normal Arduino board, but it is a stripped down version. You also need a seperate usb-serial adapter.

What temperatures are at that height ? Some cheap crystals stop working below freezing point.

Some EEPROM chips can store a lot of data, but it is harder to retrieve the data from it after a crash.
A micro SD card is easy to retrieve data from, some are guaranteed water proof. But a good quality socket is needed, that will still work at low temperatures. I have a micro-SD socket from Ebay, that didn't make good contact after not being used for a year.

Hi Peter, thanks very much for your reply. The internal temperatures in a well insulated payload usually get to minimum of around -20 celsius. That’s why alkaline batteries are a no go. All components will be tested in a freezer to achieve similar temperatures. Moisture is normally less of an issue.

So both the Fio and Pro mini require a separate usb-serial adapter. What is that used for? Is it for loading the code only or general serial communication? Don’t mind adding adapters if its only for design time like loading code.

How would a SD card normally interface to a board? Is there a Arduino add on or is it a case of finding a socket and wiring it up?

I notice the Fio has more memory (EEPROM, SRAM and Flash) but not sure I would really need or use all of that for a fairly small program and data onto SD card. On the Fio spec page it doesn’t mention it can be battery powered - is this possible?

Thanks again.

besides isolation - which is good - you should consider a small heating element to be controlled by A.
Extra battery required.

Is ther a weigh limitation ?

I assume so, can you say what it is.

besides isolation - which is good - you should consider a small heating element to be controlled by A.
Extra battery required.

LiFePo batteries lose 20-25% of their capacity between 0C and -18C. If you spend 20% of your capacity running a heater to keep it warmer than 0C then that power is ‘free’ - no extra battery required - and you can keep all your electronics warm.

For a balloon, Li-Poly is probably a better battery but I haven’t looked at their low-temperature specs.

If weight allows i would suggest a heater

Fair amount of consumer equipment is simply not designed to operate at 0deg, but i think thats probably due to condensation

I have not been able to find published data on arduinos but some experimentation shows that the adc have poor calibration at low temps , thats on a nano clone.

Experimenting with a freezer is on my list to do but not got around to it yet.

Arduino clones/counterfeits from Ebay have often the cheapest crystal. They stop indeed below 0 degrees Celsius. A resonator would be better.

The Fio and the Pro Mini use both the ATmega328P. That is the most used chip for an Arduino board. The page of the Pro Mini says it uses an ATmega168, but that was in the past, long long time ago.

I don't see the Arduino Pro Mini in the Arduino store... ?
However, Sparkfun sells it, with resonator (good for low temperatures).

An micro SD module should run on 3.3V. Adafruit has one that is compatible with 5V and 3.3V.

If you choose a 3.3V system, you can use a 3.3V micro SD module without those extras:

There are also add-on boards for datalogging. They have the micro SD socket, and often a RTC (Real Time Clock) and so on.

A usb-serial adaptor converts the RX and TX from the ATmega328P to an (virtual) serial port on the computer via usb. It is used for almost everything : uploading a sketch, reading debug messages from the Arduino board, sending commands, downloading data (if you write code for it), and so on.

Most Arduino boards (like the beginners board "Arduino Uno") have a usb-serial chip on that board.

With all the sensors and the micro SD, you need a good 3.3V. I think you need a buck-boost-something converter to create a stable 3.3V from the battery.

Buck boost convertor , yes.

Lipos have an excellent power to weight ratio hoowever at -20 deg the terminal voltage drops to 3 v.

Rc model batteries make for a substantial but low mass supply.

Thanks for all the useful replies guys.

I'm new to electronics so not quite sure what a "buck booster" is but I'm planning to regulate the voltage to 3.3V by using something like a MCP1700 with a 1uF cap before and after. Probably supplying 4.5V via 3 AA batteries. Looking to use Lithium, something like an Energizer L91 which is around 3000mAh.

I'm currently adding up all the current/draw requirements of my components. Most are quite low, with the radio being the most hungry at 28ma. I'm struggling to find the current/draw information on the Arduino Mini Pro 128 (3.3V) board - does anybody have any ideas? Same problem for the SD card boards, I'm struggling to see what current they draw. The one suggested by Peter is probably the one I will go for: SparkFun microSD Transflash Breakout - BOB-00544 - SparkFun Electronics

In terms of USB-Serial adaptors (for getting code onto Mini Pro), is this the kind of thing I should be looking for:SparkFun USB to Serial Breakout - FT232RL - BOB-12731 - SparkFun Electronics

Thanks in advance.

Yes, such an breakout board.

Some usb-serial modules can directly connect to a Pro Mini when pins are soldered on the short side. They look like this : USB-to-Serial Bridge - µUSB-PA5 - DEV-11814 - SparkFun Electronics But I'm not sure that one will fit to a Pro Mini.

A micro SD card uses almost nothing when not used. When active with writing, maybe between 10mA or 40mA. Some cards use a lot more, it depends on the card. But that are only short bursts when writing or reading.

The Pro Mini board uses little current, maybe 30mA. You can remove the power led and the voltage regulator. The ATmega328P can be put into sleep mode. That sleep mode could be very short, like 10ms. If it runs for 10ms and sleeps for 10ms, the current is half.

A buck-boost-converter can convert say 12V to 3.3V but also 2.5V to 3.3V. It depends on the battery that you use if you need that.
The MCP1700 has a voltage drop of about 178 mV. For 3.3V you need at least 3.478V.
Did you read the datasheet ? The 1uF at the input must be ceramic, otherwise it becomes unstable.

Thx for advice again.

Having totted up my components I think my maximum total current will be around 100mA. Likely to be much less when my GPS goes into sleep tracking mode and I am not sending radio packets and not writing to SD card (possibly < 50mA at these quiet times).

My plan is to use 3 x 1.5V 3000ma batteries in series giving 4.5V total which should be more than enough for the MCP1700 voltage drop. The rest will be given off as heat I guess. Even assuming worse of full 100mA current, those batteries should in theory give around 30 hours of constant operation. That is more than enough for a 3-4 hour balloon flight plus the hours needed to then find it again on the ground. The temperature specs on the Energizer batteries look very good too with only minimal degradation at sub zero.

I did read the datasheet of the MCP1700 but being a novice most of it wasn’t understandable. But I researched some more and found circuit diagrams with 1uF before and after to help level the current, ceramic as you say.

So here is my current shopping list for the board related items (ignoring small caps/resistors etc) :

  1. Aduino Mini Pro 328 3.3V.

  2. NTX2B Radio Transmittor.

  3. GPS Receiver/Antenna.

  4. Temperature sensor. One Wire Digital Temperature Sensor - DS18B20 - SEN-00245 - SparkFun Electronics

  5. USB to serial breakout. SparkFun USB to Serial Breakout - FT232RL - BOB-12731 - SparkFun Electronics

  6. SD card breakout. SparkFun microSD Transflash Breakout - BOB-00544 - SparkFun Electronics

All the above operates at 3.3V and seems compatible to me. But if you have time and can spot anything that doesn’t look right please let me know.

Also, any experiences of attaching Mini Pro board to a PCB - what is the preferred approach please?

Do you know if the GPS module is good ?
At Adafruit they often test a number of components and select the best one :

I'm not sure about the example code for the RF module.
Would the RadioHead library work with it ? RadioHead: RadioHead Packet Radio library for embedded microprocessors I think not.
Do you know what code you are going to use ? What do you use as 433MHz receiver ?

The antenna output of the RF modules seems to be 50 ohm. As far as I can read it doesn't adapt itself to the antenna. So you have to use/make a good antenna for a large range.

Pin strips shown in photo are what i use to attatch to pcb

Right, I use those pin strips and the 'base' is a through-hole double sided prototype pcb.

Peter, the module does come recommended from the UK High Altitude Society guys for use with a 3.3v microcontroller. That item you linked does look very good (especially the data logging) but the main problem is it is only certified up to 60,000ft and HAB's go up to double that and still need GPS to work (the Ublox model has a flight mode and certified to very high altitude). Secondly (and less important) is its 8.5g compared to 1.5g of the other model.

The radio transmitter also comes recommended by the HAB guys and there are several Arduino code examples of how to transmit using it. Ultimately we use it to send RTTY (radio teletype) which allows to send data (e.g. messages, or GPS co-ordinates) down the radio and decode it on the ground. Here's a great tutorial: guides:linkingarduinotontx2 [UKHAS Wiki]

Yep the antenna on the payload itself will be made to match the frequency (434Mhz) and I will be tracking on the ground by 1) Car based magnetic antenna (45cm i.e. half wavelength) and then a homemade Yagi antenna again made to spec to match the wavelength I am tracking. Despite the datasheet saying 500m range that is horizontal along the ground in a built up city. HAB members have used this to TX over 200km in the air successfully.

Boardburner, thanks for the link, that looks perfect for attaching to a PCB or even a bread board to begin with. Quite expensive tho and can't find any other sellers on Amazon UK. Do those items have a name I could search to find an alternative supplier I wonder?

Right, I use those pin strips and the 'base' is a through-hole double sided prototype pcb.

Yes piggyback style.
Can also be used on standard perfboard.
Wirewrapping is sometimes a useful prototyping method

The pins are available on their own , cheap as chips on ebay

Pin strips, pin headers.


Typical use , real easy to prototype

Well, I assume that it has been optimized to work for that specific goal. It just feels weird to use a modulated PWM signal for a FSK modulation.

What exactly is the radio for ?
Data or just to find the thing afterwards ?

I used to be involved in HPR on the perhiphery.

They have atmel based custom solutions , engineered for altitude and g forces etc, low weight.

Maybe you can find something there.

The radio is to track the balloon during flight and during descent. The 434Mhz signal (and associated data via RTTY) is decoded by a software program which then uploads the lat/long to a central server. I will be tracking via car on the ground but other radio enthusiasts can do the same (some from many miles away) and I see the location overlaid on google maps.

As a backup I will have GSM (SMS text) of positions when below 2km but often no signal so can't trust that. Therefore radio is primary source of tracking.

Which is another whole topic, GSM/Mobile phone modules to use with mini pro!