3d Printed Hexapod Shells and More


So I've been having fun with the Buccaneer 3d printer, making all sorts of things. You can see an album of all the random things I've printed here

Renee from the forum posted some really cool Tibia Shells and I had to take a shot at printing them with my Buccaneer and my Glow in the Dark Filament.

I tried one using the Buccaneer's auto supports, but it used a lot of material and was difficult to remove. So I took a shot at printing without supports, and I was actually pretty impressed with the results.

There was an issue with the fr side of the shell, without a support my printer just couldn't make it work. But even with the mess, I managed to clean up the print pretty well.

IMG_5459.jpg IMG_5461.jpg IMG_5466.jpg

Since forever I've wanted to have tiny toy models of some of our robots, so one of the te things I've been working on are tiny hexapods! Initially I actually tried printing based on some of our 3d production files for the hexapod just to see how things would work. It turned out...poorly. The thickness of the brackets wasn't enough at the scale I was making, so I had a body and tibias, but no femurs.


Eventually I brought some of the plates (Tibia, body plates) into Tinkercad and just did some basic extrusion. Even this had some issues, so brought the .svg vector files for the plates into illustrator and deleted all the un-needed holes (I left some of the signature holes, but got rid of all the bolt holes and smaller mounting holes). I used the side profiles of F2/F3 brackets and uses some primitive cubes to build some thick brackets. I was actually pretty happy with the simplified hexapod design and it turned out better than I hoped. It was still a pain to get the supports off the model, and the bottom is marred by the supports.

So my next goal in mini hexapod is to make something that is actually joint based. If I can make the body separate from the rest of the robot, then It should cut down on supports and I'll have a movable hexapod. Of course that'a all much easier said than done.

I also printed out some of the models from KevinO's Golem Hexapod. I printed them just to see how they would come out, and I certainly didn't expect them to be great ( I expected a similar experience I had with the PhatontomX Hexapod) but surprisingly they turned out pretty well.


Printing out the parts from Kevin's Hexapod gave me some ideas about how I can make some joints using rods and holes. I started playing with some idead, but I've got a bit to go bfore I've got a working prorotype. If I make the holes to small, then the slop in the printer makes it so the rods won't fit, and if they're too big, there's slop in the joint. That, and if the rods are too long, then they won't fit in the hinges without cracking.

That's all for now., more prints soon!

The Buccaneer has Landed!


About 2 years ago my mother and I backed a 3D Printer called the Buccaneer on Kickstarter. We were backer #27 and paid about $300 with shipping for the promise of a printer in february of 2014. February came and went, and still no printer. Pirate3D (the manufacturer) went through all sorts of production problems, refunds, etc, to the point that there was some worry of ever getting the printer. Of course this is kickstarter, so you've got to expect this kind of thing. I wanted the printer to learn more about 3D printing, and my mom (an educator) wanted it to teach her the club kids about digital design and 3D printing. So we weren't too bothered by the delays.

We were actually really surprised when the printer finally showed up. In fact it came just in the neck of time - the next day my mom was hosting a Scratch Day Event and we set it up to show the kids. Initially I had problems with Pirate3D's Treasure Island site where you can download 3D models for your printer, but in retrospect I think it had something to do with the school's network. The generic error about not being able to download the file to the printer was frustrating, but makes a certain amount of sense. The printer actually gets models directly from Treasure Island, so it's likely that whatever method it uses to download the file was blocked. But I was able to get ahold of a windows laptop and run the Buccaneer software to load .STL files from Thingiverse

I was impressed how easy setup and the first print was. Pirate3D was really going for a simply setup machine, and as soon as I got the software dealt with, I was printing in no time.

After Scratch day I picked up some glow in the dark filament from Microcenter that is a ton of fun. I had to do some creative work to get the filament to feed into the Buccaneer since the spools didn't match, but after that it printed just as well as with the default filament.

I'm still getting used to the printer, and I've got a lot to learn about models and settings. For what I paid, I'm impressed with the Buccaneer. For a brand new one it looks like the cost is going to be around $1000. I'm not sure that I'd pay that for the Buccaneer, but we'll see after I get a little more accustomed to the printer. The printer does some things really well, and some things not so well. I need to hit up the forums and compare my results with what everyone else is printing. It would be nice if there was a base-line to make sure your printer is functioning properly. In the past I've only dealt with prints from high end machines like from shape ways, so sometimes I don't know if the imperfections in my prints are just the nature of cheap home 3D printers, or something else that I can improve. I'll have more information on the quality of my prints, settings, etc soon. Until then, here's some Print Pictures. I've also setup a webcam on the side of the printer, mostly so I can remotely see if it's still printing or not.

HR-OS1s are Shipping!


The HR-OS1s are shipping and I couldn't be happier! We spent the last two days finalizing the first 10 kits, but they're finally our the door. We'll have another 20 kits out this week, then the last 15 out sometime next week. I'm so excited to see how people use these robots.

I've spent the last week or so feverishly working to flesh out the HR-OS1 Documentation. I'm using Screenflow to create some cool videos that mix screen casting and video of the hardware setup. You can see them here, here, and here. I need to work on the audio - I'm using a samson mic, but I really think things would benefit from a USB headset. Regardless, Screenflow makes my workflow super easy - it even exports straight to youtube, which is stellar. I started using VNC to record other OSes, but ended up getting an HDMI capture card (the Game Capture HD, which makes things look a lot better and more responsive. It adds another layer to my workflow (Screenflow doesn't natively record from the capture card, I have to record it in another program and import it manually) but it's really not that bad (as long as I remember to hit 'record')

LIDAR Lite + InterbotiX Robot Turret Room Mapper

Last week I finished some preliminary tests with the LIDAR Lite from Pulsed Light . The LIDAR Lite is a laser based distance sensor that can measure distance from 0-40m with 2.5cm accuracy. And it's only $89.00! This combination of performance and cost make it an amazing little sensor for robotics.

Inspired by this image on Pulsed Light's site, I thought it would be fun to try and create my own room scanner using a LIDAR lite. I'm sure other people have done similar demos, so I figured I'd do it using one of our InterbotiX Robot Turrets

InterbotiX Robot Turret

This demo works well with both AX and MX series DYNAMIXEL servos (that is with both the PhantomX Turret and the WidowX/ScorpionX Turret).The biggest difference is that the MX servos have a full 360° scanning range while the AX servos only have 300°. For the video I used a ScorpionX Turret, but its really overkill. For a mobile robot I'd use the PhantomX Turret. Just having the physical construction all done for me as well as great servos with positional feedback made the whole project a breeze.

Chrome App

I've been really interested in working with Chrome Apps for basic demos. I think HTML is a great way to create quick and easy user interfaces, and the Canvas element makes it easy to create custom elements like the room scan. Working with the chrome serial interface can be a little wonky - I had to spend a lot of time sorting the serial input to get it to line up correctly. But once I did, getting everything up and running was really fast. I really like being able to make changes on the fly and not have to worry about restructuring my entire GUI. Chrome Apps certainly aren't the best solutions for every problem out there, but for proof of concepts and demos, they're pretty great.

Commander Library

I started the project by having the turret auto-scan and then send a custom 7-byte packet (2 byte header/2 bytes of position / 2 bytes of distance / check sum) I eventually figured I needed a good way to start/stop the turret and set the speed. So I turned to the ArboitX Commander library - the same one we use in our other robots. That made it really easy to send commands out from the chrome app. In the future, I'd really like to upgrade the commander library to have a built in data-return packet.

Future Work

This was very much a proof of concept, so I'm not looking to make many improvements on it anytime soon (I'd like to do a little bit of code cleanup and maintenance, but that's about it). But some ideas that I thought about working on are as follows:

  • Using Slip Rings to allow the LIDAR lite to spin continuously instead of scanning back and forth.
  • Alternatively, building a battery and wireless transceiver into the system to allow the entire rig to spin (though this has limited usefulness for mobile robots.
  • Storing scan data for a robot to report back to the computer later. The MX servos have 4096 different positions, each position being a 2-byte value. Storing that in SRAM will max out the Arduino Uno's 2K and even the ArbotiX-M's 4K. You can lose some resolution and drop it down enough to get a scan or two, but really an SD card or other storage is necessary. Of course there are always chips like the Teensy3.1 with more storage, or you could integrate a Raspberry Pi or other SBC to just get the data on scan.
  • Figuring out the maximum scan speed/bottle necks.
  • Investigating a low cost alternative. I think that it might be possible to use standard hobby servos and a little bit of interpolation (or just speed measurements/prediction) could be used to make a servo perimeter scanner. The scan would be limited to 180 degrees and the resolution wouldn't be great, but this could be great for simple mobile robots.
  • Looking at even lower cost systems like a DC motor with a cheap encoder.

Inductive Charge Growler Lamp

A few of my friends had a blind gift exchange for the holidays, with a $20 limit. I waited until pretty much the last minute to come up with my gift, so Amazon was pretty much out of the question. I was racking my brain what I could get my friend, so I went to Marshalls to try and find something. Eventually I came across a couple of Growlers for sale. Now my friend works at a brewery, so just getting him a growler would be pretty silly. But seeing the growler reminded me of a project he had asked me about a couple of yeas ago. He wanted to know if he could make growler lamps to put around the brewery. We talked about a couple different ways to accomplish it, but we never did anything with the idea. So when I saw the growler, I decided to buy one and make him a Growler lamp.

Read more: Inductive Charge Growler Lamp

Teensy Teensy Teensy!

Not too much to report this weekend. While helping out a friend I've been playing with the Teensy 3.1 to drive NeoPixels. The Teensy is really a pleasure to work with for prototyping. It's small, has interrupts for ever pin, 3 serial ports (not including usb/programming) and a crazy assortment of other features I haven't even played with.

I backed the Teensy 3.0 Kickstarter 2 years ago, and I was super impressed with the unit I got. And I have to say that all of the improvements that came with the Teensy 3.1 are pretty stellar. And the support that the creator Paul Stoffregen and the community gives is just as amazing. I know KurtE is working on a nice carrier board, I need to check up on that.

So what's up for this week? I'm going to start some work on new RobotGeek sensors, and I'll be working on some demos for the Robot Arms to go with the recently released Arm Link software - the videos are coming, I promise!

Arm Link is Live!


Over the next week I'll be rolling out all the links and announcements of the Arm Link Software! I've been developing this software for Trossen Robotics for quite some time now and am really happy that its finally ready for users. You can find all the source code and releases here

So what is Arm Link? Arm Link is an open source Java/Processing application that allows you to control the InterbotiX/RobotGeek Robot arms from your computer. The software sends serial packets to the arms with X/Y/Z positions that the arms them move to using their internal Inverse Kinematics engine. For more information, check out the Getting Started Guide I wrote.

A brand new video is on the way, but until then, here's the old pre-release.

DynaPose : Posing DYNAMIXEL servos with the ArbotiX


Over the weekend I started working on another pet project I've been thinking about for a while, the DynaPose firmware. This firmware is much like Pypose only everything is handled on board the ArbotiX. 5 Pushbuttons and an LCD allow the user to save different poses, save them, and play them back.

Right now my control panel uses 5 RobotGeek pushbuttons (Torque Toggle / Mode Change/ Previous Pose / Next Pose / Enter). An LCD displays the current mode (Save/ Set / Play). For the couple of hours I put into it, everything seems to be working pretty well.


  • Serial Mode (Serial Monitor only, no need for buttons/LCD)
  • Single Servo Mode (turn torque off for one servo at a time, allowing easier posing)
  • Auto-scanning for number of servos present
  • Robust checking of poses (poses are stored in EEPROM, and there may be problems if you try to load a pose before having saved data to it)
  • On the fly number of poses
  • Speed control via potentiometer