Lego Hacking: The GumBrix® Part 1
Lego Hacking: The GumBrix® Part 1
Mon, 01/02/2006 - 20:01 — Derek AndersonIn a previous post, I talked about building custom lego parts. Today, I am going to talk about something a little more advanced. Today, I am going to talk about the GumBrix.
The gumbrix came about because so many of my robot projects required the kind of rapid prototyping that Lego® really excels at, yet required more in the way of control electronics than Lego® was capable of. With a maximum of 3 motors and 3 sensors, the Mindstorms kit was not really capable of the more complicated control strategies that I was interested in. For example, it is possible to build a balancer, but not one with a touch sensor and proximeter as well, and certainly not one with arms. At the same time, custom machining every single part for a balancer is VERY time consuming, and not flexible once assembled.
In retrospect, the solution should have been more obvious. I have built a controller for lego parts that is capable of offering far more processor power, unlimited sensors, and a large number of motors/pneumatics.
The GumBrix Specs:
- Gumstix Waysmall 400MHz
Arm7Arm10, with bluetooth, 2x serial, I2C, and Linux - Delrin case with Lego compatible studs and rails
- Custom interface boards with AtMega8 running as an I2C slave
- Modular Jack for interfacing
Iges, NC, and other files that will allow you to build the same thing follow...
The Design
I started with some 3D drawings of the parts that would fit inside my box (IGES file attached at the bottom), and then shelled the box based on these dimensions. I made sure that the size of the box was a multiple of the Lego "magic dimensions". Lego bricks are all built on multiples of a certain set of dimensions. All bricks are based on building blocks that are 8mm wide, 8mm deep, and 9.6mm high. You can stack a VERY high set of bricks and end up with a perfect multiple of these dimensions. The drawing to the right should give you a good idea of the structure. I finished the box off with studs that would not interfere with the gumstix serial connectors, and which were 2mm tall (the magic Lego stud height is actually 1.82mm tall, and 4.84mm in diameter, but 2.0mm works). This 6:5:5 ratio is useful to keep in mind with lego, since you can make the blocks stand on end and line up, especially when using the technic style perforated bricks.
Machining
Next off: machining... I built this brick from Delrin, and would not recommend it for a good lego material. Too soft, too gummy. Normally this stuff is great, but the sharp edges and number of cuts made it a little bit of a challenge. The material also ended up being a little too flexible for the application, since there are spots where the walls are only a couple of millimeters thich. I would recommend using ABS/Polycarbonate instead, as I have had better luck with that material for lego parts. The only reason I didn't use it was because I was out of stock in the size I needed, and my normal shop was closed for the holidays.
All of the NC files in this attachment are based upon using a 1/8" flat endmill, so no tool changes required. Make sure you have at least 1.2" of tool from the bottom of the collet. The block you start with will need to be exactly 30.7mm high, 88mm long, and 40mm wide before you start these programs. I have included a diagram to show where the 0 positions are in the attached NC files. The zero positions (X,Y both equal to 0) are where the teeny tiny little crosses are in the image to the right. Note that the first process is the top, then the power side, then the MMC side, then finally the bottom. Be sure not to clamp too tightly on the bottom operation.
The finished machined parts, and the fit test!
That program takes HOURS to run, but something finally does get spit out the other side. The GumBrix was able to mate up perfectly with the technic parts I had laying around on my desk. Even better, the fit was actually pretty snug, and even the delrin was holding together OK. I still would have preferred ABS/Polycarb, but you can't have everything.
The Gumstix also fit perfectly, lining up with the corners well, and the bluetooth chip was mating well with the location island on the inside of the brick. The two serial ports and the pockets they fit in mated perfectly as well. The power plug was not quite right, but I think that was a machining error.
Last up, does it boot? Back and forth fiddling with the GumStix left me worried that it would no longer boot up, so I installed the whole thing and gave it a quick test. Phew, still works.
Well, that brings this episode to a close. The following chapters will be:
- The GumBrix® Part 2: Accessory parts
- The GumBrix® Part 3: External circuits
- The GumBrix® Part 4: Interfacing and programming
Footnote: I found myself Makedotted today for an embarrassing little post about custom lego parts. Lesson: Always make sure your writing is production quality before posting it.
P.S. In case you have been in a cave for a hundred years or so, Lego is a trademark of the Lego corporation, and I am only using it as a descriptive term. They make great toys, go buy some.




