Friday, December 31, 2010

Hydrogen Peroxide in a Spray Bottle, and Coop door updates...

You know, I give Walmart shit as much as the next guy, but they have something I haven't seen anywhere else:  Hydrogen Peroxide in a little spray bottle.  *Ding!*  Somebody gets it.  It's perfect.  can't tell ya how many times I've dumped a tablespoon of the stuff from a bottle right *next* to the cut.  Some in the cap is about the best it gets with just a bottle.  But a spray-bottle.  Boom, direct application, one can even use the spray pressure to force the peroxide into the nooks and crannies a bit, it's sterile for the most part, and it's ready to go at a moment's notice.

As previously noted, the cold weather was affecting the coop door motor/battery performance.   Because I time the motor acceleration and deceleration to avoid slamming the stops, when the weather was cold, the motor would decelerate stall out before hitting the top stop.

As previously mentioned in the blog, and because the coop-door project is all about wanton overkill, I added a TI TMP75 temperature sensor to the controller's i2c bus and am modifying the door timings based on the outside air temperature.  This has solved the problem for the moment, and as an added benefit, I get temperature I can display on the coop status page.  The new door material is excellent, although one could deduce the workings through the now-translucent door.  We haven't seen much in the way of raccoons out here so far though.  Knock on wood.

The status LED was neat for Halloween when it had the throbbing bloodshot-eyeball on it, but the eyeball eventually fell off.  The  LED, though fun and colorful, is really bright by itself.  So I came up withe some different blink patterns as well as an OFF setting and added "LEDMode" button to the page.  I'm all about configurability whenever possible.

The next task I'm working on is the sunrise/sunset time offset for the door.  Though I can manually set the open/close times for the coop door, the chickens appear to be programmed to respond to apparent dusk, taking weather .

Also made some circuit boards for prototyping, including a "chronodot"  DS3231 breakout board.

Another related project I made a few boards for is a bi-directional current shunt and voltage monitor sensor so I can monitor battery charge and discharge in real-time.  This is going well so far.  I have near perfect voltage reading with a 0.1% tolerance 1K/9K voltage divider.  My current reading is with an INA169 High-side current shunt monitor chip.  Here, I've had a few design changes.  I was going to go with the bidirectional circuit shown in the datasheet, but the diode voltage drop meant that I wouldn't get any current readings below about 100-200 milliamps or so.  Not good.  Then I realized I could just use two analog inputs and let the MCU determine direction based on which pin is rising in voltage.

Also made a bunch of little component breakout boards; SOT23-6, 0804, current-shunt, etc.  The SOT23-6's ought to be really handy because they'll work with any pincount SOT23.

That's all for now!  Stay tuned and have a Happy New Year!

Friday, December 3, 2010

Coop Updates...

Plywood Warpage:
When I started the coop project, I went with plywood - partly because I had a scrap piece that fit perfectly.  I had built in plenty of clearance for wood swelling.  Unfortunately, in addition to swelling a wee bit, after exposure to the elements, the wood released tension in the form of a warp that was too big to shim the door guides around.  I did try to shim with 3/32" rubber, which helped for a while, but ultimately the warp won out.

My advice for the door?  Avoid wood, at least for the door itself.

Fortunately, one can purchase milky-colored plastic cutting boards at various big-box outlets, and I got one that was big enough.  It was a bit thinner, and overall, a bit lighter.  The best thing?  Pretty close to dead-flat.  I could probably find bulk plastic elsewhere at a supply house, but this was convenient.

One crucial note about cutting these boards with the table-saw is to avoid meltdown:  Do it rapidly and deliberately in one solid pass.  The plastic will still get hot enough to melt.  This is just how it is.  The goal is to spread it out evenly by feeding it about as quickly as the saw will take it without bogging.   A strong table-saw and a sharp carbide blade will likely make a huge difference here.  Pre-visualize the cut and remember:  It's a whole lot easier to mind your fingers than it is to mend them.

I had to redo the top stops, but other than that, the the old latch and plexiglass fit nicely onto the new plastic door, which now works great, especially given the temporary timing fixes, which are related to the new-found problem of:

Frigid Temperatures:
The whole West Coast got blasted with arctic air for Thanksgiving.  Our Low was 11.5 F.  Brrrr!
What this meant for the door opener was that the 6v Gel battery really struggles with cold.  I found the door accelerate-decelerate timings (avoids slamming the stops) for warm weather are simply insufficient for cold weather.   The door still winches up just fine, but it does so more slowly.  After multiple open-close cycles, the door begins to operate sufficiently, but that's not how normal operation works, with just a morning opening and an evening closing.  The temporary fix was just to lengthen the door timings, allowing a longer run time before deceleration and subsequent timeout condition if the door stalls on decel before hitting the top stop.

The permanent fix (hopefully):   A Texas Instruments TMP75 I2C temperature sensor.  I'm not thrilled about the less-flexible-for-placement-purposes SOIC-8 packaging, but I2C is my data bus, and I have familiarity with the TMP75 from the Gravitech's nice 7-Segment Shield (which you'll see used in my temperature monitor project writeup soon).

As of now, the code has been written, the sensor has been prototyped and tested on an external Seeeduino, and I'm about ready to install the sensor into the drill.  I'll most likely deadbug and greenwire the TMP75 onto the Seeeduino board.   Within the door-controller, the code defines two ranges of operational timings, from hot, ie: fast-times to cold, ie: slow times,  interpolating proportionally between them depending on the temperature reading at the actual time of operation.

One nice thing about all this, is that I wanted a temperature sensor anyway that the BlackWidow WiFi board could access, to report on the the coop temperature and maybe eventually trigger a heater or whatever.  With the devices sharing the I2C bus, this should work fine.  Time will tell.  I'll fill this in with pics and updates as I have them.

Friday, October 22, 2010

First Closing...

A major milestone in the chicken-coop door project...  Installation!!!

It's in!

And, some video of the first official evening closing:

Saturday, October 16, 2010

6v Sealed Lead Acid Battery Charger (UC3906 based)

 One of the last remaining hurdles of the chicken coop door projects is reliable off-grid power.  12v is the norm, but the motor is 6v.  Wanting to learn more about chargers, power supplies, etc., I chose to build a battery charger that would keep a 6v 7Ah Sealed Lead Acid battery topped up and able to supply the motor with the 4-5A necessary for hoisting the door.  In effect now, I've got my 6v battery-backed power supply, and a battery charger to boot. A mini-UPS, if you will.

This is what I need to keep charged:
The charger is based on a Unitrode (now part of TI) UC3906 (UC2906 in my case) SLA battery charge controller.  The controller can operate in a couple of different modes, with regard to current vs. voltage sensing and state-change.   You can find all the docs at:  TI's UC3906 page.   In addition, this page helped me along considerably.  You'll note that I inverted the bulk/!float LED with the op-amp.

The charger is set at 1.2A bulk charging by a series of 2-watt low-ohm resistors.  A series of resistor voltage dividers define the voltage parameters of the charger.  The LM358D Dual-Comparator serves as a switch for two of the status LEDs, "Bulk", (yellow), and "Over-charge" (red) modes.  The third LED, (green), is "Power" (or "Float-Mode").

Depending on the two or three states, depending on which mode you run it it, the charger will either follow voltage, or current.  On power-up, OR if the battery voltage falls below 6.21v, the charger will "top off" the battery by seeking 7.15v and ending that mode when current falls to 200mA or so this current is set in part of the 2-watt series resistor equation.

Float mode tracks at 6.9v  ( a "12v" battery would float at 13.8v.  Or, just 2.3v per-cell)

"Ok, is there any junk lying around that will make a suitable case, able to hold a decently sized heat-sink?"
Yay A tape case!  (I *heart* recycled-PC stores like 3RTech, RE-PC, and PCRecycle).

 The heatsink makes a HUGE difference.  I used a smaller heatsink while prototyping, and, at full-current, over-charge mode, it ran at just under 200-degrees F.  This thing runs at 97-degrees F.  Big difference!

Here is the old heat-sink:

The heatsink donor board, a RE-PC score:

 Would it be a hack without doublestick tape?

Even drilling a perimeter couldn't save me from at least one case crack, but hey, it's a hack:

The series of divider resisitors..  I was able to compensate for the 5% resistors by pairing them in series if they didn't measure out close enough to the target voltage.  I found another person's UC3906 calculator spreadsheet, but I couldn't get the right values.  I ended up creating my own Excel spreadsheet that represented the equations to set resistor values.  They worked great.  This thing tracks right at 6.90v.

I'm digging analog.  It's kind of fun!

From this,

To this:

 To this:

To this:

 To this:

The files for this project

Thursday, August 12, 2010

New T-Shirt idea:

I was getting down about the sheer number of idiots in the world the other day, and was thinking about getting one of those shirts that say "I see stupid people everywhere" or something like that, and then I realized that I also see a lot of smart people too, but mainly because I gravitate towards them. I certainly wouldn't want to insult them by saying "I see stupid people", so I thought, hey, maybe I can turn this around.

So my t-shirt idea is simply to print: "I see smart people"

I'm not insulting anyone, and it works on several levels.

So I'm posting the idea here as prior-art, in case anyone tries to copyright the idea.

Wednesday, June 30, 2010

Williams Black Knight

Just got a decent looking Black Knight pinball machine off craigslist. When I got it, it was blowing the solenoid fuse. Flexing the 40-pin inter-board connector appears to have fixed that, if only temporarily. Had the logic probe on it last night. Pretty pictures and verified that the CMOS is writing *something* (or something else is on the bus).

Here is an intro vid to the project, on "crappy-shaky-cam":

UPDATE: IT WORKS! The CMOS 5101 chip replacement fixed the problem!!!
(I put it in a socket just in case the new one blows)

Also, in the process of fixing this, I found a broken individual socket in the dreaded 40-pin inter-board connector. I bent the remaining metal in to contact the pin, but it will definitely need to be replaced sometimes soon. This may have been what was blowing the solenoid fuse. (I blew one first thing after putting the boards back - pressing on the 40-pin connector in places fixed it)

In addition, the sound board flakes out a bit and failed to come on after the fix. I wiggled some connectors, and it started working again. Lots of connector cleaning will need to be done, but at least I know the game *works*!

Jeri Ellsworth mentioned to me that the audio buzzing on start-up may mean capacitor problems. The buzz goes away as the machine warms up, which she said even more so means cap problems. I can see that the power supply caps appear to be original, and if so, they're 30 years old now; way past their prime.

(thanks Jeri for the pin-fixing advice, and thanks to all the folks out there who have posted info about fixing pins, especially here

Saturday, May 1, 2010


Yay, the mechanical is about 95% put together - at least the basic controls. Next is to add the webserver.

Here is a vid showing the basic functionality and operation of the door:

Complete history of the project (start from the bottom)

Thursday, April 29, 2010

Coop door gravity-latch complete

Ahh, after a hardware run for some sleeves, nuts, and bolts, followed by some bandsaw work and time on the drill press, I've got a working door slide. Next step is to get the end-stop switches mounted and adjusted.

Here is the coop door about 1-1/4" from full close. Note the latch and puck positions:

Here is the coop door closed and latched:

Here is an overall view of what I have done so far:

Wednesday, April 28, 2010

To the cyclist whom I was on a collision-course with today:

(I'm about to head out and post a laminated version of this on the Stop Sign)

To the cyclist whom I was on a collision-course with today:


First of all: I’m sorry I called you an *$$hole. Your middle-finger-salute got me riled.

I was peeping my horn to let you know that we drivers have the right of way at this intersection, that cyclists have the stop-sign, and that I’m coming through. The stop sign is here for a reason.

You see, drivers are turning left off of SR-169. Which, being a 2-lane highway, offers very few windows of left-turning opportunity. Things happen quickly here; often with slick roads, limited visibility, and the threat of a deadly head-on collision.


Look, we don’t expect you to stop here all the time. Many drivers understand cyclist conservation of human (and fossil) energy (thank you). But, please, look over your shoulder to see if traffic is coming. If you see someone turning, PLEASE, STOP, or modify your trajectory so drivers can worry about avoiding head-on collisions on the highway as well as avoiding hitting you. We’re squishy little meat-popsickles too you know!

However, I have to re-iterate the bottom line: Cyclists have the stop-sign here. Period.

So, not only are Newton’s laws on our side; the State’s laws are too.

I respect cyclists (I own and occasionally ride a bike as well). I humbly ask that you respect we others who use this dangerous intersection daily.

Thank you,
-That person in a vehicle, whom you were on a collision course with

P.S. To those who already stop: Thank you. I salute you.
P.P.S: PEDESTRIANS, please don’t play in the intersection. It’s a blind corner too!

Coop door construction underway...

In the image below, you can see the door slides, the door, and the two swinging latch blocks. The latch blocks are only laying in place right now. They will be hinged at their outside-top corners to allow them to swing in and out of the latch notch in the door slides.

The string will then be attached to a hockey-puck shaped piece of wood, which will left both latches, causing them to swing out of the way. The latch blocks will then be stopped by another block attached to the door (not shown), which will then cause the string to lift the door.

The point of this is that the door cannot be opened without lifting it by the string. Raccoons beware!

Saturday, April 24, 2010

Drill, turned door winch, in test mode...

Most of the code is written and stable enough to continue on with permanently connecting the drill UI and ESC to the Seeeduino. The speed ramps up and then ramps down again, staying in slow until it finds the stop-switch. I'm going to look at using the feedback from the ESC, but I don't know if it will be reliable enough. I'll have to put it under the scope before I do anything.

Monday, April 12, 2010

WiFi Chicken Coop Door Opener in a Drill

Not much time to write at the moment, put the pictures should tell most of it...

Wifi enabled arduino clone "BlackWidow 1.0", combined with a polulu MC33887-based 2.5A speed controller. I was going to build my own, but we need to finish the project. The hens wait for no one. Well, right now, they wait for us. Well, Pam, mainly. :-)


View of speed-controller, motor, and trigger-button wiring (why not use the trigger and fwd/lock/reverse switches as inputs?):

Close-up of pull-up and pull-down resistors to drive analog inputs with three possible states, 0v, 2.5v, and 5v, giving appropriate values around 0, 512, and 1023.

I love re-using PC cables, and this one will work perfectly as a header cable for the Black Widow board. I have a Seeeduino in place to show how completely lucky I got... The board fits where the batteries were!

I'll then just use the DC charge jack as the main power input from the solar-charged gel-cell:

A close-up of the Black Widow with wifi board:

That's all for now.

What's next?

Hardware: temporary install plugging fanout wires into BlackWidow headers. Will be permanently soldered after beta code version.

Hardware: USB socket for field reprogramming. Unfortunately, I don't think the BlackWidow can program itself via wireless (yet). USB Will be it.

Coding: onboard webpage for manual controls, atomic-time retrieval, and time-based scheduling.

Coding: drill trigger/direction UI for manual operation

BTW, I came up with this idea on my own and then Pam discovered like minds. I like their design for its simplicity, but it won't have soft-start PWM speed control!

Saturday, March 6, 2010

The Loupe-Lamp

First thing, credit where credit is due: Dhananjay Gadre for the original idea.

I had to do my own - using EagleCAD of course. Here is the process - it's a pretty good rundown on the Toner-Transfer etch-resist method in my last entry.

Steps I'll insert later:

1) EagleCAD layout
2) Printing
3) Copper-clad board prep
4) Laminating the toner to the copper-clad

5) Soaking the paper off - love the way the HP Everyday Photo Paper releases when I print on the back-side of the paper:

6) Peeling the paper - it should lift right off...

After removing the paper, waiting for the etchant:

7) Etch (this picture is post-etching):

8) After removing the toner with Acetone:

Ready for population:

LED's and 56ohm resistors NOTE LED POLARITY!

10) Solder paste applied on pads and 11) components placed on paste. I could've used a wee bit more paste, but it was good enough:

After 12) Reflow:

Yay, it works!

Monday, March 1, 2010

Laserjet Toner PCB Etch Resist methods...

Ok, this is going to be a short post, only because so much is already googleable about the laser toner etch resist method... This post assumes you already know the basic procedure, ie:

* laser-print the mirror image of your circuit
* laminate or iron the toner onto the PCB
* soak the paper off the PCB, leaving the toner
* etch

Things that WORK WELL (and make this a useable process) for me:

1) Using the BACK SIDE of "HP Everyday Photo Paper" works great. The gloss of the front side is too sticky. The back side is "chalky" enough that the toner will release within minutes of soaking in water.

2) I got lucky and found a "heated roller" laminator at Goodwill of all places. It is the GBC Creative Laminator. I had to hack it a bit, adding a higher-temp fuse, and insulating the temperature-sensor a bit, so I could get a higher temperature. This is DANGEROUS. Hack at your own risk. In any case, the rollers now get up over 300 degrees F, which is perfect.

3) Having a color laser printer, I found that using full-color works much better than black-only. Also, I go into printer settings and manually crank up the density for each of the CMY and K colors all the way.

4) Lightly rough up the copper with 600 grit sandpaper before laminating. Clean with rubbing alcohol.

5) Two passes in the laminator seems to work well. Less, and it's doesn't want to fully adhere to the copper, more, and you risk smearing the toner.

At some point in time, I'll post a full procedure with pics and all. I just wanted to get some of my tips & tricks out there ASAP.

Tuesday, February 23, 2010

Bad Capacitor Replacement SUCCESS!

Reduce, Re-use, and Recycle are what we hear a lot, but more important than all of those is REPAIR. Seeing perfectly good equipment hobbled by a few bad parts has always been a sore-point with me (not to mention an affront to Nature).

It's no secret that a huge wave of bad capacitors caused millions of mainboards to suddenly start blue-screening, black-screening, or simply failing to POST.

At my workplace, 100% of our GX270's failed. Most were replaced under warranty.

Even though Dell extended their warranty by a year for affected mainboards (kudos to Dell), we still had several machines go bad after the warranty expired. Being handy with a soldering iron, I had to do something.

To date, I've repaired 12 Dell PC's with a 100% success rate. 5 Precision Pro 650's, 1 SX280, and six GX270's.

The first five boards I repaired, I scrounged up capacitors from other mainboards collected from various recycling houses, RE-PC, 3R-Technologies, etc..

After harvesting caps got old, I decided to just go with new ones, purchased from (They accidentally shorted me one set of capacitors, but immediately sent me the additional caps as soon as I mentioned it to them - great customer service)

With a dozen machines under my belt, I've learned a thing or two...

My crucial tools:

* Hakko 808 desoldering iron with .8mm tip
* Steinel digital heat-gun (set @ ~510 deg F)
* Weller precision digital soldering iron (set to ~750 deg F)
* Glove for capacitor-pulling hand
* grounding wrist-strap
* PanaVise PC board holder

My tried and true procedures:

(I'm going to focus on the actual soldering, not the crucial organizational things like taking pictures, making sure you've got the right caps, holes, polarity, etc.. By this point, the board is mounted in a vise, the anti-static wrist strap is on, irons are preheated, etc..)

1) PLAN capacitor removal path - the general idea is to heat one leg, pull it out partly, and then heat the other leg, pull it out fully, go back to heating the first leg, and pulling it out. Here, you need to make SURE that you have enough wiggle-room to lean the capacitor a little for the first leg, and then lean it all the way over for the second leg. You don't want to move the cap halfway only to have it blocked and frozen in place.

2) pre-heat work-area on board with heat-gun - this is especially important if the caps are near large ground or power planes on the board that soak up heat. I set the heat-gun at 510 degrees F and heat the area of the board until it's about 270F.

3) heat the first leg with the desoldering tool (don't suck the solder yet) and pull it out partly ~1mm, leaving a little wire nub at the top to heat during the second pass on this leg. This will leave the capacitor leaning a bit and will allow you to lean the capacitor all the way over when removing the second leg.

4) heat the second leg FULLY, and pull it OUT by leaning the capacitor over fully in ONE SMOOTH MOVE. Full heating and one smooth pull is important, because you don't want the solder freezing up half-way out. If you're using the solder sucker to heat the legs, NOW is the time to suck the solder on this pad - while the sucker nozzle is still on the fully heated pad, and the capacitor leg is out. Suck!

5) with the second leg out, go back to the first leg and heat it FULLY. Once it's heated and starts to wiggle, you'll have to wiggle it out. The leg will be bent, so it may take some finessing to remove. Once the leg is out, leave the sucker iron tip on the hole and suck the solder out.

Voila! Capacitor removed!

Important tips:

* Avoid oopsies burning/melting neighboring components with the iron.

* Usually, the positive lead (square pad) on the mainboard is attached to a big power-plane, so you'll need to heat it up a bit more to compensate for the heat-sinking effect of the mainboard. This is where the heat-gun saves the day.

* Do not leave the iron on the pad for too long - you may de-laminate the copper trace from the board, which is FATAL to the repair job.

* Use the glove on your capacitor-pulling hand so you don't burn your fingers or have to go hands-off right in the middle of a pull.

* Don't force the pull! Let the solder melt FULLY. If you don't heat fully and then force the pull, you may have melted the solder on the bottom of the board, but not the top. If you force the pull in this condition, you can pull the top trace off the board, KILLING your repair job.

* Make SURE you're grabbing the correct capacitor! Many caps are adjacent to others. It's easy to grab the wrong cap and think "why won't this wiggle?!?", while overheating the correct one.


These instructions assume you're using the Hakko 808 solder sucking iron. Other tutorials out there describe more appropriate methods if you don't have such a (handy) tool.

Tuesday, February 9, 2010

LED Longboard Status

Those of you who know me probably know I've been working on a long-board that uses an Atmel microcontroller and a hall-sensor to monitor the skateboard's speed and then convert the speed info into color changes for under-board halo lighting.

The skateboard also has headlights and tail-lights that come on when the processor detects the board is slowing down.

Most of the internals for the 1.0 version are complete, but I'm waiting on Sugru to finish scaling up production on their awesome looking hacking putty. (

If I get too impatient, I may resort to epoxy putty, but Sugru would be so much better for waterproofing the enclosure, etc..

Project Photos:

Sunday, February 7, 2010

First post...

Well, someone else claimed "slinky" back in 2001 and hasn't done anything with it...

So, slinkyX it is.

Sure would be nice if blogspot would release blog names that have minimal content and have not been accessed or used in X number of years.