After enhancing my Baycom modem with a KISS interface it was time to do the same ‘trick’ to an Alan RMD 1200 modem. This modem is also a ‘Baycom style’ design except for some minor differences.
The main goal was also to expand the modem with a KISS interface. Just for an increased compatibility / usage level and not being stuck to old OS-es or Linux only. Al lot of people have them laying around somewhere but can’t use them because they simply won’t work on more modern Windows operating systems.
Recently I had a look at the Alan RMD 1200 schematic diagram and noticed a slight difference compared to a standard ‘Baycom style’ modem. This affects how the KISS interface should do the PTT signalling to the modem’s circuitry. It needed to be inverted and all 3 signals must be connected directly to the TTL level in/outputs. The interface can’t be used at the RS-232 side of the MAX232 driver IC due to different voltage levels.
Because the MAX232 inverts its inputs and outputs – just like the 74HC04 on a standard ‘Baycom style’ modem – it needed a slight modification in the KISS interface’s firmware to invert the PTT signal output. For ease of installation I think it was the best option.
Therefore there are 2 versions of the Baycom KISS interface firmware currently. One for all Baycom modems with a standard inverted buffer IC (mostly 74HC04) like in my previous post here. And one for modems with a MAX232 EIA-232 driver IC like the Alan RMD 1200 has.
Enough background info for now I think, let’s walk through the DIY process of the Alan RMD 1200’s modification a bit.
I first started to make some sort of fixture to mount the Pro Micro PCB to the backplate of the Alan RMD 1200. Just used some solderable material I had laying around… The micro USB connector itself is the most fragile component on such PCBs like a Pro Micro. That’s the reason I soldered the connector (carefully!) to the PCB material. It provides minimum mechanical stress on the micro USB connector’s solderings itself when inserting or disconnecting the cable.
A bit of measuring, drilling and filing at the backplate… Resulted in the following mount.
For some ease of installation (and didn’t like to solder directly onto the MAX232’s pins) I disassembled the modem and soldered the 3 signal wires to the corresponding IC (fitting) pins at the back according the diagram below. The MAX232 can still be swapped/removed without de- or re-soldering any of the wires in this case. I mention ‘in this case’ because most RMD 1200’s do not have IC fittings. If you need to solder directly to the MAX232 IC’s pins, be careful and solder nicely to not overheat the pins and damage the IC.
I also cut the RXD LED’s anode (+) trace on the back of the small PCB (red X mark on schematic). The RXD LED’s function isn’t quite representative in a standard RMD 1200. Even with open squelch noise or any other audio fed into it, it will light up as if there’s RX data due to the design and TCM3105.
Therefore I connected the RX LED’s anode to the DCD LED output (6) on the KISS interface through a 470 ohm resistor. I thought that would be a more representative function as the KISS interface has an open squelch DCD built-in and can light a LED when it receives legitimate packet radio data.
There’s also a 470 ohm resistor on the main PCB, you can cut and use that one too instead of adding one as I did.
Ok, that’s a bit about the installation. It’s just like a standard Baycom style modem pretty easy and very straight forward and it only needs 5 wires for proper functioning and 6 wires including the RXD LED modification.
This is the overview and schematic of the connections for the KISS interface addition:
|Alan RMD 1200
|Any ground point. Ex: Center pin (2) on the 7805 Vreg.
|Right pin (3) of the 7805 Vreg.
|Pin 10 @ MAX232 socket.
|Pin 9 @ MAX232 socket.
|Pin 12 @ MAX232 socket.
|RXD LED anode through 470 ohm resistor.
After installing I’ve connected the modem with a micro-USB cable and uploaded the firmware’s .hex file by using the Freematics Arduino Builder tool. You also need to install the Arduino IDE which contains drivers to recognize the bootloader for programming. When programming you need to select an Arduino Leonardo @ 16MHz in the Freematics Arduino Builder tool. The Pro Micro is programmed with the Arduino Leonardo bootloader by default.
After successful programming the firmware a PC/laptop should install a new USB serial port (COMx) automatically in modern OS-es. Some OS-es will even notify you’ve connected a Baycom USB KISS interface. Who thought Windows 10 would ever recognize and mention a ‘Baycom’? 🙂
Note: Windows 8.1/10 don’t need any driver install and will recognize the interface automagically and add a generic USB serial port. For WinXP/Vista/7 there’s a driver INF download option below.
Now it’s ready to be used as if it’s a TNC in KISS mode with hardware DCD. Just configure it as a KISS TNC in your packet radio software. No init commands like with TF2.7b / TAPR etc. needed and all COM-port baudrates except 1200 baud can be used for the USB serial port communication speed. 9600 or 19200 will be fine.
Baycom USB KISS interface characteristics:
– Standard KISS protocol communication.
– USB powered modem.
– Utilizes a standard USB CDC serial port.
– No manual driver install needed on modern OS.
– Auto-baudrate selection, supposed to work with any serial interface speed.
– Digital PLL based open squelch DCD built-in, no need for XR2211 or software DCD.
– Optional LEDs for PTT and DCD signalling.
– Firmware (re)programmable through USB bootloader.
For this project a Pro Micro board (Arduino or clone) with ATmega32U4 is needed. Make sure you use the 5V 16MHz version.