This is the nln 500a lora arduino compatible evk from system level solutions. The company sent me an engineering sample a couple of weeks ago for me to tinker with in this video. We will do a detailed overview of the board, then we will see how easy it is to set up arduino ide for working with this board. Later we will learn to flash a sample code and finally discuss about the custom library provided by sls. Nln 500a lora arduino compatible evk from sls has the nebulink nln500a soc module, which integrates the worlds first lorawan integrated, soc called stm32wl. This module is wpc certified and can work in lower frequency bands, as following for eu from 863 to 870 megahertz for us from 902 to 928 megahertz and for india at 865 megahertz. Furthermore, the module consumes only 1.6 microampere in standby, with an operating voltage range between 1.8 to 3.6 volts. In terms of security, there is hardware based aes 256 bit encryption. The module supports up to 43 ios, has 256 kilobytes of flash 64 kilobytes ram and supports ota swd and jtag. There are two spi three i2c, two usart and one lpurt. Now that we understood the capability of the nebulink nln 500a module lets do a hardware overview of the lora arduino compatible evk, which is based on this module. The nlna 500a module. Is this circuitry enclosed inside the silver colored shield? The module itself has an ufl external and in a connector i have connected the provided helical antenna on it now lets discuss about the pins.

The cool thing about this board is that its both compatible with arduino ide and also shares the same pin out as an arduino nano board. Let me show you the side by side for easy comparison. You can see that both boards have two rows of 15 gpio pins on either side and they exactly match in terms of functionality. Also, you can flip the board and see all the pins marked properly. This will make it easy to wire up stuff without referring the pin out all the time. Now you may ask: what are these 5 pins, for? These can be used to hook up an external st link v2 programmer to be used along with htm 32q programmer and other stm32 tools to change the configuration of the stm32 chip or for uploading. The program thankfully lora arduino compatible evk is configured in such a way that you dont need an external programmer to flash new code using arduino, ide or stm32 cube ide. You can directly flash the code through the usb, like any other arduino board or esp32 board. The board has four screw holes on four corners to easily mount or secure it anywhere. This tiny package handles the usb to serial conversion. The rest of the circuitry here handles the power regulation and delivery. I appreciate that this board has the more durable and expandable usb c port. This makes it easy to plug and play. The final hardware feature we have to discuss.

Are these two buttons, the one closer to the usb c port? Is the boot button and the other is the reset button? Most of you probably know what this is for, but still i will explain see there are two modes that this module can be working in user mode and programming mode user mode is the normal mode where you power on or reset your board, and it runs the Default code that is flashed the programming mode is for making the module ready to accept new programs and save it. Only in this programming mode can be upload. Any new code now might be a good time to learn the sequence of button process required to enable the programming mode, assuming that you have already connected the usb c port to your pc. Now, first press the boot button, keeping the boot button pressed press and release the reset button now release the boot button. There is another way to do this too. If you have not yet connected the usb c cable to the board, then just keep pressing the boot button, while it is pressed, connect, the usb cable and then release the boot button. Remember that only if you set the board in this mode, you will be able to upload code from the ide before we go into the ide setup. Please check my linkedin post, given in the description. If you are still confused about the difference between a lora, soc module and a lora, modem or transceiver lets, do the arduino ide setup for the board first make sure that you have installed the latest version of the arduino ide now search in google for stm32? Do you know there will be a github page like this? As the first result, scroll down and under getting started, there will be a github link to an index.

json file. We need to copy this and use this in the arduino ide to pull the necessary sdk for working with stm32 on arduino ide for now just copy this link and save it. I have provided all the links in the description on the arduino ide click file. Then click preferences and now a window will pop up click. This icon for additional board managers urls now paste the stm32duino json link here and save and close all new windows. Now under tools go to board and select the board manager now search for stm32 and install the one and only board file here, you can see that this supports the stm32wl, which is in our board. This will take some time to download and install once the installation is done. If you try to upload any sample code, it will output. An error like this saying, stm32q programmer is not in your path environment. To fix this, you need to add the path to environment. Variable list, as this might be too advanced for many people lets, do the easy way this can be rectified by downloading the stm32q programmer app from official site and installing it. I have provided the link to the software in the description of the video click, get software and download the appropriate os version and install it. It is recommended to do a pc restart after this now open the arduino ide in the arduino ide board options. We need to configure accordingly for us to flash any code to our board under tools go to boards and under stm32 boards groups.

Select generic stm32wl series next under board. Part number select the generic wl55jcix after that leave all of the below options as default, but change the upload method to serial. This is important now connect the board to your pc and in the device manager find the correct com port of the board. For me, it is com5 make sure this com port is selected under port option. Now our ide is configured to upload code. Take any i2c sensor, you have lying around and connect it across a4 and a5. Pin a4 is an i2c. Sda pin and a5 is an scl pin. I am using a bme280 here. Our intention here is to show you how similar to programming an arduino programming this lora board is. We are going to scan the i2c address of the bme280 sensor, go to examples in arduino, ide under examples for generic stm32wl series, select wire and then select i2c scanner. If we directly upload the default code, it will not work as stm32wl has three i2c bus and we havent specified in the program which i2c bus we have connected the sensor to. If you look in the comments of the example code, its clearly mentioned, please understand that the pin out of the dev kit is not similar to what pin it is connected internally to the mcu. For that we need to refer official documentation given by sls. Please note that, as the documentation is not yet finalized, all documentation need to be requested from sls and is not available in public.

As of now, i have provided the contact link to sls for getting these documentation in the description of this video lets. Look at the pin details of the dev kit. When we look at the pin mapping corresponding to a4 and a5, we can see that the mcu pins are pb9 and pb8. The arduino code command has already sampled configuration for these pins. We just need to copy these three lines and paste it here, replacing the line before now save the code after putting the board in boot mode upload this code, once upload, is done open the serial, monitor and set the correct baud rate, and you can see that The i2c device is detected and its address is shown. This is similar in terms of code and output. Behavior. If you used any other arduino board from here on out, you can build a weather station like how you would do for an arduino board. This is the simplicity of using the lora board from sls. This ease of use allows for rapid prototyping now regarding the lorawan capabilities. Sls is building an extensive library with lot of examples to easily integrate lower event capabilities, as it is still under development. The github repo is not public. If you want to test out the library yourself, you need to contact sls and i have provided the details to contact them in the description of the video. I have got access to this library, like any arduino library.

You can download the library as zip file from github and go to sketch option in arduino. Ide and click include library, then select, add zip library and add this library once the library is added. If you go to files, then click examples and go down. You can see the examples. These examples work, but, as i dont have any lora gateway near my locality, i was not able to test its capabilities. I was recommended to use senra gateway network provider. You can easily register a device and configure the network id application, id and device id in the example arduino code and easily test the lorawan capabilities.