Around the turn of the century, there was a company whose business model included giving away free barcode scanners that emulate keyboards.    A relatively easy mod to these cuecat scanners removed the encryption and made them suitable for scanning the barcodes on books and the like.

One thing that kept me from ever seriously using it to catalog all my books was the fact that being a keyboard emulator, a cuecat required me to lug a laptop around to read the output.  A recent conversation with a friend about the daunting task of inventorying hundreds of books made me think, "wouldn't it be nice to have a smaller device that would would store all the data for later transfer to a computer?"

So I built this device, an arduino and waveshield based box that the cuecat can plug into that will store scanned data on an SD card.  The SD card can then be popped out and mounted onto a computer.  The scanned data will appear as text files on the card.

For extra fun, it plays a goofy^H^H^H^H^H impressive startup sound to let you know it has successfully been turned on, and meows (it is a cueCAT after all) to let you know when it has successfully read a barcode.

Step 1: What you will need

Besides the cueCat, this project consists of a Wave shield from Adafruit industries to provide an SD card reader, an arduino, and a case to hold it together.  Any PS2 keyboard emulating barcode reader could be used instead of the cuecat, as long as it is designed to look like a keyboard.

You will need the following tools
  • Soldering iron
  • dremel or other tool to cut and shape the enclosure
  • Diagonal cutters
  • Hot glue gun (optional)
  • Helping Hands to hold the board while soldering (optional, but recommended)
  • Multimeter (mostly for assembling the wave shield)
You will need the following parts
  1. Solder
  2. Hot glue (optional)
  3. Heat shrink tubing (optional)
  4. Arduino Duemilanove or clone (I'm using the ATMega328 version, don't know if the 168 has enough ram or not)
  5. cuecat PS2 version (or other PS2 barcode scanner)
  6. Female PS2 connector (only if not using a CueCat or if you don't want to mutilate yours)
  7. Wave shield
  8. 8 ohm speaker
  9. 1GB SD card
  10. battery holder
  11. batteries
  12. enclosure
  13. wire (required for Wave shield)
  14. Some sound files in .wav format
While ordering the wave shield kit from from Adafruit industries, I also ordered the Arduino and the SD card from them for convenience.  If this is your first time using an arduino, there are some nifty starter kits there to get you started on other fun projects.  This project is designed to allow you to remove the arduino for use elsewhere when not used in the scanner.

The speaker came from radio shack (part #273-092) but an 8 ohm speaker salvaged from a toy would probably work as well if not better.  The battery holder I had lying around, but also probably came from radio shack.

As detailed later, the female PS2 connector was cut off the cuecat itself.

While I started this project with the intent of "let's use that old CueCat" I couldn't actually find mine, so I bought a "new" one off of ebay.  When purchasing one, it is extremely important that you get one of the original PS2 models.  Some of the ones for sale at places like library thing are USB and those WILL NOT WORK with this project.

For the enclosure I used a box from pactec, model PS36-150, which fit everything nicely with only a few modifications.

Really great job! I liked your approach of merging devices to get to the design target. Nice intro to bar codes. Especially liked you mods, clean, simple and more than just ingenious. I second your use of Google or ...whatever, to research the device using serial numbers as well as model numbers. Manufacturing changes are frequent during the life of a product, making mods a crap shoot without these checks.
great!! <br>here, I just leaned something about <a href="http://www.keepautomation.com/products/laser_barcode_scanner/" rel="nofollow">several kinds of barcode scanners</a> . just share with you, I hope you will like it.
This is such a great thing you made. <br>Here is a blue tooth device that may work for you... <br>http://www.sumlung.com/en/index.php?option=com_content&amp;view=article&amp;id=94 <br> <br>Please let me know if the blue tooth could work with your device. <br> <br>I have a barcode database online now and the cuecat would be so cool to <br>get people to use barcodes. <br>http://boughtupcom.freeservers.com/cgi/CRcode/acqcode.pl
I was wondering, is there a way to make it play a specific noise for a specific bar code?
Absolutely.<br><br>The code stores incoming characters into a buffer. When it receives an &quot;enter&quot; character it saves the buffer to the disk, clears the buffer, and then plays a random sound.<br><br>It wouldn't be too hard to include a check before the &quot;clear the buffer&quot; step to compare the string with whatever code you wanted to trigger the sound. I was kind of thinking of printing a few barcodes on the box and doing just that.<br><br>The limiting factor would be the memory on the arduino. If you were storing the strings to compare it with in the code and you had a lot of them, you would eat up program memory pretty fast. One way around that might be to save sounds with the name of the number to compare against and do something like:<br><br> if (play.sound (buffer+&quot;.wav&quot;) then<br> # horray, it worked<br>else<br> # play random beep because the play sound routine returned an error<br><br><br>(that is not a real code example)
I wonder. Would it be possible to make a CueCat look like a bluetooth keyboard?&nbsp; Then you could scan anything within 10 meters and the numbers would appear on your computer as if typed. No need for the SD card (as long as everything's happening inside your home).<br /> <br /> What I'd love would be if I could get a CueCat to communicate with my BlackBerry.&nbsp; That's what I use to keep track of my reading, and scanning would make it much quicker.<br /> <br /> Plus, I could call it a BlackCat.&nbsp; How could that not be cool?&nbsp; :-)<br />
I have no experience with them, but there are bluetooth arduinos.&nbsp; They are not cheap, but are slightly less then bluetooth scanners.<br /> <br /> Since the code I have prints the number to the serial port in addition to writing it to the card, it wouldn't have to be modified much to work in the way you describe.&nbsp; The trickiest part would be getting the blackberry to store the output of the serial BT connection.<br /> <br /> Since in this config you wouldn't even need the SD card, you could omit the wave shield entirely and cut out all the parts of the code that refer to it.&nbsp; The only downside is you would lose the ridiculous sound feedback.<br />
I don't get it. So you scan the book and it tells you what it is, but what if you lend it to someone and scan it again does it just take it back out of the list?<br />
My device is not doing any of the lookups itself.<br /> <br /> All this thing is doing is storing the numbers on a text file for use with other things.&nbsp; I'm using the numbers stored to build a catalog of books using the library thing service (http://www.librarything.com/) which will look up the numbers to find out what books go with them.&nbsp; But you could use the data in other ways.<br /> <br /> Normally, you add your books to library thing one at a time, but if you happen to have a text file with a couple of hundred ISBN numbers it, it will import them all at once.<br /> <br />
Ah, neat stuff!<br /> <br /> I have two cuecats myself--one &quot;declawed&quot; (ha) and one &quot;stock,&quot; as a backup. They are an excellent (and cheap) way to get into barcoding.<br /> <br /> FYI for other builders: It should be noted that there are USB cuecats, too, which wouldn't work with this project...<br />
Thanks!&nbsp; I&nbsp;had been meaning to use mine for 10 years now, but was put off by the logistics of carrying a laptop around my library.&nbsp; But I always thought it was cool.<br /> <br /> I&nbsp;talked about not using a USB model at the bottom of the requirements page, but you are right, that's not obvious enough.&nbsp; I'll edit to make it a little more plain.<br />
I&nbsp;wonder if http://www.circuitsathome.com/products-page/arduino-shields couldn't be used to make USB version.<br /> <br /> It's not obvious to me which arduino pins it is using, so I'm not sure if it could be stacked with a wave shield.<br />
Yeah--who knows?<br /> <br /> I'm not sure anyone's reverse engineered the USB version (the driver / software part.) But I know next-to-nothing about the USB cuecats...<br />
Cool project!<br /> <br /> FYI - I did a quick Google Search for &quot;Female PS2 Connector&quot; and turned up a variety of sources, among them:<br /> <br /> <a href="http://www.pacificcable.com/Picture_Page.asp?DataName=MD6F" rel="nofollow">http://www.pacificcable.com/Picture_Page.asp?DataName=MD6F</a><br /> <br /> 10 pack for $8 - not bad!
Nice.&nbsp;&nbsp;&nbsp; I'm not sure what I would do with the other 9, probably make one that accepted input from 5 or 6 different inputs at once. :)<br /> <br /> It looks like that connector might be mounted directly in your enclosure (space permitting) allowing it to be a little sleeker without the protruding tail.<br />
Given my luck with fine soldering I'd prolly need at least 4 or 5 to burn up before I got one right... LOL<br /> <br /> Also found these with a bit more digging:<br /> <br /> <a href="http://www.datapro.net/products/ps2-panel-mount-to-pcb-motherboard.html" rel="nofollow">http://www.datapro.net/products/ps2-panel-mount-to-pcb-motherboard.html</a><br /> <br /> and<br /> <br /> <a href="http://www.datapro.net/products/ps2-panel-mount-extension-cable.html" rel="nofollow">http://www.datapro.net/products/ps2-panel-mount-extension-cable.html</a><br /> <br /> Should make chassis mounting on the enclosure purely academic...<br /> <br /> =)

About This Instructable


51 favorites


Bio: He's just this guy, you know?
More by mkanoap: Growing up with halloween Build an electronic polyhedral die Build an electronic score keeper/storage box
Add instructable to: