Author Topic: Variegation - GhoSt's final Modded Controller.  (Read 8245 times)

Offline GhoSt

  • Creating Null
  • Around the block
  • *
  • Posts: 2552
  • Post quality +19/-0
  • Gender: Male
  • Null Pointer Exception
Variegation - GhoSt's final Modded Controller.
« on: December 17, 2013, 10:56:30 PM »
This will be my last modded controller, at least on the 360, who knows what the future holds with other consoles. This will not be the most impressive mod by any stretch of the imagination, I have just had an idea for a while that I wanted to bring to life, and this is as good a opportunity as ever.
Project is part of the 'SpurGurGle's unofficial controller mod off' see: https://www.acidmods.com/forum/index.php/topic,43218.msg323093.html#msg323093

Place holder, the actual controller wont be seeing the soldering iron for a while yet, my first goal is to get a POC of my PIC code working on a breadboard (new to programming PIC's, have a bunch of experience with C and the program I am wanting to write isn't that complicated). Ideally I want to get a PCB fabbed, we'll see how much time I have.

Anyway pictures/videos to come when I have something to show.


Variegation - A modded Controller by GhoSt

Plans:     Green=complete         Red=not done or change in plan
  • Custom built in RGB controller that uses controller sync and dpad to modify the duty cycles of the Led channels individually (effectively giving you an entire spectrum of colours [when diffused] to digitally select and change on a whim after installed). Not a new idea, but I want to build something specific to my needs.
  • Minimapper connected to two external tact switches.
  • Clear Trims, triggers and analogs for lighting (thinking about stenciling the mic bezel.)
  • Lighting will go in the dome, and various other locations.
  • obligatory led swap (to white)
  • Flex RF (if I get a Variegation PCB fabbed I will leave room on for an extra 12f683)

Work log: (This is a record for me more than anything, a lot of babble.)
21 dec
So it begins, still waiting on a bunch of stuff to arrive, but I have been having some fun with RGB leds in the mean time (Glad I designed for ICSP). No controllers to be seen.

22 dec
Got my code working on a single channel, adjustable soft PWM (8bit resolution) with EEPROM dutyCycle logging. Next step is to sync in the remaining two channels (and log them with 4 more bytes of EEPROM), add the 'power/toggle channel' input, debug my 'off by one error' on the mark-space ratio.
By now you should have worked out where the name of this project comes from, I was going to name it 'spectrum' but would be a little confusing with hazers RF rocking that name.
I also have plans to install a miniM4pper (in the post from RDC as we speak), and hazers flex RF. (if I am going to do one last controller it needs to be packed full with mods).
23 dec
off by one error, fixed.
EEPROM reduced to 1byte per channel cutting back R/W delays (realised I was not using a full integer, only from 0x00 to 0xff).
Added channel editing toggle input on MCLR pin.
Had christmas shopping to do so haven't added the remaining two channels (I realized I am going to have to rewrite the function because the delay method it used is too simplistic to synchronize multiple Duty Cycles, which is fine because I know how to fix it).
//btw this is taking so long because I am literally putting in 15 minutes of work per day.
Update: rewrote a bunch of the input code to account for the toggling state and the 2 extra duty cycle parameters, all the ground work laid for adding the remaining RG channels. Just need to rewrite the PWM period part of the function and update my EEPROM functions to account for the extra variables. Should find a few minutes tomorrow to finish up the bulk of the code, then its just polishing up the software/hardware before designing a PCB.
DEC 24/25
Got caught up with a bunch of christmas stuff, haven't really done that much besides rebuilding the breadboard to make things a little tidier (and building a better divider for the Red led). Might update if I get a second to myself.
Update: Finished it to a POC stage, good enough for me to prove to myself that its do-able with my skills, there are still some small bugs to remove and I want to improve the definition when tuning the PWM on the lower end of the scale. But I am pretty happy with it for my first PIC program.
Anyway onto a bit of a video showing it off, sorry I recorded with my phone so its difficult to see the actual colors. Anyway hopefully you get the idea.
Ok so no video embeding for me (No Html powers), so you just have to click the link
Vid:
https://vimeo.com/82666799
Okay dokey, so I need a more user friendly interface for modifying the PWM mark space, but for now I am satisfied. Here is the schematic of how everything will be hooked up to this RGB controller, I am still deciding on what I am going to do for current gain, the un-conventional voltage dropping on the red channel with reference to Vcc is kinda limiting me to common anode RGB's. Its looking more and more like I will just have to design this for Common Anode with pnp transistors, and use npn (with a few modifications) if I ever want to use this with common cathode leds. The code will be the same since I built it to be easily invert-able should I want to change directions.

I am going on a  road trip, and not getting back until the 30th (Also due to prior 'commitments' write off the 31st and 1st) so this will be my last major update for a while. But in the new year I plan to shred the controller and get some of these mods in there. (Btw if anyone wants this code once I am finished I am happy to give it away free, the more people who get some use out of it the less wasted my time was writing it).
30 dec:
Just got home, and found this late christmas present from RDC on the doorstep :D. So tired right now so going to get some good sleep before the new years antics tomorrow, anyway after all this is done I will be right back on track to finishing this project.

1st Jan
I honestly thought I would be able to get something done today, but I didn't wake up till 7:30pm so the day is pretty much wasted. Tomorrow I will try finish the PCB, and finish tuning the code. I will also do the LED swap on the controller so this can begin to look like a controller mod thread.
I had a new idea for the RGB controller, as well as using inputs for continuous colour selection I will also allow discrete colour selection (ie: cycle through common colours like alot of other RGB controllers do), by pulling both inputs low (checks on code startup)
4th Jan
Ok so I have been so lazy with this project, but I whipped up a few pnp 2907 switches, and have finished the circuit design. Just need to lay this out on a PCB and get it fabbed, goal is to send to fab on monday.

I have just directly ouput the full 3V, so some voltage dropping needs to be done for the red led, unsure what I am going to do there, I don't want to use a divider because of loading issues when you slap on 20ish Leds. Bah worst comes to worst I can just drop voltage over a diode or something, we'll figure something out.
Plan is to knock out the PCB today, crack open the controller on sunday for led swaps and most of the m4pper install. Then order the PCB and the controller trims on monday/sunday night.
Update:
Well I finished the PCB, I am new to PCB design as well, so this will be my first real PCB to get fabbed (I have done several through hole mills before however). Going to double check that design tomorrow to make sure I haven't messed anything up too badly, which is likely since this is my first time using eagle (altium is my CAD software of choice.)

I really should learn how to use this software better before getting PCB's made, but w/e Its only a one off thing. This board should fit behind the controller mobo (board is 31.45x16.51 mm).
5th Jan:
Happy with PCB, made some adjustments to the silkscreen and ordered 3 copies from oshpark.

Update: ordered the transistors and the trims for the controller, now its just a battle with the US post service. As you can see I have opted not to put a flex chip on the PCB, I figure with the remaining two PCB's I would prefer the reduced footprint when using them in other mods. So I will just use a DIP chip for Flex and the optocouple.
8th Jan
Sounds like the PCB is going to take a while to arrive, it only gets back from the fab on 15th and then has to make its way over to New Zealand :S, going to be touch and go if that arrives on time. I have done the LED swap, went to red because I forgot to buy any 0603 white (and had a bunch left over), red still looks damn cool. Still deciding on where to install the mini mapper.
Update:
Okay so the code is pretty much done, implemented the secondary simple mod with 9 colours in the cycle (Red, Green, Blue, Yellow, Orange, Purple, Pink, Aqua, Lime). I also tuned the manual editing such that you go between 0-255 in steps of 5, so 51 potential steps (seems like a bit of a waste of the 8bit pwm resolution but still gives you hundreds of thousands of different possible colours.).Anyway will flash the code across tomorrow and give it a test, if all goes well I will chuck up a video.
12th Jan:
Okay so some blatent lag, anyway flashed over the code this morning and whipped up a video showing what is pretty much the final code.
PLEASE NOTE: The flashing of the leds in the video is a sync issue between the PWM frequency and the cameras frame rate, THIS IS NOT VISIBLE IRL, our eyes do not work on a a framerate and the PWM frequency is not visible to the bare eye.
Also as I mention the red channel is slightly dimmer than the other channels at the moment, this is due to the not ideal values on my current voltage divider, and will be fixed.
Variegation - Custom Led RGB controller pic 12f683, Bread-boarding.
-GhoSt
« Last Edit: January 31, 2014, 03:31:20 PM by GhoSt »
|Variegation - GhoSt's Final Controller|

|Nothing is deterministic.|

Offline spurgurgle

  • Acidmods Alumni
  • Millennium Poster
  • *
  • Posts: 1121
  • Post quality +17/-1
  • Gender: Male
  • call me spurg
    • my blog
Re: Variegation - GhoSt's final Modded Controller.
« Reply #1 on: December 18, 2013, 01:30:24 AM »
hm sounds inteesting , im adding a link to his in the main mod off thread

glad to see another entry

Sigs made by Ken and blazin from the AM Art team cheers guys.....
Spurgurgle d.t com
"I'm kinda like a typo, not quite right, but most people still understand me"

Offline GhoSt

  • Creating Null
  • Around the block
  • *
  • Posts: 2552
  • Post quality +19/-0
  • Gender: Male
  • Null Pointer Exception
Re: Variegation - GhoSt's final Modded Controller.
« Reply #2 on: December 25, 2013, 02:41:12 AM »
Ok so first real update, got my proof of concept working of my code going. (The vimeo upload is taking years so I will post it when it finally goes through) I am just going to update everything in the top post and bump every-time I do a big update, that way I can add the small updates without raising the topic.
I am learning quite a bit while doing this, my first PIC code, I am sure its pretty poorly written if an embedded systems engineer were to look at the source, but its code none the less.
Video:
https://vimeo.com/82666799
« Last Edit: January 04, 2014, 06:43:43 PM by GhoSt »
|Variegation - GhoSt's Final Controller|

|Nothing is deterministic.|

Offline GhoSt

  • Creating Null
  • Around the block
  • *
  • Posts: 2552
  • Post quality +19/-0
  • Gender: Male
  • Null Pointer Exception
Re: Variegation - GhoSt's final Modded Controller.
« Reply #3 on: January 11, 2014, 07:26:51 PM »
Looks like my top post has reached maximum length, getting server errors when I try to add anymore.
Anyway will continue straight on from above in a new post.

The worklog continues:
12th Jan:
figured it was time I auctually put a picture of a controller in a controller based project. Kinda stuck right now, nothing else I can realistically do. I need my clear triggers and trims before I install anything else in the controller.

Last I heard the trims left Florida on the 9th of jan, cutting things fine here.
13th Jan:
Ok so its all good to go, set up a couple of 2n2907's to drive more current on the breadboard. May wire the breadboard up to the controller and make sure there are no issues.
Anyway some pictures of the final breadboard before I tear it down.

16th Jan:
Transistors arrived today (100 sot-23 2907's), the triggers and trims cleared customs yesterday so they should arrive soon, the PCB shipped on the 14th probably be here around next week.
There seems to be some issues with running this setup (designed for 3.3V) from the max 3v on the controller, I can probably sort out a workaround but its not an ideal application of the design. (I would recommended installing this off a 5V source using a 3.3V zener diode to regulate a supply rail.
Update: Should be fine on a play and charge kit, actual 1.5V aa's just tested.
The two worlds collide, feeling all ben heck up in this shiz.

Headers make plug and play breadboarding a dream. (god that controller shell is gross, fyi I am using a different black shell for the final controller).
19th jan:
Ok so the trims arrived on friday, installed the new triggers ect. Play and charge kit gives me enough voltage to play around with, so that's nice. I installed 3 tacts into the bottom of the controller shell, 2 for minim4pper and 1 for Flex, I am in the process of wiring this all up so the PCB is easily removable from the shell (so I can install leds and variegation once they arrive).
Pics of minim4pper and flex install in the next few days.
21st  Jan:
PCB's arrived, I got one assembled it's surprising how time consuming it is to add the components without proper equipment. As you can see I didn't leave ICSP pads on the final design, I just program the chips prior to soldering to the board (figured I would have finished the code by the time I put them together).

fits perfectly in the slot behind the controller.

23 jan:
It takes for ever to wire up RGB's, anyway everything is prep'd, varigation chip is installed. The next few days is where everything either comes together or falls apart :S.

Prepare yourself for GhoSt actually completing a mod :O.
26th jan:
got it partially wired up, omg the ammount of wires is just insane you have no idea, lets hope it'll all fit. Think, just 4 RGB's adds 16 wires.
31 jan:
Installed everything but the rapid fire, which I am pretty sure I wont have time to program a chip and install before tomorrow, plus there is enough wires as it is.

Oh god the wires, kill it with fire, 0/10 for this install.

-GhoSt
« Last Edit: January 30, 2014, 06:31:30 PM by GhoSt »
|Variegation - GhoSt's Final Controller|

|Nothing is deterministic.|

Offline GhoSt

  • Creating Null
  • Around the block
  • *
  • Posts: 2552
  • Post quality +19/-0
  • Gender: Male
  • Null Pointer Exception
Re: Variegation - GhoSt's final Modded Controller.
« Reply #4 on: January 30, 2014, 06:43:31 PM »
31st jan:
So closed this badboy up. Update: cracked it back open and added the RB to minim4pper, also installed another 12f683 with FLEX rf (had a spare smd IC). 3 PICs in one controller... should be sponsored by microchip

Here's where we are at:
  • Minim4pper installed, on two tacts.
  • Variegation board installed, with 4 5mm RGB's, wired to the sync for mode selection. Needs PnC for constant voltage supply, should have done something better but w/e the board is best suited for an actual console.
  • Leds swapped to red
  • Clear buttons, trims and analogs installed
  • Managed to close it fine with that ratsnest behind the PCB.
  • Hazers FLEX RF
No functionality lost, rumbles and everything are still in. Anyway onto the final eye candy, will upload a vid later tonight showing the minim4pper going.
/worklog


Variegation - GhoSt's Final Modded controller

The controller:





RGB lighting:











The MiniM4pper vid:
Variegation Xbox 360 Controller - MiniM4pper demo
The FLEX RF vid/Small lighting demo:
http://youtu.be/wK2gMab8hV0

Thanks for checking out my controller, it was hella load of fun and I learned a bunch throughout this project. Thanks to hazer for the RF code, and RDC for the minim4pper/helping me out on several occasions.
-GhoSt
/build
« Last Edit: January 31, 2014, 03:09:58 PM by GhoSt »
|Variegation - GhoSt's Final Controller|

|Nothing is deterministic.|

WHITE 4ND N3RDY

  • Guest
Re: Variegation - GhoSt's final Modded Controller.
« Reply #5 on: January 30, 2014, 07:54:08 PM »
You shouldn't have to remove the RT assembly to get to the RB contact point. U can solder the RB connection on the actual RB tac. If u are looking at the top of your board at the RB tac on the top of the tac there are 2 metal nubs. U can solver a wire to the right nub closets to the a,b,x,y buttons then run your wire to the RB contact on the minimapper.

Offline GhoSt

  • Creating Null
  • Around the block
  • *
  • Posts: 2552
  • Post quality +19/-0
  • Gender: Male
  • Null Pointer Exception
Re: Variegation - GhoSt's final Modded Controller.
« Reply #6 on: January 30, 2014, 08:15:45 PM »
Really? Oh I see what you mean, there are extra contacts on the top of the tac, I will add it when I next open this thing up. Not a big issue all I really wanted was the ABXY RC LC, since I play with index fingers on the bumpers and middle fingers on the triggers.
|Variegation - GhoSt's Final Controller|

|Nothing is deterministic.|

WHITE 4ND N3RDY

  • Guest
Re: Variegation - GhoSt's final Modded Controller.
« Reply #7 on: January 30, 2014, 08:29:28 PM »
Yea I like your build! Came out nice. I'm digging the minimapper as well. Its nice being able to switch buttons for different games.

 

SMF spam blocked by CleanTalk
SimplePortal 2.3.5 © 2008-2012, SimplePortal