Sign in:

All posts by Eric Schweikardt

Eric is the CEO & Design Director at Modular Robotics.
I’ve been having a lot of fun at Modular Robotics lately.  It’s been a bit of a whirlwind with a lot of changes, a lot of new collaborators, a lot of new ideas, and a lot of creative problem solving.  It never occurred to me that we’d grow by acquiring other companies, but here we are: just a few weeks ago, we completed the transaction to merge with Dexter Industries and we’ve been busy integrating our new team members and making plans for the future. Dexter has been on my radar since about 2013.  Back then, they were making a bunch of interesting high-end sensors and extensions for LEGO Mindstorms, and I thought the idea was compelling: build on a commercially successful construction kit to enable kids (and AFOL) to explore further than the stock pieces and configuration allowed.  Dexter has grown and changed quite a bit since then, focusing over the last few years on mobile robots for education.  They’re still building off of the work of other successful projects; the Gigglebot, below, is built around a micro:bit and the GoPiGo, further down, is built around a Raspberry Pi. GiggleBot Up until a couple of years ago, we didn’t think much about teaching kids to code.  I feel strongly that the push to teach coding in elementary schools is misguided: that we should start with teaching computational thinking, away from a computer screen, and only get kids started coding when it starts to become something that they want or need to do in order to solve a problem or make something.  We hear all the time about how it’s important to teach little kids to code, but most of the time I think we’re hearing it from people who don’t really code themselves and see it naively as a step on the path to a good twenty-first century job. Those of us who write code every day know that it’s just one of many tools needed to design something.  It’s important to start from the beginning, with logic, computational thinking, and creativity, before moving to programming. I’m proud that Cubelets have been a big success at helping kids learn to think.  With Cubelets, kids as young as four are learning about things like feedback, control, loops, recursion, inputs/outputs, sensors, and networking all before they start programming.  Later, after kids learn the basics of programming, Cubelets are again a powerful tool: kids can code them to make complex distributed systems: concurrent models of cities, animals, and ecosystems.  But the complexity of Cubelets makes them not the best tool for the step in the middle: learning and practicing the basics of programming. Since Cubelets are a parallel system, they can quickly get complicated for learning to code.  It’s much easier to start small and code a simple robot than it is to code an interconnected mass of twenty! I first learned some programming in Logo.  My dad tells the story of coming to first grade parents’ night at Coleytown Elementary School in 1983 or so and seeing me demonstrate directing my little green turtle icon around on an Apple II screen with lines of code.  My dad likes to say that he saw the future that night. He went home and bought a Commodore 64, learned how to use it, and later, as a professional photographer, became an early adopter of digital imaging, Photoshop and image databases.  Anyway. Something about using code to create geometric patterns and illustrations was the bait that drew me in. A lot of people don’t know that the first Logo turtles were physical robots, not the familiar on-screen triangles.  Back in 1960 it wasn’t practical to have a physical robot for every kid, so we made do with on-screen simulations.  In 2019, it’s eminently practical, and the real-world behavior, tangibility, physicality, and connection to natural systems make robots an excellent tool for teaching kids to code. At first, we thought we’d design a coding robot from scratch.  Modular Robotics is a spinoff from an academic research lab at Carnegie Mellon University, and the desire to invent new things is part of our culture.  But after a few discussions with John Cole, Dexter’s founder and CEO, it was apparent that there was a better path right in front of us. On July 1, 2019, Modular Robotics bought Dexter Industries, and not only have we expanded the set of learn-to-code tools in our product line, we’ve got a great new team of experts to work with moving forward. John is a pretty amazing human being.  He started Dexter Industries in his kitchen, after working in alternative energy and a variety of other fields too.  He has an insatiable curiosity, combined with the capability to realize his crazy ideas, and that draws everyone toward wanting to work with him.  Over the last ten years he’s spent time in Afghanistan, India, Iraq, and many other places, and has some unique stories to tell. I’m honored and thrilled to have him on the Modular Robotics team as a close collaborator, along with the impressive collection of characters who make up the rest of the Dexter team. People seem to recoil a bit at the word “synergy”.  I think it gets thrown around too much in the business community and has lost some of its meaning.  But in the context of mergers and acquisitions, it has a very specific meaning. Putting our two companies together results in a lot of synergies; areas in which the best of one company can combine with the best of the other, creating a whole that’s more than the sum of its parts: a whole that’s more like the product of its parts.  By multiplying Modular Robotics’ operations, reach, design, education experience, and network with Dexter’s innovation, engineering, university programs, and coding robots, we’re way more effective than when both of us were out there trying to do everything on our own. If you still hate the word “synergy,” maybe try syzygy.  It’s a much cooler word.  Or zymurgy, which I fondly recall from being a little kid who read the dictionary, often backward.  Ok, sorry, I’m getting distracted. We’re making one awesome change immediately.  Starting today, all of the Dexter curricula, lesson plans, and activities will be available free of charge, under a Creative Commons license, for educators to download, remix, and re-use, however they desire.  It’s a treasure trove of awesome content and I’m psyched to get it into more teachers’ hands. The materials that the Dexter team have designed and built over the years are a direct fit with our mission, and making them available at no charge feels like a great way to quickly scale up and help many more kids become better thinkers. Other changes will be slower.  We’ve already got our design, education, and engineering teams collaborating on a couple of new Cubelets and some educational material to be launched early next year.  We’re starting in on a couple of top secret projects as well. For now, the Gigglebot, GoPiGo, BrickPi, GrovePi, and the rest of the new products will stay branded as Dexter Industries products.  When you place an order, it’ll ship from Modular Robotics in Boulder, Colorado, and when you email customer support, you’ll be reaching our new, combined team. I’m excited to share some fun new things in the coming months, but for now, we’re charging ahead and trying to break as few things as we can in the meantime. Zooming back out for a minute, I’m tremendously proud that our team was able to put this merger together, especially within the current context of quite a few IoT and consumer robotics companies (Anki, Jibo, Reach…) shutting down.  Casual observers might make an assumption that the consumer robotics market isn’t as promising as previously thought, but I’m certain that’s incorrect and that all of those companies were simply spending way more money than they were making.    Hardware is hard, no doubt, but as we get closer to shipping the millionth Cubelet, it feels like we’ve built a strong foundation helping kids become better thinkers.  This acquisition allows us to immediately scale up and impact a greater number of kids and a more diverse set of learners. I’m incredibly excited for what’s next.
We recently shipped out Cubelets kit number 100,000. It’s an arbitrary number, but I think cause for celebration. Something about another digit, an order of magnitude, reinforces that a hundred thousand is a pretty big number. The notion that we’ve made 100,000 boxed Cubelets kits is a little baffling when I think back through our history. I started on the design of Cubelets as part of my PhD research (we called them roBlocks back then) at Carnegie Mellon University in 2006. Something about the little robot blocks caused imaginations to go into overdrive; one after another, people visiting our lab kept asking if I could make just a few more Cubelets; for their science center or children’s museum. After a visitor from Japan offered to pay a ridiculous amount of money for my (only) prototype set of Cubelets, we decided to try to figure out how to make more of them in a way that didn’t rely on me staying up all night soldering circuit boards. Here’s one of my favorite videos from the Cubelets Museum.  These were the first working prototypes of the design for mass production.  I had just returned from a trip to visit our injection mold supplier in China, and brought back these black prototypes.  I shot this video quickly on my desk, my friend Evan recorded the music, and I did a quick iMovie edit and posted the video.  Yesterday, our COO Jon Moyes and I were talking about the feeling of wonder, and he mentioned how vividly he remembered seeing this video in 2011 and deciding that he wanted to work for Modular Robotics. Even back then we were thinking about the future.  I remember a conversation with Brad Feld, one of our Directors, where we discussed orders of magnitude for product lines.  Back then, we posited that we’d make around 1000 Cubelets kits, then we’d parlay what we learned from that into the next product that we’d make 10,000 of (remember MOSS?).  And that eventually, we’d figure out robot blocks and design a product that sold 100,000 kits.  Here we are, eight years later, with 100,000 Cubelets kits out the door and increasing volumes each year.  We didn’t see that coming. From some perspectives, 100,000 is not a huge number.  When I was a little kid, it was a big deal for a car to reach 100,000 miles.  I remember when our big green Dodge van, Betsy, hit 100,000 miles.  The van only had five digits on the odometer; reaching 100,000 caused it to reset to zero.  But now some cars are making it to a million miles! For us, though, 100,000 Cubelets kits (that’s around 720,000 Cubelets, by the way) feels big, and feels like a reason to celebrate.  After all, the mission of Modular Robotics is to make the world a better place with thousands and thousands of tiny robots.  Explicit in that is broad impact through scale.  We see every day how Cubelets can help kids form thoughtful and accurate models of how the world works, and it feels like we’re on our way to helping create a critical mass of kids who can think about complex systems, networks, and emergence in ways that my generation clearly can’t. Here’s our most recent Cubelets video.  Some things have changed, but it’s surprising how much has not.
Indeed you can!  Do you know what a Turing Machine is? It’s a type of a computer, or, well, it’s a model of a computer. A simplified computer, with a memory tape and a read/write head that moves back and forth along the tape. It’s a funny little type of a computer, but it’s interesting in that with a Turing Machine, you can do any kind of digital computation that we can think of. Maybe not in a super optimized fashion, but… LOOK! Here’s a Turing Machine made with Cubelets and some LEGO bricks: This construction was built by Genaro J. Martínez and students and collaborators at ALIROB (Artificial Life Robotics Lab) in Mexico. I think it’s brilliant. There’s a web site with a few more videos and all of the code has been published there too. You’ll see a ton of neat little programming features in these robots:  Rotate Cubelets, for example, can only be controlled by specifying a speed, not a position.  Check out how they use a distance Cubelet as a “stop” to recalibrate the little swinging arm after each swing. Most of the Cubelets we make end up in elementary or middle school classrooms.   So we spend a lot of time working on making Cubelets accessible, educational, and intriguing: focusing on the low-threshold aspects more than the high-ceiling aspects.  It’s nice to be reminded that Cubelets are actually a universal computational material, a medium, capable of supporting some pretty advanced thought experiments.
One of the Modular Robotics projects I’m most proud of is the MOSS Huck Tank. It’s a MOSS kit designed with Huck Gee, one of my favorite artists. It’s gorgeous, and you can drive it around with your phone and shoot Nerf darts remotely! huck-main-moss Only 186 Huck Tanks will ever be made. Most of those went to fulfill the MOSS Kickstarter campaign, and severely tested the limits of the modbot Production and Operations team. We’re good at building MOSS, but we set up an entire pad printing production line to do the graphics. Pad printing is basically printing using a rubber stamp-ish tool. Anyway, there are ninety-four different “hits” from the pad printer in a single Huck Tank, and when we got into it, we realized that we had vastly underestimated the amount of time it would take to manufacture these beauties. Fast forward to today, and we’ve built and printed a final run of 55 MOSS Huck Tanks, using the last of the little shogun heads and shields in existence. Art collector? Robot enthusiast? Nerf assassin? Grab one of the last Huck Tanks while you can. Here’s a teaser video from three years ago showing a couple of different prototypes (sans shogun head), and the raw power of the Nerf cannon.
I was super happy to hear this morning that my friends have officially announced their new company: Misty Robotics. Robots as friends or as part of our families? I think it’s going to be an interesting ride watching them figure this idea out. I first met Ian Bernstein around 2009 or 10. We had just started Modular Robotics in Boulder, and Ian and his co-founder Adam dropped by our shop with half a prototype robot ball that had a bunch of wires sticking out of it. They were in Techstars at the time and wanted to talk about starting a hardware company. They’d eventually become Sphero. Since then, Sphero has become a huge success in the toy market, and between sprints, Ian and I have been able to do some bucket list skiing together: Alaska hili-skiing one year, Chamonix backcountry, Retallack… People often seem sort of amused to meet us on these trips and find that we have toy robot companies a couple of blocks apart in Boulder, but we’ve never felt like competitors. Now, Ian’s continuing to make his vision into reality by spinning off a new company, Misty, and closing a financing.  I’m excited for them.  While companies do indeed battle for space on store shelves, Ian and I are much more interested in the long view; when there will be an entire ecosystem of robot stuff all over our homes and offices. Thousands of tiny robot cubes doing some things, and “personable robots that benefit everyone’s lives” doing others. That’s why I’m so excited to meet the robots that roll out of Misty.

There are a lot of different ways to build with Cubelets.  Little kids, around 4 or 5, mostly like stacking them into tall towers and large constructions with flashing lights.  Older kids usually build with more focus, snapping together mobile robots that avoid walls or beep when they’re being chased.  Some people like remote-controlling their Cubelets robots with phones and tablets, and some people like integrating LEGO into their constructions.  Super enthusiasts with a lot of patience have been able to reprogram Cubelets in C, unlocking unlimited functionality at the price of a steep learning curve.

Now, using brand-new Cubelets Blockly, anyone can learn to program Cubelets and take robot blocks to a completely different level.  Blockly is a puzzle-piece programming language.  You drag programming pieces around on the screen in an easy interface, but still with all of the power and expandability that text-based typing languages provide.  Rad.  Purists and alpha geeks may still wish to write C programs using Cubelets Flash, but most of us at modbot are tending to use Blockly since it’s so fast for prototyping and quickly exploring ideas.

I just opened up Blockly on my Mac and wrote a simple program: the Paper Towel Dispenser.  An old standby.  You know, wave your hand in front of the sensor and the motor turns on for a few seconds?  It’s a super-simple version, but it worked on the first try!  The program looks like this:

Screen Shot 2016-10-26 at 11.22.42 AM

The program is written for a Distance Cubelet, so it monitors its distance sensor and then, when it detects a hand passing over it, sets its block_value to 200 for a couple of seconds.  I decided to write my program for the Distance Cubelet so that I could line up as many Drive Cubelets as I want to be a little conveyor belt and not have to program any of them.  I’m also dispensing a little aluminum ruler instead of paper towels, but that’s just a technicality.

It’d be easy to rewrite this program for a Drive Cubelet, and then I could stick on any type of Sensor Cubelet (not just Distance) and try to trigger the Drive.

Programming a whole pile of little robots instead of just one is an excellent way to see how there are often multiple ways to solve problems, and how small changes can have huge ripple effects in a complex system.

As I sit here enamored with my unimpressive ruler mover, Sam, our new Robotics Intern, is building a six-legged, catapult-equipped Cubelet/LEGO robot.  And he just finished documenting a Cubelets paper football goalpost robot with three levels of gameplay  which is pretty amazing.

pf finished bot

Programming and interacting with a whole bunch of tiny robots is different from working with just one.  Even though Cubelets Blockly is designed for kids, it contains some pretty advanced functionality.  With a multi-robot system like Cubelets, blocks need to send messages around to other blocks and things are happening in parallel.  We wrote a set of tutorials that highlights the key differences and walks you through building a few robots.

You’ll need a Bluetooth Cubelet and a few other Cubelets to play.  Today, Blockly runs on Macs and PCs, and we’re going to be launching iOS, Android and Chromebook versions later this year.

Happy hacking; let us know if you build something cool!

Know an amazing undergrad? Please point them in our direction. We have a new paid internship opportunity available for the Fall semester, and it’s a pretty good gig. We’re working hard on some new tools that support advanced Cubelets play: programming tools that will let you change the behavior of one, or more, or all of the Cubelets in a robot construction. The possibilities are, in fact, mathematically endless, and we’re looking for an Undergraduate Research Assistant to build a ton of robots and help us improve and iterate on the system. Why is the intern required to be a currently enrolled undergraduate student? Because through some of our research work, the National Science Foundation has agreed to pay for some of the intern’s compensation. Thanks NSF! Computer science students are obviously welcome, as are students in art, architecture, history, or anything at all. No programming experience is necessary, but if the idea of programming is scary, then this internship might not be a great fit. Creativity and energy are the two most important attributes we’ll look at when screening applicants.
We’re happy to share with you TWENTY-EIGHT new standards-aligned lesson plans for teaching with Cubelets. You can take a look at them here, sorted by age. We’ve written 22 more, shown with greyed-out “coming soon” boxes, and we’ll publish the rest of these over the next month as we finish up some image editing and format the lessons for web and print. We just couldn’t wait, though, to publish the first 28. We designed and tested these lesson plans over the last seven months by partnering with four local teachers. Each of them did amazing work putting the lesson plans together and iterating on them after trying out the lessons with their students. We’re going to be doing a lot more of this! By the way, if you happen to be at the NSTA conference today, please come by our booth and say hi to Beth Cohen, one of our Education Partners, and hear about some recent work she’s done in the classroom modeling biological systems and putting a robotic spin on history lessons… You’ll see that most lessons are explicitly standards-aligned. Our hope is that this will help you justify your forward-looking work with robot blocks to schools and districts that are mandated to meet standards. We specifically identify the relevant Common Core, Next Generation Science, and ISTE Standards, with Teaching Strategies Gold alignment added for Pre-K and Kindergarten students. If you get the chance to try out some of these lessons in a classroom, we’d love to hear your feedback.
Last week we launched a Cubelets Operating System update. While the point three makes it sound like a minor update, it’s actually kind of a big deal. OS 4.3 improves a bunch of little things, and it definitively fixes one particularly nefarious bug. You know how we’re always talking about complexity and emergent behavior? About how Cubelets can be a great model for complex systems we see in the world like societies, ecosystems, and economies? About how play with Cubelets will help kids develop skills to solve problems in complex environments? Well, even though we play with Cubelets a lot around here, sometimes emergent problems in complex systems can be a real bear to figure out. Take the Nefarious Bug, for instance. Since the release of OS4, we’ve seen a few Cubelets spontaneously lock up and stop functioning. It happened every once in a while in our factory, and we heard from a few customers that the same thing had happened out in the world. When we took these “bricked” Cubelets apart, we found that each one was missing a tiny little piece of memory — a random line of programming had somehow been erased. And while I can function pretty well having no idea what I ate for breakfast yesterday, the microcontrollers inside Cubelets are a little more brittle, their memories need to basically be perfect in order for them to function at all. I’ll spare you the rundown of our debugging process. Suffice it to say that hypotheses were made, tested, and then re-made. Ideas and hopes and dreams were repeatedly generated and then dashed. It took weeks, but we finally figured it out. It was the combined behavior of a mechanical bug, an electronic bug, and a software bug, but we fixed it just with software. The particulars of the problem are a bit obscure. Are you familiar with the Rotate Cubelet? If you’ve ever wondered how the rotating face can conduct power and data without a bunch of wires getting twisted up inside, the answer is that it uses a slip ring. Slip rings have contacts that slide around a rotating ring, using friction to make electrical contact. Sometimes this connection isn’t perfect (at least not as perfect as a soldered wire) so there tends to be some noise on the power line near Rotate Cubelets. While this shouldn’t be a problem, a big Cubelets robot has power flowing throughout all of the Cubelets and through all of the faces, and a bunch of noise on a bunch of connectors all at once ended up causing low voltage transients that wreaked a little havoc on those tiny, tiny brains. Previously, Cubelets were riding a fine line between the voltage level at which they’d automatically shut down and the voltage level at which they could brick themselves and apparently (in less than 0.1% of Cubelets), noisy rotatey power connections could shock the Cubelet into crossing that line. Once we finally figured this out, it was pretty straightforward to repair by changing a few settings in software and testing profusely with the noisiest Rotate Cubelets we could find. Now OS 4.3 is out in the world. I’d recommend upgrading all of your Cubelets. Its super easy to do using the iOS or Android Cubelets app.
Have you ever read Vehicles?  It’s a favorite around modbot because it’s basically a set of thought experiments about how we can understand the world through simple robotic elements.  As Braitenberg adds simple pieces of technology to tiny robots, the reader starts to see how lifelike complexity really can emerge from simple building blocks. One of the little technological enhancements that results in interesting emergent behavior is stacking up simple sensors in a grid: this enables a robot to detect not only whether anything is in front of it, but to detect certain things.  Apparently, we actually do a little bit of thinking with our eyes. Take this simple Cubelets robot, for example.  It’s a grid of twelve Distance sensors configured into a secret lock that can only be opened by a special key.  Sure, Cubelets are robot blocks, and the resolution of the sensor grid is pretty low, but 2^12 means that there are 4096 possible combinations for a secret key.  Pretty hard to hack for a toy. Status lights are boring, though, right?  Since Cubelets are modular, we’ll just snap on a few Drive blocks instead and turn the lock into a locked door.  Look, candy! I built these two robots a couple of weeks ago with a brand-new Cubelets programming system and I’ve been waiting to share them until it’s ready to launch. Today’s the day; if you’re interested, take a look at Cubelets Flash, download it, and start building some crazy custom robots. Your Cubelets will all need to be running OS4 to connect to Cubelets Flash. Right now, if you have old Cubelets, you’ll have to use a mobile device running the Cubelets app to upgrade them first. This workflow is a little funny because we screwed up. We used to be able to program OS3 Cubelets using Cubelets Studio, and when we launched OS4 it was incompatible with Studio. It took us longer to release Flash than we thought it would, and I know that a lot of you are pretty excited to program your OS4 Cubelets. Right now it’s in beta release with only the most important functionality so that we could get it launched for you to play with as quickly as possible. Enjoy.