In a modern car, your speedometer might look analog, but it is almost certainly digital and driven by the computer that has to monitor all sorts of things anyway. But how did they work before your car was a rolling computer complex? The electronic speedometer has been around for well over a century and, when you think about it, qualifies as a technlogical marvel.
If you already know how they work, this isn’t a fair question. But if you don’t, think about this. Your dashboard has a cable running into it. The inner part of the cable spins at some rate, which is related to either the car’s transmission or a wheel sensor. How do you make a needle deflect based on the speed?
If you’d like to measure the speed of your cycling then it’s easy enough to buy a cycle computer, but as [Clovis Fritzen] has done it’s also an option to build one. The result of his work is a smart PCB on which the speed is indicated with a row of LEDs.
The sensor is a straightforward affair, a reed switch with a magnet on a wheel, which is sensed by an ESP8266. The six LEDs are charlieplexeed over three lines. To keep the supply voltage correct for the ESP from the uncertain state of a lithium battery, a small buck-boost module is used. Sadly the code doesn’t seem to make the speed available via the wireless part of the processor, but we’re guessing that a bit of extra software work could fix that.
[Mellow_Labs] was asked to create a GPS speedometer. It seems simple, but of course, the devil is in the details. You can see the process and the result in the video below.
We have to admit that he does things step-by-step. The first step was to test the GPS module’s interface. Then, he tried computing the speed from it and putting the result on a display. However, testing in the field showed that the display was not suitable for outdoor use.
That prompted another version with an OLED screen. Picking the right components is critical. It struck us that you probably need a fast update rate from the GPS, too, but that doesn’t seem to be a problem. Continue reading “GPS At Any Speed”→
If you can ride a bike with no handlebars, no handlebars, no handlebars, you can do just about anything. You can take apart a remote control, and you can almost put it back together. You can listen in on a two meter repeater and you can build a GPS module speedometer. That’s what [Jeremy Cook] did with just a few parts, a little 3D design, and some handy zip ties to hold it onto the handlebars, the handlebars.
The electronics for this build are relatively simple, based on an Arduino Pro Mini because that’s just about the smallest readily available development board you’ll be able to find. To this is a LiPo, a LiPo charging circuit, a GPS module, and a single RGB LED. The code gets some data from the GPS module and figures out a speed. This is then translated into a color — red, yellow, or green depending on whether you’re stationary, below 5 km/h, or above 5 km/h.
All these electronics are stuffed into a 3D-printed enclosure. The majority of the enclosure is printed in black, with a translucent top that serves as a great diffuser for the LED. Just two zip ties hold this GPS speedometer onto the handlebars, and from the video below, everything looks great. The GPS module does take some time to get data at first, but that’s a common problem with GPS units that have been powered off for a few days. If only someone made a GPS module that could keep time with no metronome, with no metronome.
After swapping the engine out in his scooter, [James Stanley] made an unfortunate discovery. The speedometer was digitally controlled, and while the original engine had a sensor which would generate pulses for it to interpret, his new engine didn’t. Learning that the original sensor would pull the signal wire to ground each time it detected a tooth of one of the spinning gears, [James] reasoned he needed to find a way to detect the scooter’s speed and create these pulses manually.
To find the scooter’s speed, he installed a magnet on the front wheel and a hall effect sensor on the fork to detect each time it passed by. Since the wheel is of a known circumference, timing the pulses from the sensor allows calculation of the current speed. A GPS receiver could be used if you wanted fewer wires, but the hall effect sensor on the wheel is simple and reliable. With the speed of the scooter now known, he needed to turn that into a signal the speedometer understands.
Speedometer controller potted with resin.
[James] wrote a program for an ATmega that would take the input from the wheel sensor and use it to create a PWM signal. This PWM signal drives a transistor, which alternates the speedometer sensor wire between low and floating. With a bit of experimentation, he was able to come up with an algorithm which equated wheel speed to the gearbox speed the speedometer wanted with accuracy close enough for his purposes.
While the software side of this project is interesting in its own right, the hardware is an excellent case study in producing robust electronic devices suitable for use on vehicles. [James] 3D printed a shallow case for the circuit board, and potted the entire device with black polyurethane resin. He even had the forethought to make sure he had a debugging LED and programming connector before he encapsulated everything (which ended up saving the project).
While the specific scenario encountered by [James] is unlikely to befall others, his project is an excellent example of not only interfacing with exiting electronics but producing rugged and professional looking hardware without breaking the bank. Even if scooters aren’t your thing, there are lessons to be learned from this write-up.
[Johan Beyers] built an elegantly simple Dog Speedometer project that uses a POV display to display a running dog’s speed without the benefit of an accelerometer. Using an Arduino (looks like it might be a D-love) and a line of 5 LEDs, [Johan] built a dirt-simple POV — 39 lines of code — that times out the flashes so that an immobile viewer sees the dog’s speed. How do you know your pup’s loping speed? That’s the beauty of this project.
Instead of putting all of the LEDs in a line, they are arranged in a V-shape. Because of this spatial offset, the patterns flashed out only “look right” at the right speed. Each number is flashed at a different speed, so you just look for the least distorted numeral.
[Johan]’s code does only what it needs to get the job done. The character data are stored in arrays that are played back directly to the pins of PORTD — avoiding most of the usual Arduino-style complexity with pin definitions and other foolery.
It is pretty easy to go to a big box store and get a digital speedometer for your bike. Not only is that no fun, but the little digital display isn’t going to win you any hacker cred. [AlexGyver] has the answer. Using an Arduino and a servo he built a classic needle speedometer for his bike. It also has a digital display and uses a hall effect sensor to pick up the wheel speed. You can see a video of the project below.
[Alex] talks about the geometry involved, in case your high school math is well into your rear view mirror. The circumference of the wheel is the distance you’ll travel in one revolution. If you know the distance and you know the time, you know the speed and the rest is just conversions to get a numerical speed into an angle on the servo motor. The code is out on GitHub.