7th May 2026
Hello my name is Chinna and this is my capstone project!
Electronic for human nourishment... inspired by Fluid interfaces, MIT media lab!
A Raspberry pi device dedicated to help user learn chinese This device was made to help user learn chinese by interacting with native chinese speaker in community of user's choice, instead of conventional memorization which is hard and time consuming!
It help user learn chinese by scanning text from captured image, usually from texting online. Then process and display a segmented chinese words on the screen, where user can tap to see full meaning in Thai, English and it's definition.
It is easy to use!
- You just open Raspberry Pi.
- You capture an image of online chinese word.
- You adjust preprocess of an image.
- You send to OCR.
- Now you got the RESULT!!!!
Google translate a sentence as a whole, where my device seperate each words into it's own part with it's own meaning and definition. This help user learn more words easily through actual human interaction.
Well good luck trying to learn by yourself without scrolling through TikTok or gaming 😂 Raspberry Pi also win on performance part. 💯
Problem with learning : Learning chinese solely with Google Translate is hard, because it doesn't give you a way to memorize mountains of characters and words individually and efficiently. It also distorted original meaning.
Why do i want to do it? : I am a self-taught english speaker so i realize that most effective way to learn a language for free is to apply it constantly over time. which mean talking or interacting with people and community online. conventional way is time consuming and painful.... And i also want to find more chinese friends! 😭
But how did i struggle with it? : This is my first ever real project and I'm scared of start building. Constant brainstorming caused burnouts for weeks and failed design after a month of working. But I eventually push through... and it's easier than i thought!
Main computing board : 1 Raspberry Pi 5 with 4GB RAM and heatsink with fan.
Camera : 1 Raspberry Pi Camera Module V2.
Power Supply : 1 UGREEN 67W PD powerbank.
Power Converter : 1 XL4016 Step-Down voltage DC-DC Buck Converter.
PD module Decoy : 1 Power Delivery Decoy.
Display Screen : 1 Raspberry Pi 7 inch DSI touchscreen (Not HDMI Compatible)
Clock Power Supply : 1 ML-2020 Lithium Manganese Dioxide Battery.
Memory and Reader : 1 microSD 64GB cards and a microSD card reader
Database : Cedict SQLite database.
UI framework : Tkinter with Tkinter-Designer.
OCR Engine : PaddleOCR PP-OCRv5.
Image Processing : OpenCV.
Capture : Capture an image with camera.
Preprocessing : Processing an image to be suitable for OCR text detection and recognition.
OCR extraction : OCR extract chinese sentence from preprocessed image.
Dissect : Code dissect chinese sentence into individual words which is suitable for learning.
Searching : Search up a Thai definition and meaning in SQLite chinese dictionary.
Displays : Display chinese words and it's pinyin where user and tap into to see meaning and definition individually.
camerea.py : UI and function related to capturing an image with camera.
preprocess.py : UI and function of an OpenCV for preprocessing an image.
ppOCR.cpp : ####### write code before to fix part ####################################
OCR.py : UI while waiting the process and function related to extracting text from an image.
main.py : Main space for all code execution.
result.py : Result of text extracted from OCR and searching in SQLite dictionary.
search.py : UI and searching function for making a chinese sentence.
3th April 2026
This device were made to help human learn chinese instead of replacing them as a whole like other AI (e.g. Deepseek, Google Translate) this is desgined to work with printed paperwork or text on phone/computer screen. functionality work as below:
- 1 User tap into program file.
- 2 User capture a picture of chinese character on screen or paper.
- 3 User Crop part of picture they wants to use.
- 4 User customize their picture during preprocessing to get best result without fixed measures.
- 5 User send preprocessed picture to neural OCR .
- 6 OCR model processed input picture and search up word or character in SQLite chinese dictionary. one by one
- 7 Chinese character and it's pinyin displayed on screen one by one.
- 8 User tap on one of the displayed chinese text to get meaning, definition and usage.
- 9 System logged the history JSON file. (still in consideration whether to add it)
Did not include reference due to chat with multiple AI with my own original idea.
2th May 2026
About how my camera will work over all, base model im using in this project and some other details
- using Raspberry Pi camera module V2
- Will capture an image for further Preprocessing pipeline before feeding it to OCR in order to extract chinese words for use
- Will capture overall decent quality image
- Will have either of configuration below according to it's system
-
- Still configuration for capturing high quality image but trade off for having unusable preview window
- Still configuration for capturing high quality image but trade off for having unusable preview window
-
- Preview configuration for smooth decent quality previewing and capturing decent quality image for further processing
- Preview configuration for smooth decent quality previewing and capturing decent quality image for further processing
-
After this process an image will be put into Preprocessing pipeline for further work.
Chat with multiple AI to take into consideration was based off Picamera2 documentation, information based of february 2026 update.
2th May 2026
Purpose of Preprocessing is to modify an image to be as suitable for OCR work as possible especially for a small model like PPOCRv5. have overall process like this.
- Cropping image and leave with selected part
- Turn image into greyscale (black, white and grey,).
- Apply clahe to image to reduce dot and specks on an image.
- Apply blur on to an image to make lightning look equal.
- Apply threshold to make an image only in black and white which will be suitable for OCR.
- Apply morphological operation in order to connect broken/seperated parts or seperate the merged parts.
After finishing Preprocessing operation. An image which was processed will be feed to OCR in next operation for extracting chinese character.
I did not include bitwise or deskew operation due to these being a little unnecessary.
No reference due to being chat with multiple AI for consideration of the process. OpenCV documentation will be a little abit technical for this project so i did not include here.
2th May 2026
OCR model i will be using in this project to process an input image.
- PPOCRv5 text detection model.
- PPOCRv5 text recognition model.
- still considering whether to use C++ version.
PPOCRv5 C++ on linux : https://www.paddleocr.ai/main/en/version3.x/deployment/cpp/OCR.html?utm_source=chatgpt.com#23-run-the-prediction-demo
2th May 2026
UI will be decently interactive due to limited RAM of 4GB i dont want something fancy
- will be using Tkinter for my project due to simplicity
- UI will be made with Tkinter_Designer
- UI will have different function
-
Capturing Part
- Camera UI capturing an image
- Camera UI capturing an image
-
Preprocessing Part
- Cropping UI cropping an image
- Clahe UI change value on image's look
- Blur UI change value on image's look
- Threshold UI change value on image's look
- Bitwise UI change value on image's look
- MORPH UI change value on image's look
- Cropping UI cropping an image
-
OCR UI
- Loading UI show loading screen when OCR is working on it's way
- Loading UI show loading screen when OCR is working on it's way
-
Searched UI
- Output UI such as chinese word, english meaning, thai meaning and definition
- Output UI such as chinese word, english meaning, thai meaning and definition
-
Tkinter-Designer github repo : https://github.com/parthjadhav/tkinter-designer
Video on how to use it : https://youtu.be/U-jfICHae3w?si=zfIhhNSiL61QwqTo