Arduino core for CMWX1ZZABZ-078-based LoRaWAN devices

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


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.

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

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.

Good day, this module must be registered? Which app i can use?
Do you mind advice me pls with few instructions so i can make it work?
im looking for the rak7200 or rak5205… or my ttgo motion… but ive saw also Grasshopper LoRa/LoRaWAN Development Board.
Which one is bettere… and voltage conditions?
Waiting for a kind response

Best way to determine “which one is better” is to buy one of each and try to make use of them.

Grasshopper Vin is 3.3 - 5.5 V and uses 2 uA in sleep mode. Programmable via Arduino IDE, full complement of serial interfaces. More details here.

Does it use USART pin or LPUART for connection?

Connection to what exactly?

Does it work on AT Command too? which pins are of UART (PA2 & PA3) or( PA14 &PA13)

need to use USB to UART adaptor to access it . which pin are for UART?

Please see the Tindie product page where a lot of these basic questions are answered and there is a pin map.

But simply, the Grasshopper is designed to be programmed via USB using the Arduino IDE. No external programmer is needed, but you can also use an ST Link V2 to program via the SWD port.

You can load ST/Murata firmware that allows AT command usage, but I have never done this.

do these murata module directly by default work on AT command or do we need to program ?.

You need to load the firmware provided by Murata that enables AT commands.