Sparky - RGB LED controller (mux) [image heavy]

Sparky, Sparky Shield and Sparky Jr are RGB LED controllers.

  1. Both the Sparky and Sparky Jr feature FTDI headers for programming a user supplied ATMEGA328 chip
  2. All feature multiplexing for up to independently controlled 8 RGB LEDs
  3. Each Color is addressable via the RGB pin header and the common leg are supported via the headers labeled so. This version includes the addition of screw terminal for the RGB if desired.
    4. A unique feature is the jumper to support common anode. By default, the chipset / code are set for common cathode. the jumper provides a software level detection and switches accordingly
  4. Additionally a ‘remote’ reset via holes are provided for wiring to external pushbutton / momentary switch only on the Sparky Jr
  5. An Open Source Library supported by the CC community
  6. EEPROM for saving custom profile
  7. LED RGB designer interface
  8. Screw Terminals on Sparky Jr for RGB lines

Sparky Jr (Official Release) - no more onboard LEDs

Sparky Jr rev. 2

What it does

Sparky Shield

The Processing Interface
Select a Sequence from the right hand panel

In this case we are gonna change the composition for throw.

Select a color from the pallette

Bam, your color is now changes

Sparky Shield in Action

Sparky Jr ver 1 in action

I think someone asked you this before but where did you get those buttons? :)

Nice products too ;D

The buttons are Seimitsu PS-14-K-N

They are available through several online vendors

Japan akihabara shop

US lizard lick

UK gremlin solutions

Hmm, not cheap but thanks.


Seimitsu is expensive, but quality.

Another place to get lighted arcade buttons is

You can search the forums at for other options.

Here is a picture of the installed Sparky controller inside the gaming stick

If anyone is interested in getting a hand on some of the boards please let me know

I have: 2 Shields 4 Sparky Jr rev 1 8 Sparky Jr rev 2 (no LED for jumper)

and soon will have ~20 of the final Sparky Jr in hand (see pic below)

PM me with your email address if interested I can offer with the Cap and Resonator soldered up, the ATMEGA and RGBs you will have to provide on your own

Sorry for the poor quality video.
But here it is in action and being updated via FTDI

soldered up

Welcome to the Official Sparky Jr. RGB LED Controller Thread

What is it?
Sparky is a programmable RGB LED mod companion light up activation controller for pushbuttons on gaming fightsticks.

A perfect companion and has been built specifically around controlling ArcEye RGB LED PCBs light up.

It is recommended to use Seimitsu PS-14-KN buttons. Widely available from online retailers.

The core of the Sparky is an ATMEL ATMEGA328 running an Arduino Bootloader and built in an Open Source Arduino IDE.

The interface component for Sparky is built in Open Source Processing environment


How does it work?
Well, at the end of the day. The base code essentially allows you to customize your light up pattern, defining buttons and button combinations and mapping them to a specific color.

The default button combination setup (on a 8 button fightstick) is 1x, 2x, 3x, 4x per row, and then 4 cross row combinations. Support for both 6 and 8 buttons controllers is written in.


So what does the board look like?

This is the brains of the operation. Preloaded with the Sparky.pde sketch.

b Button (Momentary Switch) Input Header
This is the input connection. This would be ideally connected to the signal lines of your arcade button switch

c Common RGB LED Leg Connector
Regardless of wether your setup is common anode or cathode, your RGB LED will typically have 4 connection. One for each color and one for the commmon leg (Anode or Cathode). Each common leg

d Red Green Blue
Each RGB LED will have a connection for each of the three color. You can daisy chain all of your reds (or green, or blues) with one wire per color. Similarily the spacing here allows for a 3 terminal 3.5mm screw terminal. Thus allowing your configuration to screw down 6 or 8 individual wires for each corresponding color.

e Common Anode Jumper
By default. The Sparky software is set to act as though you where installing common cathode RGB LEDs. Should this not suit your given application or power consumption and you wish to use common anode LEDs. Simply place the jumper on the 2 pin male header. The microcontroller will automatically detect the jumper and switch the output pins appropriately for a common anode application.

Note / Surprise - if you have a common cathode build and use the jumper, you will work in negative space. meaning your on press to light up is now reversed to on press to turn off!!!

f Reset
The 2 via holes provided here enable a wires remote reset. Should you wish to use a reset button or switch, simply solder on wire to each of the switches legs.

g FTDI Header
On the six pin FTDI header, the recommended setup is to solder your VCC and GND headers to the appropriate pins (#4 and #5 respectively). The customization starts here. If you are creative or adventurous and decide to want to upload your own program to the ATMEG328 you can solder a 6 pin header and upload via FTDI. If you solder a 6 pin header to the FTDI connection, you will need to solder your VCC and GND input lines to the underside of the board.


The Site

Home Screen

Order Page - Color Pattern Configurator!!!

Visit the [u]Sparky[/u] Site

This project came about to simplify controlling the ArcEye inserts made possible by @Purplearms and company.
Make sure you check out the thread. Loads of ideas, loads of support!
Thanks all involved for the inspiration and look forward to working with the lot of you