CircuitPython on Wio Terminal

This wiki introduce how to install and run the official CircuitPython by Adafruit Industries on the Seeeduino Wio Terminal!

CircuitPython is a programming language designed to simplify experimenting and learning to program on low-cost microcontroller boards. It makes getting started easier than ever with no upfront desktop downloads needed. Once you get your board set up, open any text editor, and get started editing code. For more info, please refer to here.

Installing CircuitPython

  • Download the official CircuitPython Bootloader for Seeeduino Wio Terminal. A .uf2 should be downloaded.

  • Plug-in the Seeeduino Wio Terminal to your PC via USB Type-C.

  • Entering the bootloader mode by sliding the power switch twice quickly. For more reference, please also see here.

  • An external drive named Arduino should appear in your PC. Drag the the downloaded CircuitPython uf2 files to the Arduino drive.
  • Once loaded the CircuitPython bootloader, unplug the USB Type-C and re-connect. A new external drive called CIRCUITPY should appear.
  • Now, CircuitPython is loaded on Seeeduino Wio Terminal! All you need to do it's to write you python program and name it main.py and drag it onto the CIRCUITPY drive.

You should also see the LCD on the Wio Terminal lights up, the CircuitPython also supports the native LCD display!

CircuitPython Basics

Running Blink using CircuitPython:

Note: simply copy and save the following code and name it main.py, and drag it to CIRCUITPY drive.

import time
import board
from digitalio import DigitalInOut, Direction

led = DigitalInOut(board.D13)
led.direction = Direction.OUTPUT

while True:
    led.value = True
    print("LED ON")
    led.value = False
    print("LED OFF")

You should see the built-in LED starts to blink!

Built-in Light Sensor

Run the following to obtain the built-in light sensor value:

import time
import board
from analogio import AnalogIn

analog_in = AnalogIn(board.LIGHT) # Light Sensor pin on Wio Terminal

def get_voltage(pin):
    return (pin.value * 3.3) / 65536

while True:
    print("Light Sensor Voltage: ", get_voltage(analog_in))

For more CircuitPython API reference, please visit CircuitPython Essentials.


Tech Support

Please submit any technical issue into our forum