I am running an ICOM IC-2820 at home for D-Star repeater use. It has the D-Star unit built in and the GPS antenna was connected. The GPS module seems quite deaf at it takes ages for it to get a satellite fix. And what also was annoying is that the reported GPS position suffers from (small) drifts over time. That results in a bunch of point on aprs.fi maps and similar. So I was looking for a way around this issues and made a proof-of-concept.
I made a small circuit from parts that I had at hand. The basis is an ATtiny2313 micro processor by Atmel. As the IC-2820 expects RS-232 levels at its data input I added a MAX232 to do the level shift . The idea is to feed emulated GPS data into the data port of the IC-2820. The normal use case would be to use an external GPS receiver. I used this as input for my GPS emulator that does nothing else than repeatedly sending the same GPS position.
The data format is really simple. You just need to send an APRS string prefixed by a CCITT checksum. The baud rate is 9600 bit/s with 8 data bits, 1 stop bit and no parity (8N1). An example is this (taken from a D-Star receiver listening to the IC-2820’s transmission):
$$CRC843B,DF2ET>API282,DSTAR*:!5129.64N/00714.43Ey/Florian N18 Bochum
The physical connection is the 2.5mm data port on the front of the main unit. For my PoC I used the OPC-1529R data cable that is normally used for programming the radio with its software. The UART of the µC is wired to the MAX232 and from there to a small cable connecting the data port on the IC-2820. For some optical feedback I also added a LED that lights up as long as data is transmitted. The loop is executed every 3 seconds. The schemactic is here:
Currently the code is just transmitting data to the IC-2820. I think of extending it in order to be able to configure the GPS position, symbol etc. via a terminal connection.
The source code for the ATtiny µC was written in C. Its sources can be found on my github repo at .
The settings on the radio must be set according to the pix. If “GPS” is off no data is transmitted at all and if “GPS DATA” is on it just takes data from the internal GPS unit which does not give valid data if the GPS antenna is not connected. So you need to set:
- GPS ON in Common Settings
- GPS DATA OFF in Digital Settings