Serial Surgery Saves Wacom Tablet from Landfill

Years ago, [Greg] got a Wacom Artpad II graphics tablet through Freecycle. What’s the catch, you ask? The stylus was long gone. When he found out how expensive a direct replacement would be, the tablet was laid to rest in his spare parts box. Fast forward a few years to the era of the phone-tablet hybrid and [Greg]‘s subsequent realization that some of them use Wacom stylii. Eight bucks later, he’s in business, except that the tablet is serial. Wacom no longer supports serial tablets, so he had to convert it to USB.

With the help of the WaxBee project and a Teensy 2.0, he would be able to emulate an Intuous2 tablet by sniffing and re-encoding the packets.  Things got a little hairy when he went under the hood to remove the ADM202 TTL-to-RS232 chip with a Dremel—he accidentally gouged some of the pads it sat on as well as a few of the traces. Feeling frustrated, [Greg] took some high-res pictures of the board and posted them to a message board. As it turns out, those pictures helped him recreate the traces and get the tablet running. A little big of glue and tape later, he was in business. [Greg] even gave himself access to reprogram the Teensy.

Solving Arduino’s stk500_getsync() error

[psgarcha] took a year-old Arduino Uno on an international trip and upon returning found something was wrong. Every time he would try to upload, he would get the dreaded avrdude error, ‘stk500_getsync(): not in sync resp=0×00′. The Rx light would blink a few times during the attempted upload, but the tx light did not. Somehow, something was terribly wrong with the ‘duino, and [psgarcha] dug deep to figure out why.

To test the quality of the Arduino’s serial connection, [psgarcha] performed a loopback test; basically a wire plugged into the Tx and Rx pins of the Arduino. Sending a short message through the serial port showed the problem wasn’t the USB cable, the ATmega16u2 on the ‘duino, or any traces on the board. This would require more thought.

The main reason for the error would then be no communication between the computer and the ‘duino, the wrong COM port selected, the wrong board selected in the Arduino text editor, or timing errors or a corrupt bootloader. The first three errors were now out of the question, leaving timing errors and a corrupt bootloader. Troubleshooting then moved on to ordering a new programmer, and still this didn’t work with the broken Uno.

Frustrated with one of the greatest failures to become an Arduino tinkerer, [psgarcha] took a good, long look at the Uno board. He glanced over to an Arduino Mega board. Something looked different. On the Uno, the resonator had blown off. Problem found, at least.

Replacing the blown part with a hilariously large can crystal oscillator, [psgarcha] was back in business. This isn’t how you would fix 99% of getsync() errors, and it’s difficult imagining a situation where a this part would randomly blow, but if you’re ever looking at a nearly intractable problem, you need to start looking at what really shouldn’t fail.

Resonator my fix (1)

Awesome rework, though.


Cloning a Board from Pictures on the Internet

[Andrew] was a pretty cool guy in the early 90s with an awesome keyboard synth that did wavetable synthesis, sampling, a sequencer, and an effects processor. This was a strange era for storage; a reasonable amount of Flash memory was unheard of, and floppy disks ruled the land. [Andrew]‘s synth, though, had the option to connect SCSI drives. Like all optional add ons for high-end equipment, the current price for the Ensoniq SCSI card is astronomical and [Andrew] figured he could build one of these cards himself.

Poking around eBay, [Andrew] found the card in question – just a few passives, some connectors, a voltage regulator, and an odd chip from AMD. This chip was a 33C93A, a SCSI controller, and a trip down the Chinese vendor rabbit hole netted him one for $7. Can’t do better than that.

With the datasheet for the chip in hand and a few reasonable assumptions on how the circuit worked, [Andrew] tried to figure draw the schematic. After doing that, he found another hobbyist that had attempted the same project a few years earlier. All the nets were identical, and all that was left to do was sending a board off to the fab.

A quick trip to Front Panel Express got [Andrew] a mounting bracket for the card, and after plugging it in to the synth revealed a new option – SCSI. It worked, and with an ancient SCSI CD-ROM drive, he had boatloads of offline storage for his synth. Great work, and something we’d love to see more of.


Five Dollar RF Controlled Light Sockets

This is tens of thousands of dollars worth of market research I’m about to spill, so buckle up. I have a spreadsheet filled with hundreds of projects and products that are solutions to ‘home automation’ according to their creators. The only common theme? Relays. Home automation is just Internet connected relays tied to mains. You’re welcome.

[Todd] over at found an interesting home automation appliance on Amazon; a four-pack of remote control light sockets for $20, or what we would call a microcontroller, an RF receiver, and a relay. These lamp sockets are remote-controlled, but each package is limited to four channels. Terrible if you’re trying to outfit a home, but a wonderful exploration into the world of reverse engineering.

After cracking one of these sockets open, [Todd] found the usual suspects and a tiny little 8-pin DIP EEPROM. This chip stores a few thousand bits, several of which are tied to the remote control. After dumping the contents of the EEPROM from the entire four-pack of light sockets, [Todd] noticed only one specific value changed. Obviously, this was the channel tied to the remote. No CRC or ‘nothin. It doesn’t get easier than this.

With the new-found knowledge of what each lamp socket was looking for, [Todd] set out to clone the transmitter. Tearing this device apart, he found a chip with HS1527 stamped on it. A quick Googling revealed this to be an encoder transmitter, with the datasheet showing an output format of a 20-bit code and four data bits. This was a four-channel transmitter, right? That’s where you put each channel. The 20-bit code was interesting but not surprising; you don’t want one remote being able to turn of every other 4-pack of lamp sockets.

With all the relevant documentation, [Todd] set out to do the obvious thing – an Arduino transmitter. This was simply an Arduino and a transmitter in the right frequency, loaded up with bit of carefully crafted code. [Todd] also figured out how to expand his setup to more than four lamp sockets – by changing the 20-bit code, he could make his Arduino pretend to be more than one transmitter.

With Arduino-controlled lamp sockets, the world is [Todd]‘s oyster. He can add Ethernet, WiFi, Bluetooth LE, and whatever trendy web front end he wants to have a perfect home automation setup. It’s actually a pretty impressive build with some great documentation, and is probably the cheapest way to add Arduino/Internet-enabled relays we’ve ever seen.


Creating a Scanning Monochromator

If you need a specific wavelength of light for research purposes, the naïve way of obtaining that is a white source light, a prism, and a small slit that will move across your own personal Dark Side of the Moon album cover. This is actually a terrible idea; not only won’t you have a reference of exactly what wavelength of light you’re letting through the optical slit, the prism itself will absorb more of one wavelength of light than others.

The solution is a monochromator, a device that performs the same feat of research without all the drawbacks. [Shahriar] got his hands on an old manual monochromator and decided to turn it into a device that performs automatic scans.

The key of a monochromator is a diffraction grating, a mirrored surface with many fine parallel grooves arranged in a step pattern. Because of the surface of the diffraction grating, it’s possible to separate light according to its spectrum much like a prism. Unlike a prism, it’s effectively a first surface mirror meaning all wavelengths of light are reflected more or less equally.

By adding a stepper motor to the dial of his monochromator, [Shahriar] was able to automatically scan across the entire range of the device. Inside the monochromator is a photomultiplier tube that samples the incoming light and turns it into a voltage. By sampling this voltage and plotting it with MATLAB, [Shahriar] was able to plot the intensity of every wavelength of light within the range of the device. It’s all expertly explained in the video below.

Continue reading “Creating a Scanning Monochromator”

hack.summit(); // a virtual dev conference

If you’d like to spend four days learning from and picking the brains of a big group of well-known developers and open-source wizards for the low, low cost of absolutely free, keep reading.

The hack.summit() conference is a live, global event put on by the  fine folks behind real-time programming assistance service hack.hands(). From December 1 to December 4, a wide range of speakers will present and answer democratically popularized questions over Crowdcast via Google+ Hangouts. Speakers in attendance include wiki inventor and Design Patterns pioneer [Ward Cunningham], Codeacademy founder [Ryan Bubinski], Google Glass creator [Tom Chi], Python Software Foundation’s [Alex Gaynor], and even the inimitable [Jon Skeet].

The goals for this conference are simple and admirable: to educate developers of all stripes about best practices, to encourage mentorship in the programming community, and to spread the joy of coding by supporting coding non-profits.

You can register for free simply by spreading the word through social media, but making a donation to the coding non-profit of your choice is definitely encouraged. There are many to great organizations to choose from such as  CoderDojo (an easy choice for us). A tidy summary of the event is available at the hack.summit() FAQ(PDF).

A Modern Woodworking Workbench

This is a post about workbenches, but not the benches you’re probably thinking about. Workbenches meant for electronics development are simple matters – just about any flat surface, a few shelves for equipment, and an anti-static mat will be fine for every conceivable use.  Workbenches for woodworking are a separate matter entirely. There’s actually quite a bit of history behind the development of the woodworking workbench, but the basic idea is a thick laminated wood top, integrated vices, holes in the work surface for bench dogs, and ergonomics that allow for comfortable use of hand tools. The basic design of these benches hasn’t changed much in several hundred years, and [Dirk] thought the design was ready for a modern update.

Continue reading “A Modern Woodworking Workbench”