boards/seeed/wio_terminal/doc/index.rst
.. zephyr:board:: wio_terminal
Overview
The Wio Terminal is a small (72 mm x 57 mm x 12 mm) and powerful ARM board with wireless connectivity (2.4G/5G dual-band Wi-Fi and BLE 5.0), LCD display, USB C port, FPC connector, microSD card slot, Raspberry Pi compatible 40-pins header and 2 Grove connectors.
Hardware
.. zephyr:board-supported-hw::
Zephyr can use the default Cortex-M SYSTICK timer or the SAM0 specific RTC.
To use the RTC, set :kconfig:option:CONFIG_CORTEX_M_SYSTICK=n and set
:kconfig:option:CONFIG_SYS_CLOCK_TICKS_PER_SEC to no more than 32 kHZ divided
by 7, i.e. no more than 4500.
The Wio Terminal Getting started guide_ has detailed information about the
board including pinouts_ and its schematics_.
The SAMD51 MCU is configured to use the 32.768 kHz internal oscillator with the on-chip PLL generating the 120 MHz system clock.
Zephyr console output is available using the USB connector, which is used to make the console available on PC as USB CDC class.
The SAMD51 MCU has a USB device port that can be used to communicate with a
host PC. See the :zephyr:code-sample-category:usb sample applications for more, such as the
:zephyr:code-sample:usb-cdc-acm sample which sets up a virtual serial port that echos
characters back to the host PC.
Programming and Debugging
.. zephyr:board-supported-runners::
The Wio Terminal ships with an UF2 bootloader that is BOSSA compatible. The bootloader can be entered by quickly tapping the reset button twice.
The UF2 file is generated when building the application, and it is possible to use it to flash the target. Enter the bootloader by quickly sliding the power button twice, and copy the UF2 file to the USB mass storage device. The device reboots on the new firmware after the UF2 file has finished transferring.
#. Build the Zephyr kernel and the :code:button sample application:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: wio_terminal :goals: build :compact:
#. Swipe the reset/power button down twice quickly to enter bootloader mode
#. Flash the image:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: wio_terminal :goals: flash :compact:
You should see the blue (user) LED flashing whenever you press the third (counting from the top left) user button at the top of the Wio Terminal.
In addition to the built-in bootloader, the Wio Terminal can be flashed and debugged using an SWD probe such as the Segger J-Link.
#. Solder cables to the :code:SWCLK, :code:SWDIO, :code:RESET,
:code:GND, and :code:3V3 pins. See Test with SWD_ for more
information.
#. Connect the board to the probe by connecting the :code:SWCLK,
:code:SWDIO, :code:RESET, :code:GND, and :code:3V3 pins on the
Wio Terminal to the :code:SWCLK, :code:SWDIO, :code:RESET,
:code:GND, and :code:VTref pins on the J-Link_.
#. Flash the image:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: wio_terminal :goals: flash :flash-args: -r openocd :compact:
#. Start debugging:
.. zephyr-app-commands:: :zephyr-app: samples/basic/button :board: wio_terminal :goals: debug :compact:
References
.. target-notes::
.. _Wio Terminal Getting started guide: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/
.. _pinouts: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/#pinout-diagram
.. _schematics: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/#resources
.. _Test with SWD: https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/#test-with-swd
.. _J-Link: https://www.segger.com/products/debug-probes/j-link/technology/interface-description/