Arduino mounting plate

Img_17960

A common problem when playing with Arduino is deciding how to secure the circuit board to the rest of your project. Use this laser cuttable mounting plate to attach an Arduino to your LEGO Technic or Bitbeam creations.

You can check out the OpenSCAD source or DXF files in the Bitbeam repo on GitHub. 

Or admire it on Thingiverse!

Or watch a slideshow on Flickr!

I manually cut the mounting plate in the above photo at home with my jewelers drill press and jigsaw. Here's a fun little technique when you don't have a laser cutter nearby: Print out the design on sticker paper. Then attach the sticker to the wood. Finally, use your drill and saw to cut out the final design.

When I get back to TechShop I'll do a proper laser cut, and post more photos.

Here's the completed assembly connected to other beams:

Img_18320
Enjoy!

 

Filed under  //   arduino  

Bitbeam Robots Invade PyCon!

Here's the video of the talk I gave at PyCon 2012 about my Angry Birds playing robot.

Sorry for all the "ums". I'm really going to try to remove those from my vocabulary. Here's a some good advice on how to remove "ums" from your speech

 

Filed under  //   pycon   robots   

Who Has Two Thumbs and Made O'Reilly's Radar?

Tim-bitbeambot

Okay, that tweet will probably be on my Top 10 Awesome Moments of 2011 list. But let's back up for a second. How'd we get here?

On October 2nd, I presented my Angry Birds playing robot at the Jenkins User Conference in San Francisco. You can watch the video on YouTube, fast forwarded to the roboty bits at 14:25.

[The conference video doesn't cut away from me while I narrate the two robot demo videos. But all is not lost! You can enjoy the two demo links here and here. Oh, and the slides, here.]

Weeks before the conference, I announced that I would unveil the bitbeam robot in my talk. Not satisfied with a mere Worldwide Premiere, I decided BitbeamBot deserved a Galactic Premiere. I used this as motivation to actually finish building the robot. I call this "Embarrassment Driven Development -- make a big public promise to deliver on a deadline or risk embarrassment. Let me tell you, EDD works. Just a few hours before my conference talk, I was still furiously testing circuits and writing code, trying to get it all to work. But I pulled it off. I got the demo working, recorded a quick video of it working on my desk, then sprinted over to the conference to give my talk.

The talk went well. A good time was had by all. Okay, so the next day, I was scheduled to talk with Tim O'Brien from O'Reilly about Selenium. Still fired up by the success at JenkinsConf, I convinced Tim to let me talk about my robot. (He really had no choice, though. I was talkin' robots with or without him.)

The interview is up on YouTube, and Tim posted his summary on O'Reilly Radar.

A few day's later, Mr. O'Reilly himself posted that tweet.

And he lived happily ever after. The End!

bitPad - Open Source iPad Stand

Img_0931

bitPad is an inexpensive and easy to build iPad stand made with Bitbeam. Although it's very simple, it shows you some of the fun things you can do with Bitbeam.

Here are the parts you need:

Img_0948

It's popular with the kids!

Img_0985

I posted more detailed assembly pictures to the bitPad photo set on Flickr.

When I started the Bitbeam project in July, I didn't focus on how to make money from it. It was more of an art project that had to get out of my head and into the real world. However, people keep asking me when I'm going to start selling kits. I'm pretty busy these days with my awesome startup, but I think it might be fun to make a few Bitbeam kits, get 'em out in the world, and start growing the Bitbeam community. So, if you're interested in buying a bitPad kit, please provide your email address in the form below. Kits are $6. Shipping for up to 4 kits is $5 to anywhere in the USA. (It would make an excellent stocking stuffer!) I'll probably keep the first batch limited to about 25 kits. So act now! :-)

Angry Bots

My robot plays Angry Birds. Does yours? 

I created this robot for my "Extreme Testing with Selenium and Jenkins" talk at the Jenkins User Conference, on October 2, 2011.

Oh, and it looks like Bitbeambot is now #1 on the Robots That Play Angry Birds leaderboard, too!

Angryboards

Bitbeambot

Bitbeambot
Ta-done! (Almost.) My bitbeam-based CNC machine (aka "bitbeambot") is now mechanics-complete. The physical structure is done, and now it's time to focus on the electronics and software. 

The galactic premiere and live demo of the bitbeambot playing Angry Birds on an iPhone will be this Sunday, October 2 at the Jenkins User Conference in San Francisco. Hope to see you there!

Bitbeam at the Open Hardware Summit (or, Robots that Play Angry Birds)

I'm off to NYC today for the Open Hardware Summit. Yeah!

I just submitted (5 minutes before the deadline! Phew!) my entry to the Open Hardware scholarship contest. Here's the description I included in the contest entry:

Project Description
Bitbeam is an experiment to combine my two favorite prototyping tools: balsa/basswood and Lego. The idea is to miniaturize grid beam and make it Lego Technic compatible. 

As with Lego, you can build anything with bitbeam. My first bitbeam project is to build a CNC machine, but with a twist. My background is in software testing, so I'm building a machine out of bitbeam that can test applications on actual mobile hardware, using the Selenium automation API.

Comments welcome!

[Update: Voting is over. Results are at OHSummit. Bitbeam didn't win. :-( But thank you to all who voted! :-) ]

Filed under  //   nyc   openhardware  

The Next Step

Time for an update of the goings-on in the Bitbeam Basement.

Last week, I purchased some stepper motors from Jameco (Part #: 155460). I went with bipolar instead of unipolar based on what I read on the RepRap wiki page about steppers -- bipolar steppers are used in newer RepRap machine designs. I figured what's good for RepRap would be good for me, since I didn't have an opinion either way.

Next step was to wire up the motor. Here's a trick: if you're searching for concise, correct, easy-to-read instructions on how to create a simple circuit, always append the word "Arduino" to your Google search. It's similar to searching for Linux related things -- for the best docs, append the word "Ubuntu" to your search -- beginner friendly technology projects always have the best docs! It also helps to actually use Arduino and Ubuntu, too! The Arduino bipolar stepper circuit shows how to use an L293D or SN754410NE chip (commonly called "H-bridge") to drive the stepper. Very cool! I knew those were handy for DC motors, but didn't realize they could be used for steppers, too. I happened to have lots of H-bridges around for another project. If you want to pick up some yourself, again Jameco is your friend. (Part #: 1341966)

After wiring-up, I launched the Arduino IDE and opened the stepper example. (Menu path: File->Examples->stepper->stepper_oneRevolution). The built-in library of ready-to-use real world example code is another reason why the Arduino project is so wonderful work with. Thanks also goes to Tom Igoe, who wrote the original version of the code and docs that made their way into the Arduino IDE and website.

With the code ready, and the basic H-bridge good to go, there was one more task to confirm-- did I connect the stepper motor's 4 wires to the H-bridge in the right sequence? Only after I created the above video, did I realize the online data sheet (PDF) shows the correct wiring diagram. I went the brute force way, and just re-arranged the 4 wires while the circuit was running on the Arduino until the axle was rotating properly in both directions. If you get the wiring sequence wrong, the stepper's axle will mostly just jitter in place, rotating erratically. I had a sense that if I got the wiring wrong on the first try, nothing bad would happen (e.g. I wouldn't likely kill the motor or the H-bridge chip), so I didn't feel too guilty just plugging it in and seeing what happens. It's a fine line knowing when to do precisely the right thing the first time, and when to just say "Oh, forget it. Let's turn it on, and see what happens."

The almost awesome part about these specific steppers is that the mounting holes are 31 mm apart from each other. Since bitbeam holes are 8 mm apart, a length of 5 BUs (Bitbeam Units) is 32 mm, which might work with these motors. I took a chance that the motors would mount as-is directly to a bitbeam. With a little bit of wiggle, it works. That's why I said "almost awesome". A stepper with mounting holes 32 mm would be perfect, but 31 is close enough. Lastly, I bought some machine screws from Small Parts to mount the motors to the bitbeams. (Part #: B000NHVPW2) (M3, 10mm long, Zinc Plated Steel Machine Screw, Pan Head, Phillips Drive.)

That's it for now. The next post will show the stepper motor connected up (screwed up?) with some bitbeams driving the X-stage of an eventual Bitbeam CNC machine.

Filed under  //   Arduino   Stepper  

Octagony (or, Reinventing the Wheel)

Scaling-in-openscad
In the "Things That Could've Been Brought To My Attention Yesterday" Department, I just found a huge time saver in OpenSCAD -- the scale function.

By default, OpenSCAD's built-in circle and cylinder functions are fine. However, for small circles or cylinders with a radius of less than 3mm, the result doesn't look much like a circle at all. This is how a newbie would code this in OpenSCAD.

// Typical small circle
circle(r=2.4);

And here's the result - an octagon!?

Typical-small-circle-openscad

The solution is to create a circle with a large radius, then scale it down to the size I want. My trick is to use a radius 10 times larger than I need, then use the scale function to reduce it to 10% of its original size.

// High-precision small circle
scale([.1,.1])
circle(r=24);

 

And the new, better, non-octagon-y result:

Awesome-scaled-circle-openscad

 

Why does this matter? Bitbeam requires a Lego Technic compatible through-hole radius of 2.4 mm. If I used the default octagon-producing output, and sent it to the laser cutter, round axles, dowels, or bolts would not have fit in the hole. My first remedy was to draw a circle in Inkscape, export to DXF, then use OpenSCAD's linear_extrude function to import my circle and render. DXF-to-OpenSCAD is usually awesome and is featured prominently on the OpenSCAD home page. However, I've thankfully realized it's total overkill for my simple small-radius circle. Trying to figure out how to create a circle in Inkscape in an OpenSCAD-compatible way was surprisingly complicated and tedius. Credit goes, though, to Nudel for posting an excellent and detailed Inkscape to OpenSCAD dxf tutorial. I will definely use that tutorial in the future for more sophisicated designs.

The goal for all of this is "Click, Click, Awesome." I believe we'll get there. 

 

Filed under  //   Octagony   OpenSCAD   ThingThatCouldHaveBeenBroughtToMyAttentionYesterday  

Ready for Main Street

Stop-and-think

If you stop and think about it, grid beam is ready for Main Street. (Photo taken a few blocks from my house in Oak Park, Illinois.)

Filed under  //   ButCanItMakeATriJoint   gridbeam  

About



Twitter:
@hugs
@bitbeam
@saucelabs