Introduction: GPS Speedometer

Picture of GPS Speedometer

My company car that I normally drive tends to have a "small" problems from time to time, the speedometer fall to 0 Km/h when driving (after some time it resumes again).

Normally this is not a big issue since if you know how to drive a car, you are not, I hope, always looking to the speedometer. You now more or less the speed that you are driving. The problem present it self when you need to decrease speed to the road limit that you are entering and you notice that "the speedometer is down".

This presented like a good opportunity to build a new project, "The GPS Speedometer". Of course the ideal solution would be, really repair the car or use a normal GPS or use an app with this function but what would be the fun in this :)

Step 1: Components

Picture of Components

Microcontroller

I selected theDFRobot Dreamer Nano V4.1 because it has a usb plug that I can use for power and a compatible breadboard pinout.

Check DFRobot wiki page for more info regarding this microcontroller

GPS

I'm using the UBX-G7020-KT, that comes with an integrated antenna and allows to change the refresh rate until 10Hz(for this project this featuring can came in hand).

On the DFRobot wiki page you will find more info regarding it.

Display

I wanted to have a good display without "blowing" the budget, my choose was the OLED 2828 Display Module. Check again the wiki page for some more info.

Power

The power for the system will be provided by the car cigarette lighter socket.

Casing

This time I when for designing a casing and 3D printing it.

Step 2: Connect the Components

Picture of Connect the Components

The design with the LED's was not my first choice. So initially I designed the schematic without LED's

But in the end I added 10 LED's (7 Green and 3 Red's).

I forgot to take some pictures of the assembly process, so what I can say is that everything is assembled in the prefboard, in one side is the oled display and in the other the microcontroller and connections. In order to make this easy leave the oled display for last since some of the connections will be done on its back.

Step 3: Code

In order to run the code you will need to have installed the following library 's in your Arduino Library Folder.

U8glib - For the oled display.

TinyGps++ - For the GPS.

The code is "printing" the speed, course, number of satellites, latitude and longitude.

But it is possible to display much more information, ex.: time, date, distance to point...
Check the full example of the TinyGPS++ library to see all available options that you can have regarding the information retrieved by the GPS.

The other featuring is the LED's bar. I've set it up for a max. of 190Km/h. I live in Germany and some of the highways do not have limits, if not, I would place +/- the maximum road limit available. Simply change the limit in the "map" function to the one that fits your needs.

Step 4: Conclusion

Picture of Conclusion

I still relatively new in the 3D printing word, so it is natural that my prints do not come perfect :)

In general I can not complain but I still have a lot to improve on this area. The back plate currently is not fixing go good as in the beginning, so some more design updates will be needed.

Also I left out the GPS antenna in the back plate, thing that I will not do in the next design. The course display also did not work so well, but this was only to a little detail. In the future I'm planning to replace with something more useful, ex.: time of arrival to a point (size the majority of my trips are going back and forward).

Fell free to comment or send me a message if you found any mistake or if you have any suggestion/improvement or questions.

"Do not get bored, do something".

P.S.: If you like this project, do not forget to leave your vote for the contests I'm running.

Comments

mark_racal (author)2017-10-09

I love the GPS satellite icon :)

RobR2 (author)2017-09-14

Nice, Ive been using an old cell phone for this, would be nice to do this and place it in a gauge pod for a more permanent solution. getting the original one working is not an option.

nmohammad (author)2017-09-10

are the oled screen visibile under direct sunlight? probarly making one for my bike

Tiobel (author)nmohammad2017-09-13

I already tested and some times is complicated to see. But if you give a small tilt in the screen and a small sun shade I believe that the problem is fixed.

nmohammad (author)Tiobel2017-09-13

I guess I will need to design a new case for my use :), thanks for the feedback!

Sammbo (author)2017-09-10

looks good,

I used a Nano and a GM stepper motor make an electronic speedometer to relace my old classic car's cable driven speedometer.

Its got a reproduction face to look like the original and it uses a hall effect sensor in the gearbox and the Nano to control the lot.

I thought about building a GPS one, but I wasn't sure of the accuracy.

I heard they the can vary of a few kilometres each way.

If this your experience?

is it 100% accurate?

Tiobel (author)Sammbo2017-09-13

100% accurate I can not say, only comparing with the police radar gun :) Not looking for this.

Normaly I have 5-10 km/h difeence from the car speedometer.

Lorax98 (author)2017-09-10

Great Idea. Even when operating normally, vehicle speedometers are notoriously inaccurate. In Canada, mechanical speedometers can be off by 10% before becoming an equipment violation. Digital speedometers can be off by 4%. If you change your tires, your digital speedo is not accurate any longer. Your home built device is always accurate.

I do have some questions. Is the speed shown accurate in the third (elevation) dimension? Is the GPS using 2D or 3D math to calculate the speed? If I am traveling 60mph up a 20% grade (ideal example), would the GPS show 60mph, or only the horizontal portion of the velocity vector (54.8mph)?

Tiobel (author)Lorax982017-09-13

Very interesting question, but I do not have a clue :)

The library that I'm using is a parsing for NMEA data streams provided by GPS modules. So all calculation is done before. I only display the information that I want.

farna (author)2017-09-11

Sammbo, I'd like to see how you made the speedo with the stepper motor. This GPS model is great too... easy to use in a different vehicle. Most likely just have a bad speed sensor in the car causing the original speedo not to work at times, or just a bad connection at the sensor...

throbscottle (author)2017-09-10

Such a lovely thing :)

vishnumaiea (author)2017-09-06

Wow, new build! Nice. Yeah, we could buy GPS from any shops or use the apps, but what's the fun in it! According to my maker philosophy, we must build every tool and instruments we want to use, or at least try to make them. Your 3D print looks good, even though I don't have one. But you could've designed the front panel such that the LCD can be fastened from the inside rather than from the front, using bosses inside the front panel. I really like bolt jointing things (and really hate gluing), but the screws at front seem to interfere with the aesthetics of the LED bar.

You have my votes BTW ;)

Pa1963 (author)vishnumaiea2017-09-10

I'd use socket head screws. They would look like old school aviation gauges

Tiobel (author)vishnumaiea2017-09-07

thanks

pgs070947 (author)2017-09-10

I like this and the use of the OLED display which I want to experiment with soon.

I'm quite keen on using GPS to get an accurate time signal, rather than rely on MSF etc., which can be temperamental.

MrD32 (author)2017-09-09

One word,amazing!

kksjunior (author)2017-09-07

Wow...! Great job! Voted!

Tiobel (author)kksjunior2017-09-07

thanks

liquidhandwash (author)2017-09-06

Great project, Ive always wanted a taddle tail speedo, push the button it tells you the maximum speed . Good for seeing how fast the dog can run, whose been speeding in my car, Or look officer, My speedo tells me the fastest Ive been is 50MPH not 90 .

You think you can get you project to do that?

Tiobel (author)liquidhandwash2017-09-07

Yes it is possible, add a function to compare the speed. Then display the new variable instead of the heading, for example.

About This Instructable

10,826views

182favorites

License:

Bio: I like making things, specially if they can move.
More by Tiobel:FPV RC Car GPS SpeedometerESP32 Solar Weather Station
Add instructable to: