How We Built SPARSH
SPARSH and RANG SAATHI didn't work the first time, or the second. We documented every failure and every fix. This page is the engineering story behind the project.
Bill of Materials
| Component | Device | Est. Cost (₹) |
|---|---|---|
| Graphics Tablet (Wacom One) | SRIJAN | 3,500 |
| Aluminium Frame & Rails | VISTAAR | 2,500 |
| NEMA 17 Stepper Motors (×2) | VISTAAR | 800 |
| A4988 Motor Drivers (×2) | VISTAAR | 200 |
| Arduino Uno | VISTAAR | 500 |
| SG90 Servo | VISTAAR | 100 |
| GT2 Timing Belts & Pulleys | VISTAAR | 400 |
| Power Supply (12V 5A) | VISTAAR | 350 |
| Rotating Platform & Bearing | RANG SAATHI | 600 |
| 28BYJ-48 Stepper Motor | RANG SAATHI | 150 |
| Foot Pedal Switch | RANG SAATHI | 200 |
| Palette Tray (3D Printed) | RANG SAATHI | 300 |
| Arduino Nano | RANG SAATHI | 280 |
| Wiring, Connectors, Misc. | All | 500 |
| Laptop (existing) | SPARSH ENGINE | — |
| Total | ~₹12,880 | |
One IMFPA painting can sell for ₹20,000 to several lakhs — meaning one painting can pay for the whole system.
Software
Python SPARSH Engine
~600
lines of code, runs on a laptop
VISTAAR Firmware
~250
lines of Arduino C
RANG SAATHI Firmware
~60
lines of Arduino C
All open source. NumPy for geometric helpers. No AI inside either device.
Reliability Testing
VISTAAR Tests
- •5 repeated drawings — 4 clean, 1 required minor fix
RANG SAATHI Tests
- •100 continuous pedal presses — returned to home position accurately
- •Imbalance test — one cup full, one empty — rotation remained stable
- •Power-loss recovery — palette remembered position after restart
- •Bump test — mechanical lock held position under physical disturbance
- •1-hour sustained session — no drift, no overheating
Engineering Challenges We Faced
Belt Tension Drift
The GT2 belts stretched after extended use, causing position errors. We added tensioner screws and documented a calibration routine.
Stroke Smoothing Without Lag
Early smoothing algorithms added visible delay between input and robot motion. We rewrote the filter to use a sliding window that predicts ahead.
Palette Mass Balance
Uneven water levels made RANG SAATHI wobble during rotation. We placed the two water cups 180° apart and specified fill levels.
Pen Pressure Inconsistency
The marker occasionally lifted too high or pressed too hard. We tuned the servo range and added a small spring damper.
Serial Communication Drops
Long drawing sessions sometimes lost connection between laptop and Arduino. We added handshaking and auto-reconnect in the Python code.
Want the Full Technical Detail?
Download our complete WRO 2026 project report with circuit diagrams, code documentation, and test results.
Download Project Report (PDF) [Placeholder]