CircuitMess Spencer
DIY voice assistant that teaches you about microcomputers and electronics, sound processing, IoT, artificial intelligence, voice recognition and speech synthesis!
Follow the instructions here!
Overview
Spencer is a DIY voice assistant that talks, lights-up, connects to the internet, and understands simple voice commands.
He also has a funny personality, tells jokes, and finds new ones online.
The LED display on Spencer’s face has a 144-pixel LED grid that can show data, custom icons, animations, and scrolling text
Things you can do with Spencer:
- Ask about the weather forecast for your area
- Hear a joke
- Ask him to sing you a song
- Set a stopwatch
- Make Spencer display custom animations
- Laugh at his corny popular culture references
Talk to Spencer!
Spencer has a microphone and understands what you say (like, REALLY understands).
You can code new functions that will be triggered when you say certain sentences and words.
Get Inspired
Print a claw on your 3D printer and use a myoelectric sensor to control it.
"But can it run Doom?" is more than just a joke in the tech world. It is also a decent litmus test for the computing power of hardware. That test isn't very relevant for modern computers, but it is still worth asking when discussing microcontrollers. Microcontrollers vary in dramatically in processing power and memory, with models to suit every application. But if you have an Arduino Nano ESP32 board, you can run Doom as Naveen Kumar has proven. The Nano ESP32 is a small IoT development board for the ESP32-S3 microcontroller, featuring Wi-Fi® and Bluetooth® connectivity. It also has a relatively high clock speed and quite a lot of memory: 240MHz and 512kB SRAM, respectively. That still isn't enough to meet the requirements of the original Doom release, which needed a lot more RAM. But Kumar demonstrates the use of an MCU-friendly port that runs well on this more limited hardware. Want to give it a try yourself? You'll need the Nano ESP32, an Adafruit 2.8" TFT LCD shield, an M5Stack joystick, a Seeed Studio Grove dual button module, a breadboard, and some jumper wires to create a simple handheld console. You'll have to compile and flash the Retro-Go firmware, which was designed specifically for running games like Doom on ESP32-based devices. You can then load the specialized WAD (Where's All the Data) files. Kumar reports an average frame rate at a 320×240 resolution, which is very playable.