Lawnbot 2.0

Over the past few years, I’ve seen several renditions of remote control lawn mowers.  I LOVE THIS IDEA.  Yeah, I love the idea enough to use all caps.  Let me tell you why…

In high-school, I worked at a Subway.  This means that every day for months on end, I ate at Subway.  Eating at one place that frequently for that long will make a person quite sick of that food for a long time.  To this day, I still can’t eat there.  I don’t have any problem with Subway as a whole; I think they make a great product.  I’m just still sick of it after twenty years.  Similarly, I used to mow lawns in junior high and high school.  In an average week, I’d mow four yards.  Fast forward two decades and I still hate the idea of lawn mowers.  It just reminds me of wasting perfectly good summer days pushing a heavy object up a hill, smelling like gasoline, and not getting compensated fairly for the work I did.

Seeing articles of people who have circumvented the torment of mowing a lawn by leveraging technology, I couldn’t help but think, “This is the greatest idea ever.  Move aside fire and sliced bread.”  I began to plan my own implementation of a remote control lawn mower in a similar fashion to what I had seen before.  The style of implementation uses an existing lawnmower, but removes the wheels from the cutting deck and adds the cutting deck to a remote control platform.  For examples of this, see and

While there are benefits to this approach, I began to deviate.  I asked myself, “Why does it need to use a gas engine?”  At this point, I decided that maybe I’d make mine electric.  Then I asked, “Why does it need to use a lawnmower blade?”  If a string trimmer can cut grass, perhaps a heavy metal blade is overkill.  I lastly asked, “If it doesn’t have a gas engine or a blade, what does it have in common with a lawnmower deck?”  The answer is, “Nothing.”

During this time, I also thought about what I didn’t like about the existing style.  Mainly, this was that the wheels were too far out from the cutting deck.  Lawn mowers are difficult enough to turn when the wheels are bolted onto the deck itself.  When the deck gets bolted onto a longer frame, that puts the wheels much further out from  the deck, creating a longer wheel base.  Long wheel bases might be great for adding stability to cars, but it sounds terrible in terms of steering a lawnmower.  The extra depth also creates a longer depth of area between where the unit butts up against something and where it can cut.  If you drive it up to a fence, there is a certain distance between where it hits the fence and the blade.  Several inches along this fence will never get cut since the blade can’t reach it.

At this point, I felt liberated from the original platform.  I hate the phrase “paradigm shift”, but that is what happened.  I began to think of what needed to happen on a high level without considering form.  I put the cutting head in a place where it can get up to what I’m trying to cut.  This allowed me to decouple it from the rc robot base.  I eventually came up with a robot base with tank treads that has a mount onto which the cutting head is attached.

Diagram of the lawn bot

Diagram of the lawn bot

 The base unit is simply a plywood box.  It is 18″ wide x 24″ long x 12″ tall.  The wheels and tank treads are the more interesting part of the build.  I’ll cover that in a later post.

The cutting head is made up of three gears.  These gears are patterned off of Matthias Wandel’s gear generator.  The center gear is a 32-tooth gear and the two outer gears are both an 8-tooth gears.  As the center gear turns, the two outer gears turn at four times the speed.  Attached to the bottom of the small gears are hubs for string trimmer line.  The diameter of the string trimmer cutting path of each cutting head is 12″.  Having two side by side gives an overall cutting width of 24″, which is pretty good for a lawn mower.  See the full-size printable patter for these gears here.

Now the real fun begins.  How do we get all this stuff to move?  I need three points of rotation: cutting head, left wheel track, and right wheel track.  Let’s start with the cutting head. 

Since the cutting head is based on the principle of a string trimmer, the goal RPM is roughly that of a regular trimmer.  These run about 3,000 RPM.  Since the spool gears are 1/4th the size of the drive gear, the drive gear should run at 1/4th the final output rotation, which is roughly 750 RPM.  In this case, we need an electric motor that can spin at 750 RPM and handle enough torque to spin the cutting heads (considering they have been geared up for speed).  A basic cordless drill not only operates off of a batter that can be contained within the base unit, it also spins at roughly 800 RPM.  If the drive gear of the cutting head has an output shaft of 3/8″ or less, the drill can chuck directly up onto that.  Instead of having the battery in the drill, the battery is house in the base unit.  A solid state relay sits between the battery and the drill and is actuated by a microcontroller.  The trigger on the drill is held in with a zip tie.  When the microcontroller sends the 5 volt control signal to the solid state relay, the power from the battery is sent to the drill.  The drill turns the drive gear at 800 RPM.  The drive gear turns the outer gears at 3200 RPM, which spin the trimmer string to cut the grass.

And now for the wheels.  The base unit will be a tank-tread style vehicle.  This means there is a wheel that is covered by a tank tread.  The diameter of the wheel plus the tank tread above and below is a total of 8″.  At this diameter, one rotation of the drive wheel will move the unit 25.12″.  My goal speed is about 8″ per second, or 480″ per minute.  480 inches per minute / 25.12″ circumference=19 RPM.  This is pretty slow.  I like the idea of using a cheap rechargeable drill for each side, like I did with the cutting head, but going from 800 RPM to about 20 means a 40:1 gear reduction or a severe cut in voltage.  Assuming the drill motor is linear in its relationship between RPM and voltage and the drill is rated for 12 volts, this would mean 0.3 volts if we only went by voltage.  Since that would be difficult to create efficiently, a combination of voltage drop and gearing is necessary.  I’d much prefer using gears anyways since that will also increase the torque to the wheels.  I haven’t designed the gearbox yet, but watch for a later post.

Since this is a track-type vehicle, the left wheels turn together and the right wheels turn together.  In this case, only one of the two in each pair need to be powered.  For example, the shaft for the front left wheel is connected to a motor and the shaft for the rear right wheel is connected to another motor.  Both could be in the front, both could be in the back, it doesn’t really matter as long as one is driven on each side.  To turn the vehicle, each motor needs to be able to reverse.  As one side goes forward and the other in reverse, the vehicle turns.  An H-bridge will be used to control each motor.  An H-bridge is a type of electronic circuit that controls the speed and direction of a motor based on the output of a micro controller.  Much like the solid state relay in the cutting head, the H-bridge will sit between the battery and the drills that are used as the motors.  This will allow me to control the speed and direction of the rotation on each side of the unit.

Watch for updates.  I will also shed details on the controls in a later post.


Only one year until next Halloween

Here we are on November 1st, 2011.  As the sugar rush from last night dies off, it is a good time to begin planning for next year.

Halloween is a big deal around our place.  Carving pumpkins has always been an epic ritual for my wife and me.  We have done everything from adding Christmas lights as hair to dressing up our jack-o-lanterns in a tux and wedding dress (the year we were married).  Below is last year’s entry: my carving of Yoda.

2010 Jack-o-Lantern

Sadly, this year we did not participate.  That means that next year, we have to go even bigger to make up for this year.  I’m thinking animatronics.

I purchased a voice recording unit from Radio Shack a few weeks ago and wanted to use that in this year’s pumpkin, but I decided to hold off until I could implement it in a grander scale.  While doing some brain storming, I was suddenly struck with a memory of childhood: eating pizza at Chuck-E-Cheese with a half-dozen animatronic animals singing happy birthday to me.  The part of this memory that has always stuck with me is the eyes.  Always watching!  The livelyhood of the characters came from the eyes darting back and forth.  The rest of their movements were merely gravy.  To me, moving eyes is the key to animating objects.

My goal for my jack-o-lantern was to add eyes that would move in a way that is relevant to the situation.  Anyone can move an eyeball around, but making it move in a way that produces the sense of the object “watching” you is what will make this project worthwhile.  I decided to make my pumpkin’s eyes watch the trick-or-treaters approach the door as they walk up the steps.

In this case, I don’t plan on moving the eyes up and down, but rather just left and right.  In order to find the rotational degree of each eye ball in reference to where the kid is on my sidewalk, there are two variables that need to be considered: 1) the angle made up of where the kid is in relation to the plane of the jack-o-lantern face and 2) the distance between the kid and the plane of the face.  Once I have these variables, I can rotate the eyes left to right in order to point both eye balls directly at the kid.

Here is the approach…

1) Determine the angle and distance variables using a servo-mounted ping sensor.  Ping sensors are ultrasonic distance measurement sensors that send out an ultrasonic tone and then measure the time it takes to receive the echo.  The shorter the time, the shorter the distance (since sound moves at a reasonably stable speed).  By mounting the sensor on a servo and the servo in the dead center of the top of the pumpkin, the sensor can be wiped back and forth over a 180 degree range.  The servo will start at 0 degrees (facing the left ear) and take a distance measurement.  Once the distance has been measured, it will move 1 degree to the right and take another measurement.  This will continue to 180 degrees (right ear).  With distances measured on all 180 degrees, the angle with the shortest distance is picked as the one with the nearest target.

2) Eye balls made of ping pong balls (maybe with LEDs inside?) are mounted on independent servos (one for the right eye, one for the left).  These are mounted inside of the pumkin with the eye balls exposed through the jack-o-lantern’s eyeball sockets.  Two measurements are taken: L and R.  L is equal to the center of the left eye ball to the center line of the jack-o-lantern (on which the ping sensor’s servo is mounted).  R is equal to the distance from the center of the right eye ball to the pumpkin’s center line.  These will be used later.

3) The three servos are controlled by an arduino that is mounted inside the pumpkin.  Since we are using electronics, the traditional candle used to light up the pumpking will need to be replaced with LEDs, but that gives us flexibility for other special effects down the road.  Maybe RGB lighting that fades from one color to another?  We’ll see how that turns out.

4)Using the law of cosines in the code, we can determine the angle of each eye based on the angle of the ping servo and the shortest distance measured, being that the angle and the distance are related at that point of the distance sweep array.

Example of calculation

Let’s say the D is the distance measured between the kid and the pumpkin by the ping sensor.  R is the distance between the center line of the pumpkin and the center of the right eye.  P is the angle of the servo at the time that D was measured.  We want to find X which is the angle of the servo mounted to the right eye ball.  To know X, we need to determine the distance of the leg of the triangle opposed to angle P.  In a right triangle, this would be done with the standard pythagrean theorem.  Knowing that it is unlikely that P=90 degrees, we need to use the more extensive one.


Or in our case:


With H determined, we can redo this same equation to determine the angle of x.


Using arccosine, x can be determined to provide the angle of the right eye ball.  The same method would be used for the left eye ball.

5) Once the distance is less than a specified value, the voice recording unit is activated to play back the recorded message.  Personally, I’m thinking of something like, “You aren’t coming for my candy, are you?”  Currently, there is a momentary button used to trigger the playback.  I plan to remove the momentary and replace it with a relay that is controlled by the arduino.  A relay might be overkill, but I also like the idea of isolating the circuits.

As I mentioned earlier, this would all be processed by an arduino.  Below is the shield I designed to interact with the servos, ping sensor, and the relay for the sound module.


CNC Build – Part 3: Electronics

I’m happy to say that the hard part is over.  Building the structure of the mill and adding the mechanicals into it required the majority of the design because there is no standard way of doing it.  The up side is that this part could be done however I wanted, but the downside was that I had to determine my way of doing it.  Electronics, on the other hand, are much more rigid in design.  When it comes to designing the electronics for a CNC, there is really only one way it can be done, so that’s the way you do it.  When I say that there is only one way it can be done, that is somewhat true and somewhat false.  I actually have two avenues that I could have used, so it is worth weighing the pros and cons of each.

The first route is to have the mill connected to the computer directly.  This is done through a parallel port.  The upside to this is that the computer does all of the g-code (described in my earlier post) processing.  No further processor is needed to run the mill.  There are two downsides, however: a parallel port is required and the computer needs to be close to the mill.  Many computers today don’t have parallel ports because that is a dying technology.  Most new computers have replaced the old parallel and serial ports with USB ports, which don’t help at all in the CNC world.  Also, requiring the computer to be plugged into the mill means that it has to be very close to the mill (same room).  In my case, my computer is in my house and my mill is in my garage.  For this to work, I’d need to have another computer in my garage, which also subjects it to vast amounts of sawdust, which is certainly not good for it.

The second route is to make the mill completely stand-alone.  In order to do this, the g-code  that is generated by the computer’s modeling program is stored on something like an SD card (think of the memory card in your digital camera).  That card is then brought to the mill where a micro controller on the unit processes the code.  The upside here is that the computer does not need to be connected to the mill via a parallel port.  No parallel port is required on the computer, but rather the computer needs an SD card reader.  These are much more common in current computers.  Secondly, because it isn’t connected, it doesn’t need to be in the same room as the mill.  I can design my part in my living room, pop the card out, and then drop it into my mill in the shop without ever exposing my computer to my garage.

If I were to go with the second option, I need to add in a micro controller as a processing unit to read the g-code off of the SD card.  One option is an Arduino.  These are small, inexpensive boards with pretty much anything you’d need for micro controller purposes.  The software used to program them is free and the language is easy to use.  I’ve seen plenty of people program Arduino boards to be g-code interpreters for both CNC mills as well as 3d printers and other robotic manufacturing purposes, but I chose not to go this way.  I worry about adding yet another layer to the framework.  Adding one more piece to the puzzle means adding one more point that can fail.

In order to “Keep it simple, stupid” (I was always offended when my dad said that to me), I’m going with the first route: connecting a computer directly to the mill.  Don’t worry, though.  I don’t plan on using my good computer.  More details on the computer part later on.  Bottom line, however, I’ll be building a small, portable computer specifically for the purposes of designing and milling parts.  I’ll bring this computer out to the garage when I need to use the mill and I’ll bring it back inside with me when I’m done.

Now that we know how the computer is used, let’s talk about the electronics on the mill side.  We know that the mill plugs into the parallel port and we know that the mill contains stepper motors to actuate the motion.  What lies between is just as important.

From the parallel port on the computer comes the parallel cable.  If you had a printer back in the 1990’s, you had a parallel cable.  That is what printers connected to.  Instead of running to a printer, however, it runs to a parallel port breakout board.  I could have made one of these, but I chose to purchase one from  This board is lined with screw-down terminals that represent each of the 25 lines of the printer cable.  The milling software uses six of these lines to send the necessary signals for each of the stepper motors (1 line for direction per axis, 1 line as the “go” signal called the “step” per axis).   The board also contains components to keep the computer safe in case of a malfunction on the mill and vice versa.

Using the six control lines from breakout board, each pair (1 direction and 1 step) per axis is sent to its own stepper driver module.  The stepper driver is a board with circuitry that takes the two signals and compares it to what it has already received.  From there, the board generates two different voltages which are sent through four wires to the stepper motor.  The two voltages represent which step of the 200 per revolution the motor should be at.

Once it is all hooked up, here is how the system works:

The computer reads the g-code and decides the next necessary movement is that the x-axis needs to move a half inch to the right.  A setting in the software allows the user to set the number of steps per inch.  In my case, there are 3200 steps per inch so the software knows that a half inch equals 1600 steps.  The x axis uses lines 2 and 3 in the parallel port; 2 being the direction and 3 being the step.  It turns pin 2 on (electricity is flowing through) to illustrate that it is moving to the right instead of the left.  It then turns pin 3 on and then off 1600 times.  The stepper driver board that is connected to the #2 and #3 terminals on the breakout board see the combination of the 1600 steps on pin 3 and the “on” signal of pin 2 and it understands that this means 1600 steps clockwise.  It sends corresponding power through the four leads to the stepper motor to cause it to turn 1600 1.8 degree steps clockwise; a total of 2880 degrees.  This in turn spins the lead screw clockwise 8 revolutions, which in turn moves the t-nut .5 inches closer.

CNC Build – Part 2: The Mechanicals

The idea behind a CNC is that the unit moves the router around on its own.  This being the case, I needed to design a way of incorporating automated movement into my mill.  Turning from woodworking to electronics, I began planning how I would move the various parts of my mill electronically.

Relying on every other CNC mill that I’ve seen, plus all of the robotic theory at hand, the obvious choice for my actuation is stepper motors.  Stepper motors, like regular electric motors, can spin continuously and can turn in either direction.  Unlike a conventional motor, however, a stepper motor moves in precises increments called “steps”.  If you add power to a regular motor, it will spin until power is turned off.  In this fashion, it is difficult to specify how many degrees the shaft has turned.  With a stepper, however, it will only turn one step.  The motors I purchased have step of 1.8 degrees.  This means that I can control the rotation of the shaft by 1/200th of a turn.  Regardless of voltage or amperage supplied to the motor, it will only turn 1.8 degrees at a time.

Using a stepper motor, I can control rotation, but I need to convert that to distance across an x, y, and z axis.  There are several options I could have used to convert rotational movement to linear movement.  The two common ones in the CNC universe are belts and lead screws.  Using a belt, the object that must move linearly is attached to a point on the belt.  As the motor turns the belt, the object moves accordingly.  This works nicely, but I chose the other route: lead screw.  Attached to my stepper motor is a 3/8″ diameter threaded rod.  The rod passes through the object via a t-nut.  As the lead screw turns, the t-nut threads up and down the rod, moving what the nut is attached to accordingly.

In my CNC, I will have three lead screws; one per axis.  Each lead screw has its own stepper motor.  As I had mentioned, the stepper motor turns in 1.8 degree steps which means 200 steps per rotation.  The threaded rod had 16 threads per inch (a nut would have to turn 16 full rotations to move one inch).  This equates to 3200 (200 x 16) steps per inch, meaning that each axis will have a resolution of 1/3200″ (minus any slop).  I feel pretty good about those numbers.

CNC Build – Part 1: Mill Design

I’ve spent a few weeks toiling over possible designs for my CNC mill.  I’ve fought to keep a balance of effectiveness and simplicity.  I want it to be a full-fledged CNC, but I also continue to hear my dad’s voice in the back of my head reminding me of the engineer’s cardinal rule: K.I.S.S. (keep it simple, stupid).  The key element was that it needed to work without requiring hard-to-find or expensive parts.  This project is meant more as a way to prove to myself that I can produce something this complex and less of producing something that will be immensely helpful in my long-term woodworking.  That being the case, I didn’t want to spend a lot of money on this if it turns out to be a massive failure.

With this mindset, I came up with the following criteria:

  1. The unit will be made of wood.  Metal might be stronger and might last longer, but if I find that a part of my design isn’t working, I won’t feel bad about ripping out a 7 inch long chunk of 1×6.  That kind of mistake only costs a few cents to fix.
  2. A CNC that can cut a 4’x8′ sheet of plywood would be really cool, but A) I don’t have space for that in my garage and B) what would I be working on that would need computer-controlled cutting of something in that scale?  If I’m going for the detail that only a computer can give me, it is bound to be something small anyways, so the max size can and should be less than 24″x24″.  This will give me a mill that can sit on the corner of my workbench when not in use.
  3. Pre-engineered electronics.  Yes, I could probably design my own circuit board for a 3-axis stepper driver, but why?  So many already exist.  I don’t need to re-invent the wheel on this one.  Furthermore, interfacing the drivers with the computer via the parallel port is done with a breakout board.  These, again, already exist.  I don’t need to design my own.  It may cost a few dollars more, but it is just that: a few dollars.  In the grand scheme of things, the extra $10 it will cost to buy pre-designed electronics will save me more than that in the value of my electronics R&D time.

So I sat down behind MS Visio (a tool I love for my woodworking projects) and began to mock up mill designs.  Using elements of mills I had seen in other people’s projects, I came up with what I call CNC-V1.

In version 1, a fixed gantry is centered over a 2’x4′ unit.  The table slides back and forth under the arm for the Y axis.  The arm contains a sliding panel to create the X axis.  The sliding panel holds the router carrier, which moves up and down for the Z axis.

Design of the first version of my mill

The Y axis table contained bearings with a grove in the middle, which were designed for sliding patio doors.  These ran across the edge of steel angle iron, which was bolted to the bottom of the unit.  Overall, this worked.  The table top rolled nicely over the angle iron, but the unit was much too big.  This type of design requires twice the footprint of the maximum carving size.  Back to the drawing board.

After a few days, I found a concept that I liked.  Rockler sells a CNC mill that uses a moving arm instead of a moving table.  This allows for a smaller footprint.  Their CNC is a couple thousand dollars, but I figured I could create the mechanicals of mine for under a hundred.

Top of my second cnc design

Here, two under-mount drawer slides are attached to the top of the base.  These  support a cross arm which then rolls across the depth of the unit (Y axis).  A stationary table is then supported above the arm.  The arm is then attached to two uprights to support the X axis as it did in the first version.

The drawer slides worked significantly better than the v-groove bearings on the angle iron.  Tolerances are much tighter and the fear of the bearings lifting off of the angle iron was removed.  The only issue is that when the arm slides back, the upper part of the two drawer slides extend out of the base.  This was not an issue since the table support across the back could be shortened to allow them to pass by.  I found this to work so well that I’ve changed the X axis to be based on the same slides.  For $10 a pair at Menards, this was a fantastic find.

One Friday night and one Saturday morning and the unit took shape.

Photo of the cnc

At this point, the upper slides are attached and a panel connects them.  A stub of a 2×4 comes off the back of the panel and passes between the 1×4 upper arms.  I still need to design the Z axis, but I assume it will act much like the first two.  Stay tuned for updates.

Integration challenge: CNC mill

While I probably should be working on the organization project (see previous posts), I have recently been distracted by a new endeavor: a CNC mill.  Before I get into the details, however, I should lay out the back-story.

If you haven’t noticed yet, this blog covers software development, electronics, and woodworking.  I find the two to be quite similar in practice; large, complex things are made up of smaller, more basic things.  In woodworking, standardized dimensions of wood are cut and shaped and added to other pieces of standardized dimensions of wood that have been cut and shaped until a new object of a certain purpose appears.  In electronics, standardized components are mixed and matched and wired together in a fashion until it creates an object which completes a certain purpose.  In software development, standardized methods within a computing language are strung together in a pattern that creates a program, which in turn fulfills a certain purpose.  In all of these cases, small bits of pre-determined structure are fit together to create a bigger, more meaningful result.

Growing up, my dad taught me that everything has parts.  Everything is made up of dissimilar pieces that otherwise have nothing to do with each other, but when organized in a certain way, it completes a sum.  All a person needs to do to design that sum is to figure out the basic parts and put them together in the right way.  So began my love of woodworking and my career in IT.

So here I am; a person who sees every object as a sum of parts.  In my professional life, I see programs as individual commands.  In my wood shop, I see tables as individual boards.  At my electronics bench, I see electronic products as a pattern of components.  These builds are not silos, however.  Instead, those who create can continue to build up by integrating elements that are even more dissimilar than the parts that came before.  While there is no limit to the complexity of a woodworking project or the complexity of a computer program, there is a point at which people stop building because the arena of one field only solves so many issues.  Integration, however, expands our horizon.

This became my new challenge: integrate my areas of creation.  Begin a project that includes woodworking, software development, and electronics design.  When I considered the physical nature of woodworking and the virtual world of software, one shining option appeared: a CNC mill.  A CNC mill, to put it frankly, is a tool that carves out material to the shape designed in a computer.  A user can create a 3D model in a computer program and then connect the computer to this powertool, press a button, and walk away as the computer tells the mill how to carve out the model in a physical space.  To do this, the software analyzes the conceptual computer model and forms a string of movements that the carving tool (usually a small router) will follow in all three dimensions.  This string of movements is known as g-code.  This is a standardized syntax that allows all CNC mills to understand movements described by all computer modeling applications that are designed for CNC milling.

And there it is: my new challenge.  Using 3D modeling software to control electronics to carve out physical parts, I will have integrated all three of my building arenas.  Details to come.

Where we’re going, we don’t need “tools”.

I’ve seen several articles now that hint at a possible trend in the fabrication world.  Possibly, in the near future, those of us who build things will not need to own the specialized tools necessary to produce our creations.

I grew up in my grandfather’s woodworking shop.  Later, I worked with my dad in his woodworking shop.  Now that I have a place of my own, guess where I work?  If you answered, “In a cubicle,” you are right, but when come home, it is straight to the garage.  Once the cars are backed out of their parking spaces, my garage turns into my shop where I do my woodworking, automotive work, and some light metal work.  I own all sorts of saws, wrenches, jigs; all of the tools I need to produce the things I want to build.  It is a tradition that goes back in my family as far back as we can all remember.

This formula isn’t surprising.  For thousands of years, people have used tools, and I’m guessing many owned such tools and used them at home.  The problem with this scenario, however, is that not everyone can have a home shop.  Either the tools are too expensive to own or there is no place to use/keep them.  What happens when someone with a creative streak can’t have a shop?  Would you tell Michaelangelo that he can’t be an artist because he doesn’t have a place to store his paintbrushes?

Enter the tech shop:  a centralized collection of tools that can be used by the masses and returned when no longer needed.  Some have compared tech shops to gyms where a member can use a piece of equipment for a few minutes and then move onto another, allowing someone else to begin using the first.  Others compare tech shops to libraries, but instead of checking out a book for informational gain, a member checks out a tool for productive gain.  However it is described, tech shops allow creators to produce objects without needing to purchase, maintain, and store the tools used to create them.

Tech shops are much more than just glorified rental stores as well.  Many also include tools that few ordinary shop owners would own, let alone rental stores.  Tech shops often provide access to tools such as 3D printers, CNC mills, and other high-end fabrication tools.  I doubt the guys at my local rental shop even know what a 3D printer is.

Another key difference between a tech shop and an ordinary tool rental is the knowledge base.  Some tech shops like San Francisco’s TechShop hold classes to train members on how to use some of the more advanced tools.

Possibly the greatest key difference between a tech shop and a rental store, however, is the work space.  Instead of having to bring home each tool one by one and paying for a day’s rental per item, all of the tools are covered by a single membership fee, which also allows you to work on your project on the tech shop’s grounds.  Work areas are provided, having been designed with efficiency of fabrication in mind.  This means that even the guy in the 500 square foot studio apartment can build the same thing as a person with a dedicated shop in the back yard.

So you say you need to work on your brakes in the middle of the winter and you don’t have a garage?  Check out You no longer need to own that impact wrench.  You no longer need to own any tool for that matter to get the job done, let along a place to use it.