RS41HUP (Ham Use Project) - Project Horus Fork
Firmware for RS41 for HAM use.
It is possible to recycle RS41-SGP sondes for amateur radio use without any electrical changes! You just have to build a new firmware (this one) and apply it via a cheap programmer, the "ST-Linkv2" (or alternatives). The modified sonde can now transmit on a user-defined frequency in the 70cm band, with Habhub-compatible RTTY telemetry!
Released under GPL v2.
Modifications by Mark Jessop email@example.com include:
- Compatability with existing Project Horus RTTY Formats.
- Removed APRS support - no 70cm APRS infrastructure in Australia, so not really useful to us.
- Support for 4FSK and 2FSK binary telemetry
Linux / OSX:
- Grab the latest GNU ARM Embedded toolchain from here: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
- Extract the tarball to somewhere useful. In my case I'm using ~/opt/
- Within the RS41HUP directory:
- Edit CMakeLists.txt and set the correct path to the un-tar'd directory.
(Note, is likely broken - currently targeting Linux / OSX builds)
- Use the ST Micro ST-LINK utility (windows only it seems?), or
- stlink under Linux/OSX (will need to be unlocked first), or
- OpenOCD on Linux / RaspberryPi (see openocd_rs41.cfg file for usage) or
flash.shwith a Black Magic Probe. You will need to modify the path to the debugger's serial interface.
Refer to this file for programming header pinouts.
Configuration settings are located in config.h. Modify as appropriate before compiling/programming.
- 14.12.2016 - Reverse engineeded connections, initial hard work, resulting in working RTTY by SQ7FJB
- 07.01.2017 - GPS now using proprietiary UBLOX protocol, more elastic code to set working frequency by SQ5RWU
- 23.01.2017 - Test APRS code, small fixes in GPS code by SQ5RWU
- 06.06.2017 - APRS code fix, some code cleanup
- June 2017 - starting with Linux support, making configuration more flexible by DF8OE
- March 2018 - Addition of 4FSK binary mode support by Mark VK5QI
- Temperature and moisture sensor support (temperature should be the easiest to get going first...)
- Implementing protocol for using external devices on extension header
- Configuration via extension header (serial connection) without need for reflashing firmware