Sign in:

Thousands of Tiny Robots

The Modular Robotics Blog

Barbara Grindle knows the endless possibilities that Cubelets robot blocks offer to students of all ages. A third-grade teacher at Marshdale Elementary in Evergreen, Colorado, Ms. Grindle serves as her school’s Gifted and Talented Building Liaison, as well as the STEAM Class Coordinator.

She likes to use Cubelets in her Friday Afternoon Clubs as an exploration exercise. She challenges her students to experiment and determine what each robot block does, as well as figure out how they work together. In her after-school STEAM class, Mrs. Grindle uses Cubelets and the Cubelets Blockly app to explore coding.

For Ms. Grindle’s students, Cubelets have fostered a variety of engaging lessons that develop 21st-century skills. She advises her fellow educators to think about what they can teach using technology, as opposed to what they can teach about technology.

Barbara Grindle - small 

She has witnessed Cubelets helping students, including those with special needs, open up in ways she never thought possible:

When I met my new third graders last August, I had a student with severe special needs… I would only get a shy smile from her occasionally. She felt overwhelmed in our regular classroom and would not make eye contact or interact with the students when she was in our room.

My teammate and her daughters had a wonderful time playing with Cubelets at the Denver Museum of Science and Nature. She told me to check them out. My first thought was not for my after-school STEAM class, but for this student. Here would be a way for her to equally participate with classmates.

I wrote a grant through Donor’s Choose for Cubelets. In the meantime, I saw her and two girls belly laughing while coloring! That was a quite a breakthrough! But none of our activities required enough interaction, or were too difficult for her, and we didn’t seem to make much more progress. She still would not talk to us even though she could now say a few simple sentences.

Then the Cubelets arrived. A boy and girl explored the Cubelets with her for several days. Then she started talking to them in complete sentences to help her accomplish what she was trying to get the Cubelets to do! The adults cried and the class cheered when we learned what had taken place.

I now get big smiles, sometimes hugs, and an occasional word from her. During our Morning Meeting she will now whisper the information she wants to share to the person sitting next to her. In our current economics unit, one of our students chose her for a business partner and they are making products to sell on our third grade Market Day. This is a newfound engagement with the whole world!

Barbara Grindle 2 - small

Cubelets have helped build bridges between her students in other ways, as well.  

Recently, a new 5th-grade student enrolled in my STEAM class. She does not speak any English and I do not speak any Spanish. Knowing the power of the collaboration possible with the Cubelets, I had her try to figure out how to use them. I had purchased extra battery cubes so more than one child at a time could work with them. After two classes using the Cubelets and getting comfortable with us, she was ready to take on other more complicated activities like building in Minecraft EDU. It was the excitement and success of working with others with the Cubelets that helped her transition and take risks.

Barbara Grindle 3 - small

Ms. Grindle admits that she has not even begun to scratch the surface of what is possible with Cubelets.

The impact of the Cubelets constantly exceeds my expectations. I want a way to level the playing field for students to collaborate. I want to extend the concept of coding on a very concrete level by offering a range of coding devices. This one is unique. I want to expose my students to a variety of technology in order to help them become flexible thinkers, problem solvers, innovators, and collaborators. I want to engage struggling students and have them know that learning can be fun and exciting. The Cubelets have helped with all of these.

Last night, I sent the Cubelets home with a staff member and her family. She complained, jokingly, that her husband would not put them down. Then she showed me a movie on her phone of how the Cubelets were being controlled by their wall dimmer switch! And he sent me a challenge to do having separate robots interact!

I have not begun to scratch the surface of what is possible yet. So I know the impact will end up being much bigger than I can imagine!

Join the Conversation  1 Comment

Now, it’s easier than ever to take STEM education to the next level. Students love Cubelets — and it doesn’t take much to start teaching with tiny robots. But for many students, as they reach more advanced lessons, they need a bigger challenge.

The new Wonder Ed Expansion pack comes with a mix of Cubelets® robot blocks not commonly found in our smaller kits that will allow you to enhance your Cubelets lessons and provide your students with a more advanced hands-on experience.

This expansion pack is the perfect way to explore computational thinking and uncover a deeper understanding of how Cubelets operate.  The Cubelets included in this pack are key to understanding concepts such as variables, logic, and conditionals that are essential to coding and using the Cubelets Blockly Application.

blockly_data_types

One of the lesson plans you can complete with the addition of this expansion pack is the Data Flow lesson plan, designed for grades 4-6 and 7-12. This lesson introduces students to the Threshold, Maximum, and Minimum Cubelets. It also teaches them about coding, value, and data transfer as they relate to robotics.

Lessons such as Sensing and Magnitude, Building Different Robots, and Cause and Effect utilize the Knob Cubelet. The Bar Graph can be found in lessons related to  the engineering design process: Engineering Problem-Solving, Criteria and Constraints, and Amusement Park Ride among them. The Blocker can be used in larger, more complex robot constructions to allow you to control two separate senses at one time. Plus, the Temperature block is an extra SENSE Cubelet your students can work into their robot creations, creating a construction that reacts to changes in temperature.

Check out the Getting Started Guide and our free lesson plans for a better understanding of how this expansion pack can augment your curriculum.

Join the Conversation  3 Comments

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.

Join the Conversation  0 Comments

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.

Join the Conversation  1 Comment

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!

Join the Conversation  3 Comments

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.

Join the Conversation  0 Comments

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.

Join the Conversation  0 Comments

What sort of robot would do well if it lived on a white table? How could it sense the edge and stop itself from tumbling over? If the robot had to keep moving, what sort of abilities would it need to keep from driving off? If the table were to change shape over time… or the robot were to be placed on a different table, what kind of robot rules would help it avoid a variety of edge shapes and angles of approach? How would it look? Could you reprogram the Cubelets to help ensure the survival of a table dwelling robot? These are the questions that guided the creation of the Cliff Scout.

cliff-scout-main

Since the Cliff Scout will need to continuously move around the table, we can use two Drive Cubelets to create a robot that can travel and change directions. We could attempt to solve this problem by creating a robot that drives in a tight circle. Unfortunately, builders will discover that Cubelets robots will drift over time, and this may cause their robot to fall off the theoretical table.

So, we’ll need to reprogram the Drive Cubelets so they can spin in both directions and we’ll need to create some sort of triggering pattern to tell the robot when to turn. To detect the edge of a table, the Distance Sense Cubelets are placed at the front edges of the robot. This placement ensures that the robot can sense the edge as early as possible to avoid falling off. Placing the Distance Senses near the edges of the robot helps it avoid falls if it approaches an edge at an angle. The Distance Senses face down and are oriented in a way that allows them to detect the table edge quicker, giving the robot more time to react.

Robot Instructions

You’ll need the following Cubelets to build the Cliff Scout:

  • 2 x Distance Cubelet
  • 1 x Battery Cubelet
  • 1 x Bluetooth Cubelet
  • 2 x Passive Cubelet
  • 1 x Flashlight Cubelet
  • 1 x Rotate Cubelet
  • 2 x Drive Cubelet

cliff-scout-code-overview

The C files for each Drive Cubelet are available for download by clicking HERE and HERE. Use Cubelets Flash to reprogram each Drive Cubelet. Ensure that you flash Drive Program 1 to one Drive Cubelet and Drive Program 2 to the other. If you don’t, your robot won’t turn properly.

In order for the Drive Cubelets to respond to table edge detections, you will need to update the Block IDs so that they match your two Distance Sensors.

  1. Use Cubelets Flash to identify your Block IDs by connecting your Bluetooth Cubelet, Battery Cubelet, and Distance Cubelets. If you’re not familiar with Cubelets Flash, click here to view a helpful tutorial video.
  2. Power on your robot and pair with the Bluetooth Cubelet using your system preferences or Bluetooth settings.
  3. Then open Cubelets Flash, select your Bluetooth Cubelet and click “Connect.”
  4. After you’ve successfully paired. You should see a Cubelets “block-map,” like the one pictured below.
    flash-block-ID
  5. Click on the Distance Sense icon to bring up your block details.
  6. Write down the Block IDs for each of your Distance Sensors. Then power down your robot.
    block-id-replacement
  7. Open the “Drive Program 1” C file in a plain-text-editor or other coding environment.
  8. Replace the Block ID markers in lines 11 and 12. They are noted with the marker “INSERT_BLOCK_ID.”
  9. Save your C file and repeat this sequence for the Drive Program 2 C file. Be sure to save your file as a “.c” file. Some text editors don’t save as .c by default so you may have to change the file extension manually!
  10. Reconstruct your robot to match the pictured robot. Below you will find a couple pictures to help you match the robot design.
    cliff-scout-back

    cliff-scout-bottom

    cliff-scout-top
  11. After you’ve completed your design, power on your robot and connect to the Bluetooth Cubelet. You should see a new map with more Cubelets.
  12. Select one of the two Drive Cubelets (for this robot it doesn’t really matter which one you choose.
  13. Find your modified Drive Program 1 C file and drag it into the box to reprogram your Drive Cubelet.
  14. Wait for the program to finish flashing, then click on the remaining Drive Cubelet.
  15. Find your modified Drive Program 2 C file and drag it into the box to reprogram the second Drive Cubelet.
  16. After you’ve successfully reprogrammed your Drive Cubelets, you’re ready to test out your robot.
  17. Place your robot in the center of the table. Bright surfaces work best, so you may have to lay down some white printer paper to get the proper behavior.
  18. Turn on your robot to see if it worked. You may want to be ready to catch your robot if you’re worried about your construction. But keep in mind you need to keep your hands away from the Distance Sensors, or they may interpret them as part of the table and you’ll cause your robot to fall!
  19. Once you’ve succeeded, or if you’ve devised a better robot solution let us know about it online with the hashtag #cubelets

Happy Building and stay tuned for more intensive robot activities!

Note: When you’re done playing with the Cliff Scout, you can restore your Cubelets to their default programming with Cubelets Flash. Just reconnect your robot, then select the Cubelet you’d like to restore. Then click “Restore Default Firmware.” Select the next Cubelet you’d like to restore and repeat.

Join the Conversation  0 Comments

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.

Join the Conversation  1 Comment