Sorry for the late submission!! https://youtu.be/xVTrE-Fjf_Y?si=gwutcR-wTda-YdCO
Guys I’m proud to announce my LOLA-59 droid voice assistant. It took me months to get everything to this point and its not even finished but i just wanted to get it out there for you guys to see it.
I wanted a multi-sensor that did everything I needed it to do for daily use without needing multiple sensor so I decided to build one.
Hardware:
BM280 - Temp, Altitude, Humidity Sensor
Light Sensor -
Two sg90 servo motor to control the wings
Two PIR Motion Sensors
MMWave sensor
Airplay
GPIO Button
DFPlayer Mini
ESP32 S3
ESP32 WROVER-E mini running Squeezelite
I had a power draw/code issue unfortunately but there are two relays in there that control the wings and make the vibrate like a birds wings. I promise everything worked separately but when I put it all together I had issues lol. The problem that I noticed is that with all these sensors going a million miles an hour sending data the voice assistant seems to struggle but I could be wrong. Im new to this stuff and if your in the esphome forums I’m always asking a million questions lol
looks great! Would you mind sharing the ESPHome config, please?
And any other material you want to share with the community?
(The reference of the droid for example)
Yea no problem, sorry I was so in a rush to upload for the contest I didnt really break it down.
The droid is a star wars droid from the Obi-Wan series on Disney + she accompined Princess Leia throughout the series. They sell the toy here Lola_59 on Amazon. I purchased the small version in Ross for $7.99 and you may still find them there. Ive bought several like 6 or 7 lol because ill be doing one of these in all my rooms.
There is all the bigger version you can buy at Walmart for like $70 but they also had them on sale for $20 the other day. I digress lol
The wings are moved by two sg90 servo motors and are supposed to move and activate on wake word detection. You can seem them move in the link below. Wing MovementI had them try to mimic insect like movement. However I think between power draw and all the other sensors running at the same time the system just shutdown. I probably have a short somewhere. You can see the guts of this thing below.
The sound you heard in the previous video is the DFPlayer going off with wakeword detection. I gutted the droid and replaced everything on it and removed parts to make it work. It came with a small board on the inside and leds which I gutted and replaced with ones that could be used by esphome/Home assistant
Theres a mmwave sensor in there and two PIR motion sensors. One where the eye would be and then one in the back. There were pros and cons for both so I decided I would put both in this thing. The goal was to have automations fire when I walk in the office.
Second, I had a temp sensor outside of the droid on the bottom. and a light sensor to the top.
Lastly I had thrown inside there an esp32 wrover-e mini to run squeezelite so I could have airplay. The speakers are mounted in the wings and will flap open for listen mode eventually whenever I finish the thing lol
Hindsight, I’ve already purchased and will run the voice assistant on its own board Seed Studio S3 mini board in the head of LOLA-59 with an INMP441 like damn near on top of it like ive seen one of the mods do in the ESPHOME forums. The voice processing run constantly but with other sensors sending all the date constantly updating it just needs its own or I slow down how often the other sensors send data. Or someone can help me lol!!!
Here is the code for esp32 its a mess lol but it all works. There are some lambdas written in there to randomize the wing movements for a script I wrote. Im no coder and it ran but how random it is God knows lol
platform: ld2410
light:
name: light
moving_distance:
name : Moving Distance
still_distance:
name: Still Distance
moving_energy:
name: Move Energy
still_energy:
name: Still Energy
detection_distance:
name: Detection Distance
g0:
move_energy:
name: g0 move energy
still_energy:
name: g0 still energy
g1:
move_energy:
name: g1 move energy
still_energy:
name: g1 still energy
g2:
move_energy:
name: g2 move energy
still_energy:
name: g2 still energy
g3:
move_energy:
name: g3 move energy
still_energy:
name: g3 still energy
g4:
move_energy:
name: g4 move energy
still_energy:
name: g4 still energy
g5:
move_energy:
name: g5 move energy
still_energy:
name: g5 still energy
g6:
move_energy:
name: g6 move energy
still_energy:
name: g6 still energy
g7:
move_energy:
name: g7 move energy
still_energy:
name: g7 still energy
g8:
move_energy:
name: g8 move energy
still_energy:
name: g8 still energy