Software Download

History of the different RadioShuttle software versions. An 8-digit code, which is located on the back of the LongRa board, is required for downloading the software:

Available RadioShuttle versions

Version 3.5 (10 May 2019)

  • ECO Power RTC time is now UTC time based
  • Automatic timezone and daylight saving time support
  • NTP time update support for the ESP32, see “NTPUpdate.h”, “NTPUpdate.cpp”
  • NTP update of the DS3231 RTC, if available
  • NTP time update added in “ESP32MQTTClient” and “ESP32MQTTAlarmSystem” examples
  • Updated OLED SSD1306 display support (bug fixes)
  • Updated Adafruit_Si7021 sensor driver to work with newer ESP32 SDKs
  • RadioShuttle supports the Heltec ESP32 LoRa boards (license required, 25 € ). This includes the Heltec ESP32 LoRa Kit v1, v2 and ESP32 LoRa stick versions
  • RadioShuttle support for the upcoming Turtle board (Mbed OS)
  • Minor bug fixes and enhancements

Existing programs must update to the latest “PinMap.h” and “RTCUtil.cpp” files, otherwise they will not work.

Version 3.3 (8 March 2019)

  • Fixed problem when sending messages from server to node (wrong or too low transmission power)
  • Fixed problem at reduced transmission power (transmission with 14 dBm, although a lower value was specified)
  • Fixed compiler error in “BlinkyEnhanced_C_Plus_Plus” example
  • Enhanced “NVProperty” (non-volatile memory)
  • Added new example “RadioContinuesTX”, which permanently transmits an FM signal to tune antennas

Version 3.1 (1 November 2018)

  • D21 permanent memory support (Properties). At the end of the D21 flash memory, 16 kB (changeable) are reserved for settings. Therefore the sketch must not be larger than 232 kB; 8 k bootloader and 16 k property memory are occupied
  • New Arduino D21 “bossac” USB flash utility, which deletes the D21 flash memory only in the required program area. Details can be found in the LongRa board documentation
  • Improved “PropertyEditor” sample application (in “Examples->Arduino-mbed-APIs”)
  • Update of all examples, settings are now automatically loaded via the “GetProperties” function
  • AES passwords now also work with property settings

Version 3.0 (1 October 2018)

  • Added support for latest ESP32 Arduino SDK (also works with older ESP32 SDKs)
  • Added new RTC ds3231 I2C support
  • Added new Si7021 Sensor I2C support
  • Enhanced “PropertyEditor”, which now allows setting the radio type e.g. RS_Node_Offline
  • New for D21: Added non-volatile flash properties for the LongRa board
    • By default, the last 16 kB of the D21 is used for properties
    • See “NVProperty.h” for “propSizekB” details
    • Make sure that “–lock=15” is included in the “platforms.txt” file (see RadioShuttle Sketch Installation for LongRa)
    • LongRa board users must once add the node and code via “PropertyEditor” (LORA_DEVICE_ID, LORA_CODE_ID)
  • New simplified RadioTest example uses all parameters via properties
    • Ensure that at minimum the following properties are set:
      • LORA_DEVICE_ID (already pre-set for the ECO Power boards)
      • LORA_CODE_ID (already pre-set for the ECO Power boards)
      • LORA_RADIO_TYPE (1 for RS_Node_Offline, 3 for RS_Node_Online, 4 for RS_Station_Basic)
  • Support for the new LongRa 7.5 boards (offers more free pins, and a pre-configured function for battery measurement). See new “PinMap.h” file to enable the new D21_LONGRA_REV_750 board

Using property settings for the RadioShuttle applications brings major benefits. Properties allow defining settings per board once and uploading identical sketches on all boards because the custom settings will automatically be used from from the property store. With this release the properties are fully supported by the ESP32 ECO Power and the D21 LongRa boards.

Version 2.6 (1 July 2018)

  • Universal version, for ESP32 ECO Power and D21 LongRa boards
  • New examples, from timer test program driven “Blinky” to RadioShuttle MQTT gateway (currently 17 examples)
  • Bug fixes (reproducible problems were solved)
  • New “InitLoRaChipWithShutdown” function deactivates the LoRa chip, to enable the usage of programs on LongRa or ECO Power boards in power-saving operation
  • Preparation for battery measurement on LongRa boards (a Tech Info describing the modification of two resistors comes separately)
  • Updated LongRa board (version 7.4) support
  • “SendMsg()” has received additional flags:
    • “CF_CopyData” copies data into the internal network buffer rather than referencing them
    • “CF_FreeData” flags the transmission data to be released after transmission (via C++ “delete[ ]”)
  • Important note: In “InitSerial()”, “” must be replaced with “!” in each existing program
  • Software support for debouncing buttons. The “InterruptIn” class can be activated for automatic debouncing via “debounce()”. If no parameters are specified, the default is 300 ms
  • Many detail improvements of ESP32 support
  • Fixed potential crashes in the ESP32 RadioShuttle debug output. Nothing may be output in interrupt routines of the ESP32
  • New “pause(millis)” function activates the ESP32 “lightsleep” mode and goes to sleep. Nothing happens during the break, then it simply continues
  • Timer class now also allows “read_ns()”, to get the elapsed time in nanoseconds

Version 2.0 (11 Mai 2018)

  • ESP32 ECO Power support

Version 1.8 (24 Jan 2018)

  • New hardware reset via “WatchDog” if sleep() or deepsleep() is not called within 30 seconds. See InitWatchDog() in the RadioTest example (file: “RTCUtil.cpp”)
  • New output function rprintf(), similar to dprintf(), but without timestamp in the output

Version 1.6 (18 Dec 2017)

  • Introduced simple version number, 1.6 (1.4, 1.5 was for internal use only)
  • Added support for presetting RTC clock based on the Arduino compile time
  • Added support for setting the “dprintf” start time to the RTC time
  • Implemented a workaround that the Arduino map function need not be changed in the “WMath.h/WMath.cpp” sources anymore
  • Enhanced documentation for “InitSerial()”, the LED parameter can be NULL
  • RTC clock will always be set when the compile time is newer than the RTC time

Version 1.3 (14 Nov 2017)

  • Added support to unload the SX1276 driver and RadioShuttle protocol
  • Enhanced key debouncing support
  • Added support to force “SerialUSB” when button “A” is pressed on power-on or reset
  • Fixed timer problems which resulted into non-working switches
    and other hanging problems
  • Fixed negative timestamps in “dprintf” printing
  • Added proper MCU pin names into “PinMap.h” for the LongRa board
  • Deactivated display power by default for the LongRa board
  • Added support for the Adafruit Feather M0 LoRa 868 MHz board. This board will be supported in the future. (25 € license fee per board)
  • Added support to use DIO0 pins for CAD (Channel Activity Detection) detection which means only DIO0 is required for the RadioShuttle LoRa operation when only LoRa is used. DIO1, DIO2, DIO3, DIO4 pins are not required in the future

Version 1.2 (28 Sep 2017)

  • RadioTest: Added support for user buttons to wake up immediately from deep sleep
  • RadioTest: Added easy switch to use RadioShuttle::Node_Offline with deep sleep
  • Fixed calculation of the frequency offset with negative numbers
  • Added support for adjusting the frequency offset to allow matching all devices against a TCXO clock or other master clock
  • Changed “SerialMonitor” detection timeout from 3 to 5 seconds (timeout of 0 in “InitSerial” means USB is always on)
  • New RTC clock initializaition and time display during startup
  • “UpdateRadioProfile” can be updated anytime, allows changing radio frequency, spreading factor, etc. during operation via the new “UpdateRadioProfile” function
  • Added an “StrError” function which turns RadioShuttle error codes into strings
  • Added cleartext error reporting for the RadioTest examples
  • RadioStatus: TXStart callback includes the used TX power in dBm
  • RadioTest: Displays the frequency and spreading factor on startup
  • RadioTest: Added debounce support for tactile switches
  • Added “DeInitRadio” function to unload RadioShuttle protocol and drivers and release its memory resources
  • RadioTest: Moved RadioShuttle init code from setup into “InitRadio“ function
  • Added “UpdateNodeStartup” function which allows switching from RadioShuttle::Node_Online to RadioShuttle::Node_Offline or reverse. This enables energy savings for RadioShuttle::Node_Online nodes

Version 1.0 Maker Faire Hannover (24 Aug 2017)

  • Supports LongRa-Arduino-Boards (Rev. 6.0-7.2)
  • Power saving mode (sleep) even with USB and “Serial Monitor” active
  • Extended power saving mode (deepsleep) without USB, requires operation as node: RadioShuttle::RS_Node_Offline
  • Fine particles sensor app included. (Nova PM Sensor SDS011)
    Example: PMSensorRadio
  • RadioTest app (“Message Ping”) is included. RadioShuttle example application allows exchange of simple messages
    Example: RadioTest