Converting a CM108 USB fob for amateur radio use

The CM108 USB audio chip has become a popular choice for Amateur Radio usage, due to its cheap price, good performance, and its exposed GPIO pins. The GPIOs can be utilised for triggering the PTT and detecting COS (When the radio is receiving a valid signal)

Due to its popularity, it has been integrated into app_rpt, a channel driver for Asterisk aimed at repeater usage, used in the popular AllStar Asterisk distribution and also supported in Hamlib, a "standardised API to control any radio oriented equipment through a computer interface", which Direwolf conveniently supports.

The following guide documents how to convert one for use with a radio. This is not my design, but the combined work of WB6NIL (SK), W9SH, M0NFI, G7RPG and many others. Pictures supplied with permission from M0NFI


The modifications documented below add an input for COS (Carrier on Squelch) and an output for PTT. 
  • A diode on the COS input blocks any current from flowing in to the CM108 chip. 
  • The transistor pulls the PTT to ground when it's activated. 
  • The 100K potentiometer enables you to make fine tuned adjustments to the audio going in to the CM108. 
  • Output audio levels are generally set in whichever software you're using with the USB fob.

Required components

You will need the following components. You can substitute alternatives in if required, but ensure they are a good match for the original components.

Quantity Item Value Notes
1x CM108 USB Fob The CM108B, C108AH and DP108 will potentially work, but check support has been added to your chosen software. The pin out is the same.

They are readily available on Ebay, just get the same 'blue PCB' version shown in the pictures. I used these
1x Resistor 4.7K Photos show 10K, which works with my radio but has been reported to cause issues with others. Latest suggestion is 4.7K
1x Multi-turn Potentiometer 100K
1x BAT43 Diode -
1x BC547B NPN Transistor -
- 1mm Heat Shrink -
- Solid Core Wire -

Removing the 3.5mm Jack Connectors

The first step is to remove the 3.5mm Jack Connectors from the PCB. I throughly recommend using hot air to remove them. I used an 858D, a cheap and cheerful hot air station that can be had for £30-35

Cutting Tracks

The next step is to cut some tracks to free up some pads, so you can attach some additional components. You can use a Dremel, but I used a screw as a centre punch and then used a small drill bit. You don't need to go too deep, just enough to remove the copper. I then use a multimeter set to continuity mode to ensure the tracks really have been cut.

3.5mm Jacks removed and tracks cut (Click to expand)

Removing bias resistors

You will also need to remove the bias resistors. I used hot air for this, heating them up and then removing them with a pair of tweezers. You need to be careful not to apply too much heat or surrounding components may move or tombstone, but if one does move you can move it back in position and apply some hot air to re-solder it in place.

Bias resistors removed (click to expand)

Add the Potentiometer and Transistor

The next step is to add the potentiometer and transistor, in that order. I had to extend the central leg of the potentiometer so it could reach the correct pad. Before soldering the pot to the PCB, I also added lengths of 1mm heatshrink

Potentiometer and Transistor installed (Click to expand)

Add the Diode and Resistor

Once the potentiometer and transistor have been added, it's time to add the diode and resistor. This involves soldering them to legs on the CM108 chip. It's fiddly, but fortunately as these are at the edges of the chip, its not impossible. Again, remember to add some heat shrink before soldering them to the PCB.
Diode and resistor installed (click to expand)

Finished Product

Heres a picture of the completed CM108 USB fob, showing the various input and output pads

Annotated pads (click to expand)


A big thanks to:
  • M0NFI - Provided the photos, and this particular design
  • G7RPG - Continued assistance, inspiration, tweaks, innovation, and prolific CM108 builder
  • WB6NIL (SK) - Original developer of AllStar, credited with designing the CM108 mod
  • W9SH - Also credited with designing the CM108 mod.
If I have missed anyone involved with the CM108 modifications, please let me know so I can add them!

1 comment:

  1. I'm going to give this a try, even though I'm already on the air, this looks interesting. Just placed an order on Ebay for 5 units. There is a 3D printable case for the CM108 with the mods on Thingiverse. I don't know why you would need a COS as I am running open squelch on Direwolf. I suppose it's for a different software package.