Thousands of Tiny Robots

The Modular Robotics Blog

Well, now!  That was fun.  The Kickstarter campaign for MOSS ran for a month, attracted pledges from 1578 would-be robot builders, and generated $361,293.

Work on MOSS continues at full speed at Modular Robotics.  All of our injection molded plastic parts are here, though some many of them need small changes.  The colors are getting closer too!  These whites are a little bit off and the face colors are a little dull and unsaturated, but you get the idea.


I wrote a couple of weeks ago about programming for MOSS.  We had just gotten an explosion of attention from our launch on Kickstarter, and the alpha-geek, early-adopter community started asking about programming.  I didn’t have a good answer, but since then, we’ve had some time to decide what we’ll build first.  We just announced two programming tools as stretch goals for the campaign.

MOSS Flash.  At a base level, we want our hacker friends to have full capability to reprogram, repurpose, and remix MOSS to accomplish whatever they want.  The first thing we’re going to build is MOSS Flash, and it’s a desktop application that lets you reprogram the microcontroller inside any MOSS Bluetooth or MOSS Brain module in C.  We’re not going to build an IDE yet, you can use whatever editor and file management tools you like, but you’ll be able to start with a few sample programs, modify them or write new ones, and just drag the files onto the super-simple MOSS Flash window to compile and reprogram a connected MOSS module via Bluetooth.  We’ll probably build this in Node.js and much of the code is already written for our own use at modbot testing and debugging new MOSS programs.  The code for basic functionality won’t be the hard part in building MOSS Flash, though.  Documentation and designing the tutorials and materials that support open-ended programming will be hard, and building tools to help with debugging (regular C compiler output is often not particularly helpful) will be hard.

MOSS Scratch.  With low-level access for the die hard programmers covered by MOSS Flash, we also want to create a second way to program MOSS robots, something higher-level that can serve as an entry point for young inventors or for those who don’t get off on semicolons.  We picked Scratch, and we’ve already started working on a MOSS Scratch extension that will provide MOSS blocks that you can integrate with the normal Scratch blocks and a custom online compiler that will customize a Scratch script to run natively on the micro inside of a MOSS module.  The mechanism for adding extensions to Scratch is in beta right now but it looks really promising and the Scratch team has expressed enthusiasm and support for the integration with MOSS.  I think the progression of creating on-screen animations and then behaviors for a physical robot could be a pretty effective learning tool, and honestly, my mind is a little blown right now thinking of the cyclical nature of progress what with Grey Walter’s turtles, then Logo, then Scratch, and now back to robots.

Want to program your MOSS robots?  Me too.  We have some work to do building and testing these development tools, but we also have a pretty amazing engineering team.  If the Kickstarter campaign hits the $564k mark, we’ll plan to have both of these tools ready in June 2014 and ideally we’ll put up a beta of MOSS Flash right around when we ship the first MOSS kits.

The cool thing about construction kits is that there are so many of them. A good construction kit abstracts something difficult away and lets kids build at a level that they wouldn’t normally be able to build at on their own. LEGO® abstracts away joinery, Erector Sets abstract away measurement, MOSS abstracts a lot of the complexity involved in kinematics, and Cubelets asbtract away the Sense, Think, and Act behaviors that make a robot.

Now, with these little adapter plates, you can combine the best parts of Cubelets and LEGO® to build robots that not only function, but do so with flair.  They’re simple: little yellow plastic plates with a Cubelet connector on one side and a LEGO® connector on the other.  From now through the end of the day on December 2, we’re including a free four-pack of Brick Adapters with every Cubelets order over $75.

Is it weird for me to post on our blog about engineering?

Aside from our production staff of assembly elves who busily and fabulously make Cubelets, our largest staff contingent is Engineers, and I’m not on it. We have firmware, hardware, mechanical, electrical, and software engineers. I share an office with several of the Modular Robotics engineers, but I keep my feet firmly planted in “Education.”  Still, today, I want to say a bit about engineering.

In my early life, I was the child of an engineer. A lot of people think of engineers this way:

pocket-protectorAnd, don’t get me wrong, we did have quite a thing about graph paper, mechanical pencils, and protractors in my house growing up (most memorably, when designing Jack-o’-lantern faces in October). But my strongest memories of absorbing engineering by osmosis have a lot more to do with being asked to make a deliberate practice of defining a challenge and naming possible solutions – in my homework, in the kitchen, and in how we did chores and laundry and leaf-raking.

I’ve read scary statistics about workforce readiness and the state of our education to prepare students to be innovators, problem solvers, and engineers. things like, At the current growth rate of engineering jobs we will produce only one-third of the engineer educated students we need to fill those jobs in 10 years. I’m not sure how to verify the accuracy of these numbers, and of course, they depend on a lot of multi-variate and ever-changing factors.

I suspect the point of these statements is to get us all thinking about what we can do differently for our children and students and schools. So, on that criteria, this statement works for me. I thought about how privileged I was to grow up with engineering in my life, and indeed, my home. I also realized how awesome it is to work here surrounded by engineers and to be reintroduced to the language and unique problem solving processes engineers use. (It’s not uncommon to hear our staff saying “Can we pursue a solution that gets around that constraint? or “How can we reverse engineer that?” about non-engineering challenges.)

And I went away and, with the help of a four amazing collaborators from Science Matters, wrote the first installment of an Engineering and Design Principles unit! Students can learn valuable engineering approaches from making robots, and while we’ll add more lesson plans to this unit in the future, I wanted to get it out there now and see what teachers, camps, and clubs thought if it. Enjoy this collection of 5 lesson plans (soon to be more!) individually, or as a progression and unit of learning to introduce engineering as a cool way of approaching science and design together with your students – and be sure to let us know what you think!


It’s been a fun few days!  We launched MOSS on Kickstarter on Thursday and hit the $100k goal in less than 12 hours.  The pledges continue to roll in.  We’ve been celebrating and a fair number of us are committed to a round of Car Bombs at every hundred thousand dollars.

We’re psyched, but not surprised.  We picked $100k as a goal because we thought that we could hit it on the first day and that that success would be a whole story in itself.  The whole point of launching on kickstarter was to make a broad impact.  I’ll write about our decision to launch on kickstarter and the results later, though.  Now I’d like to address software.  Some people have asked about reprogramming MOSS modules.  Please forgive my long-form answer.

There are a few “levels of play” with MOSS.  Out of the box, people can snap modules and spheres together to build all sorts of reactive robots: robots that react to their environment by sensing and actuating.

With an iOS or Android device handy, kids can pair with a Bluetooth Module in a MOSS robot and control and communicate with their robot.  By February, we’ll have the three first apps (all free) ready to use.  MOSS Control is a panel of sliders that allows you to remote control (or remotely read data) on any of the 8 faces on the Bluetooth Module.  MOSS Log can graph (and export) sensor values over time, and MOSS Etch is a drawing program that can use Knobs, Distance sensors, and other various modules as inputs.

Advanced users and older kids will hopefully want to reprogram their MOSS modules.  And they will be able to!  But we haven’t decided exactly how.  At modbot, we all reprogram our MOSS Bluetooth modules by digging deep into C source code and sticking a little ISP header made from pogo pins onto an exposed PCB.  But this is not the way to encourage kids to program.

For Cubelets, we exposed an API to enable people to reprogram in C, but on the level of “neighbors” and “sensors” instead of pin change interrupts and all of the nasty little bits that go along with microcontroller programming.  We built Cubelets Code to reprogram from a browser window and Cubelets Studio as a standalone mac program.  We’ve learned a lot from these experiments.

Yes, you will be able to reprogram MOSS modules by writing C code.  But we haven’t decided what’s next from there.  We’re thinking about the API and at what level people can best interact with MOSS.  We’re playing with boxes and arrows languages like Max/MSP and block languages like Scratch.  We’ve discussed open sourcing everything.  We have a crazy idea about using Finite State Machines to program MOSS.  We’ve thought about using Arduino.  Should we virtual machine it?  It’s super fun testing out all of the options as part of our design process for a programming system, but right now we don’t know exactly where it’s going to end up!

Oh, did you make it all the way to the end and get a little disappointed because there aren’t any robots here?  I did too.  How about this card conveying robot?  It was Neville’s idea, Jon built it, and I get to show it off.

I love Cubelets. I feel like my identity is pretty closely tied to those little robotic cubes. You might have discovered Cubelets just now, or maybe you’ve had a kit for a year, but I’ve been working on Cubelets since 2006. That’s a decent chunk of my adult life! It feels like it’s been a really long time since I’ve been able to show off something brand new, so it’s particularly exciting for me to introduce you to MOSS.

MOSS is a brand-new construction kit for building dynamic little robots.  We’ve been working on it in secret for almost three years and we’re launching on Kickstarter. The video does a far better job of explaining how it works than I could here, so please take a look!


I’ve been neglecting our blog! How can it be?

Well, I’ve been writing so very much here at Modular Robotics. Grants, presentations, conference proposals, lesson plans, and more. Many, many words, and even more time spent word-crafting leaves me feeling less than articulate when it comes to our blog. So, for this post, I’m going to let some pictures do most of the talking.

Modular Robotics was invited to Denver’s Girl Geek Dinner this month. What fun!  But more than fun, I love the opportunity to show off Cubelets and talk about the ways in which they’ve empowered girls to build a bridge from productive play to deeper comprehension.

Of course, with many girls, geeks, and gadget-lovers there, we also got to see some rad robot-building.

A budding maker and tech-innovator built some small moving robots first, and then gave herself the task of making a dog.

Emma's Dog
Emma’s Dog

Kelly was really interested in driving robots, and using the Inverse Cubelet.

Kelly’s smart-driver
IMG_3171Helen made fast friends with us at our table, playing and making lots of robots
So we were thrilled when she won the raffle and went home with a KT06 of her own!

IMG_3160Thanks for having us Girl Geek – we loved talking about how Cubelets are a robot construction kit for everyone. We loved having smart ladies of all ages build amazing robots with us even more!

We’re announcing something awesome on November 7. I promised the team that I wouldn’t announce it early, so consider this a meta-announcement or a second-order announcement. No further announcing follows. Well — we’ve been so focused on details and finishing touches recently that the origins of our new thing have faded a little bit. The story of how it came to be is worth telling.

Back in 2009-2010, some of our startup funding came via SBIR grants from the National Science Foundation. These grants are free money, but they come with some unanticipated benefits too. About three years ago, I got email from the American Society of Engineering Education announcing their new post-doc scholar program. As a NSF SBIR recipient, the ASEE would pay for almost all of a postdoctoral scholar’s salary and health insurance if we hired someone who had recently finished (or was about to finish) their PhD in a technical field.


I immediately thought of Jon Hiller. When I was a post-doc at the Cornell Computational Synthesis lab (now called the Cornell Creative Machines Lab), Jon was a PhD student. Even in a world-class lab filled with the smartest people you’ve met, Jon stood out. He was working on discrete 3D printing, figuring out how to deposit tiny beads of material in dense grids to create forms with variable material properties. He built apparatus, wrote code, ran 3D simulations, and finished some super cool research. I wondered if he was getting ready to defend.

I called Jon. He was about to defend his dissertation and was ready to accept a job at Lawrence Livermore National Lab. It’s hard to compete with a cush government job but modbot had a trump card: Jon’s a rock climber and we’re in Boulder, CO. Proposals were written and he moved out here a month later to start.

Under normal circumstances, there’d be no way that a little, underfunded startup like Modular Robotics in 2010 could embark on the design of a second, totally unique robot project. But when Jon came out to join us, much of the work on commercializing Cubelets was complete. Since Jon was basically “free” to Modular Robotics, we decided that we should make the most of this bonus: we’d put him to work on a brand new something. Here we are, a couple of years later.


A requirement for ball bearings hit Supply Chain’s desk recently. Tens of thousands of them…of the 3/8″, nickel-plated, carbon steel variety.  There are literally hundreds of steel ball suppliers in the world, located in any region you like.  So where should we go to source this type of component?

It turns out that the best unit price in the world is in China at roughly half a cent per ball, certified lead- and contaminant-free.  Done and done.  Problem solved!  On to the next challenge.

But the deal didn’t feel right and I couldn’t quite place it.  Weeks went by, and then one morning it hit me.  Tens of thousands of steel balls are heavy, requiring an enormous amount of packaging material and fuel and people and time to transport them here.   After accounting for the logistics cost, the balls were closer to three cents each.  There must be a better way.

A little more searching turned up a couple large American distributors that bring over tens of millions of balls at a time, completely filling a shipping container and transporting them by sea and by rail more efficiently than we ever could.  As an added bonus, we caught one of the distributors during a free shipping promotion and ended the exercise with a landed cost at just over a penny, and it was a better solution.

In supporting our robot factory here in Boulder, there will always be components that we source overseas.  But it feels good to make a modest effort to source domestically whenever possible, and add to our growing list of US-based suppliers.

Thanks everyone for your calls and emails.  We’ve got some amazing flooding going on right now in Boulder but we’re all OK.  A few modbot people are out of their homes and have flooded basements but modbot HQ is dry with very minimal damage.  We expect to be shipping Cubelets out the door again on Monday.

Everyone knew that this was coming sooner or later.  Our last 100-year flood was in 1894, and Boulder is basically built in the flood plain.  To be clear, 100-year floods don’t occur every hundred years, it’s just a funny way of labeling a flood that has a 1% chance of occurring each year.  Regardless, Boulder’s in a low spot at the mouth of many canyons that drain the Continental Divide, it’s a pretty likely spot for serious flooding.  The weird part of this, though, is that flooding doesn’t normally happen in the Fall, it happens in the Spring, when all of the snow melts and fattens all of the rivers and creeks.

It’s still raining.  I’ve been in and around Boulder for almost 20 years and I’ve never seen it rain continuously like this for days and days.  It generally sprinkles in the afternoon for 15 to 20 minutes during the Summer, but a grey day of rain is a once-a-year novelty.  People here look forward to it, we get all Seattle and drink coffee and watch movies during the day.  But it’s been raining here for a week.


I catch a little flack around Modular Robotics sometimes because I can get get pretty excited about charts.  Some people can look at huge spreadsheets of numbers and make sense of them, but I generally cannot.  I usually think of data as an input, and a chart as the output.  Well, anyway, take a look at the rainfall chart above!

I’m stuck in Nederland, the little mountain town West of Boulder where I live; all of the roads in and out are closed.  We’re at 8,236 feet above sea level, so all’s fine here, all of our rain just washed down to Boulder.  It feels a little odd not being able to leave, but we have ample stores of coffee and chocolate and also a big vegetable garden, so we’ll be just fine.  It just started raining again.

If you’re interested in reading about the meteorology behind the current flooding, Bob Henson wrote a great piece on the UCAR/NCAR site.