Improved modular computing platform for wearable costumes, with animatronic support, facial/eye tracking, sound processing and more
├───AVR_software
├───CAD
│ ├───Component box
│ └───Mask
│ └───Hinge
├───Logos
├───Main software
│ ├───resources
├───Planning
└───Test scripts
- AVR_software: C++ code for the AVR microcontroller responsible for controlling the servos, fan(s) and LEDs of the suit
- CAD: Design files for the components of the project
- Logos: Logos used in the project
- Main software: Python code for the main software of the project. The 'resources' folder contains the machine learning models and other resources used by the software
- Planning: Diagrams and planning documents
- Test scripts: Some scripts used for testing the project
To setup the project software on a LattePanda Delta 3 board, follow the steps below for required environment and configurations. It should be running Windows 10 and have a stable internet connection. I also recommend updating to the latest update of Windows 10, and removing any bloat software from the system (such as Cortana, Office 365, etc).
You can download it from Git for Windows. Optionally, you can also install GitHub Desktop for a GUI interface.
Download and install Python 3.11 from the official Python website. During installation, make sure to check the option to add Python to the system PATH and include pip.
Open the Windows Command Shell with administrator privileges and run the following commands:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco install ffmpeg
Download and install Voicemod from the official Voicemod website. Install it in the C:\Program Files
directory. Then log in to your Voicemod account and activate the Pro license if not already activated.
DO NOT use the same account as another device, as it will log out the other device or vice versa!!
Open Voicemod and configure the audio settings, including reduction (I recommend leaving at a high value, like 80%) and set it to update without asking.
The file voidemod-presets.vs2
contains the presets used for the project. You can import it into Voicemod to use the same settings.
Clone the project repositories to C:\Users\LattePanda\Documents\GitHub
folder using the following commands in Git Bash:
cd C:\Users\LattePanda\Documents\GitHub
git clone https://github.com/MekhyW/DYNAMO-Electronic_Fursuit-2.0
git clone https://github.com/MekhyW/Eye-Graphics
# Optionally, you can also clone the following repository to see the machine vision model training pipeline:
git clone https://github.com/MekhyW/Facial-Emotion-Classification
Navigate to the project's main directory in Git Bash and install the required Python packages using the following command:
pip install -r requirements.txt
Create a .env
file in the root folder of the project's main repository, with the following contents:
voicemod_key = "YOUR_VOICEMOD_KEY"
fursuitbot_token = "YOUR_TELEGRAM_BOT_TOKEN"
fursuitbot_ownerID = "YOUR_TELEGRAM_USER_ID"
openai_key = "YOUR_OPENAI_API_KEY"
porcupine_key = "YOUR_PORCUPINE_API_KEY"
Open the AVR_software/AVR_software.ino
file in the Arduino IDE. Install the following libraries via the Arduino IDE Library Manager (with dependencies):
- FreeRTOS
- Adafruit NeoPixel
- Adafruit BNO055
Edit the Launch.bat
file to run on boot. You can achieve this by placing a shortcut to the batch file in the Windows Startup folder.
I use a UDisplay HDMI-USB adapter for the second eye display. Whatever the device, make sure that it´s firmware is up to date and set to autorun. Set the second display to be an extended display.
To allow the suit to connect to the internet outside of WiFi range, I use a 4G LTE Wifi USB modem with a SIM card.
In the case of my modem, the IP address is 192.168.100.1, the default username and password are admin/admin, and the default WiFi access point password is 1234567890. Change these settings to your own for security reasons.
Make sure that the Access Point Name (APN) is set to ONLY ipv4. This is important since Telegram servers do not support ipv6 and will not work if the APN is set to ipv4/ipv6. Also, it should contain the username and password of the SIM card, as expected by the carrier.
If possible, use 4G/3G mode instead of just 4G. This is because 4G mode can be unstable in some areas and the system will not be able to connect to the internet.
- Recharge the batteries of the system
- Check if SIM card has enough data, if not, recharge it
- Make sure all hardware is connected
- Open Telegram on phone or have a friend use the bot for control