Purple Custom Xbox Controller

Its been a while since I’ve posted, so I thought I’d throw up a quick post of a relatively quick project my wife and I did this last weekend.

wpid-IMG_20140302_143936.jpg

Disassembling the controller was fairly easy, the most difficult part was getting out the security torx screws, without a small enough security torx driver. Here’s a tip: you can just use a flat head driver small enough to fit in one side of the screw. There are 7 screws, the 6 obvious ones, and then one under a small label in the battery compartment. That last one can fool you if you don’t go looking for it.

After getting the controller unscrewed, next step is to pull all the electronics out, and wash the plastic. The controller we were using was by no means a new one, so it got a good scrub in soapy water to make sure there was no grease and oil left on it.

I was too impatient to let the plastic air dry, so I fired up my air-compressor to blow the water off them. It makes a short effort of drying everything off.

With the plastics dry, it was painting time. I sprayed a primer on all the parts and then left it out in the sun while we went to the shop to get the colours for the project. Diana chose the colours for her controlelr, a nice purple, and a complimenting pink for highlights. The paints we chose in the end didn’t actually need a primer coat, but It was already done, and shouldn’t hurt things. When choosing your paint, its usually a good idea to get a good quality paint. Its a bit thicker than the cheapo stuff, and covers better usually. You can make do with cheap paint, but you will really want to do use a primer, and you’ll probably need to do more coats.

The paint went on pretty well, if not a bit fast. There were a few bubbles that formed in places, but they were fixed after a quick sand and a second coat.

After letting the controller dry for a couple of hours, it was time to put it back together. Everything just slots back where it came from, and screwed back down, and hey presto! a purple and pink Xbox controller!

Completed Controller

And that’s it. I didn’t think to get any more photos of the process, sorry. Its not too difficult though.

4 key midi keyboard with Basic Stamp

diy 4 button midi controller test

Here is the four button test layout, showing how simple the circuit itself really is.

So, I had this old Basic Stamp sitting here feeling unloved. I decided it would be fun to try to build a midi controller. My initial idea was a of using the jog wheels off some old VCR players as mini turntable style jog wheels, but before I get to that, I wanted to start small. I wanting to test the theory first, so I wired up the midi output to a DIN connector, and used sample code available HERE (also shows the wiring for the midi connection) to make the basic stamp output a single note over and over again, with a pause between.

With that working ok, next step was to connect some buttons to the controller, and program the buttons to output separate notes. The wiring was pretty basic, just the usual button set-up, with a pull up resistor on the input pins. The magic was mostly done in the code, which wasn’t too difficult. The code basically transmits a midi on command on each press, and a midi off command on the release of each button.

At this point, I have a 4 button midi controller. maybe useful for triggering samples or something. My next progress will be to try to get a rotary encoder to work with the setup.

I haven’t worked out a good way to host files other than photos yet, so I’ve included the code in the body of the blog below. Hopefully you’ll be able to copy and paste it if you’re interested.

' {$STAMP BS2}
' {$PBASIC 2.5}
'Mini Midi interface,
'Author Matt Ruth
'Date: 11/7/2010
'www.diydata.wordpress.com
'don't expect too many basic stamp projects from me, the plan is to put this controller to work, then leave it there.
'I only have one basic stamp, and anything I buy in future will likely be arduinos!
'future revisions:
'read the state of each button, and transmitt all states in one serial transmission, instead of individually.
' EG: $90, note1, velocity1, note2, velocity2, note3, velocity3 (http://peabody.sapp.org/class/dmp2/read/nv94_gettin_midi_with_it.pdf)
'also make the midi notes variables which are declared at the top of the program
'add data transmit led
'add jog wheels of course
'make unit as a midi foot switch trigger, getting to use more rugged switches

'following variables are used for midi output. Taken from website tutorial on midi output
outpin CON 15 ' output pin on which to send MIDI data
baudmode CON 12 ' baude mode for serout: (2500000/31250)-20 msec
 ' note that this value should be 12 for BS2. (60 otherwise)
 ' Serial rate for MIDI is 31,250 data bits/sec.
outpause CON 0 ' pause time in units of 0.4 millisec between bytes
 ' on the BS2, units are 1.0 millisec
INPUT 11'button one
INPUT 12'button two
INPUT 13'button three
INPUT 14'button four
butt_11_state VAR Bit
butt_12_state VAR Bit
butt_13_state VAR Bit
butt_14_state VAR Bit
butt_11_state = 0
butt_12_state = 0
butt_13_state = 0
butt_14_state = 0
main:

IF IN11 = 1 THEN GOSUB BUTTONone
IF IN11 = 0 THEN GOSUB BUTTONoneUP
IF IN12 = 1 THEN GOSUB BUTTONtwo
IF IN12 = 0 THEN GOSUB BUTTONtwoUP
IF IN13 = 1 THEN GOSUB BUTTONthree
IF IN13 = 0 THEN GOSUB BUTTONthreeUP
IF IN14 = 1 THEN GOSUB BUTTONfour
IF IN14 = 0 THEN GOSUB BUTTONfourUP
PAUSE(50)
GOTO main
BUTTONone:
IF (butt_11_state = 0) THEN GOSUB Onepressed
IF (butt_11_state = 1) THEN GOSUB Onestillpressed
RETURN
Onepressed:
 'send midi on note here
 SEROUT outpin, baudmode, outpause, [$90, 60, 127]
 DEBUG "1"
 butt_11_state = 1
 RETURN
Onestillpressed:
 'DEBUG ".", CR
 RETURN
BUTTONoneUP:
 IF butt_11_state = 1 THEN DEBUG ",":SEROUT outpin, baudmode, outpause, [$90, 60, 0] 'replace debug with midi off note
 butt_11_state = 0 'off note may need to be $80
 RETURN

BUTTONtwo:
IF (butt_12_state = 0) THEN GOSUB Twopressed
IF (butt_12_state = 1) THEN GOSUB Twostillpressed
RETURN
Twopressed:
 'send midi on note here
 SEROUT outpin, baudmode, outpause, [$90, 61, 127]
 DEBUG "2"
 butt_12_state = 1
 RETURN
Twostillpressed:
 'DEBUG ".", CR
 RETURN
BUTTONTwoUP:
 IF butt_12_state = 1 THEN DEBUG ",":SEROUT outpin, baudmode, outpause, [$90, 61, 0] 'replace debug with midi off note
 butt_12_state = 0 'off note may need to be $80
 RETURN
BUTTONThree:
IF (butt_13_state = 0) THEN GOSUB Threepressed
IF (butt_13_state = 1) THEN GOSUB Threestillpressed
RETURN
Threepressed:
 'send midi on note here
 SEROUT outpin, baudmode, outpause, [$90, 62, 127]
 DEBUG "3"
 butt_13_state = 1
 RETURN
Threestillpressed:
 ' DEBUG ".", CR
 RETURN
BUTTONThreeUP:
 IF butt_13_state = 1 THEN DEBUG ",":SEROUT outpin, baudmode, outpause, [$90, 62, 0] 'replace debug with midi off note
 butt_13_state = 0 'off note may need to be $80
 RETURN
BUTTONFour:
IF (butt_14_state = 0) THEN GOSUB Fourpressed
IF (butt_14_state = 1) THEN GOSUB Fourstillpressed
RETURN
Fourpressed:
 'send midi on note here
 SEROUT outpin, baudmode, outpause, [$90, 63, 127]
 DEBUG "4"
 butt_14_state = 1
 RETURN
Fourstillpressed:
 'DEBUG ".", CR
 RETURN
BUTTONFourUP:
 IF butt_14_state = 1 THEN DEBUG ",":SEROUT outpin, baudmode, outpause, [$90, 63, 0] 'replace debug with midi off note
 butt_14_state = 0 'off note may need to be $80
 RETURN

My wife is so wonderfu!

It’s my birthday today, and my awesome wife Diana bought me some awesome presents.

First off was the Cigweld Weldskill 170. That’s the one I knew about. It was already awesome!

What I wasn’t expecting is the iPod
Touch I was presented with when I woke up this morning! OMFGZ I wasn’t expecting that!

So here I am, writing a blog post on the touch, just to test it out!

Yeah!

I love you sweetie! You blow my mind every birthday!
Xoxox

20110805-113335.jpg

Happy Birthday Diana!

Today I would like to take the oportunity to wish my lovely wife a Happy Birthday for yesterday!

I love you my Sweet! I hope you had a wonderful day!

Testing out her new cricut

Diana trying out her new Cricut

Above you can see her playing with her present, a Cricut cutter, working with Make The Cut!.

Unfortunately Make The Cut are no longer allowed to make their software work with the Cricut cutters, but with a bit of research, I managed to work around that to get the two talking again, and thus, making the Cricut a truly wonderful machine!

I’ll post more info on on what I had to do to make it work soon, but this post is to thank my wife for being so damn awesome! and to let her know how much I love her.

I love you sweetie. XOXOXOXOX

Big Trak Jr

So, I just got my hands on a Big Trak Jr from Thinkgeek.

The BigTrak Box

The Big Trak boxed up. Let me open it already!

The Big Trak was a programmable toy robot which was released in 1979. Over 30 years on, and now we see the second coming. A smaller version, which I believe has many of the original features, and at least one extra one – the accessory port.

I never owned an original Big Trak, I don’t even know if they were sold here in Australia. I bet they were expensive too. A heck of a lot more than the $24.99 +pp I paid for the Jr. I wish I did though, these things are pretty awesome. At that price, they are not just great value, they are a viable hackable robotics platform. If you don’t want to keep the controls, scrap it all, add a PicAxe or a small arduino, and bazinga!, a fully programmable autonomous robot!

the bigtrak with the top unscrewed

I hadn't owned it for 24 hours before I'd unscrewed the top! I've just got to see whats inside!

After less than a day of playing with it, the curiosity got the better of me, so I decided it was time to bring out the screwdrivers to see whats inside. I had 2 goals,

1) Have a look inside
2) Try to work out how the accessory port works

bigtrak accessory port

Here is the underside of the accessory port. The whole port comes out easily just by removing those two screws!

6 Philips head screws was all it took to get the case off, and straight away I liked what I saw. There was just 2 wires that went to the accessory port. A black one, and a red one, and they connected to a standard 3.5mm TS (mono headphone) connector. It didn’t look like there was going to be any fancy communication protocols, or proprietary connectors to deal with! They couldn’t have made this easier!

A little probing with a multimeter showed that it was outputting a bit below 4v. I Didn’t measure the battery voltage to see if it’s outputting full battery power thru to the port or not, that will be something I should test later on.

So knowing I have a simple on /off port, I hooked up a LED. First by touching the LED to the terminals on a TS jack that I had plugged into the port, then after I worked out which way to connect the LED, I soldered the LED onto the TS jack, so it stuck neatly out the top of the jack cover when it was screwed on

And here is the little LED on a plug which I made, and how it is wired.

Then it was testing time. Plugging in the LED, and turning the Big Trak on, I programmed in a trigger output, and the LED lit up just as it was supposed to.

SUCCESS!

Now I’ve gotten the LED to work, what’s next for me? some other kind of device. Maybe a motor? a DIY rocket launcher? extra machine guns? The choice is almost unlimited. I’ll have to see what I have kicking about.

Continue reading

Hackerspaces. In canberra?

I’ve always been intrigued by hacker spaces & similar community based workshops. In this day and age its getting harder and harder for someone to have their own workshop.

I had been under the impression that there wasn’t much around here in australia, I guess its a habbit I’ve fallen into, just assuming that there isn’t the population base availiable here in australia, and even closer to home, canberra, to support these kinds of places.I thought, at best there would be some “men’s sheds” about somewhere. If the small town my parents are from can support one of these, then surely so can canberra. The only problem with these are they generally seem to be run and populated by older men, who have retired.

I have nothing against older people, but I’m not quite ready to become one just yet.

Make, Hack, Void Logo

However, I just googled hackerspaces in australia, and up popped MakeHackVoid.com. A Hackerspace, right here in Canberra.

They have a shop, tools, people. Sounds good. talking to other people can spawn ideas, and get you motivated to work. Access to tools you don’t have access to otherwise is also very handy, and a nice area to work is also a plus.

It sounded pretty cool, until I realised to become an “associate member”, it costs $50/month, with a 6 month buy in (so $300). Sure it has a fair bit to offer, but I don’t think I can justify that much cost. I’m better off injecting that money into stuff of my own. for 6 months, I’d rather own a new welder, or some other tools, or a whole pile of steel or something….

Sure, there are casual memberships available, for $5/day, but you don’t get to use the bigger tools I’d be somewhat interested in using. maybe one day I’ll drop by one of their workshops or something to check it out, who knows, maybe the people are nice, and knowledgable, and it would be worth it.

I think I’m going to keep doing things on my own for the time being. At the moment I’m more interested in working with metal instead of electronics (does anyone else have too many interests, and have to cycle thru them, or is it just me?). I think I’ve got enough tools, skills and junk to keep myself entertained for a while.