Skip to main content

Get Started with Wio Terminal

The Wio Terminal is a SAMD51-based microcontroller with Wireless Connectivity powered by Realtek RTL8720DN that’s compatible with Arduino and MicroPython. Currently, wireless connectivity is only supported by Arduino. It runs at 120MHz (Boost up to 200MHz), 4MB External Flash and 192KB RAM. It supports both Bluetooth and Wi-Fi providing backbone for IoT projects. The Wio Terminal itself is equipped with a 2.4” LCD Screen, onboard IMU(LIS3DHTR), Microphone, Buzzer, microSD card slot, Light sensor, and Infrared Emitter(IR 940nm). On top of that, it also has two multifunctional Grove ports for Grove Ecosystem and 40 Raspberry pi compatible pin GPIO for more add-ons.

Feature

  • Highly Integrated Design
    • MCU, LCD, WIFI, BT, IMU, Microphone, Speaker, microSD Card, Light Sensor, 5-Way Switch, Infrared Emitter (IR 940nm), Crypto-authentication Ready
  • Powered by Microchip ATSAMD51P19
    • ARM Cortex-M4F core running at 120MHz(Boost up to 200MHz)
    • 4 MB External Flash, 192 KB RAM
  • Comprehensive Protocol Support
    • SPI, I2C, I2S, ADC, DAC, PWM, UART(Serial)
  • Powerful Wireless Connectivity (supported only by Arduino)
    • Powered by Realtek RTL8720DN
    • Dual Band 2.4Ghz / 5Ghz Wi-Fi (802.11 a/b/g/n)
    • BLE / BLE 5.0
  • USB OTG Support
    • USB Host
    • USB Client
  • Grove Ecosystem
  • Software Support
    • Arduino
    • MicroPython
    • ArduPy
    • AT Firmware

Specification

Main ChipManufacturer Part NumberATSAMD51P19
Core ProcessorARM® Cortex®-M4F
CPU Speed120MHz(Boost up to 200MHz)
Program Memory Size512KB
External Flash4MB
RAM Size192KB
Operating Temperature-40°C ~ 85°C (TA)
LCD ScreenResolution320 x 240
Display Size2.4 inch
Driver ICILI9341
Wireless connectivityManufacturer Part NumberRTL8720DN
KM4 CPUARM® Cortex®-M4F
KM0 CPUARM® Cortex®-M0
Wi-Fi802.11 a/b/g/n 1x1, 2.4GHz & 5GHz
BluetoothSupport BLE5.0
Hardware EngineAES/DES/SHA
Built-in ModulesAccelerometerLIS3DHTR
Microphone1.0V-10V -42dB
Speaker≥78dB @10cm 4000Hz
Light Sensor400-1050nm
Infrared Emitter940nm
InterfacemicroSD Card SlotMaximum 16GB
GPIO40-PIN (Raspberry Pi Compatible)
Grove2 (Multifunction)
FPC20-PIN
USB Type-CPower & USB-OTG
Operation interface5-Way Switch/
Power/Reset Switch/
User Defined Button *3/
EnclosureDimension72mm*57mm*12mm
MaterialsABS+PC

Hardware Overview

Pinout Diagram

Getting Started

Hardware

Materials required

  • Wio Terminal x 1
  • Computer x 1
  • USB Type-C Cable x 1

Connect the Wio Terminal to your computer via USB cable. The blue LED on the back should light up.

Software

  • Step 1. You need to Install an Arduino Software.

Launch the Arduino application

Double-click the Arduino IDE application you have previously downloaded.

note
If the Arduino Software loads in a different language, you can change it in the preferences dialog. See the [Arduino Software (IDE) page](https://www.arduino.cc/en/Guide/Environment#languages) for details.
  • Step 2. Open the Blink example

Open the LED blink example sketch: File > Examples >01.Basics > Blink.

Blink Path
  • Step 3. Add the Wio Terminal Board Library

1.Open your Arduino IDE, click on File > Preferences, and copy below url to Additional Boards Manager URLs:

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

2.Click on Tools > Board > Board Manager and Search Wio Terminal in the Boards Manager.

The keyword is Wio Terminal
  • Step 4. Select your board and port
    You'll need to select the entry in the Tools > Board menu that corresponds to your Arduino. Selecting the Wio Terminal.
Choose the right board

Select the serial device of the Wio Terminal board from the Tools -> Port menu. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports). To find out, you can disconnect your Wio Terminal board and re-open the menu; the entry that disappears should be the Arduino board. Reconnect the board and select that serial port.

note
For Mac User, it will be something like `/dev/cu.usbmodem141401`
Choose the right port
  • Step 5. Upload the program

Now, simply click the Upload button in the environment. Wait a few seconds and if the upload is successful, the message "Done uploading." will appear in the status bar.

Upload the code

A few seconds after the upload finishes, you should see the LED at the bottom of the Wio Terminal start to blink. If it does, congratulations! You've gotten Wio Terminal up-and-running. If you have problems, please see the FAQ suggestions.

If you are not able to upload the sketch, mostly it's because Arduino IDE was not able to put Wio Terminal to bootloader mode. (Because MCU was halted or your program handling USB,) Workaround is putting your Wio Terminal to bootloader mode manually, as shown in FAQ.

Please feel free to go though other tutorials of Wio Terminal and start building your IoT projects!

FAQ

Reset Wio Terminal:

Enter Bootloader:

This is very useful when Wio Terminal crashes or somehow USB serial is not showing up in Arduino IDE. Slide the switch twice very quickly, as followed:

Once Wio Terminal is in the Bootloader mode, the blue LED will start to breath in a way that is different to blinking. Check the port again and it should appeared.

Test with SWD

There are two ways to use SWD to test and debug with Wio Terminal:

From the back of the PCB testing ports.

On the left is the testing ports for ATSAMD51:

  • SWCLK
  • SWDIO
  • SWO
  • RST
  • GND
  • 3V3

On the right is the testing ports for RTL8720DN:

  • CHIP
  • RXD
  • TXD
  • GND
  • 3V3

If you have very frequent debugging needs, you can add SWD debugging to one of the Grove interfaces in the following ways:


The picture shows the two unmounted resistor positions. You can connect these two pads by soldering a 0 ohm resistor or shorting it. This will connect the SWD interface (SWDIO / SWCLK) of ATSMAD51 to Grove in parallel on the interface.

After our test, the SWD interface is connected in parallel in this way. When powering on and resetting, you need to make sure that the Grove interface is not connected to any Grove module (the module may have pull-up / pull-down resistors, which will affect it), otherwise it will Enter SWD mode directly and cannot run in normal mode (that is, SWDCLK cannot be pulled low during power-on or reset)

In addition to power-on and reset, when using SWD, Digital, Analog, Serial, I2C, there will be no interference, you can switch at any time, but in order to avoid possible problems, we still recommend removing this after completing the program debugging Connection of two pads.

Library File Name Conflicts

After you install seeed-arduinocore-samd, the core will download some library files to drive different devices at the same time, such as TFT_eSPI.h, etc. When you upload the program, an error will occur and the compiler will prompt you that multiple library files are found. E.g:

Multiple libraries were found for "TFT_eSPI.h"

Used: C:\Users\Dave\Documents\Arduino\libraries\TFT_eSPI-master

Not used: C:\Users\Dave\AppData\Local\Arduino15\packages\Seeeduino\hardware\samd\1.8.2\libraries\Seeed_Arduino_LCD

If you use a seeed-SAMD device, please select and use the library file in the seeed folder and move the conflicting library file out of the arduino library.

When you use other devices, please remove the library files in the seeed folder and keep the compiler calling only one library file. This can solve the incompatibility problem caused by different versions of library files with the same name.

You may refer to the specific library lists here: https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/libraries

Wio Terminal Classroom

Lesson 1 - Hello World

Lesson 2 - Drawing Shapes

Lesson 3 - Displaying Fonts

Lesson 4 - Displaying Images and Simple UI

Lesson 5 - Line Charts and Histograms

Lesson 6 - Using Grove Modules

Lesson 7 - Communication Protocols

Lesson 8 - Built-In Hardware/Sensors Part 1 | 3 Buttons & 5-Way Switch

Lesson 9 - Built-In Hardware/ Sensors Part 2 | Microphone & Buzzer

Lesson 10 - Built-In Hardware/ Sensors Part 3 | Accelerometer & Light Sensor

Lesson 11 - Build a TV Remote using the built-in IR Emitter

Lesson 12 - Smart Garden Project using Wio Terminal

Lesson 13 - Use Wio Terminal as a Mouse for PC

Lesson 14 - Use Wio Terminal as a Keyboard for PC

Wio Terminal in Deep Learning supproted by CAVEDU Education

[Chinese] Here is a series of videos on how do you apply deep learning in Wio Terminal.

Resources

your-image-description

Open Source hardware

This product is fully open-sourced. Access the related open-source documents through this link.

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...