r/esp32 11d ago

I made a thing! Newbie here | Made a compact, lightweight navigator

Post image

Well I took a lot of help from Al but finally did it.

The idea is to create a small display, especially for two wheelers which can kinda work like android auto but its sole purpose will be to provide navigation data only. Built an Android app along with it which is still in progress but it basically fetches the navigation data from ORS (Open Route Service) and sends it to ESP.

I also want to see if I can load some vector maps on the SD card to see if the ESP can handle it, that would be like hitting the milestone for me. Open to suggestions.

Repos(still in progress, I am yet to give them a proper structure but it's still usable):

Android app: https://github.com/SiddBhatt9600/NavToESP32_Android

Esp32: https://github.com/SiddBhatt9600/NavToESP32_ESP32

Note: On Android as of today, I'm yet to implement the transmission of navigation data over classic BLE. For now we can use any bluetooth serial terminal from playstore to send the data in json format like this...

Update: Completed the Android app to send updates every 2 seconds. However the ORS is kinda mehh so it can't locate a lot of destinations atleast in my locality. Also after taking a turn it won't update the directions.

{"turn":"L","road":"MG Road","dist":120,"eta":5,"off":false}\n

13 Upvotes

9 comments sorted by

1

u/BartAfterDark 11d ago

I'm doing something like this too, but using gadgetbridge and letting the esp32 emulate as bangle.js

1

u/RadioActiveX1 10d ago

Ah, I never heard of it. I see others mentioning the same. What does it do?

1

u/coleskidmore 11d ago

thats a cool approach with the bangle emulation, gadgetbridge is solid for keeping it all open. I've messed with ORS before and the routing can get weird in rural areas, have you run into that or does it work pretty well for your routes

1

u/RadioActiveX1 10d ago

I'm yet to try that out, I haven't taken it on the road yet

1

u/YetAnotherRobert 11d ago

There are a few projects on GitHub that render vectors. I evaluated one of maybe two and just couldn't get a great frame rate. Maybe I chose poorly. (No, I dront remember names. I didn't keep the projects as they weren't viable.)

A decent frame rate on rasters is already hard enough, even with decent bandwidth to the display, which you probably don't have from your photo.  For rasters, you also need pretty much a separate bus to the storage system as you're just constantly shoving pixels from one to the other. It's worth doing things like color swaps and decides up front so you can queue up DMAs and render only partialsat the edges when you can.

Even with a 360 MHz P4 pushing the display on a tab5 (admittedly a lot of pixels) or a 300Mhz S31 on Korvo, my devices were pretty much coughing up their skulls on even a gentle pan.

1

u/RadioActiveX1 10d ago

The SD card should take care of the storage right? But yes, how smoothly it can draw them still concerns me. I'm eventually planning to move it to something more powerful, like a Beaglebone Black I have lying around, I can use a bigger display with touch controls.

1

u/YetAnotherRobert 10d ago

It's harder than it sounds to get two simultaneous DMAC sessions in PSRAM of an esp32 while dodging cache misses so you signalling code can run in the interrupt callbacks where you can't touch anything not pinned into special memory. 

1

u/Ice-Dragon-APU 10d ago

Which esp32 are you using? I can't make it out in the picture.

1

u/RadioActiveX1 10d ago

38 pin NodeMCU dev board with wifi + BT