Tuesday, July 7, 2009

Zipit2 mikmod

Due to the projects I've done with the first iteration, curiosity did bring me to buy a Zipit2 eventually. I loved the free IM forever, or similar text on the box even-though they're selling the services now for $100 a year or so.. that makes the initial impression somewhat negative. :-) Anyway, Aeronix kinda supports re-purposing the device this time around. There's some licensing debacle that's keeping the DIYer community away from the device. There does seem to be progress though. I've done two small projects with the Z2 before selling it. (Yes, I don't actually have it anymore). The first one was trying to get mikmod and mad player to work. Basically nothing compiled for the ZipIt1 worked well on the Z2. Nothing that had to do with audio anyway. I don't really know that much about the intricacies of playback on DMA based audio interfaces, but it seemed to have all kinds of buffer problems if I just dumped data out on /dev/dsp (that worked fine with the Z1). I did somewhat manage to get mikmod playing after trying random buffer sizes for about an hour.. but I think it was mostly luck that it worked, and it still hiccuped from time to time. (Then again, so does the stream player in the official software, so maybe it's a general driver bug? or maybe they didn't fully grasp it either..)

Here's a video of mikmod working on the Z2. I won't release anything because I have no idea where I put the files anymore :-) You'll probably need to crank up the volume to hear anything, sorry about that.

Monday, July 6, 2009

Leather Mouse, Man!

About 10 years ago I was buying noname mice every other month, and they kept breaking one way or another, until I decided to invest in a Logitech iFeel MouseMan.


It was an interesting mouse. Featured force-feedback (which was fun for a whole 5 minutes) There was actually a plugin for Unreal Tournament that made use of it, which was my game of choice at the time, but I decided to remove the vibration motor after a while because it made the mouse a bit heavy. I used this mouse for several years, without a single problem. Then a micro-switch started giving out and I decided to clean the mouse when I took it apart to replace the switch. Washing it with whatever I did turned out to be a rather bad idea, as the rubber parts of the mouse started "rotting" away. It appeared to be breaking down into an oily goo, and was losing it's color in the process. Obviously this made it impractical to use, so I shelved it. Until about a week ago when I got bored and decided to tear the rotted rubber from the plastic inserts and replace them with leather. I might not have started doing it if I knew how much work would be involved. I don't know what kind of glue they used, but it took close to 2 hours with sandpaper, a Dremel-like tool, xacto knife and pliers to get to and clean the plastic pads. The rest was pretty easy, cutting leather to size, gluing it to the pads, then folding it in around the edges.




I''m satisfied with the outcome.

Sunday, June 28, 2009

Moved to Blogger

Moved to Blogger. I think I've managed to mimic the looks of the previous engine/theme satisfactorily. Please update your RSS readers --> http://www.karosium.com/feeds/posts/default and links.

Standard P4 ATX to 14pin Compaq PSU Conversion

Intro: I saw some pretty cheap half-height compaq desktops (EVO d500 SFF) and decided to buy one to replace the browsing pc downstairs.
Problem: It was missing the psu, and as usual when it comes to compaq it's a non-standard proprietary PSU. In this case with a 14 pin connector. (the mobo was a 252299-001 with 90 deg. angled psu connector on the side sitting straight and parallel with the edge of the PCB, ( please note there has been a report of this circuit NOT working with a different type of 14pin Compaq mobo ) , the pinout for this is here. (looking into connector (not the one on the mobo), with tab on top, pin one is top left first pin, pin 2 is top left second pin, pin 8 is bottom left first pin) I'm not sure but I think there are some other 14pin compaq psu connectors that don't match this) Converting a standard ATX psu is mostly just pinswapping except for 1, 3.3v standby voltage 2, inverted PSON signal 3, fan control lines
I decided to ignore the psu fan control lines, having the psu fan on all the time won't bother me and the effort it would take to get it working right is just not worth it. On to the other two problems. The compaq mobo takes 3.3v and 5v standby voltages, but standard ATX psus offer only 5v. With the 3.3v missing the mobo won't be able to turn the PSU on. There's the option of hardwiring the PSON (perhaps to a switch, which would essentially be like an old AT psu functionality-wise, with the added trouble of having to switch the mobo on/off separately) , but that's highly inconvenient and pretty lame :) So the better solution is a voltage regulator. I chose the LM317 because I had one lying around and because it's easy to deal with. It's an adjustable reg, takes 2 resistors to adjust the output voltage, it's relatively high power (which is completely unneeded here as the load on the 3.3v standby is minuscule) 1kOhm and 1.6kOhm adjustment resistors set the output voltage at 3.31volts, assuming a 5v input ( from the standard atx standby voltage pin ) There's no drop whatsoever while in use, and the reg remains stone cold all the way, so the "heatsink" surface on my pcb is pretty pointless (I know it's on the wrong side, but if it got hot it would be minimally useful regardless :) ) also two caps for filtering were thrown in as suggested by the datasheet.



R1: 1kOhm
R2: 1.6kOhm
R3: 1kOhm
C1: 100nF
C2: 1uF
IC1: LM317
OK1: 4Nxx / TIL116
The other problem is the inverted PSON line, standard ATX psus power on if the PSON line is low, apparently the Compaq PSU is the exact opposite. As described here, I used an optocoupler to act as an isolated voltage controlled switch between PSON at the PSU, and ground, triggered by PSON at the mobo. I later removed the TIL116 from the socket and replaced it with a 4N25 as it had straighter pins (and because the TIL fell out and it took me a few minutes to figure out why the thing wasn't working), but pretty much any optocoupler can be used ( of course, only pin compatible ones in my pcb like 4Nxx )


14 pins (16 here with first column empty)
Final thoughts:
Drill the IN hole (one with the purple wires going into it) with a bigger diameter than the rest as you will have to fit two wire endings in it. (that or change the board design, add another wire pad)
If PC shuts down, front led blinking red It's probably the optocoupler.
If no video, check if the 4pin ATX 12v connector is connected.
Don't take my word for output voltage of the LM317, measure it. 3.2-3.5 should be fine but I'd try to get it as close to 3.3 as possible, just to be on the safe side.
Both standby voltage leds on the mobo should light up upon connecting power to the PSU if you've done everything right.
It would be wise to put this higher up on the cable unlike how I did, or it would also be possible to put it into the psu directly. your choice, (however don't use the hole that the tab of the LM317 is screwed into, to fasten it into the PSU case!! or use some insulating plastic screw as the tab of the LM is VOUT, not GND, so connecting it to GND would not be a good idea)

Eagle brd on request :-)



UPDATE 2009 01 30:

So apparently some of you are actually building this and having some trouble. I can't say why. This circuit has been working in two of my Compaqs since I built it without a single problem, and I've been using 4N25s in them.. Either way I'm including two images, hope they help.



They show an extra drill hole in the pcb because I added it after the 3rd PCB I made, but if you read the article you'll know what it is.

UPDATE 2009 06 28:

Below the image shows the mobo that I'm using these with, as stated, it probably won't work if your connector, and surrounding pcb doesn't look like this:


Good luck.

UPDATE 2016 10 01:

Ruslans Vojtko sent in this simplified version of the mod (no PCB necessary, uses cheap regulator module off eBay, search for "lm1117 3v3 module")



Thanks, Ruslans!