Misty’s Backpack 101
Insights from CP, Misty’s Prototype Engineer
Picking up from our post “Exercising Misty’s Extensibility” — which featured Misty, Nibble the dog, a soccer ball, a Pixy2, and Misty’s (Arduino-Compatible) Backpack — this post provides further insights on the backpack feature from CP, Misty’s Prototype Engineer and the developer, who built Misty’s Follow Ball skill.
What is the Misty Backpack, and what’s its value to developers?
CP: “Hardware extensibility is a key feature of our robot. The backpack takes the spotlight of this feature. It is a tool for developers to augment her native capabilities with external microcontrollers, sensors and other third-party hardware.”
How does it work?
CP: “The backpack establishes two-way communications between your Misty skills and any of your microcontrollers/processors through a UART (Universal Asynchronous Receiver-Transmitter) serial. Misty’s USB port can supply additional power to your external hardware.”
From Misty’s Docs:
Misty’s USB and UART serial port channels have separate, isolated power controllers that allow her to supply power to external hardware. Each port can provide up to 500 mA.
The pins for Misty’s UART serial port are configured as follows:
- RX (receiver): Receives messages sent to Misty from an external device.
- GND (ground): The grounding pin for the electrical circuit.
- TX (transmitter): Transmits messages from Misty to connected hardware.
- 3V: Supplies power to the connected hardware at 3.3v.
What type of devices can you use with it, have you used with it?
CP: “You can use any device that supports UART serial communications. I’ve worked with the Pixy2 camera that you saw in our Follow Ball skill video. I connected it via Misty’s (Arduino-Compatible) Backpack. I have also connected Misty to a Raspberry Pi, which made it real easy to add a thermal camera to Misty. A colleague of mine created a EL wire costume for Misty that was controlled and powered from the backpack. Another colleague is using the backpack to control a wireless cart to actively follow Misty, so she can transport payloads heavier than her own motors can tow.”
What skill and use case ideas have you had using the backpack?
CP: “I think Misty would make a great check-out counter robot. Here I’d use the backpack to attach a credit card reader. I also like the idea of her as a check-in receptionist in our office. She could take your picture and print out a visitor badge with a printer backpack. Because the backpack infinitely expands a skills capability, there are a lot of options.”
From your experience, what are a few best practices for a developer working with the backpack?
CP: “The Misty backpack serial operates at a 3V3 logic level and I would highly recommend using a Logic Level Shifter if your controller is operating at 5V logic. I’d also suggest using a baud rate of 9600 to communicate with Misty through the serial. If you need extra power, you can use the USB to pull 0.5A@5V. I also found formatting the data that goes into Misty as a JSON string makes it easier to parse it in the skill. “
Relative to the Misty Arduino-Compatible backpack, what are the uses you see for this?
CP: “Arduino is always the go-to microcontroller for super quick prototyping, and in combination with Misty, it’s extremely powerful. The list of sensors/actuators you can add to Misty with it is inexhaustible; I call it ‘creativity at action’ with no blockers. It also comes with a QWIIC connector which makes it even faster and easier to daisy-chain a series of various sensors from SparkFun for use in your skills.”
Any final thoughts on what you’ve learned in working with the backpack feature?
CP: “I’ve learned that there are no limits to hardware extensibility on Misty!”