A couple of posts ago I showed off how I made the lights in my room turn on and off with a sonic screwdriver universal remote. Since then I’ve been building on the same project. So far I’ve cobbled together something that might be similar to a very early day Jarvis (Tony Stark’s personal AI assistant). Okay when I say basic I pretty much mean it. Right now I only have control over my lights, thermostat, and my media center. It’s all controlled from one central interface: a Transformer Prime Android tablet that I’ve velcroed to the wall. Since right now it is so basic and doesn’t do everything I would like it to, I have named it Woodhouse.

EDIT: The GitHub repo should be updated now to the latest version.

Continue reading

Light Sensing Switch (Light Sensor + Transistor)

I’ve been a bit quiet recently. My last post was about controlling some lights with a sonic screwdriver with a Raspberry Pi handling everything. I’ve been expanding on it (which I will go into great detail in a later post) and one of the greatest tools I’ve found has been transistors. I’ve used them in the past but I’ve never really known what they actually do. It’s kind of embarassing because it’s so simple. In layman’s terms (and possibly the wrong description), a transistor is a sort of switch.

Your standard transistor is of the NPN type with three pins, collector, base, and emitter. A connection is made from the collector to the emitter when the base is given a high signal. What is so great about these little silicon wonders is they can do pretty much anything. Say you have a Raspberry Pi that will output only 3.3v and a small amount of current when one of its GPIO pins are high. Something like this could not flip a relay designed for 12V or drive a motor or something of the sort. We can use a transistor in its place to pass a larger amount of current and/or voltage to our component when the GPIO pin is high.

There’s tons of examples out there so you’ll have to just take a look yourself, but after experimenting with them I came up with the following schematic:


What this allows you to do is power an LED when a certain amount of light hits the light sensor (PH1). The amount of light needed to illuminate the LED is defined by R2. You’ll want to change it depending on the range of your light sensor’s minimum and maximum resistance values. To have the sensor more sensitive or have less amount of light needed to illuminate the LED, raise the value of R2. Less sensitive, lower the value. At 1K, the sensor is not very sensitive. It takes a large amount of light such as a super bright LED or laser to trigger.

That’s pretty much it. I thought it was very interesting how this worked so I decided to post about it. Now I shall go about reversing the results of this circuit so I can do more fun stuff with my Pi. Hopefully over the next couple days I will complete it and show you how I implemented it into my light project.

Raspberry Pi Automation / Real Life Sonic Screwdriver

One thing that really annoyed me about the lights in my room is when I went to bed I would always forget to turn the lights off and have to climb out of bed and turn them off. That sounds like a first world problem, and well it is. But I had a solution in mind. Back a few years ago I would control my lights with one of those cheap remote outlets you would find at places like Home Depot or Lowes around Christmas time. I took the only one I had a long time ago to see what made it tick. Before I ended up frying the remote, I discovered that it was nothing but a RF transmitting remote and receiver. The receiver would get the signal from the remote and flip a relay.

Continue reading

MAME Cabinet Conversion

I never did a write up on this and just now I’m really wondering why. A couple of years ago I built a MAME cabinet — well rather I took an existing arcade cabinet and stuffed a PC inside of it.

For those that don’t know, MAME stands for Muliple Arcade Machine Emulator. The basic premise of MAME is to act as an emulator for, you guessed it, arcade machines. We’re talking Donkey Kong, Metal Slug, Centipede, you name it! Now this is all well and good playing it on your standard TV, but some people need a bit more physical feedback. There’s huge communities out there dedicated to either converting old arcade cabinets or building their own cabinets to put a PC inside of. There’s four basic but crucial parts to a MAME cabinet:

  1. The cabinet itself
  2. Controls
  3. PC for running MAME
  4. Display / sound

Continue reading

Automating Ubuntu Installs Via WDS + Active Directory Authentication

Table of Contents


If you don’t already know, I work at a small Racine County school district in Wisconsin as the sole IT sysadmin. I started there about a year ago, and ever since I’ve been trying to figure out how to make my job easier while providing the necessary equipment to students and staff. One of the biggest things I’ve noticed is students rarely use Windows for anything other than accessing Google Apps via Chrome (and games, but that’s a story for another time). I started thinking to myself how we might be able to better utilize our existing hardware without spending a dime, and that’s when I came up with the idea to install Ubuntu on a limited number of machines. If you want to read on how I think that things like Ubuntu can get students more interested in technology, I’ve created a separate post here. Continue reading

Ubuntu In The Classroom

As I started experimenting with Ubuntu here and there by doing things such as installing 12.04 on a Chromebook, I kinda liked to show things off to the students and they seemed pretty interested in it. As a school we do an event every year called High Interest Day, which basically is sort of like your standard career day, but it’s much more focused on doing activities with the kids and exposing them to some cool an interesting things. I was asked to do it a few months ago, and I knew right away I wanted to show them the Linux CLI/Ubuntu to try and see how well it would work in a classroom. Again, after the session most of them seemed pretty interested in it. Continue reading