Official hardware from The Things Network expedites LoRaWAN application development.
Just as The Things Network makes it easy to roll out LoRaWAN networks at scale, new hardware from The Things Network makes it trivial to develop LoRaWAN applications. In this post, we take a first look at the Things Node and Things Uno — a compact, IP54 rated LoRaWAN sensor node, and an Arduino-compatible development board equipped with a Microchip RN2483 module.
Originally announced via The Things Network Kickstarter campaign, the Things Node and Things Uno have both now fully launched and are available to order.
The Things Node
The Things Node is a turnkey LoRaWAN sensor node based around an ATmega32U4, packaged in a neat IP54 rated enclosure, powered by three AAA batteries and also integrating:
- Temperature sensor
- Light sensor
- Digital accelerometer
- RGB LED
A particularly nice feature is that the Things Node comes pre-loaded with a default firmware that calls home to an “Activate” application, which causes the Node to appear on a map that is linked to from the URL printed on the packaging. This same page also links off to device documentation.
Removing two screws from the underside of the Node allows the cover to be removed, providing access to the battery compartment and a Micro USB connector for programming.
The Things Node is programmed via the Arduino IDE and this requires:
- TheThingsNetwork library
- TheThingsNode library
- SparkFun AVR Boards board support
Installation of the first two items is done via the Library Manager, while the third requires a Boards Manager URL to be configured via the Arduino IDE Preferences, following which board support can be installed using this. Full instructions are provided via a Quick Start Guide.
What does this give us? Well, TheThingsNetwork library makes it easy to perform an OTAA network join and to send uplink etc. There is also an example supplied that retrieves device info — such as the hardware EUI required when you provision a device on the network — and another that demonstrates basic use of the sensors, amongst others.
It’s also worth noting that TheThingsNode library includes handy methods for setting callbacks for when the Node wakes/sleeps, together with callbacks for when a temperature bound is reached or motion detected etc. For example, to set a function to be called upon detecting the start of motion:
For detailed information see the API documentation.
The Things Uno
Based on the Arduino Leonardo design — rather than as the name might suggest, the Arduino UNO — the Things Uno is also powered by an ATmega32u4. However, this time board support comes bundled with the IDE and we just need to select Tools → Board → Arduino Leonardo. Although it is still necessary to install TheThingsNetwork library in order to get the same easy-to-use methods for joining the network and sending uplink etc.
Once again there is a Quick Start Guide.
The Things Uno is, in essence, a high-quality Arduino-compatible with that instantly recognisable form factor plus an integrated Microchip RN2483, with development via the Arduino IDE. A PCB antenna is integrated, although it does appear as though a resistor can be removed and a U.FL socket fitted for use with an external antenna.
While the Things Node provides a neatly packaged solution to quickly get you up and running with applications that require a simple button or RGB LED, and/or sensors for light, temperature and motion, the Things Uno allows extension via add-on shields and custom hardware. With both benefiting from a rich ecosystem of Arduino libraries that further expedite development.