I wanted to reverse engineer the USB adapter from ASICMiner for
Tubes/Prismas so I built one out of an old USB Blockerupter. The
Blockerupter, like most (all?) USB-controlled bitcoin hardware makes use of
the CP2102 USB-UART adapter, just like the adapter from asicminer. Here's
a picture of the adapter, showing which pins are which.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs10.postimg.org%2F9psi56zi1%2Fasicminer_adapter_pins.png&t=665&c=1GaaPw8XRTzjOg)
To use the blockerupter, you want to get rid of anything potentially using
the BE100 chip, or communicating on the UART. Here's the blockerupter,
showing what I removed. Some of this is optional, but I wanted to reuse
the inductor pads for wiring so make sure to get rid of big caps as well.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Fcvhimttjd%2Fblockerupter_targets_to_remove.png&t=665&c=ZcV_nlpWmwk_-g)
Once you've got a bunch of the stuff pulled, plug it into a computer and
check if it works. The SI labs website has a handy tool for checking if
CP2102s are in working order. Everything on the chip should be factory
defaults.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Fa2ob2st6x%2FCP2102.png&t=665&c=9tsUWrUEiDNVLg)
Now you need to wire the UART RXD and TXD pins to output wires. Find the
smallest wire you can. I used single strands from a stranded 24 AWG wire,
and it worked pretty well. The RXD pin on the CP2102 goes to the topmost
left pin of the microcontroller, an Atmel 2313 AVR, and the TXD pin goes
to the leftmost top pin on the micro. I jumped them from these tiny pads
to the inductor pads. You can jump them where you think best, but don't
short to something which would interfere with the signal. There is one
more issue. If you look closely at the RXD pin on the ASICMiner adapter,
you'll notice that it is tied high (to 3.3V, not 5V) through a 1K
resistor.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Fx5eu1yuo9%2Fasicminer_adapter_resistor.png&t=665&c=MnJ2j_bRXkqUjA)
We need to run a 1K resistor from 3.3V to RXD. C5 and C6 are the output
capacitors from the internal regulator for the CP2102. Jump from them to
RXD. Here's a picture showing where all the wiring on the blockerupter
needs to go. Remember, leftmost top pin, and topmost left pin from the
microcontroller.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Fq3gwfrr2h%2Fblockerupter_wiring.png&t=665&c=UI2jsXbOWmBgGQ)
It should function as a USB-UART adapter now! Hook up GND, TXD, and RXD
as shown in the first picture and fire up your miner! The final product
should look something like this. I added some hot glue to keep the tiny
wires in place.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Fr710rqbpl%2Fmckinnon_adapter.png&t=665&c=30cPWtrdvaHZ0A)
It seemed to work as well as the ASICMiner adapter, here's a screenshot
from a single prisma board hashing:
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fs18.postimg.org%2Frl2crbvt5%2Fhashrate.png&t=665&c=MG6aiCM2UNZjmQ)
You should theoretically be able to use any CP2102 USB-UART with
a 1K pullup resistor from 3.3V to RXD in this fashion.
EDIT: Moved pictures temporarily so they will load. I might mess with resizing them later.--
novak