01Vector V1 - Tri-rotor VTOL UAV
A fabricated and flight-tested electric UAV using three tilting propulsion units for vertical lift and transition to wing-borne forward flight.
MECHATRONICS / EMBEDDED AI
A working mechatronics prototype that recognizes LKR 1, 2, 5, and 10 coins using dual-camera vision and EfficientNet-B0, then sorts them with servo-driven mechanisms.

We developed an automated coin sorting system for Sri Lankan LKR 1, 2, 5, and 10 coins as Group 12's ME 5212 project at the University of Ruhuna. The prototype brings together mechanical handling, computer vision, embedded inference, and servo actuation.
The aim was to replace denomination decisions based only on size and weight with image-based classification using coin appearance, surface texture, color, and embossed features. A Raspberry Pi 4B connects recognition to the physical sorter.
Aims and objectives · report pp. 4–5 ↗I trained the machine learning model, developed Raspberry Pi/Python code with Janith Rukshan, and contributed to fabrication with the full team. The report's role table distinguishes these responsibilities from the mechanical design, electronics design, and initial camera configuration.
| Work area | Contributors |
|---|---|
| Model training | Sudeera Perera |
| Raspberry Pi / Python coding | Sudeera Perera; Janith Rukshan |
| Solid model design | Akhila Dhananjaya; Shaveen Rodrigo |
| Circuit design | Janith Rukshan; Akhila Dhananjaya |
| Initial ESP32 camera configuration | Shaveen Rodrigo |
| Fabrication | All four team members |




The mechanism separates coin feeding, imaging, rotation, and routing. A container and vertical tube align the coins; the pusher and holder control the coin's position before release. A carrying rotator exposes the second side, and a directing slider sends the classified coin toward its collection bin.




SolidWorks supported the mechanical design. The team manually cut and assembled accessible materials because precision 3D printing was outside the project budget.
Process flow and hardware · report p. 11 ↗The team collected more than 3,000 images of LKR 1, 2, 5, and 10 coins. Coins sourced from a bus driver supplied real circulation wear, dirt, scratches, and reflections. Images covered different lighting conditions; rotation, scaling, and brightness or contrast adjustments expanded the training data.
EfficientNet-B0 provided the classification architecture. The report describes TensorFlow/Keras training on Google Colab with GPU acceleration, using the Adam optimizer and categorical cross-entropy loss. The trained model was converted to TensorFlow Lite for inference on the Raspberry Pi.
Model development is recorded in the report's Liner screenshots, including dataset classes, loss curves, validation accuracy, and class-wise scores.
Model architecture and training · report p. 12 ↗ Dataset collection and augmentation · report p. 30 ↗The report describes OpenCV preprocessing with grayscale conversion, Gaussian smoothing, Canny edges, contour detection, and color segmentation. These techniques support coin boundaries, shape, texture, and surface-feature analysis.
The included runtime snippet captures from two USB webcams at device indices 0 and 2. Its prediction function converts an OpenCV frame from BGR to RGB, resizes it to 224 × 224 pixels, creates a float32 batch, invokes the TensorFlow Lite interpreter, and selects the class using the largest output score.
| Component | Recorded configuration |
|---|---|
| Model input | 1 × 224 × 224 × 3 |
| Image representation | RGB; float32 batch |
| Camera acquisition | cv2.VideoCapture(0) and cv2.VideoCapture(2) |
| Predicted class | argmax of the output scores |
| Displayed confidence | Largest output score × 100 |
A Raspberry Pi 4B runs the recognition and control sequence. Two USB webcams provide images, and three servo-control outputs connect software decisions to the coin handling mechanism. The code uses pigpio for pulse-width control; it also lists NumPy, OpenCV, Pillow, TensorFlow Lite, and gpiozero imports.
| Output constant | GPIO pin |
|---|---|
| MOTOR1 | 18 |
| MOTOR2 | 23 |
| MOTOR3 | 24 |
The helper maps a commanded angle to a servo pulse width and pauses after movement. In the prototype, camera capture, mechanical positioning, and actuation timing had to work together so the identified coin reached the intended bin.

The final report records a completed, working prototype that classifies denominations and uses servo-controlled routing to place coins in their bins. It includes physical build photographs and sample classifications for all four denominations.
| Metric or evidence | Reported value / scope |
|---|---|
| Validation accuracy | 100.0% in the displayed model training run |
| Accuracy, macro and weighted precision / recall / F1 | 100.00% in the displayed score panel |
| Sample outputs | LKR 1, 2, 5, and 10 predictions shown |
| Physical outcome | Fabricated sorter and connected electronics documented |


The report does not specify the validation-set size or split, coins per minute, or a counted end-to-end sorting success rate. The displayed 100% model scores therefore describe that development run, rather than a measured reliability figure for the whole machine.




Budget, camera compatibility, image quality, and mechanical durability shaped the final implementation. The team adapted the build through procurement, testing, and redesign.
| Challenge | Response |
|---|---|
| Limited access to a Raspberry Pi | Borrowed a board from a University of Moratuwa engineering student. |
| ESP32 cameras did not operate reliably during setup | Replaced them with two USB webcams borrowed from the department with the Head of Department’s support. |
| Time-consuming collection of varied coin images | Used real circulation coins and augmented the captured dataset. |
| Manually fabricated components and weakened adhesive joints | Rebuilt affected components, reinforced bonds, changed some materials, and adjusted alignment. |
| Capture and processing delays; occasional coin misalignment | Calibrated timing and alignment; identified faster acquisition and more precise guides as future improvements. |
The final USB-camera arrangement enabled the project to proceed, with capture delay remaining a tradeoff. Worn coins, reflections, and inconsistent positioning reinforced the need to develop the visual model and physical handling together.
Limitations · report p. 27 ↗ Problems and solutions · report pp. 29–30 ↗The prototype demonstrates a foundation for small-scale coin handling in banking, vending, retail, and self-service systems. The report proposes several next steps:
These are proposed extensions to the completed prototype; the report's demonstrated scope remains the four-denomination sorter.
Future work · report pp. 32–33 ↗An overview of the documented project scope.

The final report is the primary record for the design, implementation, role allocation, figures, and results shown on this page.