{"id":16436,"date":"2021-02-10T16:27:22","date_gmt":"2021-02-10T21:27:22","guid":{"rendered":"https:\/\/scruss.com\/blog\/?p=16436"},"modified":"2021-03-06T08:38:43","modified_gmt":"2021-03-06T13:38:43","slug":"seeedstudio-wio-terminal","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2021\/02\/10\/seeedstudio-wio-terminal\/","title":{"rendered":"SeeedStudio Wio Terminal"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"835\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm-1024x835.jpg\" alt=\"Small screen device showing geometric pattern\" class=\"wp-image-16600\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm-1024x835.jpg 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm-320x261.jpg 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm-160x130.jpg 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm-768x626.jpg 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wioterm.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Wio Terminal displaying \u00e2\u20ac\u00a6 some kind of nonsense of mine<\/figcaption><\/figure>\n\n\n\n<p>Some months ago, when Chloe from <a href=\"https:\/\/www.seeedstudio.com\/\">Seeed Studio<\/a> got in touch and asked me if I&#8217;d like to write about their new <a href=\"https:\/\/www.seeedstudio.com\/Wio-Terminal-p-4509.html\">Wio Terminal<\/a> device, I didn&#8217;t waste any time in saying yes. I mean, would you say no to all of this?<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>120 \/ 200 MHz ARM Cortex-M4F core (MicroChip ATSAMD51P19: 512 KB Flash, 192 KB RAM) with additional 4 MB Flash program\/data storage and micro-SD card slot;<\/li><li>2.4&#8243; 320 \u00c3\u2014 240 colour screen;<\/li><li>Realtek RTL8720DN wifi \/ Bluetooth transceiver;<\/li><li>buttons, joystick, accelerometer, RGB LED, light sensor and IR transmitter;<\/li><li>neat case (72 \u00c3\u2014 57 \u00c3\u2014 10.4 mm) with magnetic and screw mounts;<\/li><li><a href=\"https:\/\/wiki.seeedstudio.com\/Grove_System\/\">Grove<\/a> connectors for wiring free sensor mounting.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"581\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals-1024x581.jpg\" alt=\"Wio Terminal internals\" class=\"wp-image-16485\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals-1024x581.jpg 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals-320x182.jpg 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals-160x91.jpg 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals-768x436.jpg 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-internals.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Wio Terminal internals (from <a href=\"https:\/\/files.seeedstudio.com\/wiki\/Wio-Terminal\/res\/Wio-Terminal-User-Manual.pdf\">Wio Terminal User Manual<\/a>)<\/figcaption><\/figure>\n\n\n\n<p>It&#8217;s got a Raspberry Pi-type header that claims compatibility. The documentation for all the ports is a cut above the usual no-name ESP8266 \/ STM32 stuff:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"513\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-1024x513.jpg\" alt=\"Wio Terminal pinout\" class=\"wp-image-16486\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-1024x513.jpg 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-320x160.jpg 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-160x80.jpg 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-768x385.jpg 768w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout-1200x601.jpg 1200w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2020\/09\/Wio-Terminal-Pinout.jpg 1360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Wio Terminal pinout (from <a href=\"https:\/\/files.seeedstudio.com\/wiki\/Wio-Terminal\/res\/Wio-Terminal-User-Manual.pdf\">Wio Terminal User Manual<\/a>)<\/figcaption><\/figure>\n\n\n\n<p>The device is in a really tidy package. Its screen, although not a touchscreen, is super sharp.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio_pixels.jpg\" alt=\"individual pixels magnified from the Wio Terminal screen\" class=\"wp-image-16602\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio_pixels.jpg 800w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio_pixels-320x320.jpg 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio_pixels-160x160.jpg 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio_pixels-768x768.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption>The screen is very nice: individual pixels zoomed in<\/figcaption><\/figure>\n\n\n\n<p>There are three ways of programming the Wio Terminal:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Arduino<\/li><li>SeeedStudio&#8217;s own <a href=\"https:\/\/wiki.seeedstudio.com\/ArduPy\/\">ArduPy<\/a><\/li><li><a href=\"https:\/\/circuitpython.org\/\">CircuitPython<\/a><\/li><\/ol>\n\n\n\n<p>Each of these have pros and cons.<\/p>\n\n\n\n<p><strong>Arduino<\/strong> (<a href=\"https:\/\/wiki.seeedstudio.com\/Wio-Terminal-Getting-Started\/#software\">get started<\/a>)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>the fastest code execution: compiled ARM binary code<\/li><li>the only way to access wifi and Bluetooth (currently)<\/li><li>slow development cycle<br>(\u00e2\u20ac\u00a6 is it just me, or has the Arduino IDE got really \u00f0\u0178\u00a6\u00a5\u00f0\u0178\u00a6\u00a5\u00f0\u0178\u00a6\u00a5 recently?)<\/li><\/ul>\n\n\n\n<p><strong>ArduPy<\/strong> (<a href=\"https:\/\/wiki.seeedstudio.com\/Wio-Terminal-ArduPy\/\">get started<\/a>)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SeeedStudio&#8217;s own ingenious port of <a href=\"https:\/\/micropython.org\/\">MicroPython<\/a> to the Arduino API, as MicroPython doesn&#8217;t (yet) support the SAMD51 chip<\/li><li>Works almost, but not quite, exactly like you&#8217;d expect MicroPython to work<\/li><li>It&#8217;s a great and amazing effort, but it&#8217;s essentially a solo project, so documentation and examples are few.<\/li><\/ul>\n\n\n\n<p>CircuitPython (<a href=\"https:\/\/circuitpython.org\/board\/seeeduino_wio_terminal\/\">install<\/a>)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>developed and maintained by <a href=\"https:\/\/www.adafruit.com\/\">Adafruit<\/a> as a fork of an earlier version of MicroPython<\/li><li>very actively developed, with a huge library of supported devices.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"800\" src=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio-mandel.jpg\" alt=\"\" class=\"wp-image-16603\" srcset=\"https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio-mandel.jpg 1024w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio-mandel-320x250.jpg 320w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio-mandel-160x125.jpg 160w, https:\/\/scruss.com\/wordpress\/wp-content\/uploads\/2021\/02\/wio-mandel-768x600.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>CircuitPython text mode Mandelbrot set: about all I managed with that system. And yes, I did eventually take the screen protector sheet off<\/figcaption><\/figure>\n\n\n\n<p>Here&#8217;s the major problem I have with all of these development toolkits for the Wio Terminal: none of them provide high-level access to the device&#8217;s sensors and outputs. Compare this with Adafruit, who create things like the <a href=\"https:\/\/github.com\/adafruit\/Adafruit_CircuitPython_CircuitPlayground\">Adafruit_CircuitPython_CircuitPlayground<\/a> module. On that board, you can access the LEDs, speaker, etc without having to go back to the schematic to find out which pin each of them is connected to. Because of this, I&#8217;ve only been able to scratch the surface of what the Wio Terminal can do.<\/p>\n\n\n\n<p>In summary:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>It\u00e2\u20ac\u2122s really nicely made, and the \u00c2\u00b5C inside is very powerful<\/li><li>It\u00e2\u20ac\u2122s not too expensive: US $29<\/li><li>All of the software stacks aren\u00e2\u20ac\u2122t particularly mature<br>(but it\u00e2\u20ac\u2122s only been available since March 2020)<\/li><li>Documentation is at the \u00e2\u20ac\u0153datasheet + trial\/error\u00e2\u20ac\u009d stage<\/li><li>The 40-pin connector isn\u00e2\u20ac\u2122t completely compatible with Raspberry Pi:<ul><li>Serial RX\/TX aren\u00e2\u20ac\u2122t crossed<\/li><li>ILI9341 display isn\u00e2\u20ac\u2122t broken out to header<\/li><\/ul><\/li><li>\u00e2\u20ac\u00a6 although you can (and I verified this in a live demo at a user group) use a Wio Terminal as a tiny <strong>HMI (Human Machine Interface) USB display<\/strong> for Linux machines<\/li><\/ul>\n\n\n\n<p>The Wio Terminal is a little too powerful to be thought of as a simple micro-controller platform, but not quite powerful enough to be a standalone general purpose computer. I wish I could find a great application for it, though.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>This post is modified from the talk I gave to the Toronto Raspberry Pi Meetup group in December 2020: <em><a href=\"https:\/\/scruss.com\/blog\/2020\/12\/10\/raspberry-pi-meetup-tonight-the-seedstudio-wio-terminal\/\">SeeedStudio Wio Terminal: Applications with the Raspberry Pi<\/a><\/em>. Thanks to Chloe and all at SeeedStudio for sending it to me.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Seeed is the IoT hardware enabler providing services over 10 years that empower makers to realize their projects and products. Seeed offers a wide array of hardware platforms and sensor modules ready to be integrated with existing IoT platforms and one-stop\u00c2\u00a0PCB fabrication\u00c2\u00a0and\u00c2\u00a0PCB assembly service. Seeed Studio provides a wide selection of electronic parts including\u00c2\u00a0Arduino\u00c2\u00a0\u00c2\u00a0Raspberry Pi\u00c2\u00a0and many different development board platforms \u00c2\u00a0Especially the\u00c2\u00a0Grove System\u00c2\u00a0help engineers and makers to avoid jumper wires problems. Seeed Studio has developed more than 280 Grove modules covering a wide range of applications that can fulfill a variety of needs.\u00c2\u00a0<\/p><cite><a href=\"https:\/\/www.seeedstudio.com\/\">https:\/\/www.seeedstudio.com\/<\/a><\/cite><\/blockquote>\n\n\n\n<p><strong>Disclosure<\/strong>: SeedStudio sent me this unit free of charge.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some months ago, when Chloe from Seeed Studio got in touch and asked me if I&#8217;d like to write about their new Wio Terminal device, I didn&#8217;t waste any time in saying yes. I mean, would you say no to all of this? 120 \/ 200 MHz ARM Cortex-M4F core (MicroChip ATSAMD51P19: 512 KB Flash, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"SeeedStudio Wio Terminal: my extremely delayed review","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3239],"tags":[3259,2169,3256,3257],"class_list":["post-16436","post","type-post","status-publish","format-standard","hentry","category-semisponsored","tag-paid","tag-review","tag-seeed","tag-wio"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-4h6","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=16436"}],"version-history":[{"count":8,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16436\/revisions"}],"predecessor-version":[{"id":16607,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/16436\/revisions\/16607"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=16436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=16436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=16436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}