-
Notifications
You must be signed in to change notification settings - Fork 2
Wio Terminal Specifications
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
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.
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).
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.
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.
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.
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.
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.
The Wio Terminal has a USB Type-C
port for attaching it to a power source and for installing the program sketch.
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.
Terminarium Wiki 2023
, DIT113, University of Gothenburg | Chalmers University of Technology, Sweden