Last year, we were proud to announce our partnership with Arduino to help create an IoT-network-ready device for developers. For us, this partnership is really important in that we now have an IoT network specific device that is quick and easy to use, while being versatile enough to prototype with and also offering a wealth of library support.
The MKR NB 1500 is perfectly designed for fast prototyping with Cat M1/narrowband connectivity, made possible via the UBLOX SARA-R410M-02B module. Alongside this connectivity, the new connected Arduino features 22 i/o digital pins (12 PWM) and seven analogue pins. All run via a SAMD21 Cortex-M0+ 32bit low powered ARM CPU, which helps create the ultimate low powered connected device, happily running at 3.3v.
All of the Arduino MKR boards feature an ECC 508 crypto chip and the NB1500 is no exception. This means you can generate x509 certificates from the board itself to help create an even more secure connection between server and device. Read read more on the ECC508 here.
Sample code repos
The NB1500 is ideal for building low powered network-ready IoT projects. To get you started, we already have some sample code repos set up on the Telstra Github (and many more planned).
The first repository features two working examples, demonstrating how to use the NB1500 to do MQTT Mosquitto connections using a public IoT broker. Using the pubsub and Arduino MQTT libs, the sample code is a great example of how to connect and subscribe to a broker topic and transfer data. Check it out at https://github.com/telstra/arduino-mkr-nb-1500-mosquitto
The second repository demonstrates how to connect and register into cumulocity. This sketch uses straight AT commands and so doesn’t need the MKR library. The sketch examples included in the repo show how to send measurements, temperature and humidity, which will then be visible on the platform. Check it out at https://github.com/telstra/arduino-mkr-nb-1500-cumulocity
The Arduino MKRNB library (available at https://www.arduino.cc/en/Reference/MKRNB) also has a few handy examples, including NB and NBSSL web clients, that enable connection to a web server via HTTP and HTTPS. Just remember to strip out headers and other unwanted information from the server response so you get just the body. A handy way to do that is via delimited characters (with the body payload between) like `[` and `]` using something like:
midString(client.readString(),"[", "]");
As always, we are looking for your feedback and would love to hear of any cool projects or ideas you are building out with our APIs or this amazing little board. Reach out via one of our contact methods at https://dev.telstra.com/support
UPDATE [15/7/21]: This product is no longer available for purchase on TelstraDev. More details