Skip to content

AIoT in Action: From Touch Screen to IoT Platform (MicroPython)

Adapted from AIoT in Action — Embedded Systems for AIoT Developer, © 2026 Assoc. Prof. Wiroon Sriborrirux, Embedded Systems Engineering, Department of Electrical Engineering, Faculty of Engineering, Burapha University (BUU), Advance Innovation Centre (AIC) · BENTO & TESAIoT (CC BY 4.0 / MIT)

Thai version: README.md. The lessons, slides and code comments are in Thai (technical terms and code in English).

Learn AIoT hands-on on the PSoC Edge boards — the Eva Kit or the TESAIoT Dev Kit — in MicroPython. You start by playing the apps that ship on the board, so you see where the course ends, then peel it open layer by layer until you can build the whole chain yourself:

touch screen → hardware → sensors → network → MQTT → IoT platform → your own product

The same example files run on both boards: the code asks the board how many LEDs it has, what its button is called and which sensors are present. No compiler, no C toolchain.

  • Anyone, including entrepreneurs, who wants to understand how an AIoT system works from the real thing
  • Software developers who know some Python and want to work with hardware, sensors and IoT
  • Engineering and science learners who want a hands-on start in embedded systems
  • Educators who want ready lessons with slides, code, practice files and solutions

You need basic Python (variables, if, loops, functions). No electronics background is required. You can learn alone or in a team of two to four per board.

  1. Explain how sensing, on-device decisions, the display and the destination platform share the work in an AIoT system, decide which work should stay on the board and which should leave it, and give at least one industrial example.
  2. Write MicroPython programs that drive the board’s hardware (LEDs, button, touch pads, analog input) and build a touch-screen UI whose on-screen state matches the real hardware in every test.
  3. Read sensor data (IMU, compass, CapSense, potentiometer), choose and apply a suitable filter, and design a real-time HMI dashboard that stays within its widget budget and update rate and runs for 10 minutes.
  4. Connect the board to WiFi, send and receive data over MQTT in both directions, and compare the port 1883 channel with TLS-encrypted MQTTs (serverTLS): what it protects and what it still does not.
  5. Assemble everything into an AIoT mini-product that solves one real problem, keeps working when the network drops, sends data in a schema you designed, and present it in 10 minutes.
  • A board: BENTO PSoC Edge Eva Kit (KIT_PSE84_EVAL_EPC2) or TESAIoT Dev Kit (KIT_PSE84_AI SoM on the QWA309 base) with the BENTO MicroPython firmware — or start without a board in the BENTO Emulator inside BENTO IDE (some lessons need the real board; see each lesson’s hardware line)
  • BENTO IDE — https://ide.tesaiot.dev/ write code and press Program to Device from the browser; the BENTO Emulator is built in
  • WiFi from lesson 1.4 (first connection) and throughout module 4 · networks that need a web login do not work for the board; use a phone hotspot
  • TESAIoT Community Edition for lessons 4.5–4.6 — a self-hosted IoT platform (https://github.com/tesaiot/tesaiot-community-edition) · a TESAIoT Platform account for MQTTs in lessons 4.7–4.9 (a self-installed CE cannot take MQTTs from the board; see lesson 4.7) · the other plain-MQTT lessons and the capstone use a public practice broker. When learning in a group, the organiser may prepare a broker and device identities for you
  • A notebook or file for your own learning log; the slides say what to record

Five modules, 36 lessons: about 36 hours as in the source course (twelve 3-hour sets); the lesson estimates add up to about 38 hours, 45–75 minutes per lesson. Lessons come in sets of three: concept → code walk-through → hands-on.

Module Lessons Hours (approx.) Topic
Module 1 — Existing UI-based Application 6 6.8 Meet the board through the apps it ships with, put your first lines on screen with lcd and ui, then send a value out over the network and take a command back.
Module 2 — UI-to-Hardware Interfacing 9 9.4 Drive LEDs and read the button with gpio, build a touch control panel that controls the real LEDs, then read the knob and CapSense and filter the signal.
Module 3 — Sensor Visualization on HMI 9 8.9 Turn acceleration into tilt, sample correctly and draw real-time charts, and assemble a four-card mini-HMI dashboard that keeps running.
Module 4 — IoT Platform Connectivity 9 9.4 Join WiFi and read the network, send telemetry and take commands over MQTT with a self-hosted platform, then move to MQTTs over TLS.
Module 5 — Capstone: AIoT Mini-Product 3 3.3 Start from a real problem, design with a canvas and a schema, assemble Sense → Decide → Show → Send into a mini-product that survives a network drop, and present it in 10 minutes.
All lessons

Module 1 — Existing UI-based Application

Module 2 — UI-to-Hardware Interfacing

Module 3 — Sensor Visualization on HMI

Module 4 — IoT Platform Connectivity

Module 5 — Capstone: AIoT Mini-Product

  • Content (slides, READMEs, own diagrams and screenshots) — CC BY-NC 4.0
  • Code (examples/, practice/, solution/, shared/) — MIT, Copyright (c) 2026 Wiroon Sriborrirux, Advance Innovation Centre (AIC), Burapha University (full licence text in the repository’s LICENSES/MIT.txt)
  • Third-party images keep their own licences; authors, sources and licences are listed in credits.yaml. Figures from Infineon’s board guide are used for teaching; rights remain with Infineon Technologies AG.

Adapted from AIoT in Action — Embedded Systems for AIoT Developer by Assoc. Prof. Wiroon Sriborrirux, Embedded Systems Engineering, Department of Electrical Engineering, Faculty of Engineering, Burapha University (BUU), Advance Innovation Centre (AIC) (repository @ a80bbe88 · slides site). The twelve decks were split into lessons, grouped into five modules, and the wording was adapted for a general audience. BENTO & TESAIoT.

When you use, adapt or redistribute this course or part of it, credit it as follows (add “(adapted)” after the title if you changed it, and keep the upstream AIC credit):

“AIoT in Action: From Touch Screen to IoT Platform (MicroPython)” from TESA Open Knowledge by the Thai Embedded Systems Association (TESA), https://github.com/tesaiot/tesa-qualification-program, licensed under CC BY-NC 4.0 · Adapted from AIoT in Action — Embedded Systems for AIoT Developer, © 2026 Assoc. Prof. Wiroon Sriborrirux, Embedded Systems Engineering, Department of Electrical Engineering, Faculty of Engineering, Burapha University (BUU), Advance Innovation Centre (AIC) · BENTO & TESAIoT (CC BY 4.0 / MIT)

Attribution does not mean that TESA or Infineon endorse or certify your course or work. “TESA”, “TQP” and “Certified by TESA and Infineon” are marks of the programme.

Companion videos for this course

Watch on YouTube (opens in a new tab)

Videos by Thai Embedded Systems Association (TESA) · The whole series in the playlist AIoT Foundation

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA