[Ed. it is rare that anyone gets to see the thought processes that go into reinventing in robotics. Here, Adafruit founder and engineer Limor “Ladyada” Fried goes into the process she went through to introduce a new kind of inexpensive robotics controller to the Maker community: Crickit. ]
Warning! Here be ADABOX 008 Spoilers! Turn back if you don’t want to know about ADABOX 008 before you receive it! You can always read this manifesto when you visit the Learn Guide at https://learn.adafruit.com/adabox008/a-crickit-manifesto
A Crickit Manifesto
This ADABOX is a pretty special one, it’s the first box where we’re introducing a new robotics platform and also (hopefully!) a new way to think about robotics.
Having an ADABOX dedicated to robotics (not just a single robot rover like we did in ADABOX 002) is a bit of a change. Yes, we’ve got tons of fun projects that you can build ‘out of the box’ but we’re hoping we can present you with more than just parts and tutorials.
This ADABOX is meant to be an inspiration to us humanoids – to Make Robot Friend not robot enemy or robot slave.
Our poster with art by Bruce Yan celebrates our robotics motto with a friendly Adabot! You even got a jig-saw puzzle version in your Box!
For those who are curious, or perhaps a little bored, I thought I’d write down a Crickit Manifesto – where and why and how this ADABOX came to be!
The Octo Box
When we first sat down at a tasty dim sum lunch to discuss this ADABOX we wrote down the number of the box 8 ! Now, box #7 was pretty easy to figure out, with the number 007 it was clearly going to be spy themed. But 008 isn’t as obvious. What would it be about?
8 stands for octopus, magic 8 balls, and octagons.
We thought about some projects that had to do with 8, and started drawing a lot of octagons on a piece of paper…
Flashback to 2 months earlier…
Sometime around February, we’d been thinking about little robots. We had a robot chassis in the store and even designed ADABOX 002 to come with a full kit that included a Feather Bluefruit for wireless control. But I’d been thinking about having a sensor-bot in the shop, you know something that could do line-following or light sensing. I was also thinking about having it be able to draw with a marker. I’d started sketching out a design in EagleCAD PCB software!
The “CPX Bot” would have the Circuit Playground bolt onto the body and control two micro DC motors. On the opposite side, a velcro’d on battery box would provide power. The motor control circuitry and sensors would be on the PCB itself. The hole in the center is where a marker would go.
Since I had this robot thought out, it seemed like a good candidate for something to ship with ADABOX! It would be a fun scribbling robot, maybe have programmability in CircuitPython or MakeCode.
Heck, we could even make the PCB an octagon, to keep it thematic!
Art bot + Octagon = sounds like we’re done!
We starting chatting with friends (like the wonderful Carol Willing), asking them what they thought about robotics. What we kept hearing, and agreed with, is that robotics is overwhelmed with “rolling rovers”: two or maybe 4-wheeled robots that have some sensors attached to them. They often do some basic sensor -> motion algorithms like “line following” or “wall avoidance”.
This is not to say we don’t like these rover-bots. They’re surprisingly fun, and you get to make something that runs around your room!
We even carry a few of the well designed ones! For example the BoE Bot from Parallax is a classic rover, exceptionally popular and used by thousands to learn programming.
These robots are popular, but we had this nagging feeling that basically every company or maker who wanted to ‘do robotics’ would take that basic idea, and make their own version. The innovation was in the chassis, maybe microcontroller chip, power supply or sensor assortment. But the basic design was pretty much the same. It’s a well-traveled robot road.
My own personal view? I never really liked rovers that much. I’d build them, maybe run them around the room then get bored. It wasn’t the hardware design or the software or programming language. I just never really took a shine to things that roll around.
I always sort of felt like “OK now I’ve built this robot and it moves. Now what?” There was never any creative endeavor or way to improve upon the robot. There were Things It Could Do and you’d dutifully complete those projects and follow that line. And… that’s it.
I’m sure that Adafruit could design a totally awesome rover. It would be cute, work well, be easy to program. All that good stuff. But it wouldn’t be something that could inspire.
That’s to say: if someone was already interested in building a rover, I’m sure they’d like ours. But it wouldn’t get someone who was not already interested to be inspired to build robots.
So. Back to the drawing board.
The Ladyada Robotic Backstory
I started thinking back…a long way back. To when I was in school! Back when I was an undergrad, I had participated in the MIT 6.270 competition during 2001 January IAP (winter break). My teammates (Amittai & w0z) and I built the g0thb0t – a decidedly g0th LEGO robot.
The only living proof I have left is this old photo I took with my Nikon, starring Amittai at his most g0th. (I’m not so old that we only had black and white photos, but what I didn’t have yet was a digital camera).
You can see the wooden stick attached to the robot that would act as a homing beacon. Fun Fact – the IR beacon at the top of the stick was the first product sold by Pololu!
The robot body was made from LEGO, with ‘standard’ DC motors that would be built into a fully-LEGO gearbox. There were a few basic sensors like a light sensor, bump sensors, distance sensor, one servo and a ton of LEGO pieces (full contents list here).
The thing I remember most about the 6.270 competition (besides the sponsor/recruiters shooting a T-shirt cannon into the 26-100 seating, hitting our bot with a wadded up shirt and knocking it off the desk) was how incredibly tedious the whole process was.
This is not the 6.270 organizers’ or designers’ fault – they did the very best they could with the technology available.
But it was just so awful to build a robot. And hard! It was so incredibly hard that if your robot could not break during the competition rounds, it would probably win!
We spent most of our time building a lead-acid power supply, building a gear box, learning CVS, calibrating motors. Calibrating sensors. Downloading sparse C code onto Handy Boards. We’re talking at least 20 hours of trained-by-MIT-best-of-the-best-engineering-student-work before you could even think about what your robot would do or how it would look.
The Handy Board
The brains of the 6.270 robot was this robotic control board called the Handy Board. Perhaps because it was handy and fit into your hand? Anyhow it looked like this. All through hole parts with a 16×2 LCD.
Behind the board is a AA battery pack that would keep it powered separately from the robot’s motors (they used a 6V lead acid battery pack).
Despite not having a great time building this robot, the Handy Board was an interesting development board. It had a Motorola MC68HC11 microcontroller, 4 DC motor controllers, IR input, analog inputs, servo outputs, etc.
You can read the full manual here.
This idea of an all-in-one robot controller stuck with me, so I decided to research more about it now 17 years later. The Handy Board website is still up if you’re interested in reading about the design and I found that a year after I’d done 6.270 the Handy Board had a little sister – the Handy Cricket.
The Handy Cricket
What I find fascinating is how close the Handy Cricket was to an “Arduino of Robotics” but many years before Arduino was invented!
According to the website:
- The Cricket is a tiny computer, that you can program using Logo.
- You can control motors and lights with the Cricket.
- The Cricket can receive information from sensors, like touch sensors and light sensors.
- Crickets can “talk” to each other, sending messages with infrared (IR) light.
- People have used Crickets to build little robots, animated rocking horses, automatic gift boxes, and other personal animated toys.
What’s neat to see is how the Handy Board (a powerful robot controller) turned into the Cricket, something for “little robots, animated rocking horses, automatic gift boxes, and other personal animated toys.”
In fact, lots of people wanted to make projects like those and not just rovers. The Handy Cricket would become the PICO Cricket, a plug-and-play animatronics/robotics platform
The PICO Cricket
The PicoCricket has been discontinued but the website describes it thus:
A PicoCricket is a tiny computer that can make things spin, light up, and play music.
You can plug lights, motors, sensors, and other devices into a PicoCricket, then program them to react, interact, and communicate.
For example, you can make a cat and program it to purr when someone pets it. Or you can make a birthday cake and program it to play a song when someone blows out the candles.
Luckily by this time we not only had digital cameras, but YouTube! So you can see a video of the kinds of projects kids were building with PICO Cricket here.
OK so now we’re three generations down, from the Handy Board to the Handy Cricket to the PICO Cricket.
The story doesn’t end there for this lineage, the PICO Cricket design would eventually become LEGO Mindstorms and LEGO WeDo so if you’re wondering why LEGO robotics seems so similar to the Handy designs, that’s why!
But this is where we get off the Handy train, because while I was interested & excited to read about the Handy Cricket / PICO Cricket and the creative and crafty robots that they inspired kids to make… “little robots, animated rocking horses, automatic gift boxes, and other personal animated toys“… the LEGO Mindstorms robots departed from that kind of animatronics, and shifting more towards the 6.270-style robot rovers and mechatronics.
And, lets be honest, those LEGO robot sets are expensive! The expense is for a good reason, the LEGO robotics parts are durable and very well made. But, still, I wanted something that we could ship in an ADABOX!
Oh Right! ADABOX!
You thought I’d forgotten, but no…this was still all about ADABOX 008!
By this time we were thinking “Man, maybe a little octagon-bot isn’t what we should make. Why re-make the same rover bot everyone else had so many times over?” and all that Handy/Cricket research kind of inspired us.
We wanted to make a robotic platform for building artistic and creative robots. Sure you could build a rover if you wanted to, but lets make it easy to add NeoPixels and sound too! … around the 8 sides we put different types of robotic interfaces: servos and DC motors of course. Maybe also steppers, NeoPixels, a GPIO port and something to drive solenoids and vibration motors.
So we went back to our drawings of octagons.
We took that octagon, and put the Circuit Playground in the center. (The “biscuit” refers to a post we’d just put up by dastels about his CPX-to-PCB connection).
Then around the 8 sides we put different types of robotic interfaces: servos and DC motors of course. Maybe also steppers, NeoPixels, a GPIO port and something to drive solenoids and vibration motors. There was also thought of an I2C port area for Stemma or Grove connections.
I also started sketching out the PCB design. Just to see what would fit! I decided on the power supply (5V) and how the Circuit Playground would attach.
To my second draft, with the basic design complete:
- 4 x Servos
- 4 x Drive transistors
- 2 x DC motors
- 4 x Capacitive touch
- 8 x GPIO & sensor inputs
- 1 x Audio amplifier
- 1 x NeoPixel port
All still in an octagonal shape.
To the final design which you have in your hands in ADABOX 008:
Digi-Key at Our Side!
As we started to come up with what we’d want to put in the ADABOX – Circuit Playground Express, Crickit, servos, motors, wheels, and tons of parts – we quickly realized we needed some help from a partner to get all those Crickits made and shipped. That’s when Digi-Key stepped up to the plate! With their help we were able to manufacture fast, get all the components we needed and our supply chain worked out so that we could ship the thousands of ADABOXes to subscribers! We could not have done it without them.
Thanks to DigiKey, this ADABOX was a GO!
So, Why Did We Design Crickit?
One of the things I really liked about the Handy Crickit / PICO Crickit is that it didn’t do everything – it couldn’t control a hexapod walker, or a 4WD tank bot. It didn’t have optical encoder support, or line following sensors. It had limitations, but those limitations pushed one to be creative.
We wanted to make our board affordable and broad.
- Affordable so people felt comfortable making something and maybe it wouldn’t work the first time – hey that’s ok if its under $50!
- Broad in that it does a little bit of a lot of things. Do some robots need 8 servos? Sure, but those robots aren’t the ones you can build with Crickit.
I like to think of Crickit as a ‘bento box’ of electronics and robotics. You’re going to get a taste of servos, a sample of steppers, a nibble of capacitive touch.
And like a bento that introduces you to new flavors and textures, we added some elements that normally don’t make it into robotics controllers – like capacitive touch for human-interactivity, NeoPixels for blinking lights, and a real audio amplifier for playing sound effects.
By integrating all those capabilities together, we can unlock projects that are Creative and Interactive Robots. Thus the (bacronym) name – CRICKIT for Creative Robot and Interactive Construction KIT. It’s a clear nod to the Handy Cricket, but a slight twist on the name so they won’t get confused.
Creative and Interactive Robotics
We really mean it when we say Creative and Interactive! Once we started designing Crickit we wanted to make weird, creative, interesting and funny interactive robot projects.
Like this Bubble Blowing robot, that moved a servo with a bubble wand attached, and then turns on a DC motor to blow a stream of bubbles:
Note, not all these parts are in ADABOX – they’re inspirations to show you what a robot friend can be!
Simplify Programming with MakeCode & CircuitPython
We made sure you could design your interactive robot in MakeCode, by dragging-and-dropping blocks, for beginners who are just starting out learning to code.
We also have the Crickit programmable in CircuitPython. In particular we wanted to make sure that the long “edit, compile, upload, debug” loop that haunts C programming would not be an impediment.
With robotics, there’s a lot of times you need to tweak values, sensors, calibrations…you may need to make 15 small changes to get the smooth motion and range of servos, or to make sure the sound triggers at the right time.
Doing that in CircuitPython is really nice because you can just save and it will automatically reload. It takes only 5 minutes to do what in Arduino would take an hour!
Go Forth and Make Robot Friend!
This ADABOX has a ton of projects that we’ve built and you can follow along. But we also hope to inspire you to make your own unusual, strange, creative, and fun animatronic projects. You don’t need to make a rolling rover (although we do have a fun cardboard bumper bot!).
Our projects focus on recycling cardboard, paper, office supplies, maybe some stuff out of your recycling bin like plastic cups and toilet-paper roll cores. You don’t need to spend hundreds of $ to make a robot! Make a project, then if you want to try something else you can just remove the Crickit and wire it up to something else.
Look around your home, find something you can recycle, craft and create. Make it move, sing, light up – then post it up to share with the world with our hashtag..