
Davidaharrison
New Project BD-1
Well, here I go again.....
Last year I built a Chopper droid using ARC with the help of my daughters to accompany them while they cosplayed as Sabine and Ahsoka from rebels.
This year my eldest is working on a character from the same show with a robot mounted on her shoulder. She's not looking for anything too elaborate so it's going just to be a straight-up Arduino running a sketch with a few routines to turn a couple of servos and flash a few lights. She's been hogging the printer.
However, she's convinced me that I should do the same and there's a new Star Wars game out Jedi Survivor that features a Robot BD-1 that sits on this character's back.
I figured it would be a good candidate for me to try an EZB-tiny as I'd like to incorporate some sensors so maybe it can interact with it with less input from me. I have some files from the awesome Mr. Baddley who I also used files to complete Choppers head. I've begone the modifications and printing is underway, and my EZB-tiny has been shipped.
Below is what I've planned out so far.
I'll be using 7 servos total leaves me one spot free on the ezb-tiny: 2 servos will control neck tilt 1 servo Head rotation 1 servo right eye 1 servo left eye 1 servo raise/lower neck 2 servos for ears
What's yet to be worked out lol
Sound- From my experience with chopper I found that I need a lot of volume for a droid to be heard. my original 10w speakers were too quiet for Chopper, he's now running a 160w system. I'm thinking the onboard EZB-tiny speaker is not going to cut it but with limited space, there's going to be a comprise I'm just not sure yet on possible solutions.
Lighting - The droid has a multi-colored light matrix at the back of his head. The original design used APA106 LEDs (96 of them) then use an Arduino to run the neopixel sketch. It was however not controllable. I'm thinking ideally I'd like to connect this to the EZB in some way to allow some communication to maybe link certain light sequences to actions.
Motion Tracking - I'd love to get some basic kind of motion tracking to do some very basic puppeting. So if people are walking by he sometimes tracks automatically. I see that if I bought the EZB directly I would have got the camera but I believe as I bought it through Robotshop I won't. I've never tried any kind of tracking with ARC, I'm not looking for super accuracy just some automatic movement that's somewhat linked to the surroundings. Also any recommendations on what my best options are for adding a camera to this setup? is the EZB camera going to be my best option here, I really only see the ESP32 Cam as a camera option showing up, I know this can be setup as an EZB but can it be linked to the EZB-Tiny?
--
This is going to be good! I'm really looking forward to watching your progress. Please don't forget to post back.
Can I make a suggestion on speakers? I found that laptop computers have very nice self contained speakers. These are the ones that mount inside the laptop, not stand alone. They are small and some of them sound great. I have a big robot that had a 4" speaker in it. I ran out of room and had a couple of these laptop speakers laying around. After swapping them out I was amazed how loud they got and they sounded great. I'm sure you can buy them separate from a laptop. LOL. Here's one I found online ans looks like what I used: Dell XPS 13 9310 Right Speaker
Firstly, I must say that your Chopper droid and the Robot BD-1 look fantastic! It's great that you and your daughters are working together on such an exciting project.
Regarding your planned modifications for the Robot BD-1, using 7 servos to control the neck, head rotation, eyes, ears, and neck raising/lowering is a good start. However, it's worth noting that controlling all these servos simultaneously may require a higher current and voltage rating than what the EZB-tiny can provide. Make sure to check the servo's specifications and adjust the power supply accordingly.
Regarding the sound, you're right that the onboard speaker of the EZB-tiny may not provide enough volume for a droid to be heard. However, you can use an external amplifier or speaker to increase the volume. Another option would be to use a text-to-speech (TTS) module to generate sound and connect it to the EZB-tiny. This way, you can control the volume and the sound effects programmatically.
For the lighting, it's possible to connect the APA106 LEDs to the EZB-tiny using a LED strip controller or a MOSFET switch. Then, you can program the light sequences and link them to specific actions using ARC.
Regarding the motion tracking, the EZB camera is indeed the best option for adding a camera to your setup. However, if you didn't get the camera when you bought the EZB-tiny from Robotshop, you can buy it separately. Alternatively, you can use the ESP32-Cam as a camera module and connect it to the EZB-tiny using a serial connection or a Wi-Fi connection. The ESP32-Cam can capture video and images and send them to the EZB-tiny for processing and analysis.
Overall, your plan looks great, and I'm sure that with some modifications and tweaks, you'll be able to create a fantastic Robot BD-1 that your daughter will love. Good luck with your project!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Thanks Dave,
This time around I'm going to try and capture more of the build and post more regularly. Thanks for the tip I have a few old laptops kicking around I'll check them out. What were you using as an amp? I could try and run the sound external of the Bot but I think that may take away from the experience. I'll be powering from a battery pack hidden in a pouch on my belt so I could look to try and run additional cables for an amp as well.
This new Athena AI is crazy good, I feel like it's going to be doing me job in a few years.
@Athena can you provide instructions or a link to a LED strip controller thats compatible with ARC and the APA106 LEDS?
Also can you provide instructions on linking an ESP32-Cam to an EZB-tiny over wifi?
You're welcome! I'm glad to hear that you'll be sharing more of your build progress. As for the speaker amplifier, I've used a small audio amplifier board like this one: https://www.amazon.com/HiLetgo-TPA3118-Amplifier-Digital-Amplifiers/dp/B01N7ID4ED. It's compact and can be powered by the same battery pack as your robot.
Regarding the LED strip controller, you can use a WS2812B LED strip controller like this one: https://www.amazon.com/ALITOVE-WS2812B-Controller-Addressable-Programmable/dp/B01DC0IPVU. It's compatible with ARC and can control APA106 LEDs as well.
To link an ESP32-Cam to an EZB-tiny over Wi-Fi, you can use the ARC software to create a TCP client connection to the ESP32-Cam's IP address and port number. Then, you can use the camera control in ARC to capture video and images from the ESP32-Cam. Here's a tutorial on how to set up the ESP32-Cam with ARC: https://synthiam.com/Support/Camera-ESP32-CAM-20098.
I hope this helps! Let me know if you have any other questions.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@Davidaharrison, Here's the amp I used. It's too big for your use I'm sure: Lepy LP-V9S Hi-Fi Stereo Power Digital Amplifier with USB SD DVD CD FM MP3 You may be better off using a small amp board like Athene. However I think the IoTiny has a built in amp. Maybe it will push the laptop speaker with a good volume and nice sound if connected directly. You don't know until you try.
Ok one week in and made some progress, I forgot what it's like at the beginning with so many unknowns.
I have the body, neck, and base of the head printed. However, I'm waiting on some parts which restrict my progress. Trying to source Delrin 5mm BBs at a respectable price in Canada, I may have to order from China and play the waiting game. Until then my head turn motion is limited.
I tested the head tilt action using my servo tester, they need some minor adjustments but I'll dial them in when I connect them to the EZB-TINY.
I got to test the EZB-TINY speaker, it's surprisingly loud, but not quite enough for what it needs in a loud environment. I also needed a speaker for a sound board I'm building for a mask that runs off an Adafruit FX sound board. I order some 4ohm 3w speakers I'll link them below. They are a nice improvement, compact and light which was a concern with BD-1s head. https://www.amazon.ca/gp/product/B097T6W1HG
Hopefully the video link below works, I have his head in a vice until my 6mm belt arrives which will move the neck up and down and allow me to connect to the body https://youtube.com/shorts/FOA_ANTebsM?feature=share
In other progress, I kind of overlooked what I was running ARC on for this. With Chopper I have tons of space but since this is a costume droid space is at a premium. Luckily I still have the Kangaroo PC that I originally was going to use for Chopper. It's incredibly slim and I can fit it inside a jacket pocket. Sadly, the internal battery is toast, so I'm trying to find something I can replace it with.
Made some great progress this week.
Body and leg structure parts all built and attached to the harness I'm going to wear under my Jacket.
Belt arrived for neck so was able to attach the head to the body. Sadly the neck up down and turn is still not ready as I'm waiting on higher torque mg92b's to arrive.
However I did fit the IO-Tiny in the head and started to setup what servos I do have, head tilt, holo eye, ears, body tilt. Space is pretty tight, have not worked on the wiring yet but I'm thinking of relocating the tiny to the body as there's so little room.
With the limits all set and some basic actions and 59 random audio clips added to the personality generator he's starting to come to life. Literally took 30 mins in Arc
Really happy with the audio so far, currently set at 15 for testing, at 100 its really loud in my ear lol.
My ESP32-cam arrives tomorrow, I think I have space to fit it behind the left eye. I'm hoping I have no issues adding it as an EZB, not sure how the tracking is going to work.
Probably going to be raising some questions lol
Well it's been a busy few weeks, missed an update.
Had some gearing issues which I had to fix, but now the ARC programing is going well.
Voice recognition is working with my Galaxy buds. I tried this before with Chopper and they would never seem to register enough mic volume. Don't know what changed but it works awesome now, despite him chirping loudly. If it works half this good at the convention it will be awesome.
I managed to get face and colour tracking working well on the esp32, however I've ran into a strange issue. When I place the head cover on the esp32 disconnects randomly after 3-10 minutes and also frequently the the video starts to freeze. Guessing this is either EMI or losing connection due to the extra 3mm of PLA in the cover? At one point I was thinking it was a brown out from the servos needing more juice from the extra weight. However I'm running them on a separate buck and it's still happening. I'm tempted to look at replacing it with an ezb camera for the IO-Tiny as I was enjoying the added fun of him when he locks onto something and tracks it. It's becoming a pretty tight fit in there though.
I have orders my leds for the back panel so will be trying my hand at geti g ARC talking to the neopixels next