"IoT Made Easy!" - support micropython on pic32mzw1 (wfi32)
This project support the MicroPython on WFI32E01PC (PIC32MZW1) Wi-Fi MCU module by running the MicroPthon library. MicroPython is a Python 3 implementation with small subset of Python standard library. It run on embedded MCU to compile and interpreter the Python scripts. With this feature, users can run python scripts on WFI32E01PC (PIC32MZW1) MCU to simplify the software development. MicroPython highly abstract the software of Rio2. Users can develop the code more easy with the high-level language. This is good for rapid prototyping , quick evaluation and automated tests.
The MicroPython project can run on two PIC32MZW1 Evluation boards. They are the WFI32-IoT Development Board and the WFI32E Curiosity Board
Click here for the details of the board
Click here for the details of the board
MPLAB X IDE (v6.00 or later)
MPLAB XC32 (v4.30 or later)
Below table show the pin functionality on PIC32MZW1 module when it work with MicroPython. Some pins are configurable while some pins are fixed usage. Some pins are not availalbe as they are connected to some components on the board. The right two columns show the posiion of the pin on the WFI32-IoT Development Board and the WFI32E Curiosity Board. You can check this table to detemine the connection of your application.
Below are the MicroPython modules which supported in this project.
UART Tx and Rx pins are marked in the GPIO Header (J207) silkscreen
Directory example_scripts/ contains different python scripts to demonstrate some basic use of the MicroPython Below list introduce the use of each demo scrtips.
Directory | Usage | Modules |
---|---|---|
general_test | demonstrate the use of python packages, extract the email and author name | - |
gpio_on_off_led | turn on/ off Yellow LED on WFI32-IoT board with timer interrupt | umachine |
gpio_interrupt | demonostrate the use of gpio interrupt | umachine, utime |
tcp_client | act as TCP client, create socket to conect to the TCP server and exchange data | network, socket |
tcp_server_with_multiple_socket | create TCP server to handle multiple client socket simultaneously | network, socket, utime, gc, uselect |
http_get | TCP client send HTTP Get command to get the webpage contents of a website | network, socket |
http_server | set as softAP mode and run like a HTTP server. Remote device can connect to the softAP and browser the HTTP website | umachine, network, socket |
spi_read_sst26_flash | read SST26 SPI flash's manufacturer id and device id by using SPI bus | umachine, utime |