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.
One of [Bob’s] most treasured possessions is a Heathkit alarm clock he put together as a kid. Over the years he’s noticed a few problems with his clock. There isn’t a battery backup, so it resets when the power goes out. Setting the time and alarm is also a forward only affair – so stepping the clock back an hour for daylight savings time means holding down the buttons while the clock scrolls through 23 hours. [Bob] decided to modify his clock with a few modern parts. While the easiest method may have been to gut the clock, that wouldn’t preserve all those classic Heathkit parts. What [Bob] did in essence is to add a PIC32 co-processor to the system.
Like many clocks in the 70’s and 80’s, the Heathkit alarm clock was based upon the National Semiconductor MM5316 Digital Alarm Clock chip. The MM5316 operates at 8 – 22 volts, so it couldn’t directly interface with the 3.3V (5V tolerant) PIC32 I/O pins. On PIC’s the input side, [Bob] used a couple of analog multiplexer chips. The PIC can scan the individual elements of the clock’s display. On the PIC’s output side, he used a couple of analog switches to control the ‘Fast’, ‘Slow’, and ‘Display Alarm/Time’ buttons.
Continue reading “Heathkit Clock Updated with a PIC32 and GPS”
GPS is really fun to play with in your projects. But when [Trax] decided to build a GPS chip into his design the fun ended abruptly. Above you can see the section of the board devoted to the hardware. Unfortunately this PCB fails to provide any GPS location data whatsoever.
Continue reading “Fail of the Week: GPS module design”