May 11, 2008

Changing USB Vendor and Product IDs on Arduino Diecimila

Filed under: Hardware, Tech — Alex @ 8:06 pm

Because having the stock standard USB VIDs and PIDs were annoying when trying to hookup a libusb filter driver under Windows, I decided to have a look around to see if it was at all possible change these values. After a bit of researching, here’s what you need to do (you’ll need to do this under Windows; I haven’t tried under Wine, but it’d probably be better to run underneath VMware):

  1. Grab the D2XX driver setup executable from here, and install it. After you change the PID and VIDs and you wish to reprogram them again, you’ll need to make your own custom driver package; read about it in this document.
  2. Now, we can program the EEPROM on the USB< -->Serial chip. Head over here to grab MProg. Install that, and open it up.
  3. Click File->New and fill in the information in the main application panel as required. Device type is FT232R. Once you’re done, click on Device->Scan. The log panel should point out “Number Of Programmed Devices = 1″. If this is right, Device->Program should flash the EEPROM and put the new data on it. Then, quit MProg and re-connect the USB device.

Apparently, there’s also a version of the EEPROM programmer for FreeBSD. I haven’t actually tested this, since the above steps worked fine for me, but if you’re under Linux, it might useful to give it a go/modify it where necessary.

Happy hacking. =)

May 10, 2008

Hardhacking

Filed under: Hardware, Tech — Alex @ 3:58 pm

Well, I figured I might as well put to good use the Arduino board board I purchased about a month back.

Being such an original person that I am, I’ve decided to come up with another Arduino monome clone. I intend to build a nice 8×8 button surface; the size is good because it means I’m not buying zillions of dollars worth of components - only 64, not 144 (on a 12×12 board) as I had originally planned, heh - and because it’s not too large, so you can grab it nicely with your hands and muck around. This’ll probably end up very similar to the OcTinct in way of end-result.

I’ve ordered most of the parts I’ll be using; that is, 9x 8-channel multiplexers for reading the buttons (yes, cheaper than 3x 16-channel multiplexers), 50 RGB LEDs (these were cheapies for $10 off eBay, probably not the best quality, considering the price and that they’re getting shipped from some random place in Hong Kong, but hey), 100 diodes to prevent key press information flowing back into our matrix; and four 4×4 button pads and breakout boards from SparkFun. I’ve yet to purchase the extra LEDs, mainly because I’m not sure about the quality of the ones I’ve already ordered, and the demuxers to feed the color data to the LEDs with. I’ll probably end up wiring up a single row of LEDs to test first, then go buy it out once I work out how I’m going to feed the data; remember, we have 3 channels of information with the LEDs (red, green and blue) rather than just one if we were going with the single colour ones, so that makes things a bit more annoying. I’ll probably just by more demuxers and handle the yucky stuff in the firmware.

I’m going to make it compatible with the same protocol used by the original monomes. At the least, this means it’s possible to use the same applications and (hopefully) some of the software used for the Monomes. I’ll probably extend it a bit by adding a few extra functions to the protocol, and manually modify applications (like snake) so that things come up in different colours.

I’ll probably pop an accelerometer on by default, and feed that to the software via the same way the Monome does it - keep in mind that the accelerometer hack is an aux input on that. I’d also looove to have direct MIDI out on the box, so you don’t need to lug around a laptop to do gigs. Need to figure out a way to map each key to a different note dynamically without a computer, though.

Any thoughts on a name, some sort of enclosing, or some other awesome features?

Edit: fixed up linkage.