[Dmitry Grinberg] recently bought a Cessna 150 that contained an old IFR-certified GPS from 1996, the KLN89B. The GPS unit contains a database which by law has to be kept up-to-date for IFR flight. The problem was that, while Honeywell still supplied the data in electronic form, [Dmitry] had no way to update the GPS. The original ways for doing it are either no longer supported, too expensive and a pain to do, or not available to him due to the way his GPS was installed.
Two of those ways involved removing a data card which can legally be slid out of the GPS’s front panel. The data card is what stores all the data but it’s a proprietary card and there’s no reader for it. [Dmitry]’s solution was therefore to make his own reader/writer board.
Examining the card, and another he’d bought off of ebay, he was able to use the datasheets for the components to work out the card connector’s pinout. Starting from there he wired it up to an STM32 development board and proved that he could reliably read the card’s contents.
Having done that, he next designed his reader/writer board around the 5V AT90USB646 Atmel 8-bit AVR RISC-based microcontroller. Also on the board is a 12V boost converter and a connector for plugging in the card.
While his board was being manufactured he turned his attention to the data itself. Honeywell still supplied updated data in digital form as a Windows EXE file. A quick examination showed it to contain a ZIP file, and in no time he had the database itself. But it wasn’t as simple as that. Most of it turned out to be encrypted, and from more experimenting, he’d learned that the data was supposed to be decrypted before being written to the card. However, [Dmitry] was up to the challenge and after a few days hard work, found that the encryption was fairly simple and based on applying CRCs starting with a key that was in the data itself. After a remaining troublesome 8 bytes, he had the proper updated data for writing to the card.
Once his manufactured board arrived, he added the microcontroller and other components and had it reading, writing and erasing the card in no time. While he has made the schematic and all software available on his website he also gives plenty of disclaimers, understandable, since this is for a GPS in a plane. But even if you’ve no need to use it, you’ll also find on his website [Dmitry]’s very detailed write-up of this project.
[Dmitry]’s also no stranger here on Hackaday. His projects have ranged from an encrypted USB bootloader for AVRs to a greeting card made from a CD case that plays full songs to an 8×8 matrix LED pendent encased in epoxy.