Skip to content

Brno Observatory Picoballoon Competition probe for 2021

License

Notifications You must be signed in to change notification settings

NelliaS/Picoballoon2021

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Picoballoon Challenge 2021, Deadbadger probe

This probe was designed Picoballoon Challenge organised by Brno Observatory and Planetarium. A goal of this competition is to make a probe under 20 grams that would be launched on ballon to altitudes around 5-15 km. Only requirement except weight is sending current altitude of the probe.

probe

A detailed description is available at deadbadger.cz, tracking site is at bal.deadbadger.cz.

The probe contains

  • STM32F051 MCU
  • MS5607 Pressure and temperature sensor
  • Quectel L96 GPS module with integrated antenna
  • RFM95 LoRa Transceiver
  • MCP1640 based 3.3V boost regulator

Firmware

As the commonly used LMIC library is quite bulky and far from perfect, I wrote my own LoRaWan library inspired by TinyLoRa.

The main loop does about this:

  • Power up, initialize peripherals
  • Measure system voltages, pressure
  • Wait for GPS data or timeout
  • Power off GPS
  • Send data over LoRa (ABP, unconfirmed uplink)
  • Power off RFM95 trancesiver
  • Power off for 30 minutes
  • Repeat (GPS is powered on every 4th cycle)

Hardware

The board was designed for 0.6 mm thick two sided PCB to reduce weight as much as possible. Using thicker boards (usually 1.6 mm) changes the antenna trace impedance, but it should not be that significant.

The programming and debug uart connectors are separated from the main layout and this piece of the PCB will be snapped off before launch to reduce weight.

Power consumption with 3 V power supply

  • board topped at 50 mA with GPS searching for satellites, RFM in standby and MCU running
  • 7,3 mA with GPS powered off
  • 5,3 mA with RFM95 in sleep mode and GPS off
  • 45 uA with devices powered off

Weight

  • 10 g - Battery
  • ~3 g - Probe PCB with programming header
  • TODO g - Take off weight officially measured

Frontend

Data received by TTN are sent over HTTP integration to custom web server that verifies the auth header and stores data in sqlite database.

User frontend is written in python, it shows all received packets, flight route and current position on a map. The tracker is available at bal.deadbadger

To run the frontend in docker, run

docker build -t picoballon .
mkdir /srv/probe
touch /srv/probe/database.sqlite
# set token to use in auth header
echo "someuser:somepassword" > /srv/probe/token.txt
docker run -v /srv/probe/data:/project/cloud_data --mount type=bind,source=/srv/probe/database.sqlite,target=/project/database.sqlite --mount type=bind,source=/srv/probe/credentials.txt,target=/project/credentials.txt -p 8081:80 --name picoballon -d picoballon

About

Brno Observatory Picoballoon Competition probe for 2021

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 48.5%
  • C 26.3%
  • HTML 16.5%
  • Makefile 8.4%
  • Dockerfile 0.3%