NAV — a Screenless Haptic Navigation Band for a Safer Future
by PriyankTyagi in Circuits > Microcontrollers
239 Views, 5 Favorites, 0 Comments
NAV — a Screenless Haptic Navigation Band for a Safer Future
Every year, thousands of pedestrians, cyclists, and drivers are injured because they looked down at their phone for directions. Delivery drivers spend 8+ hours a day glancing at navigation apps. Cyclists take their eyes off the road at the worst moments. Pedestrians walk into traffic staring at a blue dot on a map.
The problem isn't navigation — it's the screen.
NAV is a wrist-worn navigation device that guides you turn-by-turn using directional LEDs — no screen, no headphones, no distraction. It connects to a custom SmartNavWatch web app over WiFi and WebSockets, which sends real-time directions straight to your wrist. The correct LED lights up — Left, Right, Straight, Back or Destination — and you simply follow the light.
Built around the ESP32-C3 microcontroller, NAV was successfully tested on a real 8.7km route from Dehradun to Haridwar — fully functional on real roads, real turns, real conditions.
Features
- 4 directional LEDs — Left, Right, Straight, Destination
- OLED display showing current direction and distance
- Capacitive touch input for interaction
- WiFi + WebSocket real-time communication
- SmartNavWatch web app with live map, ETA, and GPS
Who It's For
- Pedestrians tired of staring at their phone
- Cyclists who need both eyes on the road
- Delivery drivers navigating unknown streets all day
- Visually impaired users needing affordable navigation
- Hikers and outdoor adventurers
- Riders who need both hands on the handlebars
"No screen. No distraction. Just NAV."
Supplies
ComponentDetails
- ESP32-C3 Microcontroller - Main brain of the device
- OLED Display - 0.96 inch, I2C, SSD1306
- LEDs - 4x clear LEDs — direction indicators
- Vibration Motors - For haptic feedback
- TP4056 Charging Module - LiPo battery charging circuit
- LiPo Battery - 3.7V, 700mAh
- Slide Switch - Power on/off
- 3D Printed Case - Custom enclosure
- Back Cover - With screws for assembly
- Velcro Strap - Comfortable watch-style wrist band
Tools Needed
- Soldering iron + solder
- Hot glue gun
- Small screwdriver
- Wire stripper
- USB-C cable (for programming)
- 3D printer (or use a local print service)
Software
- Arduino IDE 2.3.9
- SmartNavWatch Web App (provided in files)
Arduino Libraries
- Adafruit SSD1306 : 2.5.17
- Adafruit GFX : 1.12.6
- WebSockets_Generic : 2.16.1
- ArduinoJson : 7.4.3
Setting Up Arduino IDE
Before writing any code, we need to prepare Arduino IDE to work with the ESP32-C3 microcontroller.
1A. Add ESP32 Board URL
- Open Arduino IDE
- Go to File → Preferences
- Find "Additional Boards Manager URLs"
- Click the icon next to the field and add this URL:
- Click OK
1B. Install ESP32 Board Package
- Go to Tools → Boards Manager
- Search esp32
- Find "esp32 by Espressif Systems"
- Install version 3.3.8
- Wait for installation to complete
1C. Select Your Board
- Go to Tools → Board → esp32
- Select ESP32C3 Dev Module
1D. Install Required Libraries
Go to Tools → Manage Libraries and install these one by one:
- Adafruit SSD1306 : 2.5.17
- Adafruit GFX : 1.12.6
- WebSockets_Generic : 2.16.1
- ArduinoJson : 7.4.3
Wiring the Circuit
This is the most important step. Follow the pin definitions exactly as used in the code.
Pin Definitions
Wiring Circuit
[ refer to image 1]
Power Circuit
⚠️ Warning: Always double-check polarity before connecting the LiPo battery. Reverse polarity can damage the ESP32-C3 permanently.
💡 Tip: Solder all connections and use heat shrink tubing — loose wires inside a small enclosure will cause random disconnections.
The Code
The NAV firmware runs a WiFi WebSocket server on the ESP32-C3. The SmartNavWatch web app connects to it and sends direction commands — the ESP32-C3 reads them and lights the correct LED.
3A. How It Works
3B. Full Code
3C. What to Change
Before uploading, update these two lines with your WiFi details:
⚠️ Note: The ESP32-C3 and your phone must be on the same WiFi network for the WebSocket connection to work.
3D. Upload to ESP32-C3
- Connect ESP32-C3 via USB-C
- Select ESP32C3 Dev Module in board selector
- Select correct COM Port under Tools → Port
- Click Verify ✓ — fix any errors
- Click Upload → — wait for "Done uploading"
- Open Serial Monitor at 115200 baud
- You should see the IP address printed
💡 Tip: Note down the IP address shown in Serial Monitor — you'll need it for the SmartNavWatch web app in the next step.
The SmartNavWatch Web App
The SmartNavWatch is a browser-based web app that runs on your phone. It calculates your route, sends real-time turn-by-turn directions to NAV over WiFi, and shows a live map with ETA and distance.
4A. How It Works
4B. Setting It Up
Step 1 — Get a free API key:
- Go to openrouteservice.org
- Create a free account
- Copy your API key
Step 2 — Open the web app:
- Open SmartNavWatch.html from the attached files
- Find this line near the top:
- Replace with your actual API key
Step 3 — Enter your NAV device IP:
- Open Serial Monitor in Arduino IDE
- Note the IP address shown (e.g. 192.168.1.105)
- Enter it in the app's IP field
4C. Using the App
- Open SmartNavWatch.html in your phone browser
- Enter the NAV device IP address
- Click Connect — status shows 🟢 Live
- Type your destination and click Start
- The live map appears with your route in cyan
- NAV starts guiding you immediately
4D. What the App Shows
- Direction arrow : Current turn with distance
- ETA : Estimated time to destination
- Distance : Total remaining distance
- GPS coordinates : Your live position
- Live map : Full route with cyan line
- Stop button : Ends navigation
4E. Direction Commands Sent to NAV
App sends NAV does
LEFT LED Left glows
RIGHT LED Right glows
STRAIGHT LED Straight glows
DESTINATION LED All LED glows
💡 Tip: Keep the SmartNavWatch tab open and screen on while navigating. The app needs GPS access — allow location permission when your browser asks.
⚠️ Note: Both your phone and NAV device must be connected to the same WiFi network.
Assembly — Building the Case
Now that the code is working, it's time to put everything inside the 3D printed case and assemble the final wearable.
5A. 3D Print the Case
The case has two parts:
- Main body — black, holds all electronics
- Back cover — white, screws on to close the case
Print settings:
Setting Value
Material PLA
Layer height 0.2mm
Infill 20%
Supports Yes
Print time ~2-3 hours
💡 Tip: Print the main body in black and back cover in white — exactly like the final build. It gives a clean two-tone look.
5B. Prepare the Components
Before assembling, solder and test everything on a flat surface:
- Solder 220Ω resistors to each LED leg (positive side)
- Solder wires to all LED resistor ends
- Solder wires to OLED display pins (SDA, SCL, VCC, GND)
- Solder wires to TP4056 charging module
- Solder slide switch between battery positive and circuit
- Solder vibration motor wires
- Test all connections before closing the case
⚠️ Warning: Test everything BEFORE assembly. Once the case is screwed shut, fixing mistakes is very difficult.
5C. Place Components Inside Case
Follow this order:
1. Place ESP32-C3 flat inside the case base
2. Push 4 LEDs through the holes on each side:
- Left hole → LED Left (GPIO 0)
- Right hole → LED Right (GPIO 1)
- Top hole → LED Straight (GPIO 2)
- Bottom hole → LED Back (GPIO 3)
3. Seat the OLED display in the front window cutout
4. Place TP4056 charging module at the bottom
5. Place LiPo battery flat — it fits snugly under the ESP32-C3
6. Route the slide switch to the side slot
7. Tuck the vibration motor in any remaining space
5D. Close and Secure
- Carefully fold all wires inside
- Place back cover over the case
- Align screw holes
- Insert and tighten all screws — don't overtighten on PLA
- Check all 4 LEDs are visible and not blocked
5E. Attach the Wrist Strap
- Thread the velcro strap through the lugs on both sides of the case
- Adjust to comfortable wrist size
- Press velcro to secure
💡 Tip: The elastic velcro strap is comfortable for all-day wear and keeps NAV snug on your wrist even during physical activity.
Testing NAV on a Real Route
This is the most exciting step — taking NAV outside and testing it on a real road.
6A. Before You Go Outside
Do a quick indoor test first:
- Turn on NAV using the slide switch
- Wait for OLED to show "NAV Ready" and the IP address
- Connect your phone to the same WiFi
- Open SmartNavWatch in your phone browser
- Enter the NAV IP address and click Connect
- Status should show 🟢 Live
- Manually send test commands and verify:
Command Expected Result
LEFT Left LED glows
RIGHT Right LED glows
STRAIGHT Straight LED glows
DESTINATION All LED glows
✅ If all 4 LEDs respond correctly — you're ready for the real test!
6B. Real World Test
Our test route:
- Start: Dehradun
- Destination: Haridwar
- Distance: 8.7 km
- ETA: 13 minutes
How to start navigation:
- Go outside with your phone and NAV on your wrist
- Make sure both are on the same WiFi hotspot
- Open SmartNavWatch on your phone
- Type your destination and tap Start
- The cyan route line appears on the live map
- Start walking or riding — NAV guides you with LEDs
6C. What Happens During Navigation
6D. Night Test
NAV is especially powerful at night.
The LEDs are extremely bright in low light — visible from a distance, making NAV useful not just for navigation but also for safety visibility.
💡 Tip: The night glow effect is one of NAV's best features — perfect for cyclists and night walkers who need both navigation AND visibility.
6E. Troubleshooting
Problem Fix
App won't connect Check both devices on same WiFi
Wrong LED lights up Recheck wiring table from Step 2
OLED shows nothing Check SDA/SCL pins (GPIO 8 & 9)
LEDs too dim Check 220Ω resistors are correct value
No GPS on app Allow location permission in browser
WebSocket drops Move phone closer to NAV device
Conclusion and Future Improvements
When the device is powered ON using the slide switch:
- The OLED display lights up
- A boot animation plays — "SMART NAV" appears with a loading bar
- The device connects to WiFi and displays the IP address
- The screen transitions into the Clock screen — showing live time and date
- A single tap switches to Navigation screen — ready to guide
- Another tap switches to System Status — WiFi, GPS, and connection state
Navigation has always demanded our eyes. From paper maps to glowing screens, we have never stopped looking down. NAV changes that.
Inspired by the idea that the best technology should be invisible, NAV transforms complex real-time navigation into something as simple as a light on your wrist. What once required a screen glowing in your face can now be understood in a single glance — or no glance at all.
By combining modern embedded technology with intuitive human instinct — the same instinct that makes us follow a pointed finger — NAV bridges the gap between where we are and where we need to go.
In a world full of notifications, alerts, and glowing rectangles competing for our attention, NAV asks for none of it.
A small device — pointing you in the right direction.
"This project was created as part of the Dream a Better World Contest."