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

Unless I am mistaken, the simple loadout is on the menu as the 3rd item (P3) by default on the latest version of my source. No changes need to be made. Open simplepress.h and change the color values for the buttons and you should be good to go without changing anything else.

Iā€™ve been out of this for a long timeā€¦ sorry if this is not the place for a question like this.

Iā€™m planning to get a White Fighting Edge for PS3 and I would like to put some leds on itā€¦ so my question is, can I use the Kaimana with FE withoug loosing the led bars from the fightstick?

The Kahunas are VERY tiny so you should be good with any button/LED combo you use. You might be thinking of the silencers that sit inside the rim for sanwa buttons:


^ those wont work with most LEDs without modification for obvious reasons.

I would highly recommend the Kahunaā€™s. Everyone who uses them really likes them. The standard pads will not work, but the LED pads will work ok with undermount.

Fearless you should be able to do both!

@Pnoy_pryde I want to start, can we add 2-4 hours to each day for a little. I really need a 28 hour dayā€¦

Great! Thanks Armi and sorry for all this silenceā€¦ Iā€™ve been very busy lately.

I think is time to put some ordersā€¦

@Fearless, no need to apologize, weā€™ll be around for a while :slight_smile:

Iā€™ve got a couple of questions about the Kaimana board.

First, is there any way to read an analog value? Iā€™m trying to build around the UltraStik 360 from Ultramark, which outputs two raw analog values as well as 8 digital directions, and Iā€™d like to be able to use it as an analog stick for some PC games.

The Kaimanaā€™s based on the Arduino Leonardo, which has several analog in pins, which suggests that the hardware is capable of it, but the pinout diagram is unclear if those pins are exposed to headers anywhere.

Second, is the Kaimana usable as an interface board for buttons directly, or is it just a passthrough? The Leonardo can be programmed to emulate a joystick (Or almost any other HID device) so I assume this should be possible, but Iā€™m not sure how tightly the Kaimanaā€™s capabilities correspond to the Leonardoā€™s. I know it can operate without a PS360+, but I donā€™t know if it assumes that there is some sort of interface board.

Third, are there any details as to how the passthrough is configured? Are the left-hand pins just directly connected to the corresponding right-hand pins? Or is it more complicated than that?

Fourth, is there any reason I couldnā€™t use the Kaimana LEDs and library with another arduino? Iā€™d rather use the Kaimana, as it looks very well set-up for what Iā€™m trying to do, but if I canā€™t read analog values Iā€™ll have to figure something else out.

Yay >=3 got everything working thanks again liquid/wahoo =D. Sorry for all the questions btw guys just trying to figure out everything i can cuz im really into it hah.

Iā€™ve put a video up of how to wire up the Kaimana with Arceye 2 LEDā€™s in case anyoneā€™s interested

Hey Bryan,

Is there a way to reset the Kaimana? I canā€™t seem to reprogram my board anymore.

Notes:

  • The board registers fine as Leonardo in the Device Menu.
  • The port settings are checked and confirmed.
  • Iā€™ve tried many different combinations of rebooting (Arduino and the pc), unplugging/replugging the usb, and changing the port settings, but nothing works.
  • Iā€™ve also reinstalled Arduino and retried the different combinations listed above to no avail

The typical upload cycle:
Compile Sketch > Uploading (for a couple of seconds) > showStartup/RGB boot animation > Uploading Complete

  • the showStartup/RGB boot animation will flash after the board is reprogrammed

When I try to upload now the RGB boot animation comes earlier and it seems like it never actually gets to the uploading stage:
Compile Sketch > showStartup/RGB boot animation > Uploadingā€¦

  • the showStartup/RGB boot animation will flash as soon as it switches from compiling (the sketch) to uploading, but then never completes the uploading cycle after that
  • at that point itā€™ll hang at ā€œuploadingā€ until I unplug and replug the usb

Thanks in advance.

Nice video tutorial.

One issue, it appears the video picture is lost at 8:48

I will be posting some answers to questions tomorrow, sorry I had. Little trip to North Carolina for an interviewā€¦ Watch out east coast I may be coming home!

Let me know if you hit the lejeune area man.

Clearly I need to link this thread on the PFSWB Listingā€¦ excellent resource! Now I need to get my programming skills out of retirement and do some tests!

@liquidcourage

Try disconnecting everything from the Kaimana board and make absolutely sure nothing conductive is touching the back and creating a short. Then connect only the USB cable to the Kaimana and try uploading your program.

I ran into a similar problem a while back and found my Kaimana was sitting on a staple which was causing me all sorts of grief. Once I discovered and removed the stray staple, all of my issues were resolved.

I canā€™t believe its been about 12 years since I been to North Carolina.
If I ever find time to make the 6-8+ hour drive to Le Jueune (assuming I-95 is not backed up all the way from Georgia to Maine) I should make a visit.

@ZonbiPanda

Thanks for tipā€¦ Iā€™ll try disconnecting the entire Kaimana board completely and replugging the USB back in. When you had trouble a while back, did you by chance get the same error?
avrdude: error: buffered memory access not supported. Maybe it isnā€™t a butterfly/AVR109 but a AVR910 device?

@liquidcourage

I had that very error and others that would change over time but it was all due to a piece of metal touching the back of the board and causing a short circuit. I did not use any spacers to mount my Kaimana and the back of the pcb was sitting directly on the side of the box which also happened to have a staple attached to it.

Stupid really but I learned something along the way and that Kaimana is a really tough board to take that sort of abuse and keep going.

Off Topic
That is correct, but not for 360.
You can use the ported code from here https://github.com/32teeth/PS3-for-32U4 to run the makefile upload using and AVRISPmkII

On Topic
After many years in hiatus (kids, career, startupsā€¦) i am slowly making a return to this scene with my first contribution.
Below is a list of methods i use as color/conversion utilities. Take from it what you will.



/*
** @method getBin
** @param number (int)
** @return result {String} 
** @description converts the decimal param to binary string
*/
String getBin(int number)
{  
  String result = "";
  for(int i = 0; i < (sizeof(number)*4); i++){result += ((number & (1 << i)) ? "1" : "0");}
  return result;
}

/*
** @method getLong
** @description convert rgb values to long int
** @param r {int} red value
** @param g {int} red value
** @param b {int} red value
** @return {long}
*/
long int getLong(int r, int g, int b)
{
  return (unsigned long)r << 16 | (unsigned long)g << 8 | (unsigned long)b;
}

/*
** @method getRGB
** @description convert long values to rgb array
** @param color {long} long value representation of color
** @return {int*}
*/
int* getRGB(long color)
{
  int r = (color>>16);
  int g = ((color>>8) & 0xff);
  int b = (color & 0xff);
  int rgb[3] = {r,g,b};
  return rgb;
}

/*
** @method getHEX
** @description convert long values to rgb array
** @param color {long} long value representation of color
** @return {String}
*/
String getHEX(long color)
{
  return String(color, HEX);
}

/*
** @method getHEX
** @description convert long values to rgb array
** @param color {long} long value representation of color
** @return {String}
*/
String getHEX(int* rgb)
{
  int r = rgb[0];
  int g = rgb[1];
  int b = rgb[2];
  return getHEX(getLong(r,g,b));
}


And here is my latest initiative project.
Itā€™s pretty much a tear down build up of the Razer Atrox arcade stick (Beta Program Version)
Itā€™s modular that i can replace the PS360+ with the standard Razer PCB relatively easily

I am using a stock Arduino UNO R3 with a custom bootloader (more soon)

@32teeth welcome back, lets catch up soon!