Light-up on activation button mod tutorial

While I won’t let this stop my progress, I’d still like to ‘get it right’. What ‘color’ LEDs are the KNserts (what flavor of white I’ guess I’m asking), I’m trying to find an LED that matches the specs and color to try and get as close a look as possible.

Also just to make sure I’m not just fucc’n up…to turn ON the joystick, I go into setup mode and do a 360 with the stick…I went clockwise starting at ‘noon’, and did my ‘SPD’…I even did it a couple times, but it would never come on…is it operator error?

And the setup mode works wonderfully…alot better than I imagined it would.
:tup:

  • :bluu:

That “to my knowledge” hasn’t been an issue, but if you have enough slack, the joystick will move freely and even spin freely. I did have an issue when I first put the TE back together - with my wires catching the stick, but thats because I didn’t ‘look’ after I close the top. I had taken the bottom off a long time before so that I could install a barrier strip, so I could actually ‘see’ that the joystick was pulling because of a wire - once I turned it over. I had enough slack that fixing it was NO issue, but too much slack is a bad thing. Looking at the Digikey website has me ‘really’ wanting to redo most of my work…especially now that I have it under my belt and put some thought into how I would do it in the future, I kinda want to redo it from the ground up, I made certain design descisions purely for “this is what I have on me” reasons - and not because it would be best in the long run.

The biggest difference I’d like to make would be actually mounting the FGWidget to the top panel. If you are using the metal cover that comes with the stick, there are a couple extra -pre drilled holes that with some wood or something - could be used to hold the FGWidget to the top panel, allowing for better wiring management, and less concern about slack. Then all I would need would be 12 wires to run along the PCB side to the inputs, and it would be SEXY. Right now, I was so concerned about slack, that I had to screw down the top panel in a circle, slowly, because I was forcing the wires back down into the case at the same time. It’s a fuggin mess in there - simply because of slack.

  • :bluu:

For a stick I’d probably be using this one, assuming 3mm LEDs will fit. Cheap, and way damn bright.
Digi-Key - 160-1782-ND (Manufacturer - LTW-420D7)
If I were you, I’d swap the wire goign from STICK_OUT with one of the other known working _OUT’s. Doing that and testing would prove pretty easily whether the stick LED is wired backwards or blown (LED in stick doesn’t light up after swap) or if the mode youre in doesnt use the stick LED (after swap LED in stick lights up but led in button doesn’t).

you should post a video of you doing it so idiots like me can understand what you are talking about

Yep. I officially <3 my FGWidget LED-C.

(bout time I got around to installing it, too… I’ve had it since EVO, but I’ve been waiting on Art for um… something. Finally said “fuggedaboutit” and installed it in the Boobie Stick… So now Shay Laren has another great set of headlights. HEYO!)

Is it too late to add a request? A fade-out on the ripple that starts bright but fades to nothing as the effect spreads would be SWEET… kinda like an actual ripple, you know?

To answer a suggestion for a mode on the FGW LED controller:
The current ripple code takes up half of the code space I have on the chip. Half. That’s without fading between buttons. My attempts at making it fade made the code way to huge to be usable. But, I am open to suggestions, and to give an idea of the kind of work it takes, I figured I’d post up for everyone how the different modes work; if you can think of an algorithm to use to get your desired affect, whatever that affect may be, that doesn’t turn into a monstrous amount of codespace, I’ll do everything I can to add it to future versions, even if it means using a larger chip if there’s enough to warrant it.

The mode functions have access to these variables. This isn’t an absolute list; I actually have a good amount of RAM available, and can probably spare up to 100 bytes for additional variables if needed.
unsigned short inputs: 16 bits that hold the current state of the buttons; all eight buttons are in the lower 8 bits. If stick mode is on, bit 8 is the stick (with 1 being ‘some direction is pressed’, 0 being ‘stick in neutral’). If the extra buttons mode is on, bits 8, 9, and 10 hold the state of the buttons. All buttons are 1=button pressed, 0=button not pressed.
unsigned char scratch[11]: scratch space that can be used for any reason, and remains persistent. Any changes made during one frame remain on the next frame until you change them again. Cleared to all 0’s at power on, when screensaver activates or mode is changed in the setup menu.
unsigned char intensity[11]: the ‘output’ from the function. Each entry in the array should be between 0 and ‘brightness’, the maximum brightness value set in the setup menu. After the intensity array is filled, the chip reads it and turns each LED on long enough to achieve the desired brightness. intensity[0] should be set to the brightness wanted for button #0 (1P). Button 1 is 2P, 2 is 3P, 3 is 4P (ignored if in 6 button mode), 4 is 1K, 5 is 2K, 6 is 3K, 7 is 4K (ignored if in 6 button mode).

That’s it. To get the ripple affect, I pretty much had two parts:
First, go through the inputs, and if a button was pressed, set the scratch[button] to 255. If not pressed and scratch[button] != 0, scratch[button]–;
Then, I’d have to check each scratch[button] manually (no for loop). If scratch[button]>200, intensity[button]=brightness; If it was 200>scratch[button]>100, then set the intensity for each neighbor button to brightness. If 100>scratch[button]>50, then do it for the second further set of neighbors. This ended up being pretty much a huge manual lookup table, and did it ever take up some space.

Trying to fade between neighbors tripled the size of the code immediately. Trying to do it geometrically did too. But, I could easily be missing an elegant and small algorithm that could do it; if anyone can think of one for the ripple code, or for any display mode they might like to see, post up some C code or pseudo code to show it, and I’ll do my best.

In the mean time, who wants to guess what this is/will be?

http://img833.imageshack.us/img833/7793/kittyy.png

Smd epic win

Hmmm, 5mm based ST terminal for the button inputs?, ribbon connector with led resistors for the KInsert (dont they have resistors on board?) and a multiplexer? Im wondering about the use of the multiplexer. And the 10K ohm resistor is for reset line? Normally you don`t need this one…

multiplexer for the stick inputs?

not This?

Looks like a combo FGWidget + Chimp?

edit:

no. wait, is this a FGWidget that talks to the Arceye?

Did I win?

Top Portion
This is an replacement for the Quick Disconnect button input. (same footprint)
Nice thinking!!!

Lower Portion
The 74LS157 is a Quad 2 - 1 Line Data Selector (or Multiplexer pending on usage)
Pin 4 is Output A
Pin 7 is Output B
Pin 9 is Output C
Pin 12 is Output D

On the ATMEGA only your GND and VCC have lines, with the exception of Pin 19 or ADC6, so it is a WIP
A 10K resistor from Reset (PC6) to ADC1 (PC1)

So, my guess is… …it’s an interceptor

My suggestions (not to be taken as recommendations):
Replace the SMD Atmega with a PLCC socket style one.
Replace 8 SMD 0805 resistors with a CN2B8 resistor network
Miter the corners

toodles man…

why you gotta tease us like that lolol

That’s the key part, and you’re the first to recognize it. Figure out what gets connected to the connectors in the lower left and I bet the mux will make more sense :slight_smile:

  1. Any particular reason why? The TQFP version would be easier for me to prototype, and the MLF versions have that huge ground on the bottom that would make it harder for me to do via’s underneath. At least that’s what I thought, I haven’t used MLF packages before.
  2. Especially in low volume, the individual 0805’s are cheaper than networks. Say I made 100 boards, cost of 800 0805’s would be about 3.84, versus 100x pieces of arrays for $7.43. Labor cost for assembled would be the same, if not less for the 0805’s. Footprint on the board isn’t a real concern.
  3. I dont want to miter the corners in the top half because I’m trying to match the original, and the plastic piece that goes over it has clips to hold it in place. Bottom corners could be mitered, but I’m not seeing any reason to do so, especially since I’d have to move the connectors in further. The only part I can honestly say should be mitered is the inner cut just to the left of the 5 pin connector to reduce a physical stress raiser a sharp corner would cause, but that section will be milled anyways, so the corner will end up rounded by the bit anyways.

it’s still a small package, smalled than a 28pin dip. and it’s upgradeable / extendable… …just a thought really. i have used them in several applications and it’s actually a nice option. as a visual thing, the form factor makes it actually look like a processor :slight_smile:

you are right on the 0805 vs network resistors. never thought of the cost, was more looking at packaging!

Since this is all Madcatz, and i imaging your users will want to reuse the ribbon cables that came with the box. The only 2 6 pin connections that make any sense are the R Stick / L Stick, Player assignment led, turbo assignment, home and guild?

One ribbon in, one ribbon back out, since we’re intercepting. The board needs power, and the only ribbon that has it is the one with USBVCC, GND, and the four player LEDs. The MUX will select whether the player led’s are controlled by the 360 board or the LED controller.

nice! as an FYI, those red LEDs don’t have resistors do they? i don’t remember from doing a paewong mod

are you planning on connecting to d3-d6?

So I bought a second FGWidget to do a ‘clean’ install, got pics and I tried to do video, but my fiance kept coming over and bothering me because she wanted attention. I’ll try and upload a ‘clean’ video and pics of my installation. I think there may be some tricks in there for folks to keep wiring clean(er).

And the KNserts have worked beautifully, they’ve inspired a new LED idea…dunno when I’l lget around to making it though.

  • :bluu:

The red turbo ones dont IIRC, but the green player LEDs definitely do. The D3-D6 in that image is for those four player LEDs, the ones that will be controlled by the mux to select the 360 board controlling them, or the LED controller controlling them.

Definitely that. I’m thinking ‘LED Kitty’ for a name, since its MadCatz specific.

what about CatzUp? it’s catchier and you can have it!
maybe you can make 57 kindz-o-heinz as well but only ever release one! (Heinz joke) http://en.wikipedia.org/wiki/Heinz_57