Hardware projects

IKEA DIODER USB Mod

This is how i converted my IKEA DIODER to be controlled over USB.

Hardware

I used a Atmel at90usb162 because i have a bunch laying around, also they are easy to get running and can be programmed over USB from factory. I simply made a PCB with these connections to replace PIC:
  • LED R -> PC6/OC.1A
  • LED G -> PC5/OC.1B
  • LED B -> PB7/OC.1C
  • Hard fade -> PD7/HWB/INT7
  • Power -> RESET
  • Soft fade -> PD6/INT6
The pot is removed all together because at90usb162 don't have any ADC, and i need the space to fit my PCB.

BOM

  • 1x IKEA DIODER (the new kind with soft-fade)
  • A piece of PCB, 0,8 mm thick about 23 x 27 mm big
  • 1x AT90USB162 TQFP32
  • 1x 8MHz HC49UP SMD crystal
  • 2x 22pF 0805 ceramic cap
  • 1x 100nF 0805 ceramic cap
  • 1x 1µF 1206 ceramic cap
  • 2x 22 Ohm 0805 resistor
  • 1x USB Cable (to be chopped up)
  • Some wire wrap-wire

Software

Firmware

The firmware is based on LUFA's GenericHID. It takes commands over HID (not serial) like "r7F" to set red to 0x7F, 127 or 50% (what ever you want to call it) or A00ffFF to set red to 0% and blue and green to 100 %.

Tools

dioder_lib.py

This is a python library that let you use dioder in a simple manner.

dioder_cli.py

A simple cli to control DIODER like this:
	$ dioder_cli.py R00
	$ dioder_bli.py G3F
	$ dioder_cli.py bff
	$ dioder_cli.py A123aBc
		

dioder_gtk.py

A tiny GTK application to control DIODER with buttons and sliders.

dioder_pulse.py

Audio visualizer based on Ian Halpern's Impulse. Controls the leds in RGB or HSV mode. Lots of command line parameters.

Files:

FilenameDescriptionLicenseUpdated
dioder-pcb.zipEagle schematics and layout.CC BY-SA

Links:

Firmware source code on github
Tools source code on github
LUFA
Impulse

Videos




RGB-mode
Music: Blue Scorpion by Kevin MacLeod

HSV-mode
Music: Blue Scorpion by Kevin MacLeod

Images

[Spread Firefox Affiliate Button] [Get Ubuntu! NOW!] [GNU Image Manipulation Program] [Powered by Apache] [PHP Powered] [MySQL Powered] [Valid XHTML 1.0 Strict] [Valid CSS!]