# BallonSonde Project 2023 This aim to group all ressources to create the PoC ![](./doc/prototype.jpg) ## Hardware requirements * a RaspberryPi Zero 1.3 with nothing more (no WiFi, no BT) * a RaspberryPi Camera * SM828 VHF/UHF radio module * an old and dirty RadioSonde * regulators 7805 or something than can have 3A * an homemade RC filter for 20Khz ## Software requirement * GNU/Linux Debian For the RaspberryPi ``` apt update apt upgrade apt install bpython3 python3-venv python3-serial python3-pip supervisor libopenjp2-7 screen imagemagick exiftool git vim nmap libjpeg-dev zlib1g-dev cd ~ git clone https://git.vrpnet.org/HamRadio/BallonSonde # in user mode, setup PySSTV to convert pictures in wav mode cd ~ mkdir PySSTV python3 -m venv PySSTV/ cd PySSTV/ source bin/activate pip install pysstv deactivate pip install pynmeagps ``` ## Specs to do ### Get the default shell Should have a Serial interface on **GPIO14**(UART0_TXD) and **GPIO15**(UART0_RXD). I'm using a cheap FTDI232, from anywhere. ### Switch the output jack of the soundcard to GPIOs We have to play WAV files from the PySSTV converter, and put it directly in the microphone +/- input of the SA828 radio module. By the way, we don't need stereo output, that's why I only made a single RC filter for filtering frequencies over 20Khz. The configuration of `/boot/config.txt` will contain this line, then you can connect **GPIO12** and **GPIO13** to a stereo jack. ``` dtoverlay=audremap,pins_12_13 # for pins 12 and 13 ``` ## Softwares usages ### chroot-to-pi.sh Use this script to chroot your system on another system, get a shell and do the work with the CPU on the host. This to win time in compilation, or to fix something broken. ### active_nmea.py Due to the radiosond and default parameter, we have isolated the Sierre Wireless XM1110 GPS chip and get the NMEA via UART interface. By the way, the default parameter is set to binary, and unfortunatly, we can't read it. That's wy we have to launch active_nmea.py, that set a PMTK command to have an output in NMEA. We have to do this each time the GPS is booting. User crontab to do this. ### convert_ll_dec.py This is a simple converter of decimal to hours, minutes, (seconds with 4 decimals). Datas are parsed for insert Exim GPS datas in JPG pictures. ### read_nmea.py This script simply get the NMEA informations.