Mirobot by Ben Pirt

Mirobot, ready for drawing!

Mirobot, ready for drawing!

A few weeks ago I stumbled across the Mirobot website after seeing a post on the Arduino forums.  The creator, Ben Pirt, designed this cool open source drawing robot that is driven over WiFi to roll around and draw.  One of the nifty things about this project is that the robot is that it has an almost unlimited drawing size.1

Ben was kind enough to answer a few questions about his project:

  • What is the Mirobot?
    • Mirobot is a simple drawing robot that’s designed to help children learn about programming and technology. It’s all open hardware and software so once you’ve done some of the basic exercises and you’ve built up your confidence you can start hacking it to do different things. It’s battery powered and WiFi-enabled which means you can put it on your home network and just start using it from any web enabled device.
  • How did you get started in robotics?
    • This is my first robot really! Although I guess back in the 80’s was when I first got my hands on a robot when I used the BBC Turtle. I was lucky because my Dad was a teacher and was involved int he early days of computers in schools – I was his willing guinea pig. Every school holiday he would bring something home to play around with and the Turtle was always one of the most popular things.
  • Why did you decide to work on a drawing robot? Where there any other robots that inspired you?
    • A couple of years ago I took my kids to the Science Museum in London (worth a visit if you ever get a chance) and saw one of the original Turtles that I’d used in my childhood. After being immersed in technology for a while now it struck me that what was then a very expensive and complex machine could now be constructed relatively easily and at low cost. In the era of the original Turtles you were lucky if you had one per school, but with an open hardware approach and using open platforms like the Arduino, much of the development is already done. I’m now able to build a robot that improves on the original (it has batteries, uses WiFi) at a fraction of the cost.
    • But the real reason I decided to start work on the project was so that I could build it with my kids. We built the first release over Christmas and it’s evolved from the learning that gave me.
  • Who do you see using these robots? What do you hope they’ll learn as they build and program the robot?
    • It’s designed with children in mind – it’s been made easy to assemble and I’ve put a lot of time into making sure the PCB is easy to solder. I’m hoping to work with schools so that a class can all build their own robots and then start learning by using them. When you build the robot yourself you have a much greater appreciation of where it came from. As you put together the PCB I take the opportunity to explain what each piece is doing so even if you don’t fully understand how it works, you still get more of an understanding about what it’s doing. You also get more of a mechanical understanding about how things fit together because nothing is hidden and you can see what everything is doing. Once you start using it you can obviously develop your understanding of some basic programming, but once you’ve mastered this there are lots of other ways you can learn by modifying it;
      • – you can customise the web application and learn Javascript / HTML
      • – you can program it from Javascript, either in-browser or via Node.js
      • – you can modify the firmware and add functionality to the robot
      • – you can add sensors to develop what it’s capable of
  • How big a drawing is the robot capable of? How complex a drawing?
    • Well the robot is battery powered and wireless so the question is how big is your piece of paper? I do have some plans to make a massive drawing at some time!
  • Besides drawing what else could people do with this robot? Do you think there are any commercial or industrial applications?
    • I definitely see Mirobot as a base for future experimentation so I can see people adding sensors and making it autonomous. Maybe someone will use it as a base to make the cleaning robots like in the Fifth Element! I’ve intentionally brought out any unused pins on the Arduino to a header so that it’s easy to add hardware.
  • Why did you choose to go with a custom designed board rather than an Arduino with a motor shield? What other applications do you see for the Mirobot board?
    • I originally started with a shield for a regular Arduino but found that it turned out to be quite expensive (and one of the goals of the project is to make it as low cost as possible) and also quite bulky. It began to impact on the physical design of the chassis and was quite difficult to mount (it required screws, and these cost money and add to the complexity of the construction process). I also wanted people to be able to completely build their own robot so liked the idea that you really do build everything. By building a custom board I can make it fit perfectly into the design of the robot.
  • Why did you choose open source?
    • I’m a big believer in the Open Source approach and I think this is the perfect project for it. If the aim of this project is to get it into as many children’s hands as possible then allowing anyone to make it, and also to learn from the making process, is a key part of that.
  • What’s your favorite thing to draw with the Mirobot?
    • At the moment my favourite test pattern is the classic 5 pointed star which can be nicely drawn in LOGO by doing:
      • repeat 5 [
      • forward 100
      • right 144
      • ]
    • Although I’m still learning! I’d like to teach it to do some portraits by converting vector images to drawing commands.

Thank you to Ben for taking the time to share more about his project!

Mirobot - drawing!

Mirobot – drawing!

  1. As long as the paper, pen, and batteries hold out! []

Doodle Clock by Ekaggrat Singh Kalsi

Doodle Clock picture totally swiped from Hack A Day

Doodle Clock picture totally swiped from Hack A Day

I found the Doodle Clock featured by Hack A Day in March of 2012 as a result of a comment on that side.  It’s not a traditional drawing robot as I feature on this site, but it does have the most important parts – a robot that creates some kind of drawing using a typical drawing instrument.

The setup appears relatively simple – some metal arms, motors, and what I would guess is an Arduino microcontroller of some kind.  Although the video doesn’t seem to show the eraser implement, the robot has an almost hilarious method of wiping the drawing surface using the side of the pen holder.1 There isn’t a ton of information out there about this robot – basically just the write up on Hack A Day, the YouTube video, and then a few comments in both forums.2 Fortunately, in the video comment section the creator does provide a brief explanation of the math underpinning this nifty robot:

Use inverse kinematics to find the angles of the motors like the following equations: 
float l1 = 80.4; // the length of the shoulder 
float l2 = 88; // the length of the elbow
double cb2 = 2*l1*l2;
double c2 = (sq(x) + sq(y) - sq(l1) - sq(l2)) / cb2; 
double s2 = sqrt(1-sq(c2)); 
double k1 = (l1 + l2 * c2); 
double k2 = (l2 * s2); 
double base_ang = rtod((atan2(y,x) - atan2(k2,k1))); 
double elbow_ang = rtod(atan2(s2,c2)) + 90;
myservo1.write(base_ang); myservo2.write(elbow_ang);

Many robotic arms use inverse kinematics math to calculate and control position and movement.  Although not as complex, the Doodle Clock and Linus use this same math.  Now, if you’ve read this far – why not check out this pretty amusing video of the Doodle Clock in action?

  1. I would guess there’s a small cloth or some thing glued to the side []
  2. Although, I just saw a post on Engadget about it too []

Piccolo by Diatom Studios

Piccolo - version 4

Piccolo – version 4

The Piccolo by Diatom Studios is a tiny CNC robot – a huge source of inspiration for me.  I first heard of the Piccolo in about February of 2012 when they got a lot of blog and press coverage after they launched an excellent introduction video and website.  The award winning design1 features lasercut acrylic parts, three micro servos, and a pen holder.  However, since the robot is a 3 axis CNC rather than just a 2 axis CNC with a pen lift, the possibilities for extending, tinkering, and hacking the platform are basically endless.

Although their Piccolo website has been relatively quiet lately,2 there have been several interesting developments.  The Diatom Studio crew has posted lots of files, instructions, and code up in their GitHub account, they’ve got a ton of pictures in their Flickr pool that appear to show the design evolution of the Piccolo, and there’s even a LittleBits powered version of their platform.

The latest version shown in their Flickr pool provides a lot of insight into their design process, part choices, and a hit of things to come.  The latest Piccolo pictures features an Arduino Pro Micro powered circuit board and three servo connectors upon which the lasercut parts are layered to build up the robot.  Unlike prior versions of the robot which appeared to require several different thicknesses of lasercut material, this version seems to require only one thickness of wood, one thickness of acrylic, and one thickness of what appears to be paper.  If I were to guess, I would suppose the lasercut paper is used for spacers between the layers to provide clearance for parts to slide through.

This slideshow requires JavaScript.

Lastly, if you haven’t checked out the video, you really need to do that now.  I’m pretty confident that you’ll fall in love with this little robot too.

  1. Scroll to the bottom to see the award links []
  2. Still no launch date – sad face []