LoRaDIO32 - ESP32-C3 with SX1262

Using the Heltec CT-62 module, combined with RadioLib, you get a four protocol radio module all-in-one.

The ESP32-C3 provides WiFi and Bluetooth connectivity.

The integrated SX1262 provides LoRa or LoRaWAN.

With care, the C3 can run both WiFi and Bluetooth at the same time.

With equal care, the RadioLib stack can switch between LoRa point to point communications and maintain a LoRaWAN session.

The board

IMAGE HERE

The ESP32-C3 supports both USB & Serial connections for flashing firmware & serial debug. The serial connection provides for automagic reset in to flash mode. For the USB, which is faster to flash, there are the usual reset & flash buttons to manually set it to update mode if your USB is unable to automagically do a board reset in to flash mode.

You can choose either or, if you so wish, both. The connection you don’t use can be re-used for general IO. Some components may need to be removed to facilitate this. The serial port can be used for other purposes such as a GNSS module.

The I2C connection has external pull-up resistors. To use this for IO you may need to remove the resistors. The SCL line is pulled low to enable flash mode - this is either by the Flash push button or the serial connection. As flash mode is initiated when the module is held in reset, this has no impact on the I2C bus.

There are two ADC pins which can also be used as GPIO.

The USB power & the VBus pin connect to the LDO, MIC55555, which provides 3.3V at up to 300mA. An active WiFi connection requires ~100mA and a LoRaWAN cycle, whilst only for a short period, can require up to 90mA. This leaves at least 100mA for sensors & anything else you wish to connect. The LDO can has an upper limit of 6V.

Alternatively you can power the module via the 3.3V pin up to a maximum of 3.5V with a minimum of 2.7V. If you want to connect a single LiPo battery you must use the VBus pin.

You must attach an antenna before activating the relative radio. Failure to do so can damage the output stage of the radio with varying detrimental effects for either or both of transmission or reception.

Software support

General functionality

The module is supported by the Arduino eco-system either via the Arduino IDE with the ESP32 Board Support Package or via PlatformIO.

The library provides examples for:

  • Basic GPIO including ADC
  • Serial vs USB
  • Repurposing USB
  • Repurposing Serial
  • General I2C
  • GNSS via Serial or I2C

WiFi & Bluetooth

As well as all the standard examples that comes with the ESP32 package, there is a co-exist sketch that runs both the WiFi & Bluetooth in parallel. When the C3 runs both radios, WiFi operations are about 5 times slower - either the web server or as a web client. You should run the example to check it fits your requirement for responsiveness.

LoRa & LoRaWAN

RadioLib provides a selection of examples for both LoRa to LoRa as well as LoRaWAN. The initialisation of the radio is:

radio = SX1262()

For lowest power mode, there is the RadioLib Persistence addition that allows the ESP32 to go in to deep sleep drawing around XXuA making battery only operation for LoRa feasible.

WiFi as an access point or Bluetooth can make a useful tool for provision & changing settings. If you need to run either or both protocols for an extended period you will need permanent power or a recharging source like solar.