The Mini Ultra LoRaWAN is an ultra low power single cell Mini Ultra 8 MHz board combined with a LoRaWAN certified module (RN2483A/RN2903A).
Specifications:
- Compatible with Arduino IDE using “Arduino Pro or Pro Mini (ATMega328 3.3V 8 MHz)” as the board option
- Microcontroller – ATMega328P-AU
- Clock – 8 MHz crystal
- Operating voltage – 3.3 V
- Ultra low power:
- Minimum 35.0 μA in sleep mode with a fresh 3.0 V Lithium CR123A battery
- Minimum 70.0 μA in sleep mode with a fresh 1.5 V AA battery
- Battery voltage can be as low as 1.1V (with alkaline based AA batteries, performance varies with various battery chemistry, brand, temperature and other factors)
- Battery connector options – AA or CR123A battery holder but battery power can also be supplied through the breakout pins (single or dual 1.5 V batteries of any size can be used):
- Battery connector are not mounted by default even if included
- RN2483A/RN2903A can be used as a wake up source while the ATMega328P is in sleep mode
- All pins of RN2483A/RN2903A are made available on the breakout pins:
- Up to 14 digital IO pins can be used as input or output
- Battery monitoring on pin A6
- Ultra long range LoRaWAN radio module options:
- Microchip RN2483A – 868 MHz (433 MHz port are made available with u.FL connector)
- Microchip RN2903A – 915 MHz
- 2 options of antenna connector:
- SMA
- u.FL (u.FL connector is also assembled on 433 MHz port on the RN2483A version)
- Reverse battery protection
- Automatic power switch over from battery to external 3.3 V power supplied on the FTDI 6-pin header
- Indicator LED connected to digital pin 13 through a MOSFET
- ATMega328P communicates with RN2483A/RN2903A over UART through pin D8 & D9 using AltSoftSerial written by Paul Stoffregen (vs the Arduino IDE stocked SoftSerial library)
- Side reset tact switch for easy access (for both ATMega328P and RN2483A/RN2903A)
- Slide switch to isolate the RN2483A/RN2903A UART pins from the ATMega328P’s pins during RN2483A/RN2903A firmware upgrades
- FTDI USB serial 6-pin header for code upload
- Works below sub-zero temperature
- Footprint for optional encryption chip ATECC508A/ATSHA204A from Microchip that runs on the I2C bus (also fits many other memory devices that works on I2C bus)
- 900 mil in between 2 breakout headers – suitable for breadboard usage
- Dimension – 25.4 mm x 77.47 mm (1.0″ x 3.05″) (without the SMA connector)
- RoHS compliant – Yes
- Antenna not included
- FR4 TG140 PCB with ENIG surface finish
Power Pins
The power pins available on the Mini Ultra LoRaWAN are as follows:
- GND – The common GND for the board.
- BAT – Single (1.5 V or 3.0 V) or dual cell (2×1.5 V) battery input positive supply. Battery power is supplied to the board through the 2.54 mm breakout pin or through the AA or CR123A battery holder.
- 3V3IN – 3.3 V supplied by USB-Serial adapter. Please take note that it must be able to supply adequate current during transmission for proper operation.
- VBUS – The positive voltage output after the reverse polarity protection circuitry. All subsequent voltage rails (if required) should be derived from this VBUS supply.
- 3V3 – Output from the on-board 3.3 V boost converter. A maximum of 150 mA of current can be supplied by the regulator when single cell 1.5 V battery is used (200 mA of current when single cell 3.0 V battery is used). All the on-board circuit components are powered by this 3.3 V supply including the microcontroller and RN2483A/RN2903A module.
Digital IO
All digital IO pins are 3.3 V tolerant and you are not supposed to apply any voltage higher than 3.3 V on them. Each pins can only draw/sink maximum of 20 mA of current. Pin D2 & D4 have external interrupt capability.
Analog IO
There are 7 analog input (A0 to A5 and A7, A6 is connected to VBAT and not broken out to the pin header) pins that have up to 10-bit ADC resolution (10-bit is the default configuration) and can measure voltage input from 0 to 3.3 V. By applying an external reference voltage (< 3.3 V) on AREF pin and reconfigured using the analogReference() API in the firmware, the voltage input range on the analog input pin can be reduced to increase the voltage resolution.
Do not apply voltages higher than 3.3 V on the analog input pins. It will damage the board.
PWM Output
Pin D5, D6, & D11 are able to provide PWM output with 8-bit resolution. Pin D9 although is capable of providing PWM output has been used as software UART to communicate with the RN2483A/RN2903A.
USB-Serial 6-Pin Header
A 3.3V IO USB-Serial adapter are required to upload sketch to the microcontroller. It can also be used as a general debug port for your application. A slide switch is provided on-board to select which UART signal is communicating with the external USD-Serial adapter which can be either the ATMega328P’s UART or the RN2483A/RN2903A’s UART. By sliding the slider to the “RN” position, upgrading the firmware on the RN2483A/RN2903A using Microchip’s LoRaDevUtility is possible. Please see the RN2483A/RN2903A Firmware Upgrading Section.
Serial Port
There are 1 serial port available on the board:
- Serial – RX0 on pin D0 and TX0 on pin D1. On Arduino, it can be access using Serial.begin(), Serial.println(), etc.
SPI Port
The SPI port are provided by the MOSI, MISO, and SCK (on pin D11, D12, and D13 respectively). Pin D13 is also connected to a red LED through a MOSFET.
I2C Port
The I2C port are provided by the SDA and SCL (on pin A4 and A5 respectively). External pull-up resistor (values from 2.2 kΩ to 10 kΩ) is required when interfacing with other I2C bus devices.
Reset
Reset signal for the ATMega328P which is also connected to the tact-switch located at the left of the board. Reset signal for the RN2483A/RN2903A which is also connected to the tact-switch located at the right of the board.
Battery Holder
The board can accommodate a single cell AA or CR123A battery holder. These battery holder are not mounted by default. For each type of the battery holder, there is a locating peg hole to facilitate the battery holder assembly and to avoid mistake in polarity.
Ensure the battery holder’s locating peg is align correctly into the hole as in the image below.
Pin Header
It is best to solder 2 pieces of female receptacle on the board’s pins breakout header in order to stack your application specific circuitry.
Power Source
The board can be battery powered or through the USB-Serial Adapter 6-pin header’s 3V3IN pin.
Battery Power
The Mini Ultra LoRaWAN can be powered by single cell non-rechargeable batteries – 1.5 V Alkaline, zinc-chloride, zinc-carbon (AA, AAA, C, D – in single or dual configuration) or 3 v Lithium (CR123A). This battery power is supplied to the board either through the breakout header BAT pin or through the battery holder (AA or CR123A).
FTDI USB-Serial Adapter 3V3IN
The Mini Ultra LoRaWAN can also be powered through the USB-Serial adapter if it has a 3.3V output with enough output capability (recommended to be 150 mA and above). Majority of the USB-Serial adapter has a limited 50 mA output (mostly FTDI based ones) which is not adequate to power the board especially during the transmission. This will result is erratic behavior and reset will occur frequently. It is also very often that even in the case of the USB-Serial adapter is capable to provide adequate current on the 3V3IN pin, USB port with limited current capability (usually front port of PC or old USB port) will also result in similar board behavior.
Under the “Tools >> Board” menu, select the board as “Arduino Pro or Pro Mini”. Then, under the “Tools >> Processor:” menu, select “ATmega328 (3.3V, 8 MHz)”.
Now we are ready to upload our very first program on the Mini Ultra LoRaWAN. Attach the Mini Ultra LoRawAN using a FTDI USB-Serial adapter cable and select the correct corresponding USB COM port. Load the example “Blink” under the “File >> Examples >> Basic >> Blink” menu. The Mini Ultra LoRaWAN has an on-board LED (red) connected to pin D13 that you would usually find on any regular Arduino board. Press the upload button and that shall load the program on the Mini Ultra LoRaWAN. You should be able to see the on-board orange LED blinking at a 1 Hz rate.
The firmware on the RN2483 and RN2903 are upgraded by Microchip from time to time albeit not very often. These firmware upgrade includes bug fixes and additional new feature usually related to the LoRaWAN stack. New regional band firmware are sometimes offered too like the Australian AU915 band. As it stand (21 June 2020), these are the latest available firmware offered by Microchip:
The firmware upgrade is performed over the same UART on the radio module that the ATMega328P communicate with. Therefore, we need to isolate the ATMega328P from the radio module so it will not disrupt the firmware upgrade process. This is done by a 2 step process:
- Step #1 – Upload the BareMinimum example from the Arduino IDE onto the Mini Ultra LoRaWAN. This will put the ATMega328P into a “do nothing” state.
- Step #2 – Flip the slide switch on the Mini Ultra LoRaWAN into the RN position. This will make the radio module UART accessible on the 6-pin FTDI header.
Next we need to download the software required to the firmware upgrade from the Microchip website. Windows, MacOS and Linux version are available for download. Also download the desired firmware listed in the link above. The software is implemented in Java (and yes, it can be a PITA to get it to work). Once install, plug in your your Mini Ultra LoRaWAN with the FTDI USB-Serial adapter or equivalent attached and launch the LoRa Development Utility software. The software will look for valid RN2483 and RN2903 upon launching. You could also click on the Find Device button if the board is plug in after launching the software. If a valid radio module is detected, it will list them as follow:
Click on the radio module listed on the left panel and it will perform a query on it’s current configuration. You should be able to see the module type, current firmware revision and other parameters.
To upgrade or load new firmware onto the radio module, click on the DFU tab. On the DFU tab, you can select the firmware file you intended to use for the firmware upgrade. Make sure it is .HEX format. Click on Upgrade Firmware and the upgrading process should start. Take note on the status on the right console panel. The upgrade process usually takes about 30 s to complete. Please ensure power is adequately supplied to the board during the entire process.
Once completed, click the LoRaWAN tab and you should see all the parameters that were changed during firmware upgraded will be highlighted temporarily with red color. If you manage to see that, congratulations because you have just successfully upgraded the firmware on the radio module. Don’t forget to flip the slide switch back to HW to uploaded code normally onto the ATMega328P.
Mini Ultra LoRaWAN is built with open source hardware spirit. All design files and source code are available for download: