Acidmods
Console Modding------ ( Here you can talk about your favorite Consoles ) => PSP's => Topic started by: EliteGamer83 on March 27, 2009, 06:01:26 AM
-
I was just do'in my thing, putting around RadioShack looking for cool stuff (Yes you know your a dork when you get excited over new electronics parts :huh:) Anyways, I don't know why I never really thought of it before and I'm not sure if it has been done before. But I think a new neat mod should find some way to use an accelerometer. Does anyone know if this has been done before and if it hasn't any ideas for a way to incorporate this into a PSP to work?
Link: http://www.radioshack.com/product/index.jsp?productId=2909788 (http://www.radioshack.com/product/index.jsp?productId=2909788)
-
if you mean like when your playing like a racing game and you tilt you psp to the right or the left and the car steers to the right or the left, then yes this has been done before. I can remember where I saw it but there is a video on it.
-
It was a wii controller on the PSP. So you needed to Wiimote too, it would be neat to see someone do this but it would be 100% PSP efficient no other hardware required.
-
There is a very expensive (though nicely compact and detachable) accelerometer based third party motion sensor (http://www.ic2005.com/shop/product.php?productid=59&cat=0&page=1) made to be used with the PSP. There are demo videos of it being used on youtube, search for PSP motion kit.
-
There is a very expensive (though nicely compact and detachable) accelerometer based third party motion sensor (http://www.ic2005.com/shop/product.php?productid=59&cat=0&page=1) made to be used with the PSP. There are demo videos of it being used on youtube, search for PSP motion kit.
Neat, but it can only run some cheesy homebrew apps, I mean actually make something INSIDE the PPS that you can play like Burnout with. I mean a guy played a real racing game ith a wii controller on a PSP so there must be a way to do it, but you would need a insane modder like f00 or uhm.. 2 other guys can't remember the names at the moment.
-
i think it is its just a matter of time to figuring it out
-
Yeah and a good programmer too.
-
would'nt you wire the accelerometer to the left and right pins on the zip connecter somehow?
EDIT: yeah you would need to program a chip to recognize the x and y (or what ever letters it is) movements..
also if you could do this it would be sick :P
-
Hehe maybe someday I will... I'm just an intermediate modder not expert or anything. Maybe Ghost or Blizzrad could figure it out. I'm not good with code/software.
-
Yeah and a good programmer too.
It's actually pretty much a REALLY easy PIC code, except i don't have any pic flashing kits.
-
I wonder if R & D would work on this...
Know anyone who can write code?
-
have tried asking them..
-
Have I? no. But this doesn't necessarily have to be R & D, it could be just a personal projects with some help from fellow AM + SM modders.
-
yea true hmm ill try idk how much help i can do
-
How can anyone state it is easy microcontroller code if they haven't done it?
Anyway, there are several ways in which a mod like this could be accomplished : -
Easy method - Wire 4 tilt switches into the psp dpad (Connections between individual button signals and ground), and then epoxy them underneath the daughterboard in up, down, left, right configurations.
Proper method - Use a 2 axis (X,Y) accelerometer such as the ADXL203, use a microcontroller (PIC/AVR) to read the X,Y analog values and interpret these accordingly - if the interface is via the analog stick then there would have to be trial and error to find what operations would have to be carried out on the received data so that the tilts would correspond to normal (PSP) analog movement in each direction. Since this is an analog (Variable X/Y output - accelerometer) -> analog (Variable resistance -> interpreted as X/Y values - analog stick) interface it is relatively simple. The accelorometer could be configured to send data through either analog (microcontroller would then use the built in ADC) or PWM outputs.
If however you want to interface the accelerometer to digital buttons (Two states on, off - High, low) it is slightly easier, however the effect would be pretty much the same as using tilt switches, except in a much more complicated variant. You would have to read the Analog values for the 2 axis output (Disregarding one axis) when the controller is in what would be defined as left and right tilts, and then assign any value greater than this or less than this to left and right tilts respectively. This interface would only be using One axis (Because with racing games, generally you only use left and right for steering if using the dpad at all)
Hope this helps
-
There was discussion on this subject about a month ago. There's a way where you can just make some ball bearing system, where you tilt the PSP, ball bearing rolls and acts like a switch. You could maybe fit that internally in the PSP, and wire it up to it.
Guide at http://www.instructables.com/id/SW6Y7TSF4LPLSVH (http://www.instructables.com/id/SW6Y7TSF4LPLSVH)
Pretty simple, to be honest, and it should work fine.
-
Yup, same as a tilt switch and would only work for digital buttons.
-
yea like the one for the gh controller..
-
How can anyone state it is easy microcontroller code if they haven't done it?
It was said by the last person who did this, the user ":censored:"
-
u lost me..
-
u lost me..
hehe I feel the same
-
Waste of time that was then
It was said by the last person who did this, the user ":censored:"
What does that mean? If you had experience with microcontrollers then I would be willing to accept that opinion.
But anyway, regardless it is easy code ;)
-
I think he means P V P. But Elite, this is something that requires some actual electronics knowledge... It's more than likely that Alien has an electrical engineer background or something like that. It'd be way too difficult for someone to explain to you everything you need to know to do this the way Alien has explained it.
-
mmm stuff isnt easy to i tried readying up on it
-
I will be repairing a broken PSP1000 next week. I may have a go at this.
-
I will be repairing a broken PSP1000 next week. I may have a go at this.
If you get this working, share the code :D
-
mmm stuff isnt easy to i tried readying up on it
What were you reading?
I will be repairing a broken PSP1000 next week. I may have a go at this.
Nice! I would be interested to know how you plan to implement it - With an accelerometer interfaced to the analog stick?
If it would be interfaced to digital buttons then A. It would be pretty much pointless B. The same effect could be had with "tilt switches".
ps: Awesome wii mod! Can't wait to start working on mine.
-
The right way is to use an accelerometer, just like you suggested. From the begining, it seems having it react like an analog control is what would be worth doing.
So, an accel chip for input, and transfer that to the only analog input the PSP has: The stick. Like I said, I have a broken one with a bad screen coming shortly. I planned to rebuild it with clear buttons and new case, so while those parts are coming in I will start to reverse the analog stick circuitry. I am hoping that I can piggy-back a PWM signal right into the connections to keep the circuit complexity down. I also want it so that the stick can be used without the motion sensing. I dont want to replace it altogether.
I will post my initial findings as things evolve.
-
Cool, I have done the same thing (Piggybacking + PWM) before and it seemed to work fine. The hardest part I found was fine tuning everything, although you are alot better than me with microcontrollers so it shouldn't be a problem.
-
There was discussion on this subject about a month ago. There's a way where you can just make some ball bearing system, where you tilt the PSP, ball bearing rolls and acts like a switch. You could maybe fit that internally in the PSP, and wire it up to it.
Guide at http://www.instructables.com/id/SW6Y7TSF4LPLSVH (http://www.instructables.com/id/SW6Y7TSF4LPLSVH)
Pretty simple, to be honest, and it should work fine.
already done it with a few changes wasn't very fun after a while
i have removed it from my psp for more room
-
OK. I got a used PSP and fixed it. I found some time recently to setup the analog stick evaluation.
Pretty pictures:
(https://acidmods.com/forum/proxy.php?request=http%3A%2F%2Fimg26.imageshack.us%2Fimg26%2F8053%2Fpsp01001.jpg&hash=ae8e96140eedcc618d6b490882062b87b596cfb4)
(https://acidmods.com/forum/proxy.php?request=http%3A%2F%2Fimg7.imageshack.us%2Fimg7%2F589%2Fpsp01003.jpg&hash=4fd8483dc966af9f2cb9e73627af48129b0181e1)
(https://acidmods.com/forum/proxy.php?request=http%3A%2F%2Fimg152.imageshack.us%2Fimg152%2F7575%2Fpsp01005.jpg&hash=4a179c48d000f53e10cc2ea2f5537d52fd10ebc2)
And the accelerometer:
(https://acidmods.com/forum/proxy.php?request=http%3A%2F%2Fimg6.imageshack.us%2Fimg6%2F8861%2Fpsp01006.jpg&hash=cb3841dbdbd49e72308e4f015c51dfa55e4bf76e)
Edit:
The accelerometer is pretty basic. Give it power, put caps on the output, and the X and Y changes voltage as you tilt the chip around. That is going to be real easy to handle with the PIC.
The bad part: My DMM was only reading 80 mV and 40mV on the analog stick. So I put the wires on the oscilloscope and found that the stick is getting pulsed at a rate of less than 1kHz. The pulse is very small and it changes voltage with the sticks movement. What this means is that I cannot use a simple PWM signal ontop of the analog stick.
I have seen another PIC design for a tilt (that was never made public) that replaced the analog stick. I want to keep the stick intact and have the tilt operate like this:
Disabled; X axis only (right/left); X and Y axis (marble mode)
It looks like I will need a proper DAC to overlay the signal and be able to shut it off. In the end, I will not be able to use a 8-pin PIC. I am going to need SPI and a few extra pins to possibly do a multi-color LED mod too.
If I run into any more roadblocks, or I have something cool to show, I will update.
-
Wow! great job haze, never would have thought of most of that.
So what exactly still needs done on this project, the digital to analog code for a pic?
-
Well, my next test was to use a complimetary emmiter follower circuit to overlay an analog signgal onto the stick and see if I can control the X axis with a pot. Just to prove I can implement a DAC ontop of the stick (its in the mail).
Next would be a quick LCD readout of the accelerometer readings being read directly from the pic.
From there, I can take the voltage readings from step one (determine the range of the analogsignal the DAC needs to provide), and scale that with the acelerometer. Then I will find a decent way to make a switch as an input to switch modes.
Final part will be to make a PCB board for the SMT parts and throw it all together.
-
So you ordered a pic? I take it that means you wrote your own code then?
I've been studying and reading up on this all afternoon.
So an easier way to describe what your doing is wire up the X and Y axies to the X and Y axies on the PSP analog, but you have a pic in between which has a code so the digital accelerometer can talk to the PSP analog correctly. Am I correct?
Where Also did you get your accelerometer from spark fun cause I am too trying to work on this project myself and the one I found on there looks very similar to the one you used.
If so, one thing I do not understand is I see you have a wire soldered to the COM pad on the accelerometer is that actually mean ground? So X axies on the meter to X on the analog, same for Y, then ground to ground which is COM? then gronded to the mobo in between then + from analog to VCC on the meter again with a wire leading to 5v in between?
Also, now what is this about a custom PCB?
-
Actually, this is what I plan to do:
I am using an ADXL203 that will be wired directly to a PIC16F688. The PIC will read the voltages of the ADXL203 through its ADC channels. I will also wire a switch (or wire to an existing switch, ie- hold button or wireless button) to be able to siwtch modes. The PIC will then be wired to an MCP4922 SPI DAC and I will bit-bang the serial communication to output the sclaed analog voltages to the PSP analog stick.
I want the PIC to be able to cycle through three modes: Tilt disbaled, right-left tilt only (driving games), and right-left and up-down tilt enabled (marble games). All of this without removing the analog stick.
All of these parts are surfacemount, so I will make a prototype PCB board to solder the parts to and keep it tucked under the wifi boared in the PSP.
What I have found interesting is that there seems to be a bunch of failed attempts at this, or that nobody ever posted any info. The first thing I found was PVP_knight had done something over a year ago using the same setup but it appears that the project was never finished. I have also seen another tilt sensor that interfaced to the audio port but needed the game software to work (and no game ver used it). Lastly, I found a youtube video that showed a succesful implementation with a demo of marlbe madness. The bad thing was a 3 inch wire-board hanging off the top of the PSP and the analog stick was completely missing with a ton of wires running through the hole.
So hopefully I can actually finally complete a working accelerometer tilt project.
-
Are you making your own code for the PIC?
Well actually wouldn't you have to mount the accelerometer in the center to even it out when playing like a driving game. It would be unbalanced if it was placed to the far left.
Also will a ADXL202 work the same?
-
I've made one with a gyro but i think I lost the code but ill try and find it to help you lot out
-
Getting closer:
PSP tilt testing (http://www.youtube.com/watch?v=o3yWOwQXNVs#lq-lq2-hq-vhq)
This was a direct input -> output scaling. I have to tilt the sensor from 9-oclock to 3-oclock to move from left to right. The next step is proper scaling for a couple of different sensitivity settings.
-
Interesting... I would love to try and help out with this project if you needed any.
-
Hay hazer, how is this coming along? i Love what you are doing :clap:, I've been wanting to do this for a while now. Can i get the schematic of it at least the one that you have on You Tube:beg:. If not i can be patient and wait.
-
I have been on and off this for awhile. Right now I am trying to get a really cool feature to work in order to show another video. I have everything bread-boarded, so there is no schematic yet. When I go to make the PCB file, I will post the schematic for ya.
-
Don't buy that from radio shack, it is super expensive,
If you buy a broken wii remote chances are the accelerometer is in working condition and you can remove it and use that instead
you can buy them for about 7$ or a lot less
-
anyone still working on this project?
it sounds really interesting
-
If Hazer or anyone else is still working on this, interfacing an mcu to the analog stick contacts is very simple with a digital potentiometer. The Microchip MCP4251 (http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=MCP4251-103E%2FP-ND) for example has two channels, a serial interface, and built-in switching hardware to connect/disconnect any of the potentiometer terminals from the internal resistor network via a single command. Just scale your X/Y data to 8-bit values with 128 as the default, write them to the MCP4251 wiper0 and wiper1 registers, and you have full scale control of analog input to the psp. If you want to use the default analog stick, write to the TCON register to disconnect the terminals for one or both of the channels. There is AVR code for doing it in this post (https://www.acidmods.com/forum/index.php?topic=17761.msg133741#msg133741).
-
Thanks for that. All ideas are welcome.
I chose the MCP4922 DAC for a reason though. It outputs the exact voltage needed regardless of the resistance value of the analog sticks wiper reisstance. The digital potentiometer would ahve to be tuned for every analog stick, which means programming the MCU would be unique for each PSP. The MCP4922 though will directly output the middle voltage vlaue of the supply voltage provided and will not change from PSP to PSP.
Also, using a DAC it is easier to create a center 'deadband' where you do not have to be so precise about tiliting the PSP for no movement.
Thats just my thoughts.
I have been pretty busy lately, and I also got sidetracked with the opensource again. My last attempt at this project I was able to have 3 different scaling values (direct, half, and quarter) and played around with a few games to see the effects. I was in the middle of making a SMD PCB and also developing a cool side-effect when I last played with this. I will try to finish sometime soon, but no promises.
-
A two channel digital potentiometer should function exactly like the external joystick in this old mod (http://www.engadget.com/2006/10/10/how-to-analog-control-stick-for-your-sony-psp/), except controlled digitally over SPI. I have used the MCP4251 for controlling a psp with a wii nunchuck and wireless ps2 controller this way, and it works great. Since a potentiometer is a voltage divider, when the wiper is centered its voltage should always be half of the input voltage, without requiring any unique calibration. The psp ADC takes 8-bit samples from the analog stick internally, so an 8-bit value still provides the maximum possible input resolution, with 128 always at the default/center.
I like your idea of making the tilt control nonlinear, though if the deadband and scaling ranges are all handled in software, it shouldn't matter what hardware is being used to create the analog voltage.
-
it would be great to see something we can remake on our own, if its not too difficult, because i do not understand so much of that :confused: