Outils pour utilisateurs

Outils du site


OPC-478-compatible cable with a Bus Pirate

The OPC-478 class of cables allows to program and clone ICOM IC-V80 2m radios, amongst others.

L4ELA's OPC-478 clone, from http://www.highfields-arc.co.uk/constructors/other/opc478.htm

This cable has been successfully emulated with a CP-1202 UART by Tormod Johansen (LA4ELA). Here, we try to do the same thing with the BusPirate (v3)'s transparent UART bridge.


This requires an 1N4148 diode, and a 3.5mm TRS jack connector. For cleanliness, a 10-pin female IDC 2.54mm connector and ribbon (which ends up looking a lot like the BP Probe Kit) is also a good idea.


  • TX (MOSI) is connected to the cathode of the diode,
  • RX (MISO) is connected to the anode of the diode, and the ring of the jack connector,
  • GND is connected to the sleeve of the jack connector,
  • RTS (CS) and CTS (CLK) are shorted.

BP IO mapping to ribbon colours, from http://dangerousprototypes.com/docs/Bus_Pirate_I/O_Pin_Descriptions

The BusPirate's mode 3 UART bridge exposes RTS and CTS signals, which L4ELA's approach needs to short; mode 1 doesn't, and it is probably safe to assume that the effect will be the same.

Communicating with the Radio

The IC-V80 can be programmed with ICOMM's CS-V80 (a dubious copy of which can be found here). The software expects a normal serial port where the BusPirate is connected. It is therefore necessary to make it behave as a bridge.

Another issue is that the PC–BP connection can be at a different speed than the BP–Radio link, whereas CS-V80 expects a single connection, with settable speed. Before setting the BP in bridge mode, it is therefore necessary to set both sides to what the programming software expects, that is, 9600-8n1, 3.3/0V levels for normal speed.

Set serial port speed: (bps)
 5. 9600
Data bits and parity:
 1. 8, NONE *default
Stop bits:
 1. 1 *default
Receive polarity:
 1. Idle 1 *default
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)
Set serial port speed: (bps)
 5. 9600
Adjust your terminal
Space to continue

At this stage, it is necessary to disconnect, and reconnect at 9600bps (normal speed in the COM port menu).

<in> </in>
UART bridge
Reset to exit
Are you sure? <in>y</in>

After disconnecting the terminal, the CS-V80 should now be able to use the bridge to communicate with the radio. And it does.

FIXME Work out what is the high speed baudrate.

Variation along the same lines: Baofeng BF-F9 (similar to UV5R) programming cable

Easier than above, it appears that the 3.5“ and 2.25”. The bottomline is as follows (from [4]).

  • “The RXD line from the module goes to the sleeve of the 3.5MM plug.
  • The TXD line from the module goes to the ring of the 2.5MM plug.
  • The GND line from the module goes to the sleeve of the 2.5MM plug.”

 Example wiring from a CP2102-based adapter. TXD and RXD might need to be swapped depending on the labelling of the device. Source: [4]

FIXME Doesn't quite work :-(


  1. Brian Perrett, MW0GKX. Make an OPC-478 / OPC-552 PC Cloning / CI-V cable. Highfields ARC. 2013-03-10.
  2. Dangerous Prototypes. Bus Pirate I/O Pin Descriptions. Rev. 18675. 2014-07-14.
  3. Dangerous Prototypes. UART-DP. Rev. 12344. 2011-09-11.
ham/opc478buspirate.txt · Dernière modification : 2015-11-22 07:11 de shtrom