[Jamie] built his own USB connected arcade controller. We’ve been seeing a lot of these lately, and they usually involve soldering buttons to a keyboard PCB. But [Jamie] decided to go a different route and use his own microcontroller. This method always gets a bit hairy when it comes to deciding how to connect it to a computer. Dealing with the USB stack used to be quite tricky, but the LUFA project is slowly taking the pain out of the process.
The Lightweight USB Framework for AVRs is an open source project that handles the hard work associated with USB capable AVR microcontrollers. [Jamie] knew that they already had a sample implementation of a hardware joystick. He’s not using one of the supported boards and so wasn’t able to just compile and go. But porting the code to work with his minimus board was simple enough. With the code in place, the physical build was quite simple. The buttons and joystick were mounted on the surface of an overturned drawer. Each is connected to one pin of the controller board and to ground. LUFA makes sure that the device enumerates as a joystick, and [Jamie] was gaming in no time.
Here’s an altered PCB that gives USB control to an Ikea Dioder. This is a $50 product that comes with four strips each containing nine RGB LEDs. The stock controller has a color selection wheel and a couple of buttons. [Rikard Lindström] wanted to use it to match ambient light to the colors of his computer monitor — yes, it’s another ambilight clone.
Since he already had a bunch of AT90USB162 chips on hand he chose that route. These chips have native USB support (he’s using the LUFA package which is a popular choice), but no on-board ADC. That means no need for the potentiometer from the original controller because there’s no easy way to read its value. Removing it made plenty of room for his add-on PCB. He also depopulated the PIC microcontroller that originally drove the unit, soldering to the empty pads in order to connect is own board. The finished product fits back in the original case, with the addition of a USB cable as the only visible alteration. Now he can dial in colors using a program he wrote.
In case you’re wondering, it looks like this is a newer version of control circuitry when compared to the original Dioder hack we covered.
Here’s a new option for building your own AVR programmer. It’s called the MkII Slim and the diminutive size makes it live up to its name. The design is rather spartan, using just three chips; a voltage regulator, a MAX3002 level converter, and an Atmel AT90USB162 as the main microcontroller. This chip has a built-in USB module, foregoing the need for a separate FTDI chip.
The firmware is built on the Lightweight USB Framework for AVRs (LUFA). This is a USB stack implementation originally called MyUSB that was developed by [Dean Camera]. Regular lurkers over at the AVRfreaks forums will recognize [Dean’s] name, or his handle [abcminiuser] as a source for many of the high quality AVR tutorials found there. But we digress.
The programmer offers all the features you’d want in an In-System Programmer. It can easily be reflashed with future updates thanks to the bootloader running on the chip. There’s jumper-selectable power options, and it can program targets running at 3.3V or 5v. The full development package including code and artwork is available for download at the site linked above. For your convenience we’ve embedded the schematic after the break.
Continue reading “AVR Programmer Modelled After The MkII – Uses LUFA”