Kaimana RGB LED Board thread, RGB animations and more! SRK Tech Talk 2013 Product of the Year!


All 3 of the above are hardware protocol compatible with the only significant change being the 6 pin vs. 4 pin connections. Software is up to you.


Nice. Thanks for the info.


Quick question, has anyone installed a Kaimana Mini in a Panzer 2 run into this? It’s only driving the LEDs on K4.

I had assumed it’s pretty plug and play wiring wise due to the LEDs being pre-built into the Panzer 2 but maybe there’s something I’m not aware of. There’s isn’t any legacy documentation on Jasen’s site for the older sticks that I can find, so I’m the dark on how it should be wired.

My code compiles and uploads correctly, colors and timeouts reflect my choices, etc. Just no lighting from any button but that one. However, pressing any button or the stick will interrupt the timeout correctly, and pressing K4 also displays the correct color for the pressed state. My hunch is I’m using the wrong code as http://brightstick.freecade.org/ has been updated to support J2 and the Panzer 2 board isn’t (?).

Edit: Heard back from Jasen that the code should be fine. Now I’m double stumped.

Pic of the install, for what it’s worth. Seems it would be hard to mess up, but if anyone can it would be me!


If the one functional LED has the color is correct then the problem is likely a bad LED, solder joint or trace on Jasen’s pcb if he says your code is good. I would suggest contacting to Jasen’s Customs again for support with your findings.


Makes sense, I’ll check that next. Thanks.


I’ve try to upload a code, but I keep getting errors. I don’t know what to do. I have a mixbox arcade stick.
Arduino: 1.8.5 (Windows 10), Board: “Arduino Leonardo”

Sketch uses 14542 bytes (50%) of program storage space. Maximum is 28672 bytes.
Global variables use 402 bytes (15%) of dynamic memory, leaving 2158 bytes for local variables. Maximum is 2560 bytes.

avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = “þ”; type = ¸
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
Software Version = h.


Hey guys!

I just finished getting my new fightstick wired and running. Tonight I’m going to try and program the lights but I have a few questions. My board is a Brooks PS4+ Audio v2.

  1. When I fired it up this morning, only the first button in the series lit up. Is that how it’s programmed or is there a hardware issue with the second button that’s preventing the lights to activate along the chain?

  2. Is there anything I should know specifically for Macs? I’ve got Arduino downloaded already. Is my next step just copy and pasting existing code into the program?

  3. I have 15 total buttons. The only tutorial I’ve seen so far is the official one from Paradise Arcade and its for a Panzer build which I don’t have. Is it possible to program the three extra lights I have in my case?

Thanks guys! I’m not trying to do anything fancy. Just want certain colors to pop up when I hit certain buttons. Maybe a cool opening animation. I’m hopeful I can figure it out.


Can you confirm if you are connecting the Kaimana PCB directly through the Micro USB Port? Also check if your arduino lists the board under Tools -> Port


Hello kupo! Ill answer your questions:

  1. For your first test, try connecting the board on its own thorugh the built in Micro USB port. If all the LEDs turn on it might be you need to check the seating of the board on the Brooks one.

  2. In theory it should be plug and play, install Arduino (I use the 1.6.11 version but you can try with the latest) then connect the board and the Arduino IDE should list it under Tools->Ports

  3. You can power a max of ~35 LEDs from the board ( this would be around 16 Kaimana 2s) so your build of 15 buttons should be good. The kaimana is platform agnostic so it should do whatever you program it to do.


Thank you @JRDIBBS for responding!

When I got home, I opened the example document from the github zip and uploaded it to my Kaimana Mini. Unfortunately, even after connecting it to the computer through the micro usb, I still only got one light to work, the first one connected that starts the chain. I’m still confused if this is supposed to happen, but under the assumption that all of the lights should have been flashing, it made me think there was a hardware error. Either the wire connecting the first and second LED’s broken or the second J2 button itself was broken. Either way, that must be the reason the rest of the lights weren’t working.

I have to say, so many people have had great success with their Kaimana Mini’s but I never read one review that talks about how frustrating it is that the J2 wires refuse to come out once you’ve put them in. Unless I am missing something, it’s almost impossible to remove them for troubleshooting without breaking either the wire or LED itself in the process. And, as you can guess, that’s exactly what I did.

I’m incredibly frustrated but will not give up. I have been planning and working on a stick for over four months to use at EVO this year and I’m so disappointed I may not have it complete now. I want to continue to troubleshoot the hardware, but I’m scared I’ll break even more parts.

If there is anything you can recommend, please let me know!


I would say I am. I’m using a Brookbrook universal fighting board.


Can anyone confirm that all buttons should light up by default once it’s plugged in via than USB mini to a computer? If not, can someone write me a simple script that makes all buttons light up once it’s plugged in so I can troubleshoot my hardware. Also, does anyone know how to remove the wires from the J2’s once they’ve been inserted? I broke three last trying to remove them for troubleshooting.

Also, here is the chain I’m running:


The open LED is a J2 not connected to a button but mounted to the case so there will be a constant glow.


@kupoFGC sorry this was such an arduous project, it looks like @JRDIBBS, who is part of our tech support, was working to help with some issues and he is our tech support for the Kaimana. We do not typically monitor the ticketing and email system on the weekends, my apologies if that’s how you reached out.

The connectors can be tight, using a small flat head to pop them out can help to minimize any issues. We have had this happen in some lights, but not with the frequency you had here. We are happy to replace those.

We are happy to work with you to help resolve things and make this experience better. The shop will be open again tomorrow morning.


Thank you for the reply @armi0024 , I will reach out to you through a private message tomorrow if you want to continue discussing my issues. I appreciate you taking the time to address my concerns and I look forward to talking to you n the future, thanks!


Can anyone help me? I feel like I’m taking crazy pills!

My goal is that I have 14 total buttons that I want to light up. When a button is pressed, I want both LEDs on the J2 its paired with to activate. As of now, when I start up, all buttons activate and go through the idle animation. But when I press a button, only 1 of the LEDs light up and the other stays lit in a random color. Every button is like this. So if I press any button, half of the LEDs go off on each button. I have my L3, R3, and TP (touchpad) buttons lit up as well but they don’t respond to anything. I don’t know how to define them in the software software so that they are recognized. It was easy for my PS and SHARE buttons because I just redefined some pre-existing pins (GUIDE and SELECT) to those.

I’ve written my LEDs into the custom.h tab like this:

// Map function names to default LED index numbers
// specific to ParadiseArcadeShop.com Kaimana board (PS360+LED)
// change or expand as needed
#define LED_JOY 0xff
#define LED_L3 1
#define LED_L3_B 2
#define LED_R3 3
#define LED_R3_B 4
#define LED_TP 5
#define LED_TP_B 6
#define LED_SHARE 7
#define LED_SHARE_B 8
#define LED_START 9
#define LED_START_B 10
#define LED_PS 11
#define LED_PS_B 12
#define LED_P4 13
#define LED_P4_B 14
#define LED_P3 15
#define LED_P3_B 16
#define LED_P2 17
#define LED_P2_B 18
#define LED_P1 19
#define LED_P1_B 20
#define LED_K1 21
#define LED_K1_B 22
#define LED_K2 23
#define LED_K2_B 24
#define LED_K3 25
#define LED_K3_B 26
#define LED_K4 27
#define LED_K4_B 28

// maximum number of LEDs attached to Kaimana board
// best to leave value untouched at 12 unless you understand why
#define LED_COUNT 28

It’s a modified version of the code from the kaimana master file at the beginning of this topic. I know I need to define the new buttons but I’m not sure where to do that in the file. My chain is as follows:

LED_TP (touchpad)
LED_PS (ps button)

Any help is appreciated!


Hello kupo,

There’s an issue with your definition, the led ordering must start at 0 and you started it at 1. The last led should be #27, the complete solution is to remove the joystick led from the code if you don’t use it. For that you would need to remove sections of code from the ino so create a copy before attempting! :grinning:


I have an old Madcatz Pro I’ll be installing a Brook UFB in with Gummo’s TE Panel Replacement Board.

I originally installed the old style Kaimana between the PCB and buttons.

Question: The buttons will be connected using the a harness connected to the 20 pin header on the UFB.

Can I use the unused screw down terminals on the IFB to connect to the Kaimana (are they a signal pass through)?

Buttons - UFB - Kaimana


Hi Knyght

Yes it will work! Remember to also connect the 5v terminals with a wire so you power everything.


I’m thinking about installing a Kaimana Mini into my Qanba Obsidian with its stock pcb. I understand that I’m going to need a breakout board and a 20 pin harness and that I’m going to need to strip the button wires to route into the breakout board.

My question if anyone knows is about the power. I’m assuming i’m going to need to get power from the pcb and that I’m going to need to solder in a random wire but where on a stock obsidian pcb would I take the power from and route it in the vcc screw terminals on the breakout board?


Hi Platinum,

You are correct , you do have to solder a wire from the USB 5v pad to the breakout’s 5v.

I think there is an obsidian EZMOD which would allow you to use the stock wiring and no soldering, but it seems to only be sold bundled with a UFB so if you can get one sold on its own that is the least invasive option.