[FreddySam] had an old Omnitech GPS which he decided was worthy of being taken apart to see what made it tick. While he was poking around the circuit board he found a couple solder pads labeled as ‘MIC1′. This GPS didn’t have a microphone. So, why would this unit have a mic input unless there is a possibility for accepting voice commands? [FreddySam] was about to find out.
The first step to get the system working was to add a physical microphone. For this project one was scavenged from an old headset. The mini microphone was removed from its housing and soldered to the GPS circuit board via a pair of wires. Just having the mic hanging out of the case would have been unsightly so it was tucked away in an otherwise unfilled portion of the case. A hole drilled in the case lets external sounds be easily picked up by the internalized microphone.
The hardware modification was the easy part. Getting the GPS software to recognize the newly added mic was a bit of a challenge. It turns out that there is only one map version that supports voice recognition, an old version; Navigon 2008 Q3. We suppose the next hack is making this work with new map packs. This project shows how a little motivation and time can quickly and significantly upgrade an otherwise normal piece of hardware. Kudos to [FreddySam] for a job well done.
Twenty Euros will score you a small, self-contained GPS keychain. Crack that case open and you can have a lot more. [j3tstream] explored the guts of the thing and found that the NMEA data can be streamed out of the TX pin on the GPS chip.
First off, check out that miniscule GPS antenna module, crazy! But we digress. For testing purposes the asynchronous UART of the GPS was probed, proving that the data can be acquired. From there [j3tstream] moved to an Arduino Pro Mini with an SD card for data logging. The uC is powered from the GPS board but this will quickly exhaust the stock battery so [j3tstream] swapped it out for one from an old cellphone.
That little dot-matix LCD that comes with the unit also caught our eye. If you can hack a headless interface for the GPS that could be repurposed for your next project. May we suggest a wearable gaming project for it?
[Daniel] received a grant from the University of Minnesota’s ECE Envision Fund and was thus responsible for creating something. He built a runner’s GPS logger, complete with a screen that will show a runner the current distance travelled, the time taken to travel that distance, and nothing else. No start/stop, no pause, nothing. Think of it as a stripped-down GPS logger, a perfect example of a minimum viable product, and a great introduction to getting maps onto a screen with an ARM micro.
The build consists of an LPC1178 ARM Cortex M3 microcontroller, a display, GPS unit, and a battery with not much else stuffed into the CNC milled case. The maps come from OpenStreetMap and are stored on a microSD card. Most of the files are available on GitHub, and the files for the case design will be uploaded shortly.
The CNC machine [Daniel] used to create the enclosure is a work of art unto itself. We featured it last year, and it’s good enough to do PCBs with 10 mil traces. Excellent work, although with that ability, we’re wondering why the PCB for the Runner’s GPS is OSH Park purple.
Bikes are great for cruising through congested cities but there is a serious downside to pedaling your two-wheeler around… bike theft. It’s a big deal, for example, yearly estimates for stolen bikes in NYC are in the 60,000 – 100,000 range. Only an extremely small percentage of those are ever recovered. [stbennett] just got himself a halfway decent bike and is not too interested in having it stolen, and if it is stolen, he wants a way to find it so he built himself a GPS tracker for his bike.
The entire project is Arduino-based. It uses a GSM Shield and a GPS module along with a few other small odds and ends. A 2-cell LiPo battery provides the required power for all of the components. It’s pretty neat how this device maintains an extremely long battery life. The metal cable of the bike lock is used as a conductor in the circuit. When the cable is inserted and locked into the lock housing a circuit is completed that prevents electricity from passing through a transistor to the Arduino. In other words, the Arduino is off unless the bike cable is cut or disengaged. That way it is not running 24/7 and draining the battery.
The entire system works like this, once the bike lock cable is cut, the Arduino wakes up and gives a 15 second delay before doing anything, allowing the legitimate user to reconnect the bike lock and shut down the alarm system. If the bike lock is not re-engaged, the unit starts looking for a GPS signal. At that time it will send out SMS messages with the GPS location coordinates. Punching those numbers into Google Maps will show you exactly where the bike is.
Of course your other option is to park your bike where nobody else can access it, like at the top of a lamp pole.
Over the last 20 years, [Martin] has been recording snowboarding runs with a standard helmet cam. It was good but he felt like he could improve upon the design by building his own version and logging additional data values like speed, temperature, altitude, and GPS. In the video shown after the break, a first person perspective is displayed with a GPS overlay documenting the paths that were taken through the snow. [Martin] accomplished this by using a python module called picamera to start the video capture and writing the location to a data file. He then modified the program to read the current frame number and sync GPS points to an exact position in the video. MEncoder is used to join the images together into one media file.
The original design was based on the Raspberry Pi GPS Car Dash Cam [Martin] developed a few months earlier. The code in this helmet cam utilizes many of the same functions surrounding the gathering of GPS data points, recording video, and generating the overlay. What made this project different though were the challenges involved. For example, a camera inside a car rarely has to deal with extreme drops in temperature or the wet weather conditions of a snowy mountain. The outside of the vehicle may get battered from the snow, but the camera remains relatively safe from exposure. In order to test the Raspberry Pi before venturing into the cold, [Martin] stuck the computer in the freezer to see what would happen. Luckily it worked perfectly.
Click past the break for the rest of the story.
Continue reading “A Raspberry Pi Helmet Cam with GPS Logging”
Sometimes GPS watches are too good to be left with their stock firmware. [Renaud] opened his Kalenji 300 GPS watch, reverse engineered it in order to upload his own custom firmware.
The first step was to sniff the serial traffic between the PC and the microcontroller when upgrading firmware to understand the protocol and commands used. [Renaud] then opened the watch, figured out what the different test points and components were. He used his buspirate with OpenOCD to extract the existing STM32F103 firmware. The firmware helped him find the proper value to store in a dedicated register for the boot loader to start.
By looking at the disassembly code he also found the SPI LCD initialization sequence and discovered that it uses a controller similar to the ST7571. He finally compiled his own program which uses the u8glib graphics library. Follow us after the break for the demonstration video.
Continue reading “Reverse Engineering a GPS Watch to Upload Custom Firmware”
Have you ever wondered how far your dog actually runs when you take it to the park? You could be a standard consumer and purchase a GPS tracking collar for $100 or more, or you could follow [Becky Stern’s] lead and build your own simple but effective GPS tracking harness.
[Becky] used two FLORA modules for this project; The FLORA main board, and the FLORA GPS module. The FLORA main board is essentially a small, sewable Arduino board. The GPS module obviously provides the tracking capabilities, but also has built-in data logging functionality. This means that [Becky] didn’t need to add complexity with any special logging circuit. The GPS coordinates are logged in a raw format, but they can easily be pasted into Google Maps for viewing as demonstrated by [Becky] in the video after the break. The system uses the built-in LED on the FLORA main board to notify the user when the GPS has received a lock and that the program is running.
The whole system runs off of three AAA batteries which, according to [Becky], can provide several hours of tracking. She also installed a small coin cell battery for the GPS module. This provides reserve power for the GPS module so it can remember its previous location. This is not necessary, but it provides a benefit in that the GPS module can remember it’s most recent location and therefore discover its location much faster. Continue reading “Track Your Dog With This DIY GPS Harness”