Using Python and Arduino MKR1000 for Secure IoT
Getting started with Python and Arduino MKR1000 for secure IoT projects.
Things used in this project
Arduino MKR1000 meets Python
With the last release, Zerynth officially supports Arduino MKR1000, a device specifically designed for secure IoT projects.
The MKR1000 is described as a powerful board that combines the functionality of an Arduino Zero (already supported by Zerynth) and the connectivity of a Wi-Fi Shield, with a Cryptochip for secure communication. The design also includes a Li-Po charging circuit that allows the Arduino MKR1000 to run on battery power or external 5V, charging the Li-Po battery while running on external power.
Now, programming the board in Python thanks to Zerynth Studio makes Arduino MKR1000 one of the best choices for the development of secure IoT battery-powered projects.
The Arduino MKR1000 is based on the Microchip ATSAMW25 SoC, that is part of the SmartConnect family of Microchip Wireless devices. In particular, the ATSAMW25 is composed of three main blocks:
- SAMD21 Cortex-M0+ 32bit low power ARM MCU
- WINC1500 low power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi
- ECC508 Crypto Authentication
The main features of the board are:
- Board Power Supply (USB/VIN): 5V
- Supported Battery: Li-Po single cell, 3.7V, 700mAh minimum
- Operating Voltage: 3.3V
- Digital I/O Pins (DIO): 14
- Analog Input Pins (ADC): 7
- UARTs: 1
- SPIs: 1
- I2Cs: 1
- Flash Memory: 256 KB
- SRAM: 32 KB
- Clock Speed: 48 MHz
- Size (LxW mm): 61.5 x 25.0
Go to the dedicated page of the Zerynth Docs to get more info about this board.
Get started with Arduino MKR1000 and Python
Download and Install Zerynth Studio
First of all, of course, you have to download and install Zerynth Studio, our cross-platform IDE for embedded and IoT development. If you didn’t do it yet, download it here for free! Once you’ve installed it, open Zerynth Studio and create a Zerynth user account.
Connect and Virtualize the board
To recognize the device, Windows machines require drivers that can be downloaded from the official Arduino MKR100 page, while OSX and Linux machines will recognize the board automatically.
Once connected to a USB port, if drivers have been correctly installed, the Arduino MKR1000 board is recognized by the Zerynth Studio and listed in the Device Management Widget.
To register and virtualize the board, Arduino MKR1000 MUST be put in virtualization mode by double clicking the RST button.
Then select “Arduino MKR1000 Virtualizable” on the Device Management Widget and register the device by clicking the “Z” button.
Put again the board in virtualization mode by double clicking the RST button and create a Zerynth Virtual Machine for the device by clicking the “Z” button for the second time. Now you can virtualize the device by clicking the “Z” button for the third time. You can find more info about the virtualization process in the relative doc.