Go Down

Topic: Car Heads Up Display (Read 6201 times) previous topic - next topic

Power_Broker

#30
Feb 08, 2020, 06:07 am Last Edit: Feb 08, 2020, 06:07 am by Power_Broker
Here are the details/gerber files for the updated PCB design:



"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

GaryP

Idea of the circuit is nice, but that limits us using mph only, with km/h we would need three digits.

Well, the core of your design probably is easy to change to use other displaying methods.

Cheers,
kari
The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"

Power_Broker

True, I don't plan on going over 99mph or driving in kph, but it shouldn't bee too hard to add a new LED display. If you use an ESP32, you might run out of pins, but then again, maybe not.

Also, I tested some recent updates to ELMduino and verified everything still works! Looks like max throughput of the ELM327 is 13 total queries per second. This means, if I'm querying for both speed and rpm, I should expect a sample rate of about 6.5Hz - not bad! :D

I also was able to setup a *very* simple Access Point webserver with dynamic content (AJAX).

Currently printing the new HUD enclosure - pics soon!
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Power_Broker

#33
Feb 18, 2020, 01:16 am Last Edit: Feb 18, 2020, 01:17 am by Power_Broker
Turns out that you can't use all pins on the ESP32 for digital IO. Because of that, I need to add another MCU to the board for LED driving and SPI communication. I decided to pair up the Teensy I had on the old HUD PCB with the ESP on the new PCB.

Attached are the pics and gerber files



"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Power_Broker

And attached are the .obj files for 3D printing
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

jimLee

If you're really getting fussy about digits, units etc. Just replace it with an OLED and have at it showing whatever you like.

-jim lee
PNW Ardiuno & Maker club
1012 9Th Street, Anacortes, WA 98221 (Around the back of building)

Power_Broker

True, but is an OLED screen as bright as LEDs at full power? I'm concerned I won't be able to see the OLED screen on a sunny day
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

GaryP

OLEDs are typically small, so LED displays are nicer. Of course there is plenty of substitutes
for this design, so everyone should find suitable for them purposes.

I like to use TM1638s.

Cheers,
Kari
The only law for me; Ohms Law: U=R*I       P=U*I
Note to self: "Damn! Why don't you just fix it!!!"

jimLee

It wouldn't be as bright. And, sadly, OLEDs have limited lifespan. But, if they turned out to be bright enough, it could look really cool for awhile. Kinda' like the ones on the Chevy Camaros, where you get a color tach seemingly floating over the hood of the car.

-jim lee
PNW Ardiuno & Maker club
1012 9Th Street, Anacortes, WA 98221 (Around the back of building)

Power_Broker

#39
Mar 04, 2020, 10:41 pm Last Edit: Mar 04, 2020, 10:52 pm by Power_Broker
Update: Because I didn't realize some of the LED control wires were routed to non-digital pins on the Teensy (DAC0 and DAC1) as well as one LED control wire to D13, I had to revise the PCB design and order another set. The new PCBs should get here tomorrow or Friday.

I also added the ability to connect a color OLED screen to the PCB that will be controlled via the Teensy.

Attached are the PCB gerber files.



"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Power_Broker

Also, I made some massive improvements in the ELMduino.h library!

Now you can use the library for custom PID queries in addition to standard queries. I also listed all available AT commands in the header.
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

jimLee

I know one person's library may not be useful to anyone else, but.. If you would like a library that supports drawing to your OLED. And other things if you so desire. I have one you could try.

Actually, there's an entire multi-sketch swapping OS in there. But maybe save that for later?

The folder to look at first is LC_Screen
The library folder

I'm currently working on the wiki for all this nonsense.

-jim lee
PNW Ardiuno & Maker club
1012 9Th Street, Anacortes, WA 98221 (Around the back of building)

Power_Broker

Very impressive collection of libraries! I'll be honest, I don't know where to start...

For now I'm only going to display speed, rpm, and ELM327 errors on the OLED. At some point it might be nice to have the capability for a menu system at some point to check/clear car error codes. Does one of you libs support easy menu making?

Currently, though, I plan on checking error codes via the ESP32's access point webserver on my phone/laptop (among other cool things).
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

jimLee

Easy, no.. But the bases are there. You can do a list of things and have them lined up. The place to start is LC_baseTools. Everything is built on them. Even if you use nothing else, they are a really handy set of things to have around for doing Arduino code.

-jim lee
PNW Ardiuno & Maker club
1012 9Th Street, Anacortes, WA 98221 (Around the back of building)

Power_Broker

"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Go Up