Wio Terminal Update: Meet ArduPy, A Combination of Arduino and MicroPython to Learn Programming Efficiently

Hi, our lovely Seeeders, have you checked the VLOG we posted earlier? Besides the injection molding manufacturing, this week we would also like to share the latest status of the software development of Wio Terminal.

  • In this post, we will introduce the following:
  • Brief instruction of ArduPy
  • Share the “Truly Fully Open Source” progress we have made.
  • Check our Github for more technical details and join the discussion at our Forum.

Feel free to ask anything you want to know and tell us your thoughts!

What is ArduPy?

If you have seen the detail page of Wio Terminal, you will know that Wio Terminal supports ArduPy. Here is the question: What is ArduPy?

ArduPy is a combination of Arduino and MicroPython. MicroPython uses the universal Arduino API to control the hardware so that it can be compatible with new platforms quickly. With the help of the aip package manager we provided, you can transform your favorite Arduino library into a MicroPython library. Through ArduPy, you can use Python to verify your ideas, learn python programming as well as micro-controller programming in a more efficient way.

ArduPy consists of two parts, one is the ArduPy Core, and the other part is the Arduino Library Python wrapper.

ArduPy Core is Pyboard-friendly and supports basic hardware operations on the board. We wish to develop the ArduPy into a community-driven software and look forward to your participation. If you want to integrate more useful libraries, please feel free to contact us at Github.

The planned features of ArduPy is as below (The underlined ones haven’t been finished yet):

– Support Seeeduino XIAO, Wio terminal

– GPIO, PWM, Analog, LCD, Math, Random, OS, Time

The “Truly Fully Open Source” Progress We Have Made

About ArduPy aip

ArduPy aip is a “Python pip” like package management software for Ardupy, and over 60% of its API is invoked from Python pip, the Python package installer. We want Ardupy’s library to be a decentralized structure that allows everyone to make better use of it, and welcome everyone to maintain the software in your favorite host.

The planned features of ArduPy AIP is as below (The underlined ones haven’t been finished yet):

– Help, Build, Install, Uninstall, Flash, Emd

For example, If I host my software under the seeed-studio organization on GitHub, the software can be download like this:

aip install seeed-studio/seeed_ardupy_lcd
aip install seeed-studio/seeed_ardupy_audio
aip install seeed-studio/seeed_ardupy_IR

aip build
aip flash
aip cmd rshell
>from arduino import lcd
>tft = lcd()
>tft.fillScreen(tft.TFT_RED) #Red background
>tft.drawPixel(4,7,tft.TFT_BLACK) #drawing a black pixel at (4,7)

WiFi/BT Software Support

There is already a large selection of IoT library in the community, and we hope the original esp32 users will be able to seamlessly use the network and Bluetooth function on the Wio terminal, so RTL8720DN, a Wifi and Bluetooth module, is added to Wio terminal as a coprocessor. It communicates with samd51 via SPI AT and the order of communication is esp32 AT.

Here we have opened up some software for your reference:




Note: The underlined ones haven’t been finished yet and will be ready before the shipment of Wio Terminal. Stay tuned with us and get the latest update about our software development!

Explore More at Our Github & Forum

Want to know about ArduPy? All codes are available at our Github. If you have any questions, feel free to ask us at our Forum. We can’t wait to hear your voices and welcome all suggestions!

You can also post your questions about Wio Terminal here. In case of anyone having no idea of what Wio Terminal is, let’s take a look at it together first!

A Brief Introduction of Wio Terminal

Wio Terminal is a simple and tiny device to build I/O with the physical world. It is an ATSAMD51-based microcontroller with wireless connectivity supported by Realtek RTL8720DN.

∙Equipped with a 2.4” LCD Screen, onboard accelerometer, microphone, buzzer, microSD card slot, light sensor, and an infrared emitter.

∙Built with Microchip ATSAMD51P19, ARM Cortex-M4F, 4 MB External Flash, 192 KB RAM.

∙Powered by Realtek RTL8720DN: Dual Band 2.4Ghz / 5Ghz Wi-Fi (802.11 a/b/g/n), BLE / BLE 5.0.

∙Raspberry Pi 40-pin compatible.

∙Support Arduino, MicroPython, ArduPy, AT Firmware

About Author


March 2020