Hands On with RM7201 & RM7601 LoRa modules by Dapu Telecom

During the last LoRa Alliance meeting in Rotterdam we discovered a new LoRa modules made by Shenzhen (China) based company, Dapu Telecom.

There are 4 options available, 2 radio only modules based on SX1272 and SX1276 Semtech chips and two complete modules with MCUs also based on SX1272 and SX1276 called respectively RM7201 and RM7601.

For this exercise, we obtained radios with MCUs. One important note, there is no specific part number for EU, Asia or North America. According to Dapu, the software stack will set the radio into the respective ISM band for your region. This requires further investigation, as small hardware changes between EU and North America (RF part) are present in Semtech’s reference designs.

Here is the RM7601 with MCU and SX1276 radio chip

This is theRM7201 with MCU and SX1272 radio chip

Both of them use the same MCU – STM32L151C8U6, only the radio is different as mentioned above.

If you go to the official Semtech git repository and look at their demo code, you will find out that Semtech uses the STM32L151 MCU series as well, just using a different variant of this MCU. This will most likely allow us to port the Semtech LoraWan stack to DAPU hardware with minimal effort.

Store the source code onto your local hard drive, let’s say C:\LORA\and unzip it, then go to C:\LORA\LoRaMac-node-master\Keil\SensorNode\LoRaMac\classA, use Keil5 (i used Keil5.17 lasted one) to open the project. Why “SensorNode” demo code? because that code uses the same MCU as one used in RM7601 module.

As Semtech used Keil4 to create the LoRaWAN demo code, Keil will first migrate the project to Keil5 when you first open it, just allow it do to so.

In the RM7601 data sheet for the SX1276 radio chip we see the following pin definitions:

following this table, we can quickly change the Semtech source code and update pin definitions in C:\LORA\LoRaMac-node-master\src\boards\SensorNode\board.h to the following pins as follows:

Compile the code and flash it to the RM7601, then login via ssh into your gateway and watch for our updated module to join the gateway. For help on how to set up the Multi-tech gateway, please follow our blog posts:

As with RM7601, I expected simply changes in the config files, but unfortunately, it was not that easy . At the beginning, I’ve tried to use the same project – NodeSensor, but I quickly found out that I would have to port the SX1272 driver as this project does not include support for the SX1272. Porting the SX1272 driver should be easy as most likely it would involve just changing some header definitions. However, after looking deeper into Semtech code, I found another project which does have support for the SX1272, the Loramote project.

As the RM7201 uses a smaller header, my connector would not fit, so i soldered 4 wires (SWCLK, SWIO, VDD and GND) to the RM7201 module directly:

Thanks for your interesting for our post. Yes, we have some experiences for use the Microchip Lora modules – RN2903 and RN2483, and had successful configured those two modules in our project. we will post some using experiences in our blog later 🙂

Thank you for your interest in our blog. We’ve tested HopeRF(SX1276), Dapu(SX1276 and SX1272) mDot and Microchip rn2903 and rn2483 with the Multitech GW, and got all of them working properly.
We did not get chance to test MSP430 MCU with LoRa stack yet.
Thanks
Yuqian

For let the compiler to recognize REGION_CN 470, that is easy. I will show you how to add it in the Keil.

1. Open a project such like “Keil\LoRaMote\LoRaMac\classA”, then go to “Project -> Manage -> manage items”, add a items and name it like “LoRaMac-470”, and save it.
2. Then you will have an item called “LoRaMac-470” in project items menu. change project to it and edit its options for target LoraMac-470, change the “USE_BAND_915” to the “USE_BAND_470” in the C/C++ option under “define”.
3. The final step is you need to manually change main.c codes add a definition which is for USE_BAND_470 and special for LORAWAN_APP_DATA_SIZE size, you can change it based on your application requires. then you can compile it without a problem.

Unfortunately, we can’t test it by ourselves as we don’t have CN470 GW on hands, but I verified the compiler is happy with these changes. so, please try it and let me know if you get any problem on that.