When we talk about technology, hardware, or AI platforms, many people often think of them as cold, emotionless tools—smart, yes, but distant.
But what if we could flip that stereotype?
In this project, I wanted to explore how even the most emotionless components—sensors, screens, microcontrollers—can bring a little emotional value into our daily lives. By using a simple distance sensor and a Wio Terminal, I created a tiny device that lights up with a kind message every time someone walks by.
Because sometimes, a small reminder that “You are the best in the world” is all we need to brighten the day.
Project Summary- Platform: Wio Terminal (Arduino-compatible)
- Trigger: Ultrasonic proximity detection (< 50cm)
- Response: Display uplifting text (stored in an SD card)
- Skill level: Beginner
- Customisation: Easily replace text file with your own phrases
Connect the ultrasonic sensor to the Grove D0 port on your Wio Terminal using a Grove cable.
Prepare your SD card
- Format to FAT32
- Place a file named
text001.txt
in the root directory
Install the following libraries from the Arduino Library Manager:
TFT_eSPI
Ultrasonic
(by Seeed)Seeed Arduino LCD
Seeed Arduino FS
Seeed Arduino SFUD
Also, copy Free_Fonts.h
from the Seeed_Arduino_LCD/examples/All_Free_Fonts_Demo
folder into your sketch folder.
❌ Issue 1: Audio.h or AudioClass not found during compilation
Symptom:
The following error appears when compiling audio playback code:
error: 'Audio' does not name a type
Cause:
The Wio Terminal does not support the Seeed Arduino Audio library for direct audio playback.
Solution:
Audio playback was removed from the final implementation. Instead, motivational messages are displayed as text on the Wio Terminal screen.
❌ Issue 2: Free_Fonts.h not found during compilation
Symptom:
Compilation fails with the following error:
fatal error: Free_Fonts.h: No such file or directory
Cause:
The Free_Fonts.h file was not placed in the Arduino sketch directory.
Solution:
Manually copy Free_Fonts.h from the example folder:
Seeed_Arduino_LCD/examples/320 x 240/All_Free_Fonts_Demo/
Paste it into your sketch folder (the same folder as your.ino file), then restart the Arduino IDE.
❌ Issue 3: SD card file not opening
Symptom:
The Serial Monitor shows an error or fails silently when trying to open the text file from the SD card.
Cause:
Mismatch between the file name on the SD card and the name used in the code. For example, the actual file may be text001.txt while the code looks for text001.
Solution:
Use a file listing sketch to check the exact name of the file on the SD card. Ensure the code matches it exactly, including the.txt extension and case sensitivity.
❌ Issue 4: Text not displaying correctly (Chinese missing, English cut off)
Symptoms:
• Chinese characters do not appear at all.
• English text gets cut off, e.g. only shows You are the b....
Cause:
• Fonts like FreeSansBoldOblique24pt7b do not support Chinese characters.
• Large font sizes cause the text to exceed the screen width.
Solution:
• Replace Chinese text with English phrases.
• Switch to a smaller font, such as FreeSansBoldOblique12pt7b.
• Manually split long messages into two lines to ensure complete display.
Ideas for Expansion• Add a speaker module for voice encouragement
Connect an audio module like DFPlayer Mini, or use a development board that supports audio output, to play recorded voice messages when someone walks by. Examples: “You’re amazing!” or “Let’s crush it today!”
• Randomised message selection
Store multiple text or audio files and randomly pick one each time the sensor is triggered for added variation and surprise.
📚 References
Comments
Please log in or sign up to comment.