A long time ago, I “adopted” a mechanical dog. A servo-based robotic pet to teach and challenge everything you know about robotics. The Petoi’s idea to make robotic pets to teach about programming, robotics and automation didn’t start with a dog. It started with a cat: Nybble – a much more adventurous and challenging creature.
Nybble vs Bittle
It wouldn’t surprise me if the choice of your next robot, depended on whether you are a cat or a dog person. Don’t let the sentiment fool you, both robots have their own characters, differences and the learning curve. With extra servos and a playful tail to control, Nybble is the more challenging of the companions, regardless of how adorable it looks in the pictures. When it comes to cats, looks are deceiving. I’m not saying that Nybble by Petoi is the evil overlord… (I’m not saying this as Nybble is currently turned on and is listening).
As Nybble is compatible with OpenCat software, apart from the hardware it brings a passionate community that loves to share their experiments with their robotic pets. You’ll find simple tips on how to keep the balance to insanely complex videos about using machine learning to teach your car the first steps. Thankfully, you don’t have to jump into the deep end of the pool, and you can rely on Petoi lessons to get you through the motions of owning a Nybble.
Wood not plastic
The box with Nybble has everything inside needed to assemble the creature. To remove frustration – watch an excellently put-together guide available on Petoi’s website. Reserve plenty of time, as the cutie-cat will take easily 3+ hours to make ready. I tried to finish it up in my live stream session, but I ended up splitting the process into two sittings.
Wood is a weird material to work with when it comes to robots. The stark difference between the softness of the natural materials (ok, it’s processed wood) and the mechanical precision of robotic components sticks out. At first, the entire robotic assembly felt flimsy, wobbly and not confidence inspiring. Don’t be fooled, once the wooden skeleton (exoskeleton?) is assembled – it gains a rigidity, I would not expect.
If you rather focus your efforts on programming, get a Bittle instead – as plastic sub-assemblies are much easier to work with. If you already got your companion cat, don’t worry, you are not at a disadvantage. Plus, if anything goes wrong, you can always cut out a new part from a spare piece of plywood.
Once assembled, go through the calibration of the servos. Take your time and do it as accurately as possible. I found the mobile app to be the easiest way to tweak everything and save your servo positions. If you find your Nybble struggling to perform any of the pre-installed moves – it’s likely you need to take a look at calibration again.
Nybble is your servo-enabled robot. It uses 11 servos to move around and cause problems. If you had a cat in the past, you know the deal. Depending on your assembly, the mind of the cat is directed by one of several options. It ships with Bluetooth, WiFi, IR and serial controllers.
It’s slightly taller than Bittle, and unlike the dog, it can articulate its tail and move the head along both axes. You probably noticed the adorable eyes made out of an ultrasonic range module. As a bonus (and super awesome feature) the sensor comes with RGB LED modules which you can control too – it adds levels of feline expression beyond what’s possible with the dog counterpart. It’s incredible how much more character animated LEDs can add to a robot like this.
It’s not the only way Nybble knows what’s happening. A built-in IMU keeps the can on its feet at all costs. Just remember, if you going to drop it to see if it lands on four feet, you are doing this at your expense! I don’t think this cat comes with 9 lives to spare.
It may not have lives to spare, but it has I2C protocols to share. While one of the ports is taken by the previously mentioned RUS-04 sensor, extra ports provide expansion for up to 3 sensors.
Raspberry Pi & Arduino
The robot can be further expanded by equipping it with a board like Raspberry Pi or Arduino. The main Nybble board has a footprint of a Raspberry Pi 3A+, it’s also possible to add a Raspberry Pi Zero 2 W. It’s also possible to use Raspberry Pi B boards, but you must use RPI specific frame, so plan in advance before the robot’s assembly.
Raspberry Pi is great if you want to tackle advanced projects that include computer vision, machine learning etc, while Arduino will give you easier integrations with extra sensors and additional space to test your code.
Whatever your selection, be sure to toggle the switch on the main board. It will set the controller board in compatible mode.
How do you code this thing? If that’s your first dive into robotics, play with Nybble a little. Explore the IR remote, try the Bluetooth app, but most importantly, observe the Nybble in motion. Pre-programmed moves reveal how the cat stays on his feet and how complex some moves are. It’s never about moving a single servo – it’s always about keeping the momentum, the centre of mass and contact points in balance.
To understand the movement of Nybble (and Bittle) you have to understand the concept of gaits, instincts and newbilities:
- Instincts – a list of EPROM-stored basic moves and tricks
- Newbility – as above, but these are kept in PROGMEM and are not stored “permanently”
- Gaits/Behaviours – formed from individual positions – sequential patterns/positions of servos that create complex movement patterns/tricks.
These are the programming blocs of the cat, and how you turn the line of code into complex moves.
OpenCat – an OSS
It’s probably the easiest way to start with your cat. The software is split into sections responsible for calibration, firmware update and servo control. With the visual interface, taking the first steps has an easier learning curve, as joints presented in the software are easier to visualise than lines of code.
If you are just getting started, consider editing existing moves first and observing the impact of your code modifications. You will understand more about how to balance your robot and which servos you should engage to perform successful gaits.
Starting from scratch is always exciting, but considering the fact that most of the moves will require timed coordination of movement of all the servos on your Nybble, complexity rises exponentially.
At the moment, only Bittle is supported by CodeCraft – a visual way to program Petoi pets, so if you were hoping to jump into block programming to start your adventure with robots this way (a perfect way to showcase robotic programming to a younger audience) then Nybble may not the be the pet of your choice.
The “Cat” inside Nybble
To experience the unpredictable nature of your new companion, try alternative firmware that enables the ultrasonic sensor and mixes it with some random responses. You’ll never know what your pet is up to.
It’s actually quite fun to see Nybble come to life as you get close to its sensors. It will look at you confused and pull a random trick or two before returning to a less interactive pose – pretty much like all cats are known. They will entertain you for a second before choosing to ignore you forever!
Don’t pick interactive firmware when playing with Skill Composer as it will drive you nuts, and it will also make the progress of your work much harder.
MicroPython, Python. C++
Playing with the visual interface is fun, but doesn’t even come close to the flexibility of building your cat’s behaviour with code. Whether you are into Python or C++, you’ll find the way to program your feline companion and make it do something silly (probably fail a lot of time and tip it over).
Thankfully, the documentation and GitHub repo is filled with things to try and edit. Slap a Raspberry Pi and check out advanced projects made by the community like inverse kinematics for OpenCat and open web interface. In fact, just figuring out how would you like to interact with your new robot takes time – as options include various wireless protocols or a serial over USB.
Quadrupled robots are punishing and hard to manage at times, but when you get it going – it could be very rewarding. Nybble will put your skill to a test in more than one discipline, and unless you are hell-bent on getting a cat, go easy on yourself and consider a Bittle which was slightly easier to handle thanks to a smaller number of servos. Either way, these little things are sweet and if you are looking into learning more about robots, you cannot go wrong with Nybble by Petoi. It will cost you 268.99 USD, but you can always get a small discount using the code: Mat8 (8% off). Let me know if you are a dog or a cat person in this Reddit thread.
You may follow Petoi on their socials @petoicamp (Facebook/Instagram/Twitter/Youtube)
🆓📈💵 – See the transparency note for details.