Releases: lyusupov/SoftRF
1.8
New Editions
- Hardware:
- Espressif ESP32-S3FN8 SoC
- GNSS:
built-in Quectel L76K - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Bluetooth LE
optional: Type-C USB to UART (CH340K) - Display:
built-in: GooDisplay® 1.54" SPI e-Paper - Battery:
built-in: Li-Po 1000 mAh - Buzzer:
built-in
- Rockchip RK3506G SoC:
- 3 x 32-bit Cortex A7 @ 1.2 GHz
- 1 x 32-bit Cortex-M0
- 128MB DDR3
- Int. storage
- 256MB of SPI NAND FLASH
- Ext. storage
- micro-SD card
- Operating System
- Buildroot or Ubuntu 22.04
- Hardware:
- Nordic nRF52840 SoC
- GNSS:
built-in Quectel L76K - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Bluetooth LE
optional: Type-C USB CDC ACM
optional: UART 38400, 8N1 - Battery:
built-in: Li-Po 7000 mAh
- Solar Panel :
6W rated power output
- Sensor(s):
external: Bosch BMP(E)280 - Water resistance:
IP65
- Hardware:
- Nordic Semiconductor nRF52840 - ARM Cortex-M4F core with 2.4 GHz radio
- GNSS:
built-in Quectel L76K - Sub-1Ghz radio:
built-in Semtech LR1110
- Output:
default: Bluetooth LE
optional: USB CDC ACM - Battery:
built-in: Li-Po 760 mAh - Sensors:
built-in: SC7A20H accelerometer
built-in: AHT20 humidity & temperature - Weight
38.5 grams
- Water resistance:
IP66
- Hardware:
- STMicroelectronics STM32WL55 SoC
- GNSS:
external Quectel L80-R - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Type-C USB to UART (CH9102) - Display:
built-in 0.96" SPI OLED - Sensor(s):
optional: Bosch BMP(E)280
Major improvements
Common
- apply GNSS fix quality filter
- add SSD1315 SPI OLED display driver
- add Seeed Arduino AHT20 library
- build RADIOLIB infra for most recent Semtech LR2021
radio
ESP8266
- a fix for #185
ESP32
- build with Core 3.3.4 for ESP32-C5 and ESP32-P4
- bump NimBLE library up to 2.3.6 for ESP32-C5/6
- bring up of SoftRF firmware on ESP32-P4 DevKit
- bring up of SoftRF firmware on ESP32-C5 ECO2 DevKit
- add Ethernet infra for ESP32-P4
- build is possible for Espressif recent ESP32-H4 SoC
- enhancement #191
nRF52
- a fix for #190
- identify certain boards by bootloader's signature
- bump Zephyr OS Core up to 0.52.0
- bring up of LilyGO® T-Echo Plus

- make use of buzzer available in LilyGO® T-Echo Plus
- bring up of BHI260 sensor. ( BHI260 is not in use by this Release )
- include Ti DRV2605 ERM/LRA haptic driver activation into POST of T-Echo Plus
RP2XXX
- bump Pico Core up to 5.4.4
EFR32
- build with Core 3.0.0
- print free heap size
BCM283X ( Raspberry Pi )
- add Linux LGPIO library
- add RadioLib driver for LR1121
radio - add network Bridge library
- add Web server, 'Status' , 'Settings' and 'About' WebUI pages
- add EEPROM emulation component
- add PWM sound feature
- add UDP packets transmitter
- add drivers for Bosch BMx280 air pressure sensor and IIC bus
- add driver for OLED display on IIC bus
- add BSP for Waveshare SX1262+L76K HAT product
- add driver for WS281X RGB LED ( NeoPixel ) ring
RK3506
- add all the features listed above for
Raspberry Piinto Rockchip RK3506 port as well - bring up of Lyra Edition with USB RTL SDR receiver
STM32
- add an infra for WL55 SoC
Please, read commits history for more information.
Known issues
- same that previous Release 1.7 has ;
Binary downloads and flashing instructions
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update.
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.7, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.7 or to buy a new board with pre-installed 1.8.
Source code build instructions
1.7.1
Maintenance Update
Note
This interim Release is intended to provide very first firmware binaries for a few most recent SoftRF Editions only:
Users of other SoftRF Editions should continue to operate with Release 1.7
New Editions
- Hardware:
- Nordic nRF52840 SoC
- GNSS:
external Quectel L76K - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Bluetooth LE
optional: Type-C USB CDC ACM - Display:
built-in: GooDisplay® 1.54" SPI e-Paper - Battery:
built-in: Li-Po 1200 mAh - Buzzer:
built-in
- Hardware:
- Espressif ESP32-S3 SoC
- GNSS:
external - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: UART to Type-C USB (CH340K)
optional: Wi-Fi UDP or TCP
optional: Bluetooth LE - Display:
built-in: 1.3" I2C OLED - Battery:
built-in: Li-Po 1000 mAh
- Hardware:
- Espressif ESP32-C3 SoC
- Sub-1Ghz radio:
built-in Semtech LR1121
- Output:
default: UART 57600, 8N1, MAVLink 1
Major improvements
Common
- add Si4463 radio profile for P3I protocol
- update ArduinoBLE library version to 1.4.0
- relocate FANET frequency for New Zealand to 920 MHz band
- use of 10000 Hz deviation for P3I rather than 9600 Hz
nRF52
- add readings from Seeed T1000-E light and temperature sensors into POST procedure
- reduce sleep current for LilyGO T-Echo and Heltec T114
- build with Arduino-Zephyr Core 0.3.1
- add an I/O map for Seeed Wio L1
- build with OLED display driver
ESP32
- build ESP32-C6 target with recent release 2.3.0 of Arduino-NimBLE library
- build ESP32-C5 target with Arduino Core 3.3.0-alpha1
- build for LilyGO T3-S3-OLED and Ebyte EoRa-HUB-900TB boards
- use dynamic allocation of OLED data structure
RP2XXX
- bump Pico Core version up to 4.5.4
Please, read commits history for more information.
Known issues
- same that previous Release 1.7 has.
Binary downloads and flashing instructions
Firmware binaries of the Maintenance Update have been released for certain platforms / SoftRF Editions only:
Users of other SoftRF platforms should either
- build the Maintenance Update firmware from source by themselves or
- wait until next official Release.
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.7, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.7 or to buy a new board with pre-installed 1.7.1.
Source code build instructions
1.7
New features
Two more of hardware platforms (SoCs) that the SoftRF technology is able to operate with:
- Raspberry Pi Foundation RP2350 - dual ARM Cortex-M33 cores and/or Hazard3 RISC-V cores
- Nanjing Qinheng Micro (WCH) CH32V307 - RISC-V4F processor @ 144 MHz
Raspberry Pi RP2350 
- very first Release that works with Pico 2W upgrade for Standalone Edition
- base component: Raspberry Pico 2W

An illustration of Pico 2W with an appropriate adapter
This adapter has a nice fit to the SoftRF Standalone Edition board
Raspberry Pico 2W can also be a part of SkyView Pico
device
Nanjing Qinheng Micro CH32V307
An illustration of a development kit with
Radio
Three of SoftRF Editions can be upgraded with Semtech LR1121
- most recent and advanced sub-1 GHz radio on the market
A variety of radio ICs from
- Silicon Labs
- Semtech
- Texas Instruments
brands can operate together with SoftRF Standalone Edition 1. These legacy radios were designed in year 2000-2020 time frame but sill popular for some application purposes on the market.
1 - drivers for legacy radios are inactive in this Release of SoftRF firmware binaries. If someone wants to use a legacy radio - he/she needs to build & install a custom firmware from the source code.
Major improvements
Common
- parse two more of aircraft types from JSON settings file
- validate build of LR11XX driver with
- STM32
- AVR
- SAMD21
- ESP8266
- RA4M1
- EFR32
- RP2XXX
- ESP32-C6
- ESP32-C3
- validate proper operation of LR11XX driver with FSK and LoRa modulations for
- HF band ( 2.4 GHz )
- S band ( 2.0 GHz )
- identify certain LR11XX modules by means of getChipEui() method
- bring up of drivers for the following radio ICs:
- SX1231
- CC1101
- Si4432
- SX1280
- Si4463
- an update for Adafruit fork of SdFat library
- an update of Adafruit NeoPixel library
- an update of SensorLib library
ESP32
- build with Core 3.2.0 for ESP32-C6, ESP32-H2 and ESP32-P4
- build is possible for Espressif recent ESP32-C5 and ESP32-C61 SoCs
- bring up of Banana PicoW board with adapter to Standalone Edition
- migrate from NeoPixelBus back to Adafruit NeoPixel (ESP32-S3 only)
- add pin map for Elecrow ThinkNode M2
nRF52
- set EEPROM emulation storage address space to reside right under Little-FS (0xED000 / 28K) area
- NFC tag feature can work on Badge Edition but has a conflict with Bluetooth LE
- play a short melody with Card Edition at very first GNSS fix
- build is possible with Arduino Core for Zephyr OS (0.3.0)
- pull Seeed T1000-E button pin down
- make use of T1000-E QSPI flash memory (when installed) as a USB Mass Storage device
- add pin map for Elecrow ThinkNode M1
- decode SoC revision by value taken from NRF_FICR
RA4M1
- build with Arduino Core 1.4.1 for Renesas SoCs
- buzzer and 'neopixel' LEDs are doing good
RP2XXX
- build for Raspberry Pico 2W target
- bring up of the Pico 2W together with adapter to Standalone Edition
- bump Pico Core up to 4.5.1
- buzzer and 'neopixel' LEDs are doing good
EFR32
- build with Core 2.3.0
- add watchdog timer
CH32
- buzzer and 'neopixel' LEDs are doing good
STM32 WLE5
- buzzer and 'neopixel' LEDs are doing good
Please, read commits history for more information.
Known issues
- same that previous Release 1.6 has ;
Binary downloads and flashing instructions
WARNING
-
This upgrade will reset your SoftRF settings down to the firmware default values for the following Editions:
Please, follow these "backup and restore" procedures prior to executing the update
-
ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.6, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
-
S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.6 or to buy a new board with pre-installed 1.7.
Source code build instructions
1.6
New features
Radio
Two of the most recent and advanced sub-1 GHz radios on the market that the SoftRF technology is now able to operate with:
new Editions
- Hardware:
- Hardware:
- Nordic Semiconductor nRF52840 - ARM Cortex-M4F core with 2.4 GHz radio
- GNSS:
built-in Airoha AG3335 - Sub-1Ghz radio:
built-in Semtech LR1110
- Output:
default: Bluetooth LE
optional: USB CDC ACM - Battery:
built-in: Li-Po 700 mAh - Sensor:
built-in: QMA6100P accelerometer - Weight
32 grams
- Water resistance:
IP65
- Hardware:
Major improvements
Common
- more accurate RF Rx packets counter
- add Airoha AG3335 GNSS driver
- update of FANET (LoRa) radio frequency plans for IN, IL, KR and NZ world regions
- 15 dBm of max. FANET (LoRa) Tx power is allowed in NA, AU, IL and KR
ESP32
- build is possible for Espressif recent ESP32-P4
SoC - 'classic ESP32' SoC build is compatible with Core 3.x
- builds for and runs on LilyGO T3-C6
- build for ESP32-C6 and ESP32-H2 targets with ArduinoBLE library
- build with Core 3.0.7 for ESP32-C6
- build with Core 3.1.0-RC3 for ESP32-H2 and ESP32-P4
- driver for LR1110 and LR1121
radios is enabled for ESP32-S3 target(s) only
nRF52
- add ICM-20948 IMU sensor
- add QMA6100P accelerometer
- add 1.14" 240x135 SPI TFT display
- add LR1110 and LR1121
radios - build of bootloader for T1000-E with SoftDevice 6.1.1
RA4M1
- build with Arduino Core 1.2.2 for Renesas SoCs
RP2XXX
EFR32 
- build with Arduino Core 2.1.0 for Silicon Labs EFR32 Series 2
- sub-1 GHz radio, GNSS and BMP280 air pressure sensor work fine
- build of BLE driver with ArduinoBLE library
CH32 
- build is possible for Nanjing Qinheng Micro CH32V307 target
- USB CDC device is Ok
- SX1276, SX1262 and LR1121
radios work fine - hardware UART works with GNSS module
- I2C OLED display and BMP280 pressure sensor work fine
- external SPI flash memory and micro-SD card reader are doing good
Please, read commits history for more information.
Known issues
- same that previous Release 1.5.1 has ;
Binary downloads and flashing instructions
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.5.1, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.5.1 or to buy a new board with pre-installed 1.6.
Source code build instructions
1.5.1
Maintenance Update
This interim Release is focused on adding and updating support for certain of the radio protocols only:
- "Legacy" Air V7 ( debuted in March 2024 )
- EASA ADS-L SRD-860 Issue 1 ( first published in December 2022 )
Air V7 
SoftRF implementation of "Legacy" Air V7 radio protocol is limited to a bare minimum. It is based on a brief description
that has been published recently. The V7 feature may or may not work as expected.
The protocol support operates both with V6 and V7 radio packets on transmit and receive to maintain compatibility with previous versions of the SoftRF firmware.
ADS-L 
- SoftRF implementation of EASA ADS-L SRD-860 M-Band radio protocol is limited to a bare minimum. The packet data encoding and decoding functions rely heavily on the ADS-L library taken from the OGN source ;
- LBT feature is not supported at this time ;
- O-Band is not supported as well.
Please, read commits history for more information.
Known issues
- same that previous Release 1.5 has.
Binary downloads and flashing instructions
Firmware binaries of the Maintenance Update have been released for certain platforms / SoftRF Editions only:
- ESP8266 ( Standalone or UAV )
- ESP32 ( Prime Mk II )
- ESP32-S3 ( Prime Mk III
or Midi
) - nRF52840 ( Badge
) - S76G ( Dongle )
- CC1352 ( Uni )
Users of other SoftRF platforms should either
- build the Maintenance Update firmware from source by themselves or
- wait until next official Release.
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.5, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.5 or to buy a new board with pre-installed 1.5.1.
Source code build instructions
1.5
New features
Two more of hardware platforms (SoCs) that the SoftRF technology is able to operate with:
- Renesas RA4M1 - ARM Cortex-M4F core @ 48 Mhz
- Espressif ESP32-C6 - two RISC-V cores with 2.4 GHz radio
Renesas RA4M1
- very first Release for upgrade of SoftRF Academy Edition

- base board: Arduino Uno R4 WiFi

- I/O board: Dragino Lora/GPS

- modes: Normal (default)
- hardware:
Espressif ESP32-C6
- very first Release for ESP32-C6 upgrade
of Standalone Edition 
- base component: Wireless-Tag WT0132C6-S5
module
Major improvements
Common
- more accurate RF Tx packets counter
- UC6580 GNSS ident fix
- SX12xx and CC13x2 radios: align legacy protocol carrier frequency setting with Nordic nRF905 100 kHz (LF) or 200 kHz (HF) resolution. This change has effect for New Zealand and South Korea only.
- build infra for Bosch BME68x sensor(s)
ESP32
- build is possible for Espressif recent ESP32-C2, ESP32-C6 and ESP32-H2 SoCs
- Midi Edition
- support for Heltec Wireless Tracker V1.1
- Ham Edition
- monitor of a voice frequency 1
- a JSON setting to override 'Classic' APRS carrier frequency in use
- PTT button function with NFM voice transmit feature on a single (emergency) user-defined 2m/70cm band frequency 1
- playback of a pre-recorded weather/traffic/other advisory voice message (WAV file) from micro-SD card into air with BOOT+PTT buttons press 1
- a JSON setting to apply R22 ADC workaround to a certain T-TWR V2.0 boards
- a JSON setting for SA8X8 radio squelch level 1
- APRS Tx with SA868 'Open Edition' radio
- support for LilyGO T-TWR V2.1

1 - valid for SA868 with NiceRF firmware only
EFR32
- build is possible for a Silicon Labs EFR32 Series 2 target

Please, read commits history for more information.
Known issues
- same that previous Release 1.4 has ;
- access to Academy WebUI pages may fail when heap memory level is low (< 6 KBytes). Use BLE or UDP with caution - they reduce free memory space considerably ;
Arduino Uno R4 WiFidevice may lose some NMEA/GDL90/D1090 data whenSerialis selected as the output port ;- some residual pixels may stay on the Midi Edition TFT display after Rx/Tx counters wrapping over 999 value.
Binary downloads and flashing instructions
WARNING
- This upgrade will reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.4, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.4 or to buy a new board with pre-installed 1.5.
Source code build instructions
1.4
New features
- Three more of the radio protocols that the SoftRF technology is able to operate with:
- Classic APRS @ 144 MHz (VHF) or 430 MHz (UHF) bands
- APRS via LoRa @ 433.775 MHz
- Remote ID
- very first firmware release for SoftRF Ham Edition

- base board: LilyGO® T-TWR Plus


- modes: Normal (default)
- hardware:
- Espressif ESP32-S3 SoC
- GNSS:
built-in Quectel L76K - Sub-1Ghz radio:
built-in NiceRF SA868 - Output:
default: Type-C USB CDC ACM
optional: Wi-Fi UDP or TCP
optional: Bluetooth LE
optional: UART 38400, 8N1 - Display:
built-in: 1.3" I2C OLED - Storage:
optional: micro-SD card - Battery:
optional: 21700 Li-Po
- very first firmware release for SoftRF Midi Edition

- base board: Heltec Wireless Tracker

- modes: Normal (default)
- hardware:
- Espressif ESP32-S3 SoC
- GNSS:
built-in UniCore UC6580 - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Type-C USB CDC ACM
optional: Wi-Fi UDP or TCP
optional: Bluetooth LE
optional: UART 38400, 8N1 - Display:
built-in: 0.96" 80x160 TFT - Battery:
optional: Li-Po 1000 mAh
- Flight Recorder
feature for SoftRF Prime Edition Mark III 
Major improvements
Common
- fix for PFLAA 'Aircraft Type' field format
- update of uCDB library
- add driver for UC6580 GNSS chip
ESP32
- activated reception of all 4 GNSS satellite constellations for Prime Mk.III with Ublox M10
- activation of Beidou satellites receive function for Quectel L76K
- use of 16-bit HM-10 BLE UUIDs
- update of NeoPixelBus library
- ADC calibration safety check
- BLE Adv. improvement
- build with most recent Arduino Core 3.0 ( when necessary )
- made build possible for ESP32-C6 SoC
- support for APRS-via-LoRa (PRoL) radio protocol
- ESP32-S3: basic support for Open Remote ID radio protocol (Wi-Fi transport only)
- Prime Mk.III: a choice to use FlarmNet CDB file by an appropriate JSON setting
nRF52
- activation of Beidou satellites receive function
- use of 16-bit HM-10 BLE UUIDs
- support for APRS-via-LoRa (PRoL) radio protocol
- basic support for Open Remote ID radio protocol (Bluetooth 4 transport only)
- a choice to use FlarmNet CDB file by an appropriate JSON setting
RP2040
- transition on Arduino Core 3.2.2
- update of Pico-PIO-USB library
Please, read commits history for more information.
Known issues
- same that previous Release 1.3 has ;
- it takes approx. 2 seconds to transmit a Classic or LoRa APRS packet into air. Wi-Fi, WebUI, buttons, Bluetooth and other functions may not be accessible at this time interval ;
- Remote ID feature is experimental and currently enabled for ESP32-S3 and nRF52 based SoftRF Editions only. This new feature may or may not work as as expected ;
- Badge may lose OGN aircraft data setting when upgraded from Release 1.3. Use SoftRF on-line UI tool to apply 'GliderNet' setting manually or update firmware up to Release 1.5;
- settings.json file may have no effect when a device is in factory default state. Apply WebUI (or SoftRF Tool app) dummy 'Save & Restart' action once to fix it.
Binary downloads and flashing instructions
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.3, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.3 or to buy a new board with pre-installed 1.4.
Source code build instructions
1.3
New features
Two more of hardware platforms (SoCs) that the SoftRF technology is able to operate on:
- Espressif ESP32-S3 - dual-core Xtensa LX7 with 2.4 GHz radio
- Espressif ESP32-C3 - single RISC-V core with 2.4 GHz radio
Espressif ESP32-S3
- very first Release for SoftRF Prime Edition MkIII

- base component: LilyGO® T-Beam Supreme

- modes: Normal (default)
- hardware:
- Espressif ESP32-S3 SoC
- GNSS:
built-in Ublox MAX-M10S or Quectel L76K - Sub-1Ghz radio:
built-in Semtech SX1262 - Output:
default: Type-C USB CDC ACM
optional: Wi-Fi UDP or TCP
optional: Bluetooth LE
optional: UART 38400, 8N1 - Display:
built-in: 1.3" I2C OLED - Sensors:
IMU: QST Corp. QMI8658
magnetometer: QST Corp. QMC6310
air pressure: Bosch BME280 - Storage:
optional: micro-SD card - Battery:
optional: 18650 Li-Po 2500 mAh
Espressif ESP32-C3
- very first Release for ESP32-C3 upgrade
of Standalone Edition - base component: Ai-Thinker ESP-C3-12F(4M) module
Major improvements
Common
- minor adjustment for deviation of radio frequency used by P3I (PilotAware) protocol
- 3 dB increase in sensitivity of SX1262 radio at cost of extra 2 mA of Rx active current
- FANET 'Zone 2' (N/S America, AU, NZ, JP) regional RF band settings
- 'AUTO' and 'UK' RF bands are deprecated
ESP32
- build with most recent Arduino Core for ESP32 2.0.7 ( when necessary )
- suppress numerous GSA sentences output unless 'NMEA TCP' setting is selected ( SkyDemon use case )
- support for RISC-V ( ESP32-C3 SoC )
nRF52
- supply NMEA 'heartbeat' message to WebTop Serial or WebTop USB
- DEPG0150BN E-paper display self-detect procedure
CC13x2
- new 'G load' and 'Traffic' OLED pages for Uni Edition
RP2040
- transition on Arduino Core 3.1.1
- support for Raspberry Pico W (2.4 GHz wireless) target:
- Wi-Fi AP
- WebUI
- Wi-Fi UDP data output
- Bluetooth SPP data output
- VSYS voltage monitor for Raspberry Pico/Pico W targets
STM32
- build with recent Arduino Core for STM32 2.4.0 ( when necessary )
- activation of IGC encryption feature for Balkan Edition
Please, read commits history for more information.
Known issues
- same that previous Release 1.2 has
Binary downloads and flashing instructions
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1.2, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, MkIII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.2 or to buy a new board with pre-installed 1.3.
Source code build instructions
1.2
New features
Two more of hardware platforms (SoCs) that the SoftRF technology is able to operate on:
- NXP Semiconductors LPC4320 - dual ARM Cortex-M4F and M0 cores
- STMicroelectronics STM32WLE5 - ARM Cortex-M4F core with sub-1Ghz radio
NXP Semiconductors LPC4320
- very first Release for SoftRF ES Edition

- base component: HackRF One
- modes: Normal (default)
- hardware:
- NXP Semiconductors LPC4320 MCU
- GNSS: optional Ublox or MTK based module
- Radio: built-in Software Defined Radio (SDR)
- Output:
default: USB CDC ACM
optional: UART 38400, 8N1
optional: Wi-Fi UDP
optional: Bluetooth SPP - Display:
optional: 3.2" TFT ( PortaPack H2+ ) or
optional: 0.96" I2C OLED - Sensor(s):
optional: Bosch BMP280
STMicroelectronics STM32WLE5
- very first Release for SoftRF Balkan Edition

- base component: Olimex LoRa-STM32WL-DevKit

- modes: Normal (default)
- hardware:
- STMicroelectronics STM32WLE5 SoC
- GNSS: external Ublox-7 module
- Radio: built-in Semtech SX1262
- Output:
default: USB CDC ACM - Display:
optional: 0.96" I2C OLED - Sensor(s):
air pressure: Bosch BME280
magnetometer: STMicroelectronics IIS2MDCTR
- certificate: CE
Major improvements
Common
- apply NMEA compliance filter to ADS-B callsign
- certain improvements of 'legacy' radio protocol implementation
- better NMEA data compliance to FTD-12/14 specs
- Ublox M9 and M10 GNSS modules detect logic
- update of device Id mapper
- PGRMZ NMEA sentence is better compliant to Garmin specs
ESP32
- build with most recent Arduino Core for ESP32 2.0.5 ( when necessary )
- support for AXP2101 PMU ( T-Beam V1.2 )
- support for ESP32-S3 SoC
- emit traffic alert events over Bluetooth LE MIDI
- build of D1090 input data parser ( ESP32-S2/3 only )
- fix for OTA firmware update function ( with espota.py )
- compute maximum sketch space applicable for Wi-Fi OTA firmware update
nRF52
- MPU9250 IMU sensor detect logic
- 'G load' meter function and the EPD screen
- emit traffic alert events over Bluetooth LE MIDI
- build of GxEPD2 driver for DEPG0150BN e-Paper display
- fix of improper date in PCF8563 RTC library
- fix for improper aircrafts data scroll function ( by the sensor touch )
CC13x2
- support for Texas Instruments CC1312R SoC ( Ebyte E70-900M14S1B module )
STM32
- build with most recent Arduino Core for STM32 2.3.0 ( when necessary )
- support for STM32WLE5 SoC ( BB-STM32WL , Ebyte E77 , Seeed E5 , AcSiP ST50H , RAK 3172 )
- update of RTC and LowPower libraries
RP2040
- transition on Arduino Core for RP2040 2.2.2
SAMD21
BCM283X
- receive of 1090 MHz ES (ADS-B) air traffic with RTL, HackRF One or MIRI SDR USB devices
- make use of 'libmodes' library to demodulate and decode 1090 ES (ADS-B) air traffic
- D1090 input data parser
LPC4320
- make use of 'libmodes' library to demodulate and decode 1090 ES (ADS-B) air traffic
Please, read commits history for more information.
Known issues
- same that previous Release 1.1 has ;
- USB data I/O may fail on ESP32-S3
platform. It may cause a complete stop of NMEA output. It may cause the ESP32-S3 system reboot. Thus, use with caution.
Binary downloads and flashing instructions
WARNING
- This upgrade may reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0-1, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.1 or to buy a new board with pre-installed 1.2.
Source code build instructions
1.1
New features
Three more of hardware platforms (SoCs) that the SoftRF technology is able to operate on:
- Raspberry Pi Foundation RP2040 - dual ARM Cortex-M0+ cores @ 133 MHz
- Microchip SAM D21 - ARM Cortex-M0+ core
- ASR Micro ASR6601 - ARM Cortex-M33F core with sub-1Ghz radio
Raspberry Pi RP2040
- very first Release for SoftRF Lego Edition

- base component: RAK11310 WisBlock Core

- enclosure: IP67 WisBlock RAKBox-B2

- modes: Normal (default)
- hardware:
- Raspberry Pi Foundation RP2040 MCU
- GNSS: RAK1910 WisBlock module (Ublox-7)
- Radio: built-in Semtech SX1262
- Output:
default: USB CDC ACM - Display:
optional: 0.96" I2C OLED - Sensor(s):
optional: Bosch BMP(E)280
- certificates: CE and FCC
Microchip SAM D21
- very first Release for SoftRF Academy Edition

- base board: Arduino Zero/M0
- I/O board: Dragino Lora/GPS

- modes: Normal (default)
- hardware:
- Microchip Technology SAM D21 MCU
- GNSS: Quectel L80-R
- Radio: Semtech SX1276
- Output:
default: USB CDC ACM - Display:
optional: 0.96" I2C OLED - Sensor(s):
optional: Bosch BMP(E)280
ASR Micro ASR6601
- very first Release for SoftRF Octave Concept


- up to eight of joint (MCU & RF) modules connected - simultaneous processing of up to 8 radio protocols
- base component: Ebyte E78 module

- modes: Normal (default)
- hardware:
- ASR Microelectronics ASR6601 SiP
Radio: built-in Semtech SX1262 - GNSS: Quectel L80-R or U-blox NEO 6/7/8 (sold separately)
- Output:
default: UART 38400, 8N1
optional: Bluetooth SPP - Display:
optional: 0.96" I2C OLED - Sensor(s):
optional: Bosch BMP(E)280
- ASR Microelectronics ASR6601 SiP
Major improvements
Common
- fine tuning of 38400 symbol rate for P3I protocol on SX127x radio
- work around certain GNSS chipsets that may report positive fix with inactive per-second pulses
- RF Tx loopback guard added
- SoftRF 'heartbeat' NMEA sentence
- estimate (when able) a UAT978 traffic GEO altitude by the traffic BARO altitude combined with own aircraft's GEO & BARO altitude values
- SX127x radio state transition guards added
ESP32
- support for OGN/IGC encryption
- made build possible with most recent Arduino Core 2.0.2 (ESP-IDF 4.4)
- made build possible for ESP32-S2 SoC target
nRF52
- support for OGN/IGC encryption
- fix for regression of async. screen update with SYX 1948 revision of D67 display
- fix against unwanted WDT restart when NMEA (or GDL90/D1090) data flow is directed onto USB and the recipient got disconnected
- transition onto Arduino Core 1.2.0
- reduced sleep current for T-Echo with ZD25WQ16B flash
PSoC4
- made build possible with most recent Arduino Core version (1.4.0)
- support for a generic ASR6501 module
- TCXO or XTAL ASR6501/2 radio clock selector
- avoid false OLED detect when I2C has no pull-ups
CC1310
- support for RSM (QFN 4x4) package
CC1352
- support for OGN/IGC encryption
BCM283X
- made GNSS PPS signal processing possible
Please, read commits history for more information.
Known issues
- same that previous Release 1.0 has.
Binary downloads and flashing instructions
WARNING
- This upgrade will reset your SoftRF settings down to factory default values. Please, follow these "backup and restore" procedures prior to executing the update
- ESP32 only: you may try "Web update" method if your current firmware version is rc7-9 or 1.0, otherwise do:
- follow First-time firmware installation procedure instructions instead, and
- make full flash ERASE prior to firmware write operation, and
- disconnect any of I2C devices from ESP32's GPIO2 pad. See this ticket for details.
- S76G only: follow these instructions to update your Dongle Edition firmware. It is also recommended to reset your SoftRF Dongle settings back to factory default values by following this procedure.
Prime MkII, Badge or Dongle owners! I will reject any claims if you, by any reason, will fail to upgrade or fail to recover after un-successful update!
If you are not sure that you can manage the update successfully - think about to stay on 1.0 or to buy a new board with pre-installed 1.1.

































