Arduino core for CMWX1ZZABZ-078-based LoRaWAN devices

Just a little more on the LoRaSensorTile application.

One specific use case for the VEML6040 RGBW light sensor is to monitor indicator leds on existing equipment, like leds that are green when everything is working normally, yellow when there is some maintenance required and red when there is a fault condition or something like this. The VEML6040 is able to detect these individual colors. Of course, it can also tell when room light are on or off.

So imagine an HVAC unit in a closet or utility building. With this LoRaSensorTile one can tell if/when the HVAC unit is on or off (acceleration/vibration), whether the HVAC unit is actually cooling or heating (pressure, humidity, temperature), and what the status of indicator lights might be or whether the lights are on or off in the room, etc.

Of course, as mentioned, it is easy to add other sensors by soldering another custom-designed pcb to the LoRaSensorTile or connecting an off-the-shelf board via wires, etc.

This was designed as a prototype but will have immediate applications for industrial IoT.

Hello onehorse, nice boards!

I’m wondering if the Murata module is simply a STM32 + Semtech radio or they also offer some kind of software the LoRaWAN stack, for example, being able to use via AT commands or the LoRaWAN stack ready to use with the built-in STM32L0?

I see your Github and the examples include “lorawan.h”, but I couldn’t find it. Really keen to try it, but just trying to estimate what is necessary on the software side…

so you can ‘disconnect’ (solderblob) the onboard sensor and free that gpio ?

@Moebiusi Very little will be necessary to use LoRaWAN once we release the Arduino core, probably this weekend. You can see in the working examples already posted that no AT commands are required. Just need the core…

@BoRRoZ Not sure what you mean, on the LoRaSensorTile there are three on-board sensors and lots of exposed GPIOs at the board edge so a user can add sensors by designing a pcb that would mate with 3V3/GND/SDA/SCL for I2C sensors or 3V3/GND/SCLK/MISO/MOSI/nCS for SPI. Or just buy a sensor board from me at Tindie or Adafruit, etc and solder wires to the LoRaSensorTile. The LoRaSensorTile has seven free GPIOs plus I2C, UART, and SPI ports exposed at the board edge. Why would you need to unsolder anything??

I was thinking freeing gpio / power saving / conflicting I2c… but ok, there are lots of other free gpio …
I understand now why you choose that very typical color sensor … you wrote a driver for teensyduino :wink:

I’ve been working with these sensors for a little while for my hobby projects as well as for commercial applications. For a taste of the former, see this.

I used to use the Teensy a lot until we designed our own STM32L4 platforms. Hard to get low power when using the Teensy :<

1 Like

Some results for power usage for the Grasshopper:

Grasshopperpowerusage

2.0 uA in STOP mode. More discussion here.

And some results for the LoRaSensorTile:

LoRaSensorTilePowerUsage

Stop current is ~12 uA. More discussion here.

1 Like

So how do we go about programming the grasshopper? Does it contain a serial bootloader or do we need the old ST-Link?

The first Arduino’s MKR WAN 1300 are seen in the wild to

All ST MCUs (AFAIK) but certainly the CMWX1ZZABZ (Grasshopper) have an embedded bootloader in ROM so you don’t need to add one nor can you damage it by writing to Flash/SRAM unless you use a hammer. The Arduino core will be dropped here:

either today or tomorrow. You need to install the latest Arduino IDE, install the Arduino core by either dropping the core into the hardware folder of your Arduino directory or using the board manager and .JSON. Make sure you have the SAMD boards selected as well since the Arduino core uses the SAMD compiler. Then flash your sketches as usual using the USB connector just like any Arduino board.

You can still use an ST-link and the exposed SWD port on the Grasshopper if you think the Arduino IDE is too limiting, but I find it rather easy to use and I can do just about everything I need to with it. The CMWX1ZZABZ github repository has enough Arduino sketches to get you started.

1 Like

Fantastic, I’m reviewing the CMWX1ZZABZ ahead of my Things Conference talk on LoRaWAN modules and would love for this Arduino core to be part of it.

Should be up on github for you to try today or tomorrow. I hope you like it!

First drop of the (alpha) Arduino core for CMWX1ZZABZ-based boards here.

Here​ is a more or less complete how-to to get going with this STM32L0 Arduino core using the Arduino IDE with the Grasshopper development board. Just follow the instructions. Any question or trouble, send me an e-mail at tleracorp@gmail.com.

2 Likes

Hi. I am trying to upload the sketch on the board with the arduino IDE and the Grashopper-L082CZ and correct port. When I try uploading the sketch I get the following on the console. What am I doing wrong. Thanks

Sketch uses 68032 bytes (34%) of program storage space. Maximum is 196608 bytes.
Global variables use 5480 bytes (26%) of dynamic memory, leaving 15000 bytes for local variables. Maximum is 20480 bytes.
10
9
8
7
6
5
4
3
2
1
FAIL

Hold the BOOT button pressed while you toggle the RESET button. This forces the devices into bootloader mode. Sometimes if you a sketch that crashes or puts the chip into low power mode, USB does not respond otherwise.

Thanks. I think it was a driver issue as well on my linux box
No I got it working on windows.
Only issue I have is that I cannot get the serial monitor to work and makes it had to debug. Is there any trick to make the serial monitor work?
Thanks again

All good now for serial monitoring. I must have used a bad usb connection.

Good day, would you mind advice me pls if I can use this module as standalone as tracker for my car… drone…, there is also an smartphone app and pc browser for check every route done?
Waiting for a kind response
Regards

Don’t know which module specifically you refer to, but there are several asset trackers to choose from that use the Murata CMWX1ZZABZ-078 including the Gnat and Cricket. I use a Semtech gateway and CayenneLPP to keep track of these when in the field. Not sure if there is a smartphone app but I would think so. These are ultra-low-power LoRaWAN-enabled GNSS trackers. Is this what you meant?

1 Like

With appearance of Taiwanese built AcSiP S76G SoC in late 2018, family of STM32L0 based GNSS LoRaWAN asset trackers has become wider.

One known retail product is RAK7200 from RAKWireless (costs around 40 USD + shipping).
One known DIY product is TTGO T-Motion. (costs around 20 USD + shipping)

The last one comes with factory pre-installed SoftRF firmware to track GA aircrafts or UAVs with assistance of Open Glider Network
‘The Things Network Mapper’ firmware is also available for the device in this open source Arduino sketch.