Quick description
The Nomi is a very tiny IoT board based on the DecaWave DWM1001 module, which implements an Ultra-Wide Band (UWB) transceiver and a Bluetooth Low Energy (BLE) transceiver. It also includes a LiPo-battery charger and an RGB LED. The Nomi supports two hardware options: either a MicroSD card reader or a LoRa transceiver can be mounted on the board. Thus the Nomi is an ideal hardware platform to combine short-range (UWB, BLE) and long-range (LoRa) protocols with a small form-factor.
Similar to the DecaWiNo and the Yahu, the Nomi enables wireless communication and ranging applications, i.e. distance evaluation over short to medium distances.
Nomi
The Nomi consists of:
- The DecaWave DWM1001 module, i.e.:
- An ARM Cortex-M4 32-bit MCU (Nordic nRF52832),
- An IEEE 802.15.4-compatible UWB transceiver (DecaWave DW1000 transceiver),
- A BLE transceiver,
- A 3-axis accelerometer (STM LIS2DH12TR),
- A LiPo-battery charger,
- An RGB LED,
- A SWD programmation port,
- Two optional footprints on the board: a LoRa and LoRaWAN-compatible transceiver (HopeRF RFM95), or a MicroSD card reader.
The Nomi can be used within either the Arduino or the DMOSDK framework.
The Nomi has been designed by the IRIT lab in Toulouse, France (Institut de Recherche en Informatique de Toulouse).
Ranging
Thanks to the UWB transceiver, the Nomi is a ranging capable device, i.e. it can estimate inter-node distance using precise message timestamping. Two Nomis can evaluate the distance between them, using the UWB wiress communication. The ranging precision is ~10cm in Line Of Sight (LOS) situations. To fully take advantage of the ranging capabilities, a ranging protocol such as Two-Way Ranging (TWR) must be implemented. Such a protocol implementation is available in the DecaDuino library examples.
Tutorials
In the Arduino context
- Install the software development tools
- Install the DecaDuino library
- Use the accelerometer
- Send and receive data between two or more Nomis using DecaDuino
- Enable ranging protocols with DecaDuino
In the DMOSDK context
Pinout
Nomi pinout
RGB LED
The RGB LED is direct polarized (common cathode) and uses the following pins numbers :
- 5 (red), 0 (green) and 3 (blue) in the Arduino context,
- 8 (red), 12 (green) and 13 (blue) using the nRF numbering (ie. under DMOSDK).
UWB transceiver
DecaDuino (Arduino)
When using the Nomi with the DecaDuino library, use the following pinmap:
|
|
LoRa and LoRaWAN capatibilites
LMIC (LoRaWAN/Arduino)
When using the Nomi with LMIC library (LoRaWAN), use the following pinmap for the optional RFM95 transceiver soldered onto the Nomi:
|
|
Radiohead (LoRa/Arduino)
When using the Nomi with Radiohead library (LoRa), use the following pinmap for the optional RFM95 transceiver soldered onto the Nomi:
|
|
Technical description
Libraries
Category | Topic | Library | Adaptation | Download |
---|---|---|---|---|
Networking | DecaWave DW1000 | DecaDuino | Works out-of-the-box | [git] [zip] |
Sensors | Accelerometer | DFRobot_LIS2DH12 | Add param to init() |
[git] [zip] |
Networking | LoRaWAN | LMIC | Pinmap | Arduino IDE |
Networking | HopeRF RFM95b | RadioHead | rf95(31,7); |
[git] [zip] |