I've been wanting to build something with the MATRIX Creator and Snips.ai, but all my ideas were too involved to knock out over a weekend. And the magnifying glass on my third hand kept falling off. Eventually, I got mad enough at my janky third hand that I decided to replace it (after even hot-glue failed to secure the magnifying glass in its holder... again).
Now, I'm turning it into a smart little lab assistant! Threepio can hold things for me, and will eventually have a camera that he can use to take pictures of stuff, illuminating it with the Creator's built-in LED. I'll be able to trigger this using voice commands!
I modeled the "wrists" and adjustable ring holder in OnShape:
You can copy and edit my designs via this workspace! I'm also working on a smaller version for the MATRIX Voice, which can run just on the built-in ESP32 (after programming it via a Raspberry Pi).
I printed my parts in sky blue ColorFabb filament.
The electronic assembly was pretty simple – I attached the Raspberry Pi to the back of the MATRIX Creator, then wired the servos to pins 0 and 1, as well as 5V and GND. To do this, I stripped the ends of the servo wires and soldered them to female headers – with both positive wires attached to one header pin, and both ground wires on another. This allows me to cut down on spaghetti wiring and provides secure, but reconfigurable, connections.
I placed short pieces of heat-shrink along the length of the wires, to hold them together without the rigidity of a single big piece of tubing. There's still plenty of slack for me to move the claws around.
To keep it lightweight, I installed Raspbian Stretch Lite from the Raspberry Pi downloads page. Then, I completed the installation guide (linked above) over SSH; this does require first enabling WiFi and SSH on your Pi, which can be done from the command line via:
This may require you to use a monitor and keyboard for the initial setup. Of course, I recommend also changing the password while you're at it.
The final step gave me a bunch of warnings and said, "found 1 high severity vulnerability" / "run `npm audit fix` to fix them, or `npm audit` for details", so I ran the suggested fix command. The feedback said "1 vulnerability required manual review and could not be updated", but I decided to keep going and see what happens.
To test the process of running code, I copied all the lines from the Everloop reference project into one new file (everloop.js), saved it, then ran node everloop.js from the same directory. It worked!! (I mean, there's overlap between what the different things do, but it works!)
It crashed while I was in the process of creating a script to turn all the LEDs off again, but a simple reboot fixed it. :)
Next, I created a simple script to test the servo functionality. It worked, too – twitching motors!! But the servos sucked down too much power, and the Pi rebooted itself. Have to give it a separate power source! Fortunately, the power supply has decent amperage and I think I can cannibalize a Micro USB splitter cable from my Pi touchscreen kit, so the controller and motors can draw power separately. :)
See below for the servotest.js code, which I put together from the excellent reference documentation. It works!!! (Video soon...)
I joined the MATRIX Labs weekly livestream to talk about this project and some other cool, nerdy hardware stuff. :)