Skip to content

Wio Terminal Specifications

spano edited this page Jun 26, 2023 · 17 revisions

The Wio Terminal developed by Seeed Studio is a microcontroller powered by a ATSAMD51P19 microchip (SAMD-51 series) with a core running at 120MHZ. Relevant further specifications will be outlined below, and a comprehensive list can be found by Seeed Studio

Main Chip

Memory

The Wio Terminal's main chip has a Program Memory size of 512KB, of which the program sketch occupies roughly 202KB (39%).

It has a RAM size of 192KB. This specification caused some difficulties during development due to the higher memory demanded by using some of the more resource-intensive libraries in conjunction like rpcWifi and the sprite drawing functions of TFT_esPI in conjunction. These difficulties are outlined in the Sprint #2 Challenges.

It also has a Flash Memory size of 4MB, which the program can optionally use to store data that would ordinarily not persist after powering the Wio Terminal off and on again. This functionality is achieved by using the external FlashStorage_SAMD library, which enables writing to SAMD51 boards' flash storage using emulated-EEPROM.]

NOTE: flash memory has a limited amount of write cycles (estimated at around 10,000 writes) before "wearing out" and beginning to lose the ability to retain data. However, the Terminarium program sketch only writes when the user inputs their own custom network information from the Wio Terminal itself, so expending the available write cycles occurs at a negligible rate. Users can opt out of flash storage saving functionality by modifying the program sketch, either by commenting out line 212 of user_input.cpp or by manually changing network info under mqtt.cpp when desired.

LCD Screen

The Wio Terminal has a 2.4 inch, 320 x 240 LCD display with a backlight. The display is made use of by the Terminarium program user interface. The program draws directly to the screen RAM using functions from the TFT_esPI library. It does not make use of the library's sprite and screen buffer features due to the technical memory limitations of the hardware (see Sprint #2 Challenges).

Connectivity

The Wio Terminal supports WiFi connectivity, including dual band 2.4Ghz and 5Ghz networking. Using the rpcWifi external library in conjunction with the PubSubClient, the program utilises this WiFi support to establish connection with the MQTT broker and transmit sensor data to the system's web-application software component. As stated before, utilising a WiFi library adds considerable load on the Wio Terminal's memory, as is outlined in the Sprint #2 Challenges.

Operation Interface

Power / Reset Switch

The power switch is located on the left side of the Wio Terminal. At top position, the terminal is powered off, and in the middle position it is powered on. When powered on, it can be briefly flicked downwards once to the bottom position to reboot the system. Flicking twice in succession enters the bootloader, which then requires the program sketch to be reuploaded.

5-Way Thumbstick Switch

Used by the program to navigate the user interface. The 5-way switch corresponds to directions RIGHT, LEFT, UP, DOWN and MID (pressing down down the button). It is located on the front side, bottom right of the Wio Terminal.

I/O Interface

Grove Ports

The board has 2 multifunction grove connectors that allow simple connection of peripheral modules without the use of pins. One is a default I2C port and a configurable Digital/Analog pin. Since our sensors are not I2C-compatible, only the D/A port is used by our system.

General Purpose Input/Output (GPIO)

The board has a 40-pin GPIO. Due to the limited amount of available grove ports (only 1), our system makes use of these connectors for 4 sensors. These sensors do not make use of See the list of sensors below for the pin layout.

USB Type-C Port

The Wio Terminal has a USB Type-C port for attaching it to a power source and for installing the program sketch.

System Sensors

The system makes use of the following grove sensors connected to the Wio Terminal. Grove connectors have four colour-coded pins:

  • BLACK for Ground (GND)
  • RED for Power, 5V/3.3V (VCC)
  • YELLOW for primary digital input/output (Dn)
  • W HITE for secondary digital input/output (Dn+1)

Note that the grove sensors in our system only make use of 3 pins, therefore the white cable is unconnected.

Grove - Temperature&Humidity Sensor (DHT11) (link)

  • Output signal: Digital
  • Pin layout: connected to Digital grove port
  • Defined as pin D0

Measures temperature using a negative temperature coefficient (NTC) thermistor and relative humidity using a capacitive sensor element. The output provided is pre-calibrated, and use is made of the DHT-Sensor-Non-Blocking external library to parse the raw data. The sensor is limited in that it does not work for temperatures below 0 degrees Celcius.

Grove - Vibration Sensor(SW-420) (link)

  • Output signal: Digital
  • Pin layout: BLACK - 14 / RED - 2 (5V) / YELLOW - 16
  • Defined as pin D2

Measures vibration occurrences through a circuit interruption system. When not vibrating, the circuit is turned on and output HIGH; when vibration occurs, the circuit will disconnect and output LOW briefly for the duration of the vibration. Sensitivity of the sensor can be adjusted manually by screwing/unscrewing the potentiometer element on the physical sensor. The sensor is limited in that it is non-directional, but that is unnecessary for its intended function.

Grove - Moisture Sensor (link)

  • Output signal: Analog
  • Pin layout: BLACK - 6 / RED - 4 (5V) / YELLOW - 18
  • Defined as pin A3

Measures moisture of soil substrate and the general presence of water around the sensor. Raw data output can range from 0 to 950, but the program parses the raw data by mapping it to a % value out of 100.

Grove - Light Sensor v1.2 (link)

  • Output signal: Analog
  • Pin layout: BLACK - 9 / RED - 1 (3V3) / YELLOW - 22
  • Defined as pin A4

Measures light intensity levels using a photo-resistor. As light level increases, the resistance of the photo-resistor decreases, and a corresponding voltage is produced. The output signal is an analog value that increases and decreases in direct relationship with light intensity. The program parses the raw data by mapping it to a % value out of 100.

Grove - Loudness Sensor (link)

  • Output signal: Analog
  • Pin layout: BLACK 25 / RED - 17 (3V3) / YELLOW - 32
  • Defined as pin A5

Measures sound levels of the environment using an amplifier and a microphone. The microphone records noise as a high frequency signal that is received by the amplifier and filtered (to avoid unnecessary signal disturbances). The output value increases and decreases in direct relationship with sound levels. The program parses the raw data by mapping it to a % value out of 100.