Instructables
I've had a cuecat barcode scanner sitting around for over 10 years. Basically it connects to a PS2 port (apparently there is a USB version) like a keyboard and spits out a barcode when scanned. Nice!. The annoying thing is that it is "encrypted". What I set out to do is;
- unencrypt the barcode in software on the arduino
    - i didn't want to cut into the Cuecat in case I broke it, not hard to replace, but that's not the point ;-)
   - get it to write only the bar code to the serial port, and I can use some terminal emulator (TeraTerm,Putty or SecureCRT) to write the data to a file as I furiously scan like a boss all items with a barcode in the house.



 
Remove these adsRemove these ads by Signing Up

Step 1: Connecting the CueCat to Arduino

The cable connected to the CueCat is a Y cable that connected to a PC PS/2 port. The connection to the PC is a male adapter. There is also a female, that allows the PC's keyboard to share the port.

There is no continuous path between the 2 ports (Except Power and GND) as a multimeter and continuity test confirmed. So using the female port as a way to access the cuecat signal did not work.

PS2 female connectors are hard to find these days, so I cut the female connector from the cuecat and used that to break out the wires...

The Cue cat cable has 6 wires, marked on the board as 1-6

1. Brown (+5V)
2. Red (DATA Female connector)
3. Black (Clock Female Connector)
4. Orange (DATA Male connector)
5. Yellow (Clock Male Connector)
6. Black - Cable is thicker than other black (Ground)

When cut, the female adapter, has the following which will map to the connector inside the Cuecat as follows

1. Brown (+5V)
2. Red (DATA Female connector) to Orange(pin4)
3. Black (Clock Female Connector) to Yellow (pin5)
4. Bare wire (GND)

I tinned the wires with flux and solder to make them a little more durable, and wired them to a terminal shield on the Arduino.
signmore1 year ago
great barcode scanner .net, after seeing it's discription i think i need to try it to scan barcodes  .do i need to buy liscence or it is free open souce.
philip422 years ago
The CueCat uses an almost trivial XOR decoding scheme. Since the company only provided decoding (and spyware) software for Windows with the product folks in the Linux community performed a clean reverse engineer (no access to the software or even internal hardware of the CueCat) were able to figure out the coding scheme fairly quickly. Here's one writeup for how the decoding works.

There's a wide variety of mods to the CueCat - declawing it (disabling the unit's individual serial number) and neutering it (eliminating the serial number all together and the encoding scheme). The first amazing part about neutering a CueCat is once it's done the CueCat becomes a plaintext general purpose bar code reader which simulates a keyboard without any drivers needed. Just plug it in and any scanned barcodes are automatically "typed". The more amazing part is the mod to neuter a cat is trivial - soldering in a single wire to the appropriate already existing pass through hole on the circuit board! The entire process takes about 10 minutes and can be done by anybody with novice soldering skills, in fact some folks do it without _any_ electronics skills, just reusing a bread twist-tie as a wire and squeezing the wire into the appropriate location.

The mod is actually less invasive than what you've done to attach the PS/2 cable to the Arduino.

One caution is there are many revisions to the circuit, fortunately documented in the circuit board's silkscreen. Here's one website with info on how to do the mod on all of the known revisions to the circuit board.
Beware, not every cuecat is listed on the lincomatic page. The last one I modified required cutting a ground trace rather than jumpering a pin. That is because this model (maybe one of the last ones before switching to USB?) has the pin that signals "encrypt the output" wired to ground instead of floating, so if you jumpered +5 volts to that pin, you would just be creating a short circuit. Also, it looks like they stopped conveniently breaking out holes to wire it to.

This model was k023a016 REV:C, I don't know how many others not documented on that original site there were.
damcave (author)  philip422 years ago
Too true....
In this case, it was like climbing the mountain. It was there :-)

And I don't have PS2 port on my laptop :-)
It's trivial to add a PS2 port to a laptop (or any computer without PS2 connectors). Just get a 99 cent adapter cable - it lets you plug in two PS2 devices (typically keyboard and mouse) into a USB port. I use one to hook up my netbook to a PS2 KVM switch.

The PS2 to USB adapter works fine with the CueCat.
mkanoap2 years ago
You may not have broken your cue cat, there may just be something extra or weird in the output normally. When I made my device (the meowing handheld scanner at the top of the related list to the right) I struggled for a long time trying to decrypt the data in software on the arduino. I kept getting extra characters like you do. I finally just gave up, since I was already cutting off the tail, and declawed the cuecat.

It would be nice to get an all software fix working, because then my project could be more versatile.