An application belonging to the MAEL project
Copyright (c) 2024 Yonnel Bรฉcognรฉe
MAEL Scan Pi is an embedded application on Raspberry Pi that allows students to scan QR codes created by their teacher with MAEL Gen and listen to their content ๐ without using a mobile phone.
Its interface is designed to be used by a child from age 4 ๐ถ.
The purpose of the phone-free version is to:
- avoid giving a phone to the hands (especially for younger students) ๐ต
- create a nice object representing the beginning of an important learning process (Pedagogical contract).
MAEL Scan Pi allows students without any โspeakerโ at home to listen to the language being studied within a pedagogical context prepared by their teacher ๐ฏ. It thus allows the teacher to boost language teaching ๐.
Potentially 55 languages can be implemented! ๐ฒ
๐ซ๐ท ๐ฌ๐ง ๐ช๐ธ ๐ต๐น ๐ง๐ท ๐ฎ๐น ๐ฉ๐ช ๐ท๐บ ๐ฏ๐ต ๐จ๐ณ ๐ฐ๐ท ...
See the MAEL Scan project
Usage should mimic the phone version as closely as possible.
See the MAEL Scan project
(To aid code comprehension)
The operating principle will be the same as the MAEL Scan phone project.
However, MAEL Scan Pi has specific hardware properties:
| Function | Chosen solution |
|---|---|
| Motherboard | Raspberry Pi 4 8GB |
| Operating system | Pi OS Debian V13 (trixie) |
| Text-to-speech | Piper TTS |
| Audio playback | aplay (Linux Bash) |
| UPS (battery management) | MakerFocus Raspberry Pi 4 Battery Pack UPS |
| Audio amplifier | LM386 |
| QR code scanner | Camera module V2.1 |
| QR code recognition | OpenCV |
| Display | WaveShare 2.7inch E-Ink Display HAT |
| Case | Recycled old modem case |
Strengths:
- Prototype to explore difficulties ๐ซฃ
Weaknesses:
- Bulky ๐ฆ
- Case not ergonomic
- QR codes hard to scan (must take a photo, send it to OpenCV which struggles to read the QR code...) ๐ซค
- Strong interference in the speaker (LM386 sensitive, without preamp)
โถ Dismantled to create version 2
| Function | Current solution | Price |
|---|---|---|
| Motherboard | Raspberry Pi 4 8GB |
$104 |
| Operating system | Pi OS Debian 13 (trixie) |
|
| Text-to-speech | Piper TTS | |
| Audio playback | aplay (Linux Bash) | |
| UPS (battery management) | MakerFocus Raspberry Pi 4 Battery Pack UPS | $33 |
| Audio amplifier | PAM8403 Mini Module | $1 |
| QR code scanner | Useful Sensors Tiny Code Reader | $11 |
| QR code lighting | 2 LEDs | |
| Display with 4 buttons | WaveShare 2.7inch E-Ink Display HAT | $23 |
| Case | Recycled old modem case | |
| Total: | +- $172 |
Strengths:
- Functional: QR codes easily scanned ๐
- Embedded text-to-speech (no internet connection required)
- Good battery life ๐
- Better sound quality ๐ต ๐
Weaknesses:
- Bulky
- Case not very ergonomic
- QR code limited to 254 bytes, i.e. 40 ASCII characters (less with accents or foreign characters...). This is a hardware limitation ๐ of the Tiny sensor. Insufficient!
- Occasional flaws in the Piper TTS voice ๐ (Creating our own voice model? It is possible)
โถ Functional, but the code is still messy
Under construction
| Function | Planned solution | Price |
|---|---|---|
| Motherboard | Raspberry Pi Zero 2W 512 MB (+ Zram) |
$22 |
| Operating system | Pi OS Debian Lite V13 (trixie) |
|
| Text-to-speech | GTTS (or text-to-speech service hosted on MAEL Phrase) | |
| Audio playback | MOC (Music On Console) + SOX | |
| UPS (battery management) | Uninterruptible Power Supply UPS HAT for Raspberry Pi Zero | $24 |
| Audio amplifier | mic+ (DAC + amp / speaker + jack output) | $35 |
| QR code scanner | GM861S-LED | $10 |
| QR code lighting | Integrated into the GM861S module | |
| Display | 2.13inch E-Paper HAT (B), 250x122, Red/Black/White, SPI interface | $15 |
| 6 "Touch" buttons | MPR121 V12 โ Capacitive Touch Sensor | $2 |
| 3D-printed case | PET from bottles | ? |
| Total: | +- $104 |
As there is no (yet) 3.52inch e-Paper Display (B), e-Ink Display, 360x240, Red/Black/White that is touch-enabled to display buttons directly on the screen, I opted for "touch sensor" type sensors placed inside the case.
I therefore chose a smaller (and cheaper) screen, but with 3 colors โซโช๐ด. Perfect for the MAEL logo ๐.
I ran a test: a large QR code (150px) can contain approximately 120 characters. This 5cm x 2.5cm screen would display this text at 11px, which is still acceptable. (Tests will be needed with a font size calculated based on the number of characters to display...)
Strengths:
- Smaller and lighter โ๏ธ
- Planned 3D-printed case
- 3-color screen!
- 6 touch buttons (capacitive, directly inside the case)
- Jack audio output! ๐ง
- Added feature: ability to scan a QR code generated by a phone ๐ฑ to share an internet Wi-Fi connection.
Weaknesses:
- Will require a connection for text-to-speech.
โถ I already have part of the hardware ๐ ๏ธ.
However, it is sometimes expensive ๐ธ and slow ๐ to get hardware shipped to Nicaragua ๐ณ๐ฎ (where I live).
๐๏ธ See the progress of the MAEL Scan Pi V3 configuration
- OS configuration
- CLI utilities
- Module installation...
The internal connections require a small custom-made connector (PCB).
Same as for MAEL Scan, but to be developed in Python on Raspberry Pi.
Maybe a FabLab ๐ฉ could participate? ๐
๐ To get information about how MAEL Scan Pi works ๐, write to me here:
๐ฌ mael@lvh.edu.ni
A big thank you to everyone who will contribute to this project!
| Avatar | Name | GitHub | Role |
|---|---|---|---|
![]() |
Bรฉcognรฉe Yonnel | @Yobeco | Maintainer |
![]() |
Padawan | @Nail-yk | Documentation translation |
| ... | ... | ... | Developer |
| ... | ... | ... | Maker |
The source code of the V2 prototype is still too messy for me to dare publish it in the repository. ๐
In fact, I am moving directly to version 3...








