So, you're interested in this and wanna look into more details, huh?
Well, let me introduce this project to you!
The gist of 'er
This project is a pretty large one because of the complexity of everything, so I'll give a rough outline of the different components that interact and what they do, and what I still want to do with them.
First things first, how's the whole thing look? Pictures are always better than words I'd say, so have an example:
Yep, wow, OK, there's a bunch going on already. Let's break it down:
- We have the foam construction. Right now, we're planning on using EVA Foam sheets to construct most of the suit, with maybe a few other materials like sown fabric here and there. This is one of the parts where I'm still learning a lot, but it's quite fun!
- The head is up next for construction - it will feature an easy to 3D print base frame that will hold a 32x64 LED Matrix for eyes behind a tinted plastic visor. It'll be covered in EVA Foam and painted and sanded to provide a hopefully smooth look. Oh yeah, and a servo motor actuated jaw :P
- The LEDs themselves. They're mostly WS2813's (the version that has a backup data line, which can save your butt a LOT), with a few side-mounted variants on the PCB itself. LED control is pretty advanced right now, but wiring the LEDs in a reliable and easy to repair manner is still something I'm learning.
- The "SuitBit" controller PCB. This is the PCB you can see on the hand, right below the glowing ring of sorts. It's a STM32L4 based board, meant as a "animation slave" - the later suit will have four, maybe up to eight of these boards, working together to provide full 60 FPS even with complex effects, with each board driving a separate string of LEDs.
- Communication between all the elements is handled via a custom protocol called "FurComs". It uses CAN-Bus hardware for multi-master, differential communication, but allows for messages of up to 255 bytes of length, considerably more than CAN.
- The "SuitCore" PCB - this one... Does not exist yet. The plan is to create essentially an overpowered Raspberry Pi shield, providing 20A 5V output to drive LEDs and other components, a bit of battery management for LiFePo packs, a hopefully beefy I2S Audio Amplifier for output, and a HUB75-Compatible LED matrix output.
It will be responsible for keeping everything in sync, communicating, providing power... Everything, basically.
- And the Ruby-Side control code. It provides a flexible sequencing code that makes it easy to create animations and effects in sync with music and other sound snippets!
It also uses Pocketsphinx for offline voice-recognition, which will allow us to have full and easy control over the entirety of the suit's capabilities without needing to use awkward and slow button inputs.
Feel free to look through the project logs for each of these things, and leave some comments to ask about more specific details.
Also, see the linked GitHub repo - all of the necessary files and sourcecode will be on there, so you can easily see how we did some of the black magic~
The end goal
Pictures and images always speak more than just words, so I'll show you how it's supposed to look:
As you can see, a lot of the LED code is pretty much done!
We can draw arbitrary shapes over the LEDs, set their colour, and smoothly fade them in and out - we just need to construct more of them :P
The head will be interesting because of how we want to construct it - follow this project if you want to see more!
A few other things that we'll need to look into will be the tail, and whether or not we want to give it mechanized wagging abilities, or if we leave it dangling freely.
Along the tail and back will also be a servo-motor actuated mane, made from clear acrylic plates that will, hopefully (maybe) be able to stand up or move, to give this suit a bit of extra emotion.
What's up next:
The project...Read more »