Electronics and CNC
I've been wanting to get into electronics and building physical things for a while. I have a lot to learn though. My only exposure to micro-controllers was when I played with an Arduino for a day about two years ago. The last time I picked up a soldering iron or drew a schematic was my lone electrical engineering class in college nearly twenty years ago. My degree is in computer science with a focus on graphic and AI giving me a decidedly software-only career. This makes picking up electronics both challenging and fun.
To start off I decided not to go the easy route; which would be to buy a prefab micro controller and then program it. While I have an Arduino sitting on the shelf, that would be too comfortable for a software guy. Instead I decided to approach this from two directions. First, I bought some kits put together entirely by hand with soldering, no programing at all. This should beef up my skills and introduce to me to the various physical components available (resistors, capacitors, switches, etc.)
Second, I've came up with a project too challenging for someone with my skill level to build: a CNC machine. While I will likely fail during my first attempt, doing something so far out of my areas of expertise will force me to learn a lot of new things.
Learning to Solder
To kick things off I picked up a Larson Scanner kit from the Evil Mad Science store. This kit is quite easy to build; a great starter project for beginners. The micro-controller is pre-programmed and it comes with a PCB (Printed Circuit Board) so you just need to solder in some resistors and LEDs. It even comes with comic book style instructions.
To learn how to solder read this short comic on MightyOhm.com. I was wrong in my initial assumptions. You aren't melting the solder with the iron. Instead you are heading up component and metal pad on the board, which the solder then melts on to. Once I figured that out my joints started to look a whole lot better.
As you can see my soldering skills improved from the beginning to the end of the scanner kit.
Oh, and remember that the battery pack has a switch on it. The first time I put in the batteries nothing happened because I forgot to turn it on. :)
A soldering iron can be had for very cheap, but since I plan to do this for a while I invested in a good one. Spark Fun sold me this soldering station of their own design, which has plenty of power and temperature control, for a very good price ($40).
Now, on to the CNC machine. A Computer Numerical Control machine, or CNC, is sort of like a plotter. It moves a head in X and Y directions over a surface. However, instead of moving a pen or printer head it uses a drill or other cutting tool. Advanced versions also have a Z axis. This lets you cut many kinds of materials from wood and styrofoam all the way to thin aluminum and sheet metal. And of course it's only a few steps away from having a full 3D printer. All of these features make it a good project for me: something that I can improve over time and has real world uses.
Since I know absolutely nothing about these machines I have a lot to learn. What I've discovered so far is that it's best to start small and build up from there once you have something that works. To that end I created my first prototype of a single axis. It just moves a little carriage up and down a rail using a stepper motor turning a long screw.
CNC Machine Test 01 from Joshua Marinacci on Vimeo.
The stepper motor and driver came from Spark Fun. Interestingly, the stepper driver is actually an open source design called the EasyDriver designed by Brian Schmalz. You could of course build your own from components for less than what SparkFun charges, but I prefer to get the nice polished version rather than saving a few bucks. (And I do mean only a few. SF's is pretty well priced). For power I'm using a 9 volt battery, but will to upgrade to a larger supply once I'm done testing.
The driver is controlled by an older Arduino I already had. The EasyDriver is quite easy to use. You simply toggle one pin for each step and set the direction with a second pin, high or low. Beyond that there is an open source AccelStepper library that can handle multiple motors at once and use acceleration.
I created the metal carriage by hand using aluminum extrusion and brackets from OpenBeam, an open source hardware company based in Seattle. I'll have a lot more on OpenBeam in a future blog soon. OpenBeam uses standard M3 hex nuts so I have a mixture of sliver ones from OpenBeam and black ones from Amazon.
The Big Challenge
Making a CNC machine is not actually my challenge. My real challenge is to create one for under 200$. After pricing out components I really think this should be possible. By reducing costs, Arduino has greatly reduced the barrier to entry for learning about electronics and micro controllers. If we can build a 200$ CNC I think it will kick off a revolution in home construction. Even if I fail to meet the sub-200 price tag I will learn a whole lot in the process.
Hopefully it goes without saying that I will document everything on this blog and open source the plans and schematics. No matter how smart one brain is, a team of brains can do more. I would love your help on this project.
If you don't already please subscribe to my RSS feed or follow me on Twitter. Exciting things are in the works.
Mon Aug 13 2012
Crouching Tiger, Hidden Wires
How to Hide Wires in the Wall
If you are like me, and the fact that you are reading this suggests a certain kinship, then you have many electronic devices scattered around your house; each with their own wires for communication and power. Wires are wondrous. They form the basis of our information economy. Unfortunately, in a shared space like a living room, they are also atrociously ugly. For your consideration: my living room.
Okay. So that doesn't look quite so bad. However, here is what the couch is hiding.
My wife and I have been TV-less for several years, mostly watching Hulu on our laptops. When we re-designed the house after Jesse was born I decided it was time for a TV. We still watch Hulu and Netflix, but now streamed through a tiny Roku box.
Originally I considered painting the wires or hiding them behind a stand of some sort. Then I looked at various rubber strips which can disguise the wires. In the end none of them were quite what I wanted. Really I want the TV to just look like it is floating.
A friend happened to notice the wires a few weeks ago and I asked for suggestions on how to deal with the problem. He said the solution was easy:. the local hardware store carries simple boxes to run the cables inside the wall. I proclaimed my horror at drilling interior holes to run the wire, but he continued: since this is a vertical drop directly from the TV to the wall outlet that I would not have to go between studs; just two holes directly in to the wallboard.
I've always been nervous about dealing with wallboard attachments but at my friend's urging I gave it a go. First, I needed the special mounts from my local hardware store. They are essentially plastic rectangles with tiny wings on the back. It doesn't matter if you are next to a stud or not because the when you tighten the screws the wings will pop out securing the mount to the wallboard. It doesn't provide enough grip to attach something heavy to, like a shelf, but these rectangles hold no weight; they are just there to guide the wires and keep the hole stable.
Next, I cut two rectangular holes. This is done with a small rough saw called a wallboard knife. I pressed into the wall with the knife until it reached the cavity behind the wallboard then began sawing up and down to create a slot, then expanded the slot into a rectangle. Always start small and slowly expand to fill the space needed for the rectangle mounts. Once they fit tightly I stopped and tightened the screws.
Threading the Needle
The next challenge was getting the wires through the hole. If there was no insulation then my TV cables would simply drop down the cavity to the lower hole. Unfortunately this wall is right next to the garage. Lots of insulation present. Hmm.
Strategy: start small and bootstrap from there. Professionals have something called fish tape but I only plan to do this once so I didn't spring for it. Instead I began with an un-bent coat hangar wire. The hangar is just barely long enough to stretch between the two holes so I was really hoping it would work. After a few tries I got it. Next I tied twine to one end and pulled the hangar back out, threading twine through the hole. I immediately tied the twine into a loop so it wouldn't slip out. Using the twine I pulled the two cables through: one for power and the other for HDMI.
Unfortunately at this point I reached an unexpected snag. The break between the TV's cord and the extension cord occurred right in the middle of the wall. Putting a connection inside the wall was just asking for trouble. What would I do if it came undone, say by a small child pulling on one end? So I made a quick trip to the store for a longer extension cord and slid the break up to the top hole.
I'm happy with the result
At this point the job is functionally complete. I can power and control the TV with all extraneous boxes (like the Roku) safely hidden on the floor under the couch (no more strain on the Roku connectors). To be nice and polished I want to put covers over the holes. Unfortunately the screw hole spacing on the hole mounts is not the same as regular light and power outlets so standard covers won't work. Instead I purchased a special 'media cover' designed for this purpose, complete with little brushes to keep out the dust. Sadly the gap between the brushes is too narrow to fit the end of the power cord. *le sigh*. Back to the hardware store.
I still haven't solved this last part of the problem. I suspect I will have to get a completely blank cover which does use the right screw hole spacing, then use a dremel to create the appropriate opening for my cables.
Total cost: 3$ for the plastic mounts and 6$ for longer cables from Amazon. Total installation time, about 30 minutes to cut holes, install brackets, thread the cables, and cleanup the mess.
A note: Some have said that you shouldn't put the power cabling next to A/V cables. In general this is true but HDMI is digital. The signal is either there or it's not. RF interference generally isn't an issue with pure digital signals. This is also why a $3 HDMI Cable (15 feet)from Amazon is every bit as good as the $50 absurdities sold by Monster Cable (link not provided).
If these instructions help you hide wires in your own home, please post in the comments below.
Mon Aug 27 2012