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
Been just over a month since my last update, only minor changes. But it's starting to come together. I've been busy trying my hand at building the costume to go with the droid. I think I prefer droid building to sewing.
I scrapped the esp-32 as a camera option. Not sure what was happening but it was upsetting the IO-tiny. I have however discovered ARC mobile and we are thinking of using the esp with Rebecca's small seeker droid and running ARC mobile on her Android phone. She's just got a couple of servos and lights so I'm sure we can do it using a single script on a loop. With a control panel option maybe for some controls to override it if she wants.
Its a Pity voice doesn’t work with ARC mobile or script collection.
For BD-1 I'm waiting to order an EZB camera, will give that a try.
I built a DIY BD-1 back light matrix using some cheap neopixels($25CAD) for 144. Cut 3 strips, plus 2 small ones for the top, soldered them in line and stuck them on a piece of card. Switched adafruit code for 77 leds and it's running fine in a twinkle routine. Not bad for roughly $12. Runs between 15-150mA on my program so just running straight off the Arduino.
WS2812B ECO LED Strip,BTF-LIGHTING Chasing Effects 5050SMD Individually Addressable 1M 144(2X72) Pixels/m Flexible White FPCB Dream Color IP30 Non-Waterproof for Bedroom DIY Projects DC5V https://a.co/d/5Zizez5
Added both ears, originally I had a servo signal reverser and ran both servos off one output. However the 2 I bought off Amazon died during long term tests.(8 hours continued use) so I'm back to using individual servo ports for ear ear.
The neck servo I've had issues with still... I tried a 7kg servo but it was still struggling with the weight of the head. In the end I've modeled a new fixed neck that holds him at a fixed angle. The body tilt servo can still moved the head back and forward as he looks around to adjust his tilt.
I need to add some more voice commands, maybe tweak the match % a bit. Other than that it's just a case of finding a next 12v battery to tuck into my jacket to power him and getting the details and weather done.
We mounted him to the jacket I made for the costume and did a few tests to make sure he can still clear my head. So far supper happy with how things turned out.
I've also been asked to do a presentation on droid building at this year's Halcon. Super excited for that. Will be demoing ARC running Chopper and BD-1. Hopefully Rebecca's seeker droid too.
I'm really impressed with this build. So cleaver, fun and imaginative. You're going to be a hit at the show.
hi all
this would be a great robot for star wars . so awesome . send your idea to the makers of star wars . you never know .
Final details are complete. In the next month I will tidy up the project and publish it along with instructions, print files on thingiverse.
For power source I ended up using tool batteries. My old dewalt drill had died and I was looking for a replacement and that gave my the idea. Milwaukee m18 batteries provide me with 18 volts. I found a simple adapter on thingiverse. The 3ah version fits easily in my back pants pocket and is barely noticeable. Total runtime is around 5 hours on this. Though I could move up to the 5ah and probably get a whole day out of it.
I run 2 lines to a small 3d printed box which slots into the lining on my jacket. From there the powers distributed out. A 5v power buck that supplys my SBC which velcros to rear of the box. A 8v buck that supplies the aurduino that runs the rear panel (I ran out of space inside the driod so run one data line up to the led strip) and also the IO-Tiny A 20v Power line that goes up to the head to supply bucks for the big power draw servos, head tilt, head turn and body tilt.
The camera in the eye I think I have fully abandoned. As I watch more footage from the game I realized that the light in his eye kind of gives the bot some kind of living aspect and without it mine kind of didn't feel right. Besides with the voice control working I can get that interactive quality I wanted. I added a small blue LED in there and I think it highlights the focus movement in there more as well.
Its been a fun little journey now its time to finish some other projects, Choppers geting some updates and I need to prep for my EZB/ARC presentation at Halcon next month
Great project and thanks for sharing the process. You must have much fun.
I repurposed my BD-1 legs for another inmoov bash up at a smaller scale. Who knows, maybe motorize them!
Oh yes love all the starwars bots, just getting into that new Ahsoka starwars tv show, plenty of new bot candy there as well!