HomeRobotsB̶o̶s̶t̶o̶n̶ Bittle Dynamics by Petoi

B̶o̶s̶t̶o̶n̶ Bittle Dynamics by Petoi

Hey, Bittle! Fetch!

I have been following Nybble, the first robotic pet by Petoi for a couple of years now. The project quickly got crowdfunded, as the servo-based cat won the hearts of future owners. While the robotic cat was made out of off-the-shelf servos and laser-cut balsa pieces, their latest cyber companion: Bittle by Petoi brings a more mature design and new animal species: a dog.

Use code Mat10 to get extra 10% off on your Bittle order in the Petoi Store!

Bittle by Petoi

Bittle

Despite the polished looks, Bittle is still a very much DIY robotic kit. Inside the box, the man’s best friend is packed away in pieces. They are partially assembled to ease the build process, but small finesse is required to follow the instructions and put it together.

Bittle is a servo-based robot, controllable by Bluetooth, IR and WiFi. It’s hard not to compare it with Spot by Boston Dynamics thanks to its black and yellow aesthetics. The quadruped friend has adorable looks and a decent skill set to play with. Remove its head and Bittle gets a little creepy, as it reminds me of the head crab from Half-Life games.

Assembly tips

If you are tempted to skip the manual after looking at a rather simple looking exploded diagram of the Bittle inside the box, don’t! You will do yourself a disservice and possibly damage your pet in the process. Admittedly, I didn’t listen to this advice, so learn from my mistakes! You can watch the entire live stream here.

Bittle needs to be calibrated before use. Forcing the dog to do tricks will result in uncoordinated movement and a chance to snag and break servo cables. The easiest way to calibrate your pet robot is to leave all joints disassembled. Then use a combination of IR remote and Petoi app to complete the calibration.

Easy calibration:

  • Power on Bittle (hold the battery button for 3 sec)
  • Use IR remote to enter calibration mode (picture of a square)
  • Attached are limbs following the calibration image
  • Attach a Bluetooth adapter to the robot and connect it via the Petoi app
  • Use the calibration menu to fine tweak the angles of each joint until they are correct and accurate

Over the Bluetooth, adjustments apply to fine movement only, so you have to be pretty spot on when sliding the limbs onto the pinion gears. I found this to be the easiest way to get all limbs of the Bittle aligned properly.

You CAN teach the old dog new tricks!

Doggy went for a wee

Bittle is flexible. Out of the box, you can take cover controls via IR or Bluetooth and start playing with the robot, testing its ability to move around and perform tricks on request. The default tricks are entertaining or outright silly (try making Bittle pee), but showcase the mobility of the robot well.

Apart from fooling around with your favourite pet, these commands teach the owner about behaviour types coded into Bittle’s logic. I would strongly recommend sitting down and learning about Instincts, Newbilities and Gaits which will ease you into custom command mode and outright barebone programming.

In a nutshell, Bittle’s skill set consists of:

  • 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.

Depending on your confidence level, your new robotic friend Bittle can be programmed in more than one way. If you are looking to test something quickly, you can use a web interface or skill composer app.

Anyone familiar with Python or C++ can jump straight into Arduino IDE or OpenCat Github repository to start playing with the source code.

While programming Bittle alone will be limited to pre-compiled Instincts, the robot has one more trade secret – support for Raspberry Pi.

Bittle and Raspberry Pi

Once you feel comfortable with your pet, you can add a Raspberry Pi to the controller board and start experimenting with machine learning, computer vision and sensors. Bittle’s back can accommodate Raspberry Pi 3A, or even a regular Raspberry Pi board at the cost of being top-heavy. It will affect how the robot handles the balance so be mindful of that.

You can either account for this in software or take advantage of the latest Raspberry Pi release: Raspberry Pi Zero 2 W, which won’t upset the dog’s balance as much but still provide enough processing power to tackle advanced calculations.

Fun ahead

Regardless of the platform picked, you will spend days learning how to program Bittle. It’s not an easy task to teach the dog new tricks you will have to understand the dependency between momentum, balance and synchronisation of frames. Executing existing Instincts in custom combos is one thing. It’s much harder to program a new set of movements without tipping Bittle over.

You will learn a lot about animation and how taxing it can be. After all, making it all from the scratch is more than just selecting start and end positions for the servos in question. It’s likely that you have to consider all joints in the motion to keep the balance and synchronise all 9 servos in time to combat momentum and keep your dog upright. Bending one leg too soon can shift the body weight too much and your faithful companion may end up on his back again. Expect a lot of trials and errors.

Fortunately, the open nature of the software used by Bittle provides you with countless things to download and try. These will be instincts provided by Petoi or other fans of their robots. You are not alone, but the road can be long and full of twists and turns. Bittle is a robot dog for patient makers!

What’s missing

Bittle in the Labman’s robot fighting arena before FightFest

My biggest gripe with Bittle is the fact that the package doesn’t include the dog cover for use with a Raspberry Pi. I understand why makers would like to add the SBC to Bittle and enjoy camera vision, AI, Machine Learning and other ways to make Bittle move, but doing so leaves the cyber-dog without its top cover. Raspberry Pi support feels like an afterthought, and much could be improved (centre of weight) with small design changes.

While Bittle itself is tough, the head attachment is the weakest link. It tends to detach itself on dive from the desk on the carpet. Fortunately, parts themselves are not prone to damage, so all you are left with is the annoyance of re-attaching the head each time Bittle decides to jump off any heights.

It’s not a fault of Bittle, but when creating custom skills and instincts, you’ll quickly notice how useful lateral joint movements are. As a robot can’t move their legs side to side, the art of adding new tricks, is often based on creative ways of cheating the gravity. It will force you to get creative with the order of each frame programmed into Bittle, but it will also show how big mobility gains robots get by having access to that extra DoF.

Showcase

Lastly, I wanted to showcase something easy to make, impressive to look at, while being ridiculously easy to program. Can you guess how I made Bittle act and respond to gestures and voice commands? The answer is in the spoiler section below:

My Bittle secret
In one of my previous articles I covered an IP camera that doubles as ZigBee Hub and IR blaster. As Aqara G3H comes with gesture recognition, I could link these to IR commands recorded from the infra red remote supplied with Bittle. Voice commands are handled in the same way – these are Alexa custom commands that execute Aqara sceenes linked to IR controls.
Yes, it’s “cheating” but it took minutes to setup and works very well.
Now I need to find some time to play with the actual code.

Final thoughts

This kit deserves your attention for a couple of reasons. The learning curve is tailored to your skills, you can dive into barebone coding, use visual programming or rely on chaining custom commands to teach Bittle new tricks. This assures that kit delivers challenging projects and new opportunities for weeks to come. And while the price of $299 may scare some people off, it will be money well invested if you are interested in robotics. Got questions? Let me know in this Reddit thread.

🆓📈💵 – See the transparency note for details.

PayPal

Nothing says "Thank you" better than keeping my coffee jar topped up!

Patreon

Support me on Patreon and get an early access to tutorial files and videos.

image/svg+xml

Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

M5Paper

Programable, ESP32 based awesome dev platform with 4.7 e-ink display by M5Stack

More HATs

client-image
client-image

Argon One M.2

Enclose Raspberry Pi 4 inside this great case with custom I/O, cooling and GPIO and M.2 SSD support

More cases on

client-image
client-image

Best Raspberry Pi Projects

How to use Raspberry PI as WOL (wake on lan) server

0
While you could wake up your PC from a mobile directly, having a dedicated server capable of doing so is the best solution. The reason is simple. You can hook up as many devices as you wish with a single endpoint. This is why Raspberry Pi is perfect for this.

Slow Internet Warning

0
From time to time my Internet grinds to a stop. Since Raspberry Pi 4 comes with a 1Gbps Ethernet, I decided to take advantage of it and create a reporting system in NodeRED that will monitor and report when the ISP is not keeping the contractual agreements. Works with Alexa, Google Home, Android and Windows 10.

How fast Raspberry Pi NAS is?

0
Let's see how fast Raspberry Pi NAS really is?

Argon18: Argon ONE SSD modification

0
Argon One case just got better - now you can boot it from USB without ruining the design thanks to Argon 18: Argon One SSD modification

HOW TO...

How to boot Raspberry Pi 5 from NVMe M.2 SSD

0
This is how you can boot your Raspberry PI 5 from NVMe in 10 min! Check out these easy instructions

It took me 2 months to boot CM4 from NVMe

0
Complete beginners guide to Compute Module 4 boot from NVMe.

Raspberry Pi Zero 2 W vs other Zero boards

0
It's time to test the Raspberry Pi Zero 2 W against other Raspberry Pi boards from Zero series: power, WiFi, temperature and core performance

C/C++ and MicroPython SDK for Raspberry Pi Pico on Windows

0
A guide to SDK toolchain for Raspberry Pi Pico and C/C++ , Micropython on Windows.

A comprehensive guide to Grafana & InfluxDB

0
How to use Grafana and InfluxDB on Raspberry Pi for IoT sensors in home automation