Board tour: play with the real thing first
Module 1 — Existing UI-based Application · Slides: slides.md · Module overview · Course page
Play with the menus that ship on the board before you write your first line of code, then match each menu to the sensor it reads, and find the page where your own code will appear.
Objectives
Section titled “Objectives”By the end of this lesson you will be able to:
- Identify the sensors used by the Home menu (the Sensor Live panel), Sensor Dashboard and Smart Watch correctly for at least three menus, by tilting, turning and touching the board and turning the knob on the real board or the Emulator
- State that the Controls, Audio Player and TESAIoT Connectivity menus exist only on the Eva Kit, and choose the alternative on the Dev Kit
- Explain why the BENTO Playground page must be left open before you send code from BENTO IDE
Before you start
Section titled “Before you start”There is no code to write in this lesson. Get a notebook or a file ready as your own learning log (the slides tell you from time to time what to record). If you have no board, open the BENTO Emulator in BENTO IDE and you can follow almost every step.
- Equipment: an Eva Kit or TESAIoT Dev Kit board with the BENTO MicroPython firmware installed, or the BENTO Emulator in BENTO IDE
See it work first
Section titled “See it work first”Switch the board on and stay on the Home page for now; do not open any menu yet. Tilt the board, turn it, touch the touch pads and turn the knob, then watch the Sensor Live panel in the top-right corner of the screen. These values are already moving even though there is not a single line of our code yet, because the firmware reads the sensors all the time.
Concepts
Section titled “Concepts”The board in this course has every part a real AIoT system needs: a motion sensor (IMU), a compass, touch buttons (CapSense), a knob, a touch screen, a microphone and a WiFi radio. The menus that ship on the board are the “destination” that we will gradually build ourselves throughout the course. So playing first is not a waste of time: it is seeing the target before you set off.
The tour has three rounds. Round one is the Home page and the Sensor Live panel. Round two is the three menus you must play through fully (Controls, Sensor Dashboard, Smart Watch). Round three is the menus you need to know exist (Audio Player, Wi-Fi Setting, BENTO Playground, TESAIoT Connectivity). While you play, ask yourself every time which sensor the value on the screen comes from.
The two boards use the same code, but their Home pages are not the same: the Dev Kit has no Controls, Audio Player or TESAIoT Connectivity card. Teams with a Dev Kit will instead see a real light switched on by their own code in lesson 1.3.
The most important page for us is BENTO Playground. The result of code sent from BENTO IDE appears on this page. If it is not left open before you send the code, it will look as if you sent it and nothing happened.
Worked example
Section titled “Worked example”The slides for this lesson also refer to files that live in other lessons:
- m01-ui-application/l03-inside-the-box/examples/11_lights_and_a_button.py — real lights and a real button, controlled from one line of Python
- m01-ui-application/l03-inside-the-box/examples/15_one_number_many_faces.py — a single number, and ten ways the screen can tell it
Check your understanding
Section titled “Check your understanding”The same questions are in quiz.yaml for automatic marking.
-
On the Home page you turn the board around on the spot without tilting it. Which row of the Sensor Live panel should change most clearly? (choose one · objective 1)
- A) Comp (compass)
- B) Touch
- C) Pot
- D) No row changes, because no code has been written yet
Solution
A — Turning on the spot changes the direction the board faces, so the compass (Comp) changes. These values are already moving without any code of ours, because the firmware reads the sensors all the time.
-
Which menus use data from the motion sensor (IMU)? Choose every correct answer. (choose all that apply · objective 1)
- A) Sensor Dashboard (the chart that ripples when you shake the board)
- B) Smart Watch (the step counter)
- C) The IMU row of the Sensor Live panel on the Home page
- D) Wi-Fi Setting
Solution
A, B, C — The Sensor Dashboard chart, the Smart Watch step counter and the IMU row of Sensor Live all come from the same acceleration sensor. Wi-Fi Setting uses the radio, not a sensor.
-
Your team has a TESAIoT Dev Kit and cannot find the Controls card on the Home page. Which statement is correct? (choose one · objective 2)
- A) The board is broken and needs new firmware
- B) The Dev Kit has no such card; watch a real light switched on by the example code in lesson 1.3 instead
- C) You must connect to WiFi before the card appears
- D) You must insert an SD card first
Solution
B — Controls, Audio Player and TESAIoT Connectivity exist only on the Eva Kit. The two boards use the same code, so Dev Kit teams see a real light switched on by their own code instead.
-
You press Program to Device in BENTO IDE and the board’s screen shows nothing at all. What should you check first? (choose one · objective 3)
- A) Whether the BENTO Playground page is left open on the board
- B) Switch to the C language
- C) Reset the board to factory settings
- D) Connect the board to WiFi
Solution
A — The result of code sent from the IDE appears on the BENTO Playground page. If the board is sitting on another page, it will look as if you sent the code and nothing happened.
The three-round tour (about 30 minutes). Do it on the real board or the Emulator and write it down in your learning log.
- Round 1: on the Home page, tilt, turn, touch, slide a finger along the slider and turn the knob, then note which rows of Sensor Live change
- Round 2: Controls (Eva Kit): touch the circles and watch the real LEDs · Sensor Dashboard: shake the board and watch the chart · Smart Watch: swipe to change pages
- Round 3: open Audio Player, Wi-Fi Setting, BENTO Playground and TESAIoT Connectivity (if present) to learn where they are
- Make a three-column table in your learning log: menu · sensor used · what you see on the screen, with at least five rows
Going further
Section titled “Going further”Next lesson: Lesson 1.2 — First lines on screen: the lcd and ui modules
Reflect
Section titled “Reflect”- Which menu do you think you could use in your own work right away, and what would you still need to add?
- The dashboards of older cars had a real knob for everything. When everything moved onto a single screen, what was lost?
Review questions
Answer on your own first, then open the answer.
-
On the Home page you rotate the board flat on the desk without tilting it. Which Sensor Live row should change most? (Objective 1)
- Comp (เข็มทิศ)
- Touch
- Pot
- ไม่มีแถวไหนเปลี่ยน เพราะยังไม่ได้เขียนโค้ด
Show answer
Answer: A. Comp (เข็มทิศ)
การหมุนรอบตัวเองเปลี่ยนทิศที่บอร์ดหัน เข็มทิศ (Comp) จึงเปลี่ยน ส่วนค่าพวกนี้วิ่งอยู่แล้วโดยไม่ต้องมีโค้ดของเรา เพราะเฟิร์มแวร์อ่านเซนเซอร์ให้ตลอดเวลา
-
Which menus use data from the motion sensor (IMU)? Choose all that apply. (Objective 1)
- Sensor Dashboard (กราฟที่กระเพื่อมเมื่อเขย่าบอร์ด)
- Smart Watch (ตัวนับก้าว)
- แผง Sensor Live แถว IMU บนหน้า Home
- Wi-Fi Setting
Show answer
Answer: A. Sensor Dashboard (กราฟที่กระเพื่อมเมื่อเขย่าบอร์ด) · B. Smart Watch (ตัวนับก้าว) · C. แผง Sensor Live แถว IMU บนหน้า Home
กราฟของ Sensor Dashboard, ตัวนับก้าวของ Smart Watch และแถว IMU ของ Sensor Live มาจากเซนเซอร์ความเร่งตัวเดียวกัน ส่วน Wi-Fi Setting ใช้วิทยุ ไม่ใช่เซนเซอร์
-
Your team has a TESAIoT Dev Kit and cannot find the Controls card on Home. Which statement is correct? (Objective 2)
- บอร์ดเสีย ต้องลงเฟิร์มแวร์ใหม่
- Dev Kit ไม่มีการ์ดนี้ ให้ดูไฟจริงติดจากโค้ดตัวอย่างในบทเรียน 1.3 แทน
- ต้องต่อ WiFi ก่อน การ์ดจึงจะขึ้น
- ต้องเสียบ SD card ก่อน
Show answer
Answer: B. Dev Kit ไม่มีการ์ดนี้ ให้ดูไฟจริงติดจากโค้ดตัวอย่างในบทเรียน 1.3 แทน
Controls, Audio Player และ TESAIoT Connectivity มีเฉพาะบน Eva Kit สองบอร์ดใช้โค้ดชุดเดียวกัน ทีม Dev Kit จึงเห็นไฟจริงติดจากโค้ดของตัวเองแทน
-
You press Program to Device in BENTO IDE and nothing appears on the board. What should you check first? (Objective 3)
- เปิดหน้า BENTO Playground ค้างไว้บนบอร์ดแล้วหรือยัง
- เปลี่ยนไปใช้ภาษา C
- รีเซ็ตบอร์ดกลับค่าโรงงาน
- ต่อ WiFi ให้บอร์ด
Show answer
Answer: A. เปิดหน้า BENTO Playground ค้างไว้บนบอร์ดแล้วหรือยัง
ผลของโค้ดที่ส่งจาก IDE ไปโผล่ที่หน้า BENTO Playground ถ้าบอร์ดค้างอยู่หน้าอื่น จะดูเหมือนส่งแล้วไม่มีอะไรเกิดขึ้น
Cite this lesson
If you teach from this lesson or reuse it in slides or documents, credit it with the text below. If you changed it, add (adapted) after the title.
"Board tour: play with the real thing first" 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
Thai attribution: "ทัวร์บอร์ด: เล่นของจริงก่อน" จาก TESA Open Knowledge โดยสมาคมสมองกลฝังตัวไทย (Thai Embedded Systems Association: TESA) https://github.com/tesaiot/tesa-qualification-program สัญญาอนุญาต CC BY-NC 4.0
Lesson link: https://tesaiot.github.io/tesa-qualification-program/en/courses/aiot-micropython/m01-ui-application/l01-board-tour/
This lesson adapts the source below; keep its credit too.
https://github.com/Advance-Innovation-Centre-AIC/embedded-systems-for-aiot-developer/blob/a80bbe88a34bcb9bb8d991f42f9252b77cdab079/session-01.html (slides 1–7)
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