Good morning,
As maybe some people noted, I work on balloon trackers. I will give a little introduction:
Balloon trackers are devices which GPS position can be remotely tracked by a radio link. It's actually not a new thing. Amateur balloon got quiet popular since 2000. But the payloads have been quiet heavy. >250g. So it was only possible to attach payloads to large Latex balloons which will eventually burst at high-altitude (30km) and come back to earth within few hours.
The Pecan Project came up around 2008 by a friend of me (Thomas KT5TK, he not on the Forum). He wanted to build a tracker which is much smaller and can run on a single AA-battery having a weight less than 20g in total. So he was able to put this tracker to a much smaller foil balloon. Foil balloons (or also called super pressure balloons) are kinda special. They can last up in the air for very long times (weeks, months, maybe years?). By using this fact it's possible to travel huge distances with one balloon. We've flown a balloon last year over 9 days around Europe and Asia.
In the end of last year (2015), we wanted to go further. There are camera balloons available but usual solutions with RasperryPI's still weight around 150g. We wanted to get something smaller and more power efficient. So Thomas came up with the STM32F4 series and with a OV9655 camera demo board. We've spent a lot of time into the camera because we wanted to get sure, we can operate a camera without any external RAM (because external RAM takes power, money and more effort to build it).
I knew it would take a lot of time to implement all the features. So I've chosen ChibiOS because I already worked with it at my old company. I have been quiet impressed, because there has been no need to implement any drivers (except of DCMI). I saved a lot of time. We have a lot of features which I have to organize somehow. So I don't want to miss an OS anymore.
Finally we build a 2-layer PCB with an STM32F4 which we've ordered at Hackvana. We solder the PCB's manually like it's done at the reflow procedure. Well... we use a crepes plate to solder the PCB's No late April fool! => https://drive.google.com/file/d/0BwzVll ... sp=sharing
We firstly tried to use the STM32 UFBGA176+25 package and it worked already fine for 3 PCB's. We've soldered other BGA's before but not such a big one.
Last week, we got our first PCB into the air. The final payload had a weight of 30g. It's main features were:
- Live Imaging (transmitted by APRS and SSDV)
- Live Position (GPS position transmitted by APRS and 2FSK)
- Solar enabled (we flew a 2Wh LiPO)
- Telemetry transmission (Airpressure, Temperature, Humidity)
- Power consumption and solar charging tracking
Thomas wrote a short article about it. We got some useful pictures on the first day around Germany, Austria and Italy. Basically it worked very well. We got a lot of useful images transmitted. There can be still done some improvements (especially on the camera). We experienced some bad DMA/DCMI errors in the air which were caused by the low temperature most likely.
Short article with some payload pictures
All transmitted pictures from the balloon
Balloon Track
For everyone who's interested about source files (everything is open source):
Hardware: https://github.com/DL7AD/pecanpico7 (branch 7b: new revision, branch 7a: the PCB which we've flown), the project can be opened and edited with the free licensed Eagle version
Software: https://github.com/DL7AD/pecan-stm32f429
My DCMI ChibiOS evaluation code for the OV9655 camera: https://github.com/DL7AD/STM32F429-DCMI (Applicable on all STM32F4 eval boards)
Regards and many thanks to Giovanni for helping
Sven DL7AD/AF5LI
[Pecan Pico 7] Solar powered camera tracker for balloons
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Hi,
I wanted to ask. Any news about this project?
Giovanni
I wanted to ask. Any news about this project?
Giovanni
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Hi Giovanni,
Sorry for my delay. I didn't looking all day on this thread. The answer is Yes.
We flew a tracker in May but the it's antenna broke off and we couln't receive it too far. There haven't been any valuable photos due to the packet loss. We experienced the same problem on a flight which is still ongoing => Track: http://aprs.fi/#!mt=roadmap&z=9&call=a% ... tail=21600
This time, we got some more photos but the packet loss is still very serious. Though we have many problems with I2C. It seems to be that some I2C Slaves "don't like each other". There are many I2C faults which sometimes end with a Watchdog reset. The transmitted pictures can be seen here: http://ssdv.habhub.org/DL4MDW Though I think the STM32 can't communicate with the Camera (OV2640) anymore. So no pictures probably.
Telemetry: http://aprs.fi/telemetry/?call=DL4MDW-1 ... &date_end=
We currently head for the next version. I try to switch over to UART and SPI as many things as possible to avoid further I2C problems. We also remove some of the features since we only use some of them e.g.
- only one transmitter anymore (we never used them both)
- no power amplifier anymore
Regards
Sven
Sorry for my delay. I didn't looking all day on this thread. The answer is Yes.
We flew a tracker in May but the it's antenna broke off and we couln't receive it too far. There haven't been any valuable photos due to the packet loss. We experienced the same problem on a flight which is still ongoing => Track: http://aprs.fi/#!mt=roadmap&z=9&call=a% ... tail=21600
This time, we got some more photos but the packet loss is still very serious. Though we have many problems with I2C. It seems to be that some I2C Slaves "don't like each other". There are many I2C faults which sometimes end with a Watchdog reset. The transmitted pictures can be seen here: http://ssdv.habhub.org/DL4MDW Though I think the STM32 can't communicate with the Camera (OV2640) anymore. So no pictures probably.
Telemetry: http://aprs.fi/telemetry/?call=DL4MDW-1 ... &date_end=
We currently head for the next version. I try to switch over to UART and SPI as many things as possible to avoid further I2C problems. We also remove some of the features since we only use some of them e.g.
- only one transmitter anymore (we never used them both)
- no power amplifier anymore
Regards
Sven
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Good morning,
We recently launched another balloon last weekend with some amazing shots. We've used our new 2GFSK modulation with which we can transmit APRS/SSDV.
SSDV (Slow Scan Digital Video) is a protocol which is able to transmit JPEG images. It allows us to handle packet loss. So we are able to restore images even if packets gets lost. One packet is 256byte large containing a 205byte image-payload. It's usually transmitted by 2FSK modulation at 600baud (480bit/s). 600baud-2FSK can be decoded with a SSB receiver and a special software called DL-FLdigi. One VGA images takes ~100 packets and needs around 5-10 Minutes to be transmitted depending on the JPEG compression.
Since SSDV don't tell the ISO OSI Layer 1, we can use a different physical layer. So we encapsulate SSDV into an APRS packet. APRS can be done at 1200baud or 9600baud. But the main advantage is, that you can buy transceivers (e.g. TH-D72) which have the APRS protocol already implemented. With 9600baud we are able, to transmit one VGA image in less than a minute.
We launched it in Berlin and got some great shots of the city, e.g. from the closed airport Tempelhof which is now used as a park. (Altitude ~4000m)
We used a Si4464-transmitter which does 16dBm at 144.860MHz. I got a report from a station 350km far away which decoded the packets with a small Yagi with a S9+10dB level.
Regards Sven
DL7AD / AF5LI
We recently launched another balloon last weekend with some amazing shots. We've used our new 2GFSK modulation with which we can transmit APRS/SSDV.
SSDV (Slow Scan Digital Video) is a protocol which is able to transmit JPEG images. It allows us to handle packet loss. So we are able to restore images even if packets gets lost. One packet is 256byte large containing a 205byte image-payload. It's usually transmitted by 2FSK modulation at 600baud (480bit/s). 600baud-2FSK can be decoded with a SSB receiver and a special software called DL-FLdigi. One VGA images takes ~100 packets and needs around 5-10 Minutes to be transmitted depending on the JPEG compression.
Since SSDV don't tell the ISO OSI Layer 1, we can use a different physical layer. So we encapsulate SSDV into an APRS packet. APRS can be done at 1200baud or 9600baud. But the main advantage is, that you can buy transceivers (e.g. TH-D72) which have the APRS protocol already implemented. With 9600baud we are able, to transmit one VGA image in less than a minute.
We launched it in Berlin and got some great shots of the city, e.g. from the closed airport Tempelhof which is now used as a park. (Altitude ~4000m)
We used a Si4464-transmitter which does 16dBm at 144.860MHz. I got a report from a station 350km far away which decoded the packets with a small Yagi with a S9+10dB level.
Regards Sven
DL7AD / AF5LI
- FXCoder
- Posts: 384
- Joined: Sun Jun 12, 2016 4:10 am
- Location: Sydney, Australia
- Has thanked: 180 times
- Been thanked: 130 times
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Hello Sven,
Your project is very interesting.
I've been involved in some HA balloon work in Australia just recently with a colleague.
The tracking is built from existing modules my colleague "hacked" together..
I'm interested in the possibility to further develop a more integrated tracking and control system.
So I've been research uC, si Radios, GPS and all sorts of stuff to learn in a short time...
Thus I'm interested to follow your progress as you make changes and improvements.
I spent a little time looking over your code to learn more.
I found something in APRS radio setup that did not seem right in pecan-stm32f429/drivers/si4464.c
Maybe I don't understand it but I did research the si4464 API documents (Rev B1B) and maybe this is a bug in setting TX SYNC_CONFIG.
Currently the code attempts to set offet 0x11 of group 0x11 to set SKIP_TX.
Shouldn't offset be 0x00?
Anyway it might be just me not understanding.
Great work and I look forward to following your progress.
Regards,
Bob VK2ZXR
=====================
void setModemAFSK(radio_t radio) {
// Disable preamble
uint8_t disable_preamble[] = {0x11, 0x10, 0x01, 0x00, 0x00};
Si4464_write(radio, disable_preamble, 5);
// Do not transmit sync word
uint8_t no_sync_word[] = {0x11, 0x11, 0x01, 0x11, (0x01 << 7)}; // Shouldn't offset for property in byte 3 be 0x00 and not 0x11 ?
Si4464_write(radio, no_sync_word, 5);
Your project is very interesting.
I've been involved in some HA balloon work in Australia just recently with a colleague.
The tracking is built from existing modules my colleague "hacked" together..
I'm interested in the possibility to further develop a more integrated tracking and control system.
So I've been research uC, si Radios, GPS and all sorts of stuff to learn in a short time...
Thus I'm interested to follow your progress as you make changes and improvements.
I spent a little time looking over your code to learn more.
I found something in APRS radio setup that did not seem right in pecan-stm32f429/drivers/si4464.c
Maybe I don't understand it but I did research the si4464 API documents (Rev B1B) and maybe this is a bug in setting TX SYNC_CONFIG.
Currently the code attempts to set offet 0x11 of group 0x11 to set SKIP_TX.
Shouldn't offset be 0x00?
Anyway it might be just me not understanding.
Great work and I look forward to following your progress.
Regards,
Bob VK2ZXR
=====================
void setModemAFSK(radio_t radio) {
// Disable preamble
uint8_t disable_preamble[] = {0x11, 0x10, 0x01, 0x00, 0x00};
Si4464_write(radio, disable_preamble, 5);
// Do not transmit sync word
uint8_t no_sync_word[] = {0x11, 0x11, 0x01, 0x11, (0x01 << 7)}; // Shouldn't offset for property in byte 3 be 0x00 and not 0x11 ?
Si4464_write(radio, no_sync_word, 5);
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Hi Bob,
Thank's for your interests Sorry for my delay. I think, you might be right. I took the code from a friend who also does ballooning.
I think it does not affect us, because it's switched off by default. And even if it would have been switched on, APRS doesn't care about stuff being sent at beginning before the actual packet.
Regards Sven
DL7AD / AF5LI
Edit: I think, we are going to order the next revision probably next week. Pecan Pico 7 had a lot of stuff, which we actually did not really need. So we removed some of the features (e.g. one transmitter instead of two). The new tracker has around 100 components instead of 200. It will have:
- One transmitter (~30...40mW, 2m or 70cm depends on LPF)
- SD card option (on the backside)
- Camera (OV2640 or OV9655)
- GPS receiver (ublox EVA-7M)
We improved
- Moved the mounting point of the antenna in the middle (so you may attach the antenna to the balloon)
- Removed the GPS chip antenna (4cm wire is more efficient)
- Fixed SD card voltage bug (We fed 1.8V to the SD card but it needs 2.7V at least)
- Replaced all single LDOs by a multi-output LDO (ADP322ACPZ)
- Switched I2C components to SPI or UART (when possible) hopefully solving all I2C problems (we have terrible interferences between the slaves on the I2C bus)
We might switch over to the STM32F7 series since the layout is pincompatible.
Thank's for your interests Sorry for my delay. I think, you might be right. I took the code from a friend who also does ballooning.
I think it does not affect us, because it's switched off by default. And even if it would have been switched on, APRS doesn't care about stuff being sent at beginning before the actual packet.
Regards Sven
DL7AD / AF5LI
Edit: I think, we are going to order the next revision probably next week. Pecan Pico 7 had a lot of stuff, which we actually did not really need. So we removed some of the features (e.g. one transmitter instead of two). The new tracker has around 100 components instead of 200. It will have:
- One transmitter (~30...40mW, 2m or 70cm depends on LPF)
- SD card option (on the backside)
- Camera (OV2640 or OV9655)
- GPS receiver (ublox EVA-7M)
We improved
- Moved the mounting point of the antenna in the middle (so you may attach the antenna to the balloon)
- Removed the GPS chip antenna (4cm wire is more efficient)
- Fixed SD card voltage bug (We fed 1.8V to the SD card but it needs 2.7V at least)
- Replaced all single LDOs by a multi-output LDO (ADP322ACPZ)
- Switched I2C components to SPI or UART (when possible) hopefully solving all I2C problems (we have terrible interferences between the slaves on the I2C bus)
We might switch over to the STM32F7 series since the layout is pincompatible.
- FXCoder
- Posts: 384
- Joined: Sun Jun 12, 2016 4:10 am
- Location: Sydney, Australia
- Has thanked: 180 times
- Been thanked: 130 times
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Hi Sven,
Thanks for the reply.
You have certainly been busy!
All those improvements...
Since I'm only just starting on my work I'll certainly be paying very close attention to your progress.
I've got some Silicon Labs test cards, GPS, etc. on the way to me.
The ChibiOS system is setup and I've been exploring the features on a STM32 development board.
So I hope that I can progress to a working breadboard system soon and then maybe go to custom PCB at some time.
One idea is to have a receive capability for command & control but I think that will need to be non-APRS and use the standard digital radio formats.
So we'll need to have a ground based digital radio capability with suitable antenna setup to track the balloon.
I looked at the direct mode that the radios chip supports but not sure if that could be put to use in some way to act as a normal radio.
We'll see...
FYI regarding your (friends) code I see from the specs that the si446x default for SKIP_TX is 0 and this means SYNC_XMIT is enabled by default (1 disables).
So the code as it stands in your project could be sending a 16 bit sync word consisting of the default 0x4d then 0x2d (high to low byte order and then little-endian bit order).
That would be a 1011001010110100 bit pattern at the start of the transmission.
As you say the low level packet detector/decoder should be (and seems that it is) ignoring that lead-in pattern.
I look forward to staying in touch.
Regards,
Bob
VK2ZXR
Thanks for the reply.
You have certainly been busy!
All those improvements...
Since I'm only just starting on my work I'll certainly be paying very close attention to your progress.
I've got some Silicon Labs test cards, GPS, etc. on the way to me.
The ChibiOS system is setup and I've been exploring the features on a STM32 development board.
So I hope that I can progress to a working breadboard system soon and then maybe go to custom PCB at some time.
One idea is to have a receive capability for command & control but I think that will need to be non-APRS and use the standard digital radio formats.
So we'll need to have a ground based digital radio capability with suitable antenna setup to track the balloon.
I looked at the direct mode that the radios chip supports but not sure if that could be put to use in some way to act as a normal radio.
We'll see...
FYI regarding your (friends) code I see from the specs that the si446x default for SKIP_TX is 0 and this means SYNC_XMIT is enabled by default (1 disables).
So the code as it stands in your project could be sending a 16 bit sync word consisting of the default 0x4d then 0x2d (high to low byte order and then little-endian bit order).
That would be a 1011001010110100 bit pattern at the start of the transmission.
As you say the low level packet detector/decoder should be (and seems that it is) ignoring that lead-in pattern.
I look forward to staying in touch.
Regards,
Bob
VK2ZXR
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
I tried many thing on evaluation boards too. They have nice platforms.
I want to note, that not all GPS receivers work a high altitude. Most of the receivers stop working at 60,000kf (~18km). The ublox modules are able to work up to 50km.
I recently implemented APRS 9k6 (2GFSK) which can be done by the Si4464 itself. So I don't modulate the transmitter by toggling the GPIO pin anymore. I'm using the Si-internal packet handler instead. And it may be possible to receive 9k6 packets as well. But I haven't tried that yet.
Thanks for your additional information.
Regards
Sven DL7AD
I want to note, that not all GPS receivers work a high altitude. Most of the receivers stop working at 60,000kf (~18km). The ublox modules are able to work up to 50km.
I recently implemented APRS 9k6 (2GFSK) which can be done by the Si4464 itself. So I don't modulate the transmitter by toggling the GPIO pin anymore. I'm using the Si-internal packet handler instead. And it may be possible to receive 9k6 packets as well. But I haven't tried that yet.
Thanks for your additional information.
Regards
Sven DL7AD
- FXCoder
- Posts: 384
- Joined: Sun Jun 12, 2016 4:10 am
- Location: Sydney, Australia
- Has thanked: 180 times
- Been thanked: 130 times
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Thanks for the extra information Sven.
I'm interested in the 9K6 as well for direct link so if you can share information on the radio configuration you use (when convenient) that would be appreciated.
I guess you will be updating GITHUB at some time?
For my project I still need 1K2 AFSK for the regular 145.875 MHz APRS beacon we send that gets back to a 2M APRS gateway in our launch area.
Direct link we would do on an alternative frequency of course so the 9K6 will be interesting for that.
Your camera implementation is also interesting and maybe that can become part of the project.
I noted you had trouble with I2C bus and there are quite a lot of discussions about that being a bit tricky.
Termination/pullups seem to be a source of trouble so your experience makes me inclined to think twice about any use of I2C.
I was going to (and probably will try to) use it for a diagnostic/debug LCD that can be connected to the system when required.
I'll see how that all works out though.
Regarding Silicon Labs...
I have ordered 2 x 4463CPSQ27F169 169MHz +27dBm pico boards (shipping charge for a single item made it attractive to order 2 so I hit the free shipping threshold).
I didn't initially order the MSC-F930-PDK Wireless development board though.
I figured to use pin connects to the pico boards as the WDB is based an 8051 MCU and thus not suitable (apart from the cost).
However, after re-looking at the s/w tools I've since ordered the WDB as it seemed like evaluation of radio settings could be done more easily using that.
Would appreciate your feedback on my choice about the WDB and what you have done for your evaluation/experimentation setup.
Regards,
Bob VK2ZXR
I'm interested in the 9K6 as well for direct link so if you can share information on the radio configuration you use (when convenient) that would be appreciated.
I guess you will be updating GITHUB at some time?
For my project I still need 1K2 AFSK for the regular 145.875 MHz APRS beacon we send that gets back to a 2M APRS gateway in our launch area.
Direct link we would do on an alternative frequency of course so the 9K6 will be interesting for that.
Your camera implementation is also interesting and maybe that can become part of the project.
I noted you had trouble with I2C bus and there are quite a lot of discussions about that being a bit tricky.
Termination/pullups seem to be a source of trouble so your experience makes me inclined to think twice about any use of I2C.
I was going to (and probably will try to) use it for a diagnostic/debug LCD that can be connected to the system when required.
I'll see how that all works out though.
Regarding Silicon Labs...
I have ordered 2 x 4463CPSQ27F169 169MHz +27dBm pico boards (shipping charge for a single item made it attractive to order 2 so I hit the free shipping threshold).
I didn't initially order the MSC-F930-PDK Wireless development board though.
I figured to use pin connects to the pico boards as the WDB is based an 8051 MCU and thus not suitable (apart from the cost).
However, after re-looking at the s/w tools I've since ordered the WDB as it seemed like evaluation of radio settings could be done more easily using that.
Would appreciate your feedback on my choice about the WDB and what you have done for your evaluation/experimentation setup.
Regards,
Bob VK2ZXR
Re: [Pecan Pico 7] Solar powered camera tracker for balloons
Good Morning!
It's already in the Repository for two ... three months or so. But recently I moved the modulation tasks to the Si-Chip. So it generates 9k6 internally. I'm polling the Si-Chip sometimes to prevent buffer underflow.
It's the last commit https://github.com/DL7AD/pecan-stm32f42 ... 34ddac1e86
Especially APRS/SSDV is very interesting. We will probably launch a balloon in Poland next week if the weather is good enough. We decided to take Supercaps instead of a battery since the battery will free at night anyway. So it only stays alive on day. The supercaps are much lighter (just 4g) and can power the PCB for around 2...3 minutes (transmitter at 30mW and GPS switched on all time).
I2C is quite tricky. I causes problem occasionally. That's the reason why kinda hate it. But I can't get rid of it completely. There are still some components which only do I2C (like the PAC1720).
Regards
Sven DL7AD
It's already in the Repository for two ... three months or so. But recently I moved the modulation tasks to the Si-Chip. So it generates 9k6 internally. I'm polling the Si-Chip sometimes to prevent buffer underflow.
It's the last commit https://github.com/DL7AD/pecan-stm32f42 ... 34ddac1e86
Especially APRS/SSDV is very interesting. We will probably launch a balloon in Poland next week if the weather is good enough. We decided to take Supercaps instead of a battery since the battery will free at night anyway. So it only stays alive on day. The supercaps are much lighter (just 4g) and can power the PCB for around 2...3 minutes (transmitter at 30mW and GPS switched on all time).
I2C is quite tricky. I causes problem occasionally. That's the reason why kinda hate it. But I can't get rid of it completely. There are still some components which only do I2C (like the PAC1720).
Regards
Sven DL7AD
Who is online
Users browsing this forum: No registered users and 36 guests