The most recent version of this page is a draft.DiffThis version (23 Jan 2024 03:43) was approved by Joyce Velasco.The Previously approved version (17 Jan 2024 07:14) is available.Diff

This is an old revision of the document!


LoRa Kit based on MAX32670 Microcontroller with LR1110 Radio Chip Sensor Node


The ADI LoRa reference design is an Arduino-like development platform based on the MAX32670 ultralow power microcontroller (MCU) with integrated power management for processing, control, and connectivity. The MCU system is based on the ARM Cortex-M4 processor, a collection of digital peripherals, embedded SRAM and flash memory, and an analog subsystem which provides clocking, reset, and power management capability. The MAX32670 features industry leading ultralow power, which makes it ideal for Internet of Things (IoT) applications.

The platform comes in an Arduino Uno form factor, with two PMOD connectors, and an ESP32 Dev Kit connector for easy-to-connect sensors and signal conditioning add-on modules. The on-board LoRa connectivity makes this board IoT-ready right out of the box. The solution is complete with working software and hardware, as well as software examples.

The base platform is accompanied with various Analog Devices add-on hardware but is also compatible with 3rd party hardware. A free programming and debugging tool called Maxim SDK is also provided by Analog Devices.

Kit Contents

  • Component Board:
    • MAX32670-LR-ARDZ Baseboard
  • Component Sensor Node:
    • EV-CATTLETAG-ARDZ LoRa Node for Livestock Monitoring
  • RAK5146 PiHAT Kit for LoRaWAN
  • Raspberry Pi 4 Model B
  • RPi4 Power Supply
  • MicroSD Card


  • SPI and I2C signals accessed through 0.1-inch headers
  • GPIOs and miscellaneous signals accessed through 0.1-inch headers
  • Board power provided by either external power source through terminal block or through cell battery (CR123A)
  • On-board SIMO regulator and LDO for IC and peripherals
  • Individual power measurement on all IC rails through jumpers
  • Two general-purpose LED and a reset pushbutton switch
  • Integrated LoRa Radio or GNSS receive (only available for LR1110)


  • Battery-Powered Medical Devices
  • Industrial Sensors
  • Optical Communication Modules
  • Secure Radio Modem Controller
  • Smart Sensor Controller
  • System Housekeeping Controller

Board Photo

Top View Bottom View

Block Diagram


  • MCU:
    • Arm Cortex-M4 Core with FPU up to 100 MHz
    • 384 kB Flash Memory with error correction
    • 160 kB SRAM (128 kB with ECC enabled), optionally preserved in lowest power modes
  • Security:
    • Available secure boot
    • Support cryptographic algorithms, including AES-128/192/256, 1024-bit DSA, 2048-bit (CRT) and secure boot loader
  • Power
    • Ultralow power Real Time Clock with Integrated Power Switch
    • Average battery life: more than 10 years
  • LoRa Radio
    • Support FSK, GFSK, MSK, GMSK and LoRa and Long Range FHSS modulations
    • Programmable bit rate up to 62.5 kbps LoRa and 300 kbps FSK
    • Support of all major sub-GHz ISM bands from 150 MHz to 960 MHz
    • High sensitivity: down to -148 dBm
    • Transmission distance: up to 10 km to 15 km
    • Low power multi-constellation GNSS scanner/ passive Wi-Fi AP MAC address scanner (only available for LR1110 radio chip)

Hardware Setup

Each sub-section contains a general description of the board, detailed description of the connectors, jumpers, and buttons (if any). It also provides links to the design support files (schematics, bill of materials, design projects, and technical documentation), as well as internal links to the example demo software projects.

MAX32670-LR-ARDZ LoRa Baseboard using MAX32670 and LR1110

The MAX32670-LR-ARDZ LoRa Baseboard consists of the MAX32670 high-reliability, ultralow power microcontroller based on Arm Cortex-M4 processor, and the LR1110 LoRa RF transceiver module.

In order to use this base board, all hardware settings such as the hardware peripheral connections, jumpers and UART switch configurations, power configurations, connectivity options, and the USB connectors and programming connections are provided in this page. Links to the schematics and the layout files are also available below.

Sensor Node

EV-CATTLETAG-ARDZ LoRa Node for Livestock Monitoring

The EV-CATTLETAG-ARDZ is a system module that uses ADI power solution on the controller and transceiver module used for virtual fencing solution for livestock, where the animals are controlled by GPS-collars and an app. The system is consisting of a MAX20361 power harvester, MAX20335 BMS, and a MAX30210 temperature sensor and a buzzer with an option for vibration motor.

Software Setup

Tools and Drivers

This guide contains all the necessary information on how to download, install, and setup the software environment for the LoRa reference design and its add-on hardware. Information on the different USB modes and drivers needed is also provided.

Click to see more

This guide contains all the necessary information on how to download, install, and setup the software environment for the LoRa reference design and its add-on hardware. Information on the different USB modes and drivers needed is also provided.

Click to see more

The Maxim Micro Software Development Installer Kit (MaximSDK) Installer contains all the necessary tools to develop the firmware for Maxim microcontroller ICs, including Maxim® proprietary source codes, libraries, and examples dedicated to:

  • Board support packages (BSPs)
  • Validated hardware abstraction layer (HAL) source codes
  • Libraries
    • Integrated into the installer:
    • Free Crypto Library (FCL)
    • FreeRTOS
    • Lightweight TCP/IP stack (lwIP)
    • SD Card Library (SDHC)
  • Installed separately (NDA or SLA required):
    • EMV L1 Contact-Smart Card: Install as a plugin
    • NFC: Install as a plugin
    • UCL: Install as a plugin
  • Documentation
  • Wide range of examples ready to run on evaluation kits (EV kits)

For detailed information about the installation of the MaximSDK environment for Maxim® Microcontroller ICs, consult the Maxim Micro SDK (MaximSDK) Installation and Maintenance User Guide

Maxim SDK installers for different operating systems can be downloaded using below links:

For Linux OS, you may need to make this file executable. Use the command:

“chmod +x”

Setting Up the Gateway

There are many variants we can choose from when deciding what hardware we should use.
For this setup, we will be using Raspberry Pi 4 as the hardware and ChirpStack v4 for our gateway OS.

Click to see more

There are many variants we can choose from when deciding what hardware we should use.
For this setup, we will be using Raspberry Pi 4 as the hardware and ChirpStack v4 for our gateway OS.

Click to see more

Equipment Required

Before continuing, you need to gather all the necessary hardware and software tools and those are listed below.




Downloading the OS

Presumably we already have possession with a hardware, first thing to do is download the OS. On this writing, the OS version is 4.1.1.

SD Card Flashing

  1. Download Balena Etcher
  2. Click Flash from file from the option in the interface and navigate in your pc the location of the where the Chirpstack Gateway OS is located.
  3. Select target and choose the targeted microSD card drive
  4. Click Flash! to start the burning process of the image in the chosen SD card.
  5. Wait until it is done
After the first boot, the gateway might reboot automatically to apply some changes. The Full Image will set up the PostgreSQL database on its first boot. This could take a couple of minutes and during this time, the gateway will be less responsive.

Configure the Concentrator

To configure the concentrator, you need to setup the hardware for the gateway system by following these steps:

  1. Insert the burned SD card on the designated slot on the Raspberry Pi.
  2. Connect the RAK5146 PiHAT to the Raspberry Pi through the 40-pin connector.
  3. Connect the monitor using an HDMI cable through the mini HDMI connector found on the Raspberry Pi.
  4. Connect a USB keyboard and mouse to the RPi through the USB ports.
  5. Power on the RPi by plugging in a dedicated 5V power supply with Type C USB connector.

Follow these steps to configure the settings in the concentrator:

  1. in the RPI 4 terminal, enter sudo gateway-config in the command terminal.
  2. In the main menu, choose Setup LoRa concentrator shield in the menu.
  3. Choose RAK5146 (with GNSS).
  4. Choose AU915.
  5. Choose Channels 0 to 7 + 64.
  6. The Concentrator restarts and goes back to the main menu.
  7. Quit the main menu.

If you have properly configured your gateway and if you have installed the Full Image, then you are ready to use the ChirpStack LoRaWAN Network Server.

Connecting Gateway to the Internet

An Access-Point (AP) with Internet connection should be connected to the hardware via Ethernet connection. After your gateway has booted, it will use DHCP to obtain an IP address.

Establishing Wireless Access Point to the Gateway

By default, the ChirpStack Gateway OS will create an AP to which you can connect with the following settings:

name: ChirpStackAP-XXXXXX password: ChirpStackAP

Accessing the Gateway Web Interface

Once connected in the RPI, you can now connect to the web gateway interface by entering http://GATEWAY-IP-ADDRESS/ in your browser.

The default IP address of the gateway is, then you need to enter

Your browser might show you a warning about a self-signed certificate. Click Proceed.

The default credentials are:

  • Username: admin
  • Password: admin

Connecting a Device

This section describes how to connect your LoRaWAN device with ChirpStack and how to validate that it can successfully activate and send data. At this point, it is assumed that you have a working ChirpStack environment with a connected gateway.


Before continuing, there are a couple things you need to know about your device. This information is usually provided by the device vendor.

  • DevEUI
  • LoRaWAN MAC version implemented by the device
  • Regional Parameters revision implemented by the device
  • OTAA only: Device root-keys (when no external join-server is used)

Log in to the ChirpStack Web Interface

The default credentials are:

  • Username: admin
  • Password: admin

Device Profile

Before you can add the device to ChirpStack, you have to create a device-profile, if you haven't done this already. In general, it is a good practice to create separate device-profiles for different types of devices. A device-profile contains the capabilities of your device.

For example, if it uses ABP or OTAA for activation, which LoRaWAN version and Regional Parameters revision is implemented by the device, etc. It can also be configured with a function to decode the payloads sent by the devices using the device-profile.

Creating a Device Profiles

After navigating to the gateway details page of a gateway, click the ‘Device profiles” under the Tenant.

Click on the “Add device profile”

Filled in the blank from the given table under the “General” tab and click Submit once done. For the Name, enter the desired sensor node name. And the following shows the other configuration required to add a sensor node:

  • Region: AU915
  • Region Configuration: AU915 (channels 0-7 +64)
  • MAC Version: LoRaWAN 1.0.4
  • Regional parameters revision: A
  • ADR algorithm: Default ADR algorithm (LoRa only)
  • Expected uplink interval (sec): 10
  • Device-status request frequency (req/day): 8640


Devices are grouped by applications. For example, you could group your temperature sensors under one application and weather stations under another application.

Adding an Application

If you haven't created an application yet to which you want to add the device, click Applications, then click Create. Fill in the required fields and save the application.

Click on the Configuration: Provide the following information:

  • Name
  • Device EUI (EUI64) (Note: This information is usually provided by the device vendor.)
  • Device profile

Click on the OTAA keys and click Submit once done. Provide the Application key provided by the device vendor: For this demo, the application key is 2b7e151628aed2a6abf7158809cf4f3c


  1. After adding your LoRaWAN device to ChirpStack, validate that your device is able to activate (in case of OTAA) and send data.
  2. When clicking the device in the ChirpStack web interface, open in one window the Device data and in another window the LoRaWAN frames tab.
  3. Then turn on your device or trigger an uplink transmission. In case of an OTAA device, you should first see a JoinRequest followed by a JoinAccept message in the LoRaWAN frames tab.
  4. When the device sends its first data payload, you should also see a Join and Up event in the Device data tab.

Check the Gateway LoRa Frames

After navigating to the gateway details page of a gateway close to the device, click the LoRaWAN frames tab.

For OTAA devices, confirm that when the device tries to OTAA activate, you see a JoinRequest message followed by a JoinAccept message.

If you do not see a JoinRequest and JoinAccept, make sure that the device sends an OTAA request and that your gateway is correctly configured.

If you only see a JoinRequest message, this means that either the OTAA request is ignored or rejected by ChirpStack or that the gateway is rejecting the JoinAccept transmission. Continue with the Device LoRaWAN frames section.

Help and Support

This section aims to provide quick troubleshooting tips to resolve common pitfalls during hardware set up and running the software for the LoRa reference design.

Click to see common issues and solutions.

This section aims to provide quick troubleshooting tips to resolve common pitfalls during hardware set up and running the software for the LoRa reference design.

Click to see common issues and solutions.

Quick Solutions

There are many things that can go wrong with an ecosystem this complex, but if you are having issues getting the board or software working, here are a few simple things you can try before contacting Analog Devices.

Issue Troubleshooting Points to Consider
No Power Check the power Do you have the USB cable plugged in? What about the DC power jack? If you are using batteries, try replacing your batteries, and see if the board powers up.
The MAX3267 program is not working Power cycle the board Sometimes a flashed program doesn't run properly or can make it difficult to run the debugger. The first thing to try in this case, is to try a known good .HEX or .BIN program into flash (something with quick visible indicators works best).

Hardware, Software, and Documentation Questions

If you have any questions regarding the LoRa base platform, any of the add-on hardware or are experiencing any problems using the software or issues following any of the documentation, feel free to ask us a question via:

When asking a question, please take the time to give a detailed description of your problem such as:

  • the steps you have executed
  • the results you expected you would get
  • and the results you actually got

By providing this information, you will enable us to provide you precise and detailed answers in a timely manner.

Before asking questions, please take the time to check if somebody else already asked the same question. You might just find your question already answered.
/srv/ · Last modified: 30 Jan 2024 08:14 by Joyce Velasco