Note that as of 2011, it is possible to use an unmodified
CM108 USB fob with any
IRLP board or
Asterisk parallel port interface
instead of a modified fob.
Finding a CM108 Fob
As of 2010, many distributors were selling USB Sound Fobs claiming to use the C-Media CM108
chip, but many are actually cheap "blob fobs" and not useful for CM108 applications. This is especially
true of the International sellers.
I learned of a CM108 fob available at NewEgg.com, and that product is the basis of this article.
To visit the NewEgg site and view more details about the fob, pricing, etc, click on the fob
picture.
I have no interest in NewEgg, and this article is not meant to endorse this product in any way.
After purchasing my CM108 Sound Fobs from NewEgg, I found that these products were quite different than
the ones shown in articles that described modifying a CM108 Fob.
I decided to try modifying a NewEgg CM108 Sound Fob, I wanted to document my approach for anyone that
might modify one in the future. For reference, I ordered
StarTech.com model# N82E16829128004
A Different Strategy
Other articles available on the Internet show the removal of the 3.5mm (1/8") stereo jacks
from the PCB. I found that the audio circuitry on the fob was sufficient for my needs, and
did not see the need to remove the audio jacks. The traces on the PCB are small and fragile,
so it's possible to damage the PCB when removing the jacks.
Other articles typically suggest using the modified FOB to directly connect to node radios or repeater controllers.
My idea was to use my homebrew "Rigblaster" to control the radio's PTT and COS,
as well as handle the audio levels, match impedances, etc. This interface was already built and
interfaced to the radios, and has been working well for me for many years.
This project will adapt the CM108 fob to be compatible with a standard Echolink-type interface. My
interface was built to use a serial port, DB9 pin 7(RTS) for PTT, pin 8(CTS) for COS, and pin 5 for ground.
Of course, you could also decide to use the information here to modify a Startech USB fob for PTT, COS and/or GPIO
via USB. The 2008 article referenced at the bottom of this page will aid in your modification.
Parts List
1 - CM108 USB Sound Fob
Open the Case
The StarTech models do not feature any buttons or LEDs, and also do not easily come apart! The cases
are plastic-welded along the seams, and can be quite difficult to open.
Here is a picture of a StarTech fob that has been opened. Notice how well the case has been fused together
with the plastic-welding process.
Be very careful when opening the case. I'd recommend wearing gloves, and perhaps using a small hobby
vice to hold the fob case. I used a small utility knife, and used leverage between the
USB plug and adjoining case. Once a small opening has been made, carefully run the blade along the case
halves until you've opened the clamshell.
It may also help to use a small screwdriver to pry the case halves apart.
Look closely at the pad circled in red. This pad is the other half of switch "SW3" and
is located near the center of the PCB.
This pin is connected by an existing PCB trace to CM108 IC pin 48. Use an ohmmeter to verify
that you've selected the correct trace.
The anode of your BAT43 (or other) diode will attach to this solder pad.
Prepare your BAT43 (or other) diode, so that the anode's lead will solder to this pad,
and the diode body will be as shown on the top side of the PCB. (See picture).
I found that it helped to slide some wire insulation around the diode lead, to prevent
shorting to the PCB.
The COS line of your receiver will attach to the cathode end of the diode. Connect the white wire from your USB cable
to the cathode.
Here is a picture showing the bottom of the PCB fully modified.
You can see the anode lead and +5v wire attached to the bottom of the PCB, and you can see a black wire
attached to the USB connector's shell (ground).
What you need to do is solder one end of your 10k resistor to pin 13 of the CM108 IC. Thankfully, pin 13 is on a
corner. Use a super fine, clean soldering iron. First tin the resistor lead, then slip some more wire insulation
over the lead. I found that it made it easier to bend the end of the resistor 90 degrees, so that the CM108 pin and
resistor lead met at a right angle.
Use a magnifying glass and good lamp. If you're not comfortable with surface-mount work, try practicing first on an
old dialup modem or other electronics dinosaur first.
The other end of this resistor will connect to the base of a 2N3904 (or other) NPN transistor. Connect the
transistor's emitter to ground, and collector to the red wire of your USB cable.
Use some hot glue to stabilize the parts, and modify the case between the audio jacks for the USB cable to pass
through.
Connect a 3.3k resistor to DB9 pin 8. The other end of the resistor to the base of a 2N3904 (or other) NPN transistor. The
emitter goes to ground, and collector goes to the white wire of your USB cable.
Connect the red wire to a 1k resistor. The other end of the resistor to the base of a 2N3906 (or other) PNP transistor. Connect
the green wire and one end of a 2.2k resistor to the emitter. The other end of the 2.2k resistor goes to the base.
The benefits are, less CPU and memory usage, the ability to run multiple nodes on a minimal PC, and less audio "jitter" than with Usbradio.
The following settings are used on my simplex node, and should provide a template of what you need to use in usbradio.conf
Helpful Links
2008 CM108 modification article .
Please
email me
with your results also!
73 and good luck!
See the left side of the page for
other operating modes and projects.
If this is not visable, click here to reload web page.
1 - BAT43 (or other) diode
2 - 2N3904 (or other) NPN transistor
1 - 2N3906 (or other) PNP transistor
1 - 10k resistor (1/8 or 1/4 watt)
1 - 3.3k resistor (1/8 or 1/4 watt)
1 - 1k resistor (1/8 or 1/4 watt)
1 - 2.2k resistor (1/8 or 1/4 watt)
1 - DB9 Male connector
1 - DB9 Connector Hood
1 - 4 conductor cable (USB cables work well!)
Refer to the schematic for modified CM108 and DB9 Shell details.
Your CM108 fob should now function as an "Rigblaster" adapter, with active-high +5v PTT keying, and active high COS.
Note that if you are handling the PL encode and decode in the radio (not in Asterisk DSP), you can use SimpleUSB instead
of Usbradio. There is no down side to SimpleUSB if you handle the PL in the radio (as I do!)
[usb1234]
rxchannel=Radio/usb1234
hdwtype=0
rxboost=1
txboost=0
rxctcssrelax=1
txctcssdefault=131.8 ; Disregard this CTCSS section unless you are using discriminator
rxctcssfreqs=131.8 ; audio and injecting PL from the USB FOB directly into the modulator.
txctcssfreqs=131.8
; rxctcssoverride=0 ; If using muted, filtered receive audio and injecting mic audio
; into the mic jack, you'll want to do your PL encode and decode
; in the node radio itself, not via Asterisk DSP.
carrierfrom=usbinvert
ctcssfrom=no
rxdemod=speaker
txprelim=no
txlimonly=no
txtoctype=no
txmixa=voice
txmixb=no
;txmixb=voice
invertptt=0
duplex=0 ; 0=half duplex 1=full duplex
rxondelay=0
rxnoisefiltype=0
eeprom=0
Kyle
This site requires a frames-compatible browser for proper page viewing. If you're having
trouble viewing this page, or want to visit the non-frames page, click
here