When the Going Gets Tough, the Geeks Get Going

We got a break from the rain last night and today, but it’s supposed to rain more tonight–maybe a lot more. We spent more or less the entire day doing stuff to either recover from the previous days or prepare for the coming days, such as some very hurried yard work, laundry, etc. I spent most of the time installing a sump pump. It sounds like an easy-enough job but, as always, the devil is in the details. The most devilish detail in this case was the fact that the pump moves water with such vigor that my initial test resulted in a sudden flow of water out of the floor drain rather than into it. Not good. I ended up re-routing the exhaust tube down a 4″ drain pipe, which was actually a better solution for several reasons. (Good thing Tracie’s dad was home after the failed test. I was at a loss for solutions and was wondering whether I’d have to cut a hole through the side of the house. He suggested looking for a drainpipe stub.)

I was going to write about how yesterday I cobbled together an improvised sump pump with an aquarium pump, an Arduino, and a modified appliance timer, but I’m pretty tired and would rather just sit here and drink tea for awhile. Here are the pictures I took to accompany this planned post; maybe they’re amusing enough by themselves.
2013-09-13 14.53.14
2013-09-13 19.01.38 2013-09-13 19.01.49Oh, heck, I might as well tell the story, at least in brief: I figured out that I could safely switch the AC to the pump on and off by hacking the appliance timer. The timer has two PC boards; one of them handles the AC switching and the other has the timer electronics. There are only two wires that connect them. The timer electronics turns the relay for the AC on and off by sending either ~1.3 or zero volts across those wires, presumably turning a transistor on and off.

I turned the Arduino into a water detector by connecting a long wire to one of its analog input pins and another long wire to its Vcc pin, and stripping a couple inches of insulation off the other ends. Reading the analog input gives a more or less random number in the hundreds when the ends are in the air, and a solid 1023 (i.e. the maximum expected value) when they’re immersed in water. I wrote a quick program to turn an output pin (and the onboard LED) on when the wires sense water, and off otherwise. For bonus points I made the output stay on for at least 30 seconds so that the pump would run for at least that long before turning off.

I kludged this all together with a mini Arduino, a little solderless breadboard, a power adapter scavenged from a long-dead FireWire hard drive, and test clips. It seemed to work fine, but we didn’t get enough water in the sump last night or today to¬†actually put it to the test. I’m trying not to be disappointed about that, since, after all, not having rain today was welcome relief–for many, many people, including the rescue workers who kept 12 military aircraft in the air, and the 1200 people that they rescued with those aircraft.


(Thanks to @DougInBoulder for that photo. Those are friends of his being rescued near Salina.)

By adam

Go ahead, try to summarize yourself in a sentence or two.


  1. Outside of MacGyver, I\’m not sure I know of anybody actually improvising something so involved and so useful of things they had on hand with any success… Impressive!

Leave a comment

Your email address will not be published. Required fields are marked *