DEV Community

Cover image for ๐Ÿง  Building an Accessible Currency Detector for the Sri Lankan Visually Impaired with YOLOv8, ESP32-CAM & Audio Feedback
Mohamed Riham
Mohamed Riham

Posted on

๐Ÿง  Building an Accessible Currency Detector for the Sri Lankan Visually Impaired with YOLOv8, ESP32-CAM & Audio Feedback

I built a real-time Sri Lankan Rupee (LKR) currency detector using YOLOv8, ESP32-CAM, and DFPlayer Mini to provide audio feedback. The goal is to create a low-cost assistive tool that helps blind and visually impaired users identify money independently.


๐Ÿ’ก The Problem: Identifying Currency Without Sight

For many visually impaired individuals, identifying banknotes is a daily challenge.

While some mobile apps exist, they often require smartphones or lack support for local currencies. I wanted to build a dedicated embedded device โ€” simple, affordable, and tailored for Sri Lankan Rupees โ€” that gives instant audible feedback.


๐Ÿ”ง The Solution: YOLOv8 + Embedded Hardware

My project, Sri Lankan Currency Detector, combines modern computer vision with accessible hardware to deliver fast, reliable, and practical results.

1๏ธโƒฃ Real-Time Object Detection with YOLOv8

At the heart of the system lies the YOLOv8n model, chosen for its speed and accuracy.

  • Detects six denominations: Rs. 20, 50, 100, 500, 1000, and 5000.
  • Trained on a custom dataset of over 1,000 annotated images captured under various lighting and orientation conditions.
  • Optimized for real-time inference on lightweight systems.

2๏ธโƒฃ Live Video Capture with ESP32-CAM

To make the system portable and practical:

  • ESP32-CAM captures live video frames.
  • The feed is processed on a connected device (PC or Raspberry Pi).
  • Compact design ensures the system is lightweight and mobile.

3๏ธโƒฃ Audio Feedback via DFPlayer Mini

This turns the project from just a detection model into a true assistive technology.

  • When a note is detected, the DFPlayer Mini plays a pre-recorded audio clip (e.g., โ€œ100 Rupee note detectedโ€).
  • Provides instant audible feedback, allowing users to identify currency hands-free.

โš™๏ธ How It Works (Simplified Flow)

  1. Capture: ESP32-CAM captures the live video feed.
  2. Process: Frames are analyzed by the YOLOv8 model.
  3. Detect: The model identifies the denomination of the banknote.
  4. Announce: DFPlayer Mini plays the corresponding audio message.

(You can include a block diagram or workflow image here.)


๐Ÿงฉ Technical Challenges & Lessons Learned

  • Dataset Diversity: Collected images in various lighting and orientations to ensure robustness.
  • Model Optimization: YOLOv8n provided a great balance between speed and accuracy; quantization is a future step for full edge deployment.
  • Hardware Integration: Coordinating serial communication between ESP32-CAM and DFPlayer Mini required careful synchronization.

๐Ÿš€ Future Improvements

  • Quantized YOLOv8 model for direct on-device inference.
  • Multi-language audio support for wider accessibility.
  • 3D-printed enclosure for a portable, user-friendly design.

๐Ÿง  Try It Yourself!

All code, model weights, and dataset details are available on GitHub.

Iโ€™d love your feedback, suggestions, or collaboration ideas!

๐Ÿ”— GitHub: mohamed-riham/Sri-Lankan-Currency-Detector-YOLOv8

๐ŸŽฅ Demo Video: Watch on YouTube


๐Ÿ Conclusion

This project shows how AI and embedded systems can create real-world impact when applied thoughtfully. By combining YOLOv8 with ESP32-CAM and DFPlayer Mini, we can bring independence and accessibility to those who need it most.

If you enjoyed this project or have ideas for improvement, letโ€™s connect in the comments! ๐Ÿ‘‡


Tags:

deeplearning #computervision #yolov8 #esp32 #iot #accessibility #assistivetech #python #machinelearning #opensource #MohamedRiham #mohamedriham #riham

Top comments (0)