Dash, Dot, and Cue are robots designed for children — Dash & Dot for 6- to 10-year-olds, and Cue for 10+. We designed the programming apps for these robots with that audience in mind. We’ve often heard from parents and teachers (and developers who aren’t parents or teachers) who wanted a programming tool for themselves. This is why we decided to develop a Python API for the robots.
The API is currently in alpha, and we are looking for feedback before we firm it up for a beta release.
At our daughter’s first birthday, I recall one of her gifts was a Leapfrog laptop (all pink and purple) that she couldn’t do much with yet. Instead of putting it away in a closet, I wondered if I could program it. I wondered if I could make it fun and usable for her — maybe turn it into a music keyboard. It had a USB port that maybe, just maybe, would allow me to do something more than just charge it. Unfortunately, I hit a dead end — the toy provided no straightforward or published means to program it. It had to wait in the closet.
However, that shortcoming rankled, and it has stayed with me.
I believe that we should have power over the tools around us — and everything should be programmable. Our children pick up behaviors that we exhibit. So, if we want them to program robots, our modeling it for them is likely to help. The Python API serves this need. It lets the geek in us parents take flight, so now we can show our kids something they can look up to.
We invite you to try your hand at programming the robots using the API. This API is built for users who already have some Python experience. That said, Python is relatively easy to learn through online tutorials. The API is available as open source with MIT License on GitHub: https://github.com/playi/WonderPy.
You will find that the API gives you unlimited ability to control the robots. You have unlimited access to the sensor data from the robots in real time. However, you will not be able to access any data that sits in the applications that children use with the robots. You also won’t be able to access any data stored on the robot (e.g., the sounds and voices recorded on the robot).
What makes the Python API more exciting is that you can combine it with any other API or resource. It opens up unlimited possibilities for fun exploration. In fact, you’ll find an example of that in the API — you can program the robot to draw out an image from an SVG file using the Sketch Kit accessory. Here’s an example: