Monday, November 30, 2009
TFT Monitor Repair
Wednesday, November 4, 2009
Nokia 770 & Qt
Monday, October 19, 2009
Battery box for Nokia 770 USB Host mode
I picked up a Nokia 770 out of curiosity. Aside from some obvious and annoying quirks (which probably have been corrected in newer models) it's a pretty neat device. The 770 like the N800, and N810 has USB host mode, with the added limitation that it can't supply power to USB devices connected to it. So I set out to build a battery box that does just that. The box contains a 1000mAH Li-Ion battery, the 5v Boost Converter I built previously, and picoChg v2, which is a redesign of my PCB for the Linear LTC4054-4.2 Single Cell Li-Ion charger IC. The video shows it working with a USB keyboard. The charger is a bit quirky, I might just need a bigger capacitor for it, but it could be the switch I have installed (selectable: ON or OFF/Charge). It charges like it's supposed to but it doesn't always turn the charging status led off when it's finished. Otherwise it works fine. I probably will end up selling the device. Sometimes I get the feeling that I buy stuff because of their inherent limitations, and potential. Once they work like they're supposed to, they're not as interesting anymore.
Just a small factoid for anyone working on USB host mode for this device. Something that I didn't really see mentioned on forums. You need to feed 5V into the 770. Some people on forums actually say the opposite, but it just plain needs it, otherwise it won't notice anything plugged into it :) I wasted some time figuring this out.
Thursday, October 1, 2009
Miniature 5V Boost Converter for USB
This is an almost completely "by-the-datasheet" implementation of a Linear Technology LTC3462 Boost Converter. Using an almost perfect copy of the recommended board layout. It should be able to deliver 5V @ close to 1A from a single cell Lithium Ion battery, making it ideal for powering USB devices. It does look a bit convoluted, but it works fine, unlike the board I carelessly designed for it the first time. Truth be told it could've been a diode issue with that board, but I don't feel like tracking it down, now that this works. Sadly my choice of schottkies at home came down to 0.6A, which was insufficient and the 4A I ended up using. Nothing inbetween, and nothing in a regular axial diode package. I'll need to buy some BAT54s the next time I order parts. Now as for what I'm actually going to use this for, I'll write that in a couple of weeks.
For size comparison:
No eagles this time. The recommended pcb layout is on page 6 of the datasheet.
Thursday, September 10, 2009
Running laptop off a single Lead-Acid battery
I have an old laptop with a near-dead battery. It wasn't worth buying a new one for it, but I would've liked some mobility. Since the laptop itself is big and heavy having a big and heavy battery isn't the drawback it would be for a netbook and since our bush trimmer's SLA sits unused 90% of the year (except for the 5 and half times it's used and the occasional top-up charges) I thought I'd use it for something. It also came in a nice plastic case with a shoulder strap, for easy carrying so it was ideal for this application.
The laptop had a 14.8V LiIon battery pack, unloaded it measured some 16.6ish Volts, loaded it drops to 14.5-14.8 as rated. Now the SLA even if fully charged won't be more than 13.8 Volts unloaded. As expected, it wasn't enough to run the lappy, so I had to come up with a solution to boost the SLA's output voltage to 14.8ish volts. First I measured the current such a solution would have to provide. My lappy's top load was at around 4.2A for a few seconds during boot and has an average idle load of around 1.5A so I concluded that I'd build a boost conveter that can supply close to 5Amps. First I went to look at Maxim's lineup, since I've come to like some of the power regulator chips, and noticed the MAX668/669, which I went ahead and free-sampled. Their power supply cookbook was great help in the design. I based mine off CB115. Pretty much all of the components I used are different because the values they used are not standard in the EU at least, so I couldn't get components that mached, except for a couple of resistors.
I also opted to use components I had lying around as-is common in DIY projects. The inductor is a large 5uH/10A inductor with 3 turns unwound and cut to get something close to 4uH, I used a couple of metallized polyester caps in place of ceramics. The 1uF one turned out to be one of those because no local parts shops stock ceramics >= 1uF.. The FET is an IRF840, and the diode is a HFA15TB60. I went all through-hole for this project, and the previous uMAX->DIP converter was indeed used for the MAX668s. This is possibly not ideal for a PWM boost converter, but the fact of the matter is, it worked beautifully. Had a small project box that I've decided to use for this. I replaced the back plate with a heatsink and screwed the FET and Diode on there. It's definitely overcooled, but what the heck.
This is the project's current state. I still have lots to do with it, like replacing dangling cables with DC plugs and receptacles, and adding a battery overdischarge protection circuit, which I plan to do with a bistable latching relay, and an MC 34161 voltage monitor chip. (I'll have to make all that fit in there somehow...) Truth be told if I had to pay for all the materials used in this project it would've been at least as much as the new battery for the lappy, so it's a good thing that I didn't :)
The perhaps most interesting picture came out the worst (my camera is useless in low light), so you'll have to excuse me for this below. It shows the battery hooked up to the boost converter hooked up to the lappy, which is up and running. Running Linux nonetheless.
I'll probably make a video when I'm done with the battery protection and the case.
Of course I lose voltage monitoring in software with this solution, but not sure if it would really make much difference because the MAX668 tries to compensate for declining input voltage and and keep the output voltage constant. The further away the input voltage is from the output, the less current it can supply however (which might be accompanied by voltage drop but I haven't measured this). Either way when the battery nears 10.6V loaded voltage (complete discharge), the backlight inverter is the first to drop out.
I'm going to go ahead and get the most obvious questions out of the way.
Is this practical for the average laptop user?
No, probably not.
Why do it then?
For fun.
Where is this hooked up?
To the battery pin header in the above Clevo laptop's battery compartment.
Can this somehow be modified to act as a charger instead?
It might. The output voltage can be adjusted with a potentiometer. I'm pretty sure it can go to at least 20V, but possibly more, which is my laptop charger's output voltage. Not sure about the constant current draw on a charger though but I'm fairly sure it couldn't supply 20V/4A from an SLA.
Can it be used in a car?
Not without a separate power filter and regulator (like ->this<-), car power is noisy, with possible large fluctuations in voltage. I suspect the first spike would fry this converter if hooked up directly.
Where are the Eagles?
Here. (ver 5.6)
UPDATE: 18 Sept.
I tested the PSU from the 3AH bush trimmer SLA. The results were pretty underwhelming, at 30 minutes run-time (under heavy use). I decided to add the 2 extra caps for good measure, and tried playing around with the output voltage. The higher the output voltage is the less run-time I can get out of the battery. So I'm going to try and lower it and find the lowest voltage the laptop still runs at, to maximize battery time. I've also read that small SLAs don't like constant heavy load (though I'm not sure what they consider to be heavy). But the SLA itself might not be in the greatest shape either. And there's always the fact that as input voltage declines so does the amount of power the PSU can deliver. Sadly, at 11.4V (which is considered to be the SLA's full discharge voltage by some, while others say it's around 10.6) it reaches a point where the backlight inverter drops out. Now of course the input voltage may have been lower at the point where the inverter dropped out (closer to 10.6) and could have just "jumped" back to 11.4 when the inverter's load disappeared, but sadly I don't have a DMM I could do constant monitoring and logging with. I've also come to the realization that a battery overdischarge protection circuit and relay will never fit in the current case, so I've decided to leave those out. The laptop will turn off before the converter has a chance to overdischarge the battery, and it only uses a really small amount of power if no load is connected to it, so at this point I'd probably have to leave it on for a day or two for it do any damage to the battery.
UPDATE: Anyone still reading this after the 2010, eBay has a wide selection of (VERY) cheap step-up converters nowadays. I wouldn't bother with a DIY PCB these days, it's just not worth it :|
Saturday, September 5, 2009
uMAX to DIP adapter
I wouldn't mind using these chips as-is on surface-mount boards, but I don't like working with hybrid boards, and most of the necessary components for the particular design I intend to use these in were available in through-hole packages for me, so I chose to make these adapters instead of making a hybrid board.
Download Eagle brd here (5.6)
Sunday, August 16, 2009
Couple of 08 boards revisited
Saturday, July 11, 2009
Zipit2 clock, email / twitter monitor
This was my second (and last) project involving the Zipit2.
It culminated in a PHP script that generates images based on dynamic information, called ImgUI. This can then be displayed on any device that is capable of pulling and displaying images from an HTTP server. The idea should be reusable for any device that fits the criteria.
For the ZipIt2, the quick and dirty way to display images on the screen was to switch the tty over to graphical mode, then just dump raw data to /dev/fb0. This has to be the right orientation and format. I've coded up a tool that takes raw RGB888 pixeldata flips it the right way, then converts it to BGR565. This is used by the script. A minimal shell script on the z2 then just pulls a new image every minute or so and dumps it to the framebuffer. Above you see the Z2 displaying the clock "applet". Thanks to PHP's imap extension I also have one that checks specific folders on imap accounts, and displays unread mail.
Plus I also included a sample twitter applet:
I'm releasing this under the MIT license.
Includes applets seen above, z2 output driver and script, plus a readme file that should tell you everything you need to know.
Download here: ImgUI Z2
Wednesday, July 8, 2009
Relay on LPT port
I made this (on a piece of leftover junk PCB) to remotely switch an external HDD connected to my home server on/off.
I went with the "Safer New Design" from here, but then decided to opto-isolate it anyway. An LPT port data pin switches the led in a 4N25 opto-coupler, which then switches an external power brick's connection to the board. The relay then switches the mains on an extension cord. I pulled the NAIS 5v/220V relay from a broken monitor. Although with this design the switching voltage isn't really that important. As long as it's within the accepted ranges of the opto-coupler and transistor.
Coded up this simple command-line tool in FreeBasic to use it with:
dim as string myCmd
dim as ubyte myState
myCmd = ucase(command$(1))
if myCmd <> "ON" and myCmd <> "OFF" then goto state
if myCmd = "ON" then out &h378,1
if myCmd = "OFF" then out &h378,0
state:
myState = inp(&h378)
if myState = 0 then print "Relay is OFF" else print "Relay is ON"
Tuesday, July 7, 2009
Zipit2 mikmod
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!
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
Standard P4 ATX to 14pin Compaq PSU Conversion
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.
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!
Sunday, May 24, 2009
KVMA docks
The basic idea was to take keyboard, mouse, audio and VGA, and put it on a single connector that connects to "docks" to which the actual peripherals are connected, so that, when moving my pc between 2 fixed locations I don't have to manually reconnect everything, just that one connector(+ lan and mains).
As usual, pcb making method was PnP Blue.
And the end result:
I'm not releasing Eagles because it was a 5 minute autorouter job ;)
Friday, January 2, 2009
A Smarter Label Printer
During testing I discovered something. The SLP Plus can print to much wider paper than the SLP Labels. And after I realized that I can't buy SLP Labels locally, and that they would be too expensive anyway for printing shipping labels on, I decided to make use of that. I got lucky because standard width thermal paper used in cash-registers fits perfectly into the SLP :) and they cost $0.50 a roll! as opposed to $7+s/h for two rolls of SLP labels, plus I also get to print more labels this way as I don't always need the full length of an SLP label, and with the paper I can just cut it at any length.
karosium logo in glorious 1 bit per pixel.
I also made a simple support for the new roll of paper that goes in the place of the original label holder from a medicine bottle cap and a plastic rod.
Only disadvantages being that I have to use a glue stick as the paper isn't self adhesive, but I don't really mind that, and that I had to cut the front panel as the opening was only long enough for SLP labels to go through(and the cut didn't really turn out so well), as you see in the picture the serrated plastic bit used to cut the paper doesn't go all the way, only to the width of the SLP Label (that's one on top of the paper) I will have to replace it sometime, with one from a broken printer-calculator or something, but for now I just use an xacto knife to cut the paper.
Now, the newer SLPs of course have a higher dot density (almost twice of the slp plus), so printing from the new software will be oversized, as it can't print dots as close together and as small as the newer ones, but as luck would have it that mismatch is perfect when using the cash-register paper, as it gives about the right size for the print. Also, by using another paper setting the correct size for the SLP labels can be achieved. I basically just have to use smaller label settings than what I actually want to use.
While I don't know why Seiko dropped support for this thing, I think it's similar to the Creative driver shenanigans a couple of months or so back (to boost sales of newer models, and from what I've seen they kept on dropping support for older models in their software ever since the SLP Plus). This product would still be useful, despite being 10 years old, as it's only shortcoming is it's lower dot density when compared to newer models, and IMHO that isn't really a problem, as labels are still clearly readable, and any barcodes made are scannable... Does anything else really matter for a monochrome thermo-label?
So basically, I got a hobby project to work on and a label printer for around $25 shipped, not bad especially considering the prices of the newer SLP printers, or label printers in general.