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”
[Chris], graphing calculator hacker extrordinaire, has seen a few of his projects show up on the front page of Hackaday, mostly involving builds that turn graphing calculators like the TI-84 Plus shown above into something that copies a few features from a smartphone. His latest build, a hardware GPS module attached to the TI-84 Plus, is yet another feather in his cap of awesome and impractical addition to a classic piece of hardware.
There were two major technical challenges behind adding GPS to a graphing calculator. The first of these was powering a GPS sensor. Many a calculator modder has put a lot of work into documenting the USB port on the 84 Plus, revealing it is a USB OTG port, capable of serving as a host or device. It also supplies 5V of power to just about anything, burning through batteries as a result.
The next challenge was reading the data coming off the GPS sensor at 4800bps.The TI-84 Plus series of calculators have a series of interrupts that can fire at fractions of the 15MHz clock. By setting the timer up to fire every 197 clock ticks and dividing again by 16, [Chris] can read data at 4758.9bps. It’s close enough to get most of the data, and the checksum included in the NMEA protocol allows the software to discard bad messages.
Continue reading “GPS For A Graphing Calculator”
[James] got engaged recently, in part thanks to his clever GPS Engagement Ring Box, and he sent us a brief overview of how he brought this project to life. The exterior of the box is rather simple: one button and an LCD. Upon pressing the button, the LCD would indicate how far it needed to be taken to reach a pre-selected destination. After carrying it to the correct location, the box would open, revealing the ring (and a bit of electronics).
Inside is a GPS antenna and a Stellaris Launchpad, which are powered by three Energizer lithium batteries to ensure the box didn’t run out of juice during the walk. To keep the lid closed, [James] 3D printed a small latch and glued it to the top of the box, which is held in place by a micro servo. Once the box reaches its destination, the microcontroller tells the servo to swing out of the way, and the box can then open. As a failsafe, [James] added a reed switch to trigger an interrupt to open the box regardless of location. It seems this was a wise choice, because the GPS was a bit off and the box didn’t think it was in the correct place.
Swing by his blog for more information on the box’s construction and the wiring. We wish [James] the best and look forward seeing his future hacks; perhaps he’ll come up with some clever ones for the wedding like our friend Bill Porter.
Sticking a GPS module in a project has been a common occurrence for a while now, whether it be for a reverse geocache or for a drone telemetry system. These GPS modules are expensive, though, and they only listen in on GPS satellites – not the Russian GLONASS satellites or the Chinese Beidou satellites. NavSpark has the capability to listen to all these positioning systems, all while being an Arduino-compatible board that costs about $20.
Inside the NavSpark is a 32-bit microcontroller core (no, not ARM. LEON) with 1 MB of Flash 212kB of RAM, and a whole lot of horsepower. Tacked onto this core is a GPS unit that’s capable of listening in on GPS, GPS and GLONASS, or GPS and Beidou signals.
On paper, it’s an extremely impressive board for any application that needs any sort of global positioning and a powerful microcontroller. There’s also the option of using two of these boards and active antennas to capture carrier phase information, bringing the accuracy of this setup down to a few centimeters. Very cool, indeed.
Thanks [Steve] for sending this in.