Monthly Archives: April 2015

Go Johnny Go

Johnny-Five the original JavaScript Robotics programming framework has a new website! The site looks great and does a god job showcasing the project’s maturity.

One of the many gems in this project is the Animation library. It allows you to control one or more servos by defining small timed sequences called segments. A segment is basically a timeline.
To control the timing of your keyframes you define cue-points. Your keyframes define the position of a target (servo) at a given time.
When you recall your sequence the library automagically controls your servos and perform the described animation taking care of timing, interpolation and even easing for you.

I want to add some animation sequences to Felix. Teach him a few tricks.
But describing the coordinated movements of a set of 8 servos as cue points and rotations is tedious.

Instead i start working on a simple animation editor. The idea is that you edit segments while your board is connected so you can drag and position your servos in real time. In that way you can test/play your segments until you get your moves right.

The tool will let you combine multiple segments into animations and export an animation as a js file that you can add to your own project.

The video below shows my first attempt at an UI using  PaperJS to implement the graphing and interaction.

CAD, templates and a couple of glamour shots

I’ve been working today on the design for Felix,  trying to tidy up the space for the electronics. The new body template is designed to fit an Arduino Uno board and an Adafruit 16×12 servo shield.
I’m trying to get up to speed with Autodesk Fusion 360. It’s great software, but to do this sort of stuff I keep coming back to OpenSCAD.

In order to get some “Fusion time”, I exported the template from OpenSCAD to STL format and uploaded it to Fusion 360. I also downloaded 3D models of an Arduino and a HiTech Servo from Then I spend some time playing with the render:


You can grab the OpenSCAD files from the repo:

and the DXF and SVG templates as well:

I still need to add a license file to the repo, but it’s a regular MIT license.

And speaking of CAD, I recently wrote a post for Makezine: It’s a short highlight of Mr. Đức thắng Nguyễn’s YouTube Channel. The channel is an amazing collection of complex animated mechanism he has documented with Autodesk Inventor over the last 10 years.

Dashboard and GitHub Repo

Felix is a NodeBot ( A NodeBot is a JavaScript powered robot. One of the benefits of using JavaScript and Node, is that it makes it trivial to create a  web based dashboard for your project. My dashboard has a simple joystick that controls Felix using

You can see a clip of Felix and the dashboard here:

The code is now on GitHub:
I will add the template files for the design to the repository as well.

Working on the body design

Yesterday I spend sometime at my local #fablab  #fablabnordvest learning to know their Chinese Laser cutter. I used 4mm. white acrylic.

The design was made with #iDraw and exported to SVG (You can download the SVG here Body.svg). But my Chinese friend only speaks DXF or AI. After importing the converted AI file, I realised that I needed to do some cleanup of the path. Some of the patterns appeared twice(?).

Anyhow, it’s always mesmerising to watch a machine do it’s work.

After playing with the assembly, I want to redesign the way the lid is attached and I will like to make a   smaller version for 9g servos. Probably the easiest way to do this is to use OpenSCAD to create a parametric model with the size of the servos as a dynamic variable, and then create a projection which I can export to DXF.


Improved walk

Today i worked on a couple of things to improve Felix’s walk cycle.
I tweaked the servos offsets to get a more precise placement of the feet. I fixed Felix to the new stand and used a square ruler to get the alignment as god as possible.

Then base on the suggestion by one of the god people at, Felix is now leaning to the opposite side of the leg being lifted for every step he takes.

Last but not least he got some socks to get better traction.