-
-
OpenCane: a smart cane kit for the iPhone you already own.
-
Our team after presenting at 54FoundersHack.
-
The OpenCane app icon.
-
A real Test Store trial in the RevenueCat dashboard.
-
Hazard watch unlocks right after purchase.
-
Premium status, restore and support ID in Settings.
-
Free vs Premium, and an honest free month.
-
The Premium paywall. Safety stays free.
-
The Guide. One tap to start a route.
-
Front view of final prototype.
-
Computer vision metrics of head and torso view.
-
Live at the 3D Print station.
-
Cursor Swag won from SpaceXAI.
-
Group photo with final prototype.
Inspiration
It started with my grandparents. When I went back to India, I saw how chaotic the streets were, and how hard it was for them to get around with a cane. Then I noticed the same struggle right here on the UIUC campus.
We all carry phones with LiDAR and AI built in. So why is the cane still a 100-year-old stick? We wanted to make it smart for less than $5.
What it does
OpenCane is a phone-only smart cane. You clip your iPhone onto the cane you already own, and it becomes the only computer on the cane. There's no extra hardware and no microcontrollers, and it costs less than $5 in plastic.
3D-printed mount: holds the iPhone on the cane shaft and passes the Taptic Engine's vibration straight into your palm. Left, right and head-height obstacles each feel different.
LiDAR obstacle radar: reads depth about 30 times a second across 3 lanes (left, center, right) and 2 heights (waist and head), so it catches the branches, scaffolding and signposts a cane tip never touches.
Spatial audio beacon: AirPods Pro play a click that floats ahead of you on the route. You just walk toward the sound. Spoken turns and Apple Watch taps back it up.
Earcons over chatter: short tones (180 ms or less) replace slow spoken status lines, and a self-hear filter stops the app from answering its own voice.
Indoors to outdoors: someone records a building once ("Main desk on your right"). Step counting walks you out, and OpenCane hands off to GPS once you're outside.
Hands-free: Siri, the Action button and a short voice menu run everything. Say "Where am I" and it describes what's in front of you, even offline.
Honest by design: if iOS pauses sensing, the Dynamic Island tells you instead of showing a false "clear". Fall detection can alert your family with your last GPS location via Grok Bot.
Safety is free, forever: obstacle warnings, navigation and emergency calls never sit behind a paywall. OpenCane Premium, built on RevenueCat, adds AI hazard watch (cones, barriers, scooters), naming people ahead, and family alerts, at $49.99 a year with the first month free. The paywall never shows up while you're walking.
How we built it
Hardware
We started with a smart handle: an ESP32, a battery, vibration motors and a distance sensor. We scrapped it on day one. The iPhone already has better sensors, a faster chip and its own battery, so the phone became the whole system.
Then we designed the mount in OpenSCAD and printed it on Creality SPARKX i7 printers in PETG:
v1 was a split collar with M4 screws and a 72-tooth hinge. It needed bought hardware, and ball joints slip when a cane sweeps.
v2 is screwless: 4 printed parts and zero screws. A slotted cone grips the cane and a printed ring tightens over it like a drill chuck. The arm and the phone cradle slide on a dovetail.
The mount is rigid on purpose. The Taptic Engine's vibration has to reach your palm, so there's no foam or rubber in the way.
Every part prints in under 2 hours (collar 1 h 43 min, cradle 1 h 34 min) and the full set weighs about 88 g.
Before anything prints, a script runs 32 checks: no parts collide, the thread turns through its full travel, and every part is one solid piece.
Software
Native Swift 6 and SwiftUI, about 66,000 lines, built in 3 weeks.
- Depth to height. ARKit gives us LiDAR depth, and we place every point by its real height above the ground using the camera's angle:
$$h = c + d \cdot g(u, v)$$
where \(c \approx 95\) cm is where the phone sits on the cane and \(d\) is the depth. Points below 25 cm are the floor, 25 to 140 cm is your torso, and above 140 cm is your head.
Lanes. The view splits into 3 lanes and 2 heights. Each cell reports its closest 10% of readings, so one bad pixel can't fake an obstacle and a thin pole can't hide.
Haptics. For anything straight ahead, the cane pulses faster as you get closer:
$$f(d) = \min\left(8,\ \max\left(2,\ \frac{4}{d}\right)\right) \text{ Hz}$$
That's 2 pulses a second at 2 m and 8 at half a meter.
- Branch or wall? A wall is just as close at your chest as at your head. A branch isn't. A head-height reading \(H\) only counts when the torso reading \(T\) below it is clear:
$$T - H \ge 0.5 \text{ m}$$
Speech that never talks over danger. Every line has a priority, safety > navigation > obstacles > scene, so "Head height." always wins.
Navigation. MapKit routes, our own waypoint engine, and a spatial audio beacon. You only "arrive" when the GPS is good enough to trust:
$$d + \frac{\sigma}{2} \le 20 \text{ m}$$
on two fixes in a row, where \(\sigma\) is the GPS accuracy.
- RevenueCat. One file talks to RevenueCat. Every rule about who gets Premium, and when, is a tested function. Purchases, renewals, expiry and refunds update live, and nothing ever turns off in the middle of a walk.
Testing
GPS replays of real walks (clean, missed turn, noisy GPS, wrong turn), and stress tests on 1,000 simulated walks with bad GPS. Beyond simulated routes and map stress tests, we took it into the field: we had a friend navigate a live walk all the way from Townsend to Siebel relying on the cane, along with hands-on trials with other testers to validate audio cues and obstacle detection in real pedestrian traffic
Challenges we ran into
Hardware
- The thread that wasn't there. Our collar looked threaded in CAD, but the thread came out 0.03 mm thick, and the slicer turned it into a smooth cylinder. We rebuilt it at 0.6 to 0.75 mm.
- Parts that jammed or fell off. The first printed thread jammed two turns in. The dovetails had no stops, so the phone cradle slid right off. In one version the arm went straight through the phone. Every one of these became a check we now run before printing.
- Prints that wouldn't stick. One arm touched the print bed with only 0.3 mm², so we redesigned it to 814 mm².
- Real canes are thin. We tested on a 27.65 mm broom handle, but real white canes are 9.5 to 13 mm. The next collar has to fit both.
Software
- Our first cane walk was a mess. With the phone tilted 45° down, the "head" sensor was actually looking at knees. We got 137 head warnings and 8 "Head height." alerts in 12 minutes, and none of them were real. We rebuilt everything around true height above the ground.
- Walls looked like branches. 349 of our first 360 head-height readings were just walls. The branch-or-wall check fixed it.
- The app heard itself. Speech recognition picked up the app saying "Head height." and treated it as the user talking. We couldn't use echo cancellation because it kills the spatial audio, so we built our own filter that ignores anything the app just said.
- Too much talking. Hearing "Head height." 10 times in 2 minutes indoors is noise, not safety. We added priorities, cooldowns, and short tones instead of sentences.
- A false "all clear". LiDAR can't see anything closer than about 10 cm, so a wall right against the phone showed up as six green "clear" tiles. Now a blind spot means stop, and the lock screen never says "clear" unless sensing is actually running.
- A crash judges would have hit. RevenueCat deliberately crashes a release build that uses a test key, which would have broken any TestFlight build we sent. Our reviewers caught it, and that build now runs safely with everything unlocked.
Accomplishments that we're proud of
Our LinkedIn post blew up: 100,000+ impressions. That got us the attention of Founders at UIUC, the club that works with YC companies, and the Landuyt Center for Entrepreneurship here at UIUC.
Going system-wide: we're bringing OpenCane to the whole University of Illinois system: Urbana-Champaign, Chicago and Springfield.
Outreach from the West Coast: UCSD's medical school, UCLA and UC Santa Cruz have all reached out.
Rural Punjab: through connections we made, we're planning to test and deploy OpenCane at schools in rural Punjab that teach students with disabilities.
50+ testers right now. We also use OpenCane ourselves every day to get from class to class. Every bug we hit, we fix that week, and that's made the app better than any spec could.
We love this idea. The more people use OpenCane, the better it gets.
What we learned
"It compiles" is never the bar. When someone trusts your app to get them across a street, every number needs proof. Anything we haven't tested on a real cane ships turned off.
Fewer words beat more words. For a blind walker, their ears are their eyes. Every sentence the app says costs attention, so it has to earn its place.
Test it the way it's actually used. The phone held in your hand and the phone tilted down on a cane see completely different worlds. We only trust numbers from a mounted cane.
CAD lies, prints don't. A part can look perfect on screen and come out of the printer as a smooth cylinder. Measure the real print.
Trust is the product. One false "all clear" undoes a hundred correct warnings. That's also why safety will never sit behind a paywall.
Use it yourself. Taking OpenCane to class every day taught us more than any spec sheet.
What's next for OpenCane
Fit every cane. Print and walk the full screwless mount, and shrink the collar to fit real white canes (9.5 to 13 mm).
Tune it on real walks. Use data from cane-mounted walks to set the head-height, drop-off and fall-detection thresholds.
Test with experts. Paid sessions with blind walkers and orientation and mobility instructors, through campus disability services, NFB Illinois and the Chicago Lighthouse.
Scale the pilots. Roll out across the University of Illinois system, to the schools in rural Punjab, and to elder-care homes in Champaign-Urbana.
Ship it. Launch on the App Store and add RevenueCat web purchases, so a family member, school or rehab program can pay for someone's Premium.
Grow from 50 testers to thousands. Every walk makes OpenCane smarter, and we want this in the hands of everyone who needs it.
Built With
- 3d-printing
- activitykit
- arkit
- avfoundation
- core-haptics
- core-location
- coremotion
- elevenlabs
- foundation-models
- grokbot
- healthkit
- lidar
- mapkit
- openscad
- revenuecat
- siri
- spatial-audio
- storekit
- supabase
- swift
- swiftui
- vision
- watchos
- xcode
Log in or sign up for Devpost to join the conversation.