Submind YouTube summaries
Thumbnail for How to Make a Robo Dog Mini | Quarky and PictoBlox | DIY Robotics with Coding and Voice Control

How to Make a Robo Dog Mini | Quarky and PictoBlox | DIY Robotics with Coding and Voice Control

Watch on YouTube

Video summary

This comprehensive guide demonstrates how to construct a charming robotic dog named Minnie using just five simple steps: 3D printing, assembly, electronics and wiring, coding, and testing. The project begins by gathering essential components such as the Quirky robot kit with its battery and expansion board, four servo motors, an ultrasonic sensor, and custom-designed 3D printed parts like legs, a body top, bottom, and switch extension. Builders can download these designs from StemPedia or create their own using software like Autodesk Inventor, Tinkercad, or PictoBlox's 3D environment before printing them in approximately three to four hours. Once the physical pieces are ready, the assembly process involves carefully inserting the switch extension into the body top, securing the Quirky unit on top with bolts, attaching a 3.7-volt battery, and mounting the ultrasonic sensor while ensuring proper wire alignment for grounding connections. The third phase focuses on intricate wiring where all four SG90 servo motors are connected to their respective ports on the expansion board, paying close attention to aligning brown wires as ground (GND) to prevent electrical issues. The builder emphasizes managing cables neatly inside the base and body parts to avoid entanglement or interference with moving servos during operation. Before closing the assembly completely, it is crucial to verify that no servo wires protrude from the top of the motors, which could hinder fitting the upper shell securely. After attaching all legs using double-arm servo horns—sometimes requiring minor trimming for a perfect fit—and securing them with screws, the robot's internal electronics are tested by connecting via Bluetooth and initializing the expansion board in PictoBlox to ensure every servo rests at exactly 90 degrees before final assembly is completed. The coding segment introduces users to advanced functionalities within PictoBlox, starting with calibrating servos through a custom function that adjusts pulse widths from minimums around 400-500 up to maximums near 2500 to achieve precise angular alignment for standing or moving actions. Once calibrated, the robot can perform various programmed behaviors such as saying hello by raising one arm while balancing on three legs, dancing with rhythmic movements, doing splits, folding its body, performing push-ups when excited, and even simulating urination through specific leg motions. These complex sequences are built using modular functions that first return the robot to a default standing position before executing unique gestures like waving or moving forward/backward based on button inputs or voice commands triggered by speech recognition blocks. Finally, the video concludes by integrating voice control capabilities where Minnie responds directly to spoken instructions such as "Mini dance," "say hello," or "go forward" thanks to an open-source speech recognition module initialized within the coding environment. This interactive layer transforms the static robot into a responsive companion capable of interpreting natural language commands to execute its programmed routines seamlessly. The creator encourages viewers to customize their own robo dogs by adding features like wiggling tails or moving ears and invites them to share ideas for future behaviors in the comments, fostering a community-driven approach to learning robotics through hands-on experimentation with coding platforms that make DIY automation accessible even to beginners.
Read the full video transcript
Minnie dance. Minnie split. Minnie stand straight. Oh, there you are. Of [music] course, she's very naughty. You met Minnie, right? She's very extrovert. I built Minnie and her best friend Mickey in just five simple steps. Hey, hey, this is Avni. >> [music] >> In this video, I'm super excited to show you how to make your Robo dog like Minnie and Mickey in just five simple steps. Like step one, 3D printing. [music] Step two, assembly. Step three, electronics and wiring. >> [music] >> Step four, coding. And step five, testing. So, without waiting any more, let's directly dive in. First, let's gather all the components we need to make Minnie Robo dog. First of all, [music] of course, our Quirky with its battery, expansion board, >> [music] >> and its wires, ultrasonic sensor and its wire, four servo motors with its [music] accessories, one screwdriver and maybe wire cutter or a scissor if you need. Now, what is missing over here? The 3D printed parts. [music] So, let's get to our step one, 3D printing. You can click on the link given below in description [music] and go to the StemPedia website and download the design. Or you can create your own as well. I designed this in Autodesk Inventor. You can use Tinkercad or Pictoblox 3D environment, too. Now, I'm keeping it for 3D printing. And it will be ready in approximately 3 to 4 [music] hours. Yay! Once it's done, let's remove it and get to assembly, which is our second [music] step. Now, I have all the 3D printed parts over here. So, let's understand them. Of course, these are all four legs, which we [music] need. This is the top part. This is the bottom part and this is the switch [music] extension. Now first let's insert this switch extension into the slot of the body top over here. Like this. Then we will place the Quirky on top of it. And make sure [music] the switch aligns with the hole in this [music] switch extension. Similarly, do the same thing for all the four bolts. >> [music] >> Once all the bolts are secured properly like this and Quirky is secured on top part like this, now I will attach this 3.7 volt battery. [music] And now I will insert this battery in this slots given over [music] here. So that battery is now properly secured. [music] Now let me keep this part aside. And now we will work on the base part first. Attach the ultrasonic sensor like this from this socket like this properly. And now I will attach the ultrasonic wire. [music] Make sure when you're attaching the ultrasonic wire, >> [music] >> the black wire must go on the GND. Like this and then I will insert it like this. Now if the sensor pins are [music] straightened like this, we can bend them gently before continuing [music] with the wire itself. Like this. Now once the ultrasonic part is properly inserted in the front slot of the body, now I will snap the extension board. We can keep the wire over here. I'll snap the extension board on this [music] area. We can remove it for the moment and insert it properly. Now, it perfectly [music] fits. At the same time, I will also insert all the SG90 [music] servo motors into their respective slots. Do check all the servo shafts >> [music] >> faces outwards like this. Now, let's come to the third step >> [music] >> of wiring. So, first let me attach the ultrasonic sensor over here. On the sensor part, make sure the GND, the black wire, is aligning properly with the GND on the expansion board. For reference, you can check out the diagram. Make sure this is very important. As and when you're doing the wiring, you can keep [music] managing the cables properly so that it doesn't get entangled >> [music] >> or come in between while we close the assembly. Now, I'm considering this as my servo one, [music] servo two, servo three, and four. So, the servo one I am [music] attaching on the servo one over here with yellow, red, and black properly [music] aligning with the GND. The brown wire always consider as [music] GND. Same way, this on the second board. You can check out the diagram for proper [music] reference. You can manage the wire over here itself of both the servo motors. Make sure >> [music] >> you remember none of the servo wires are coming from top of the servo motors. Otherwise, it will be difficult for you to close the assembly. Then, I [music] will attach the servo three on this side of the servo port, which is number five. >> [music] >> So, it's easy for me to know that the forward two are connected on this side >> [music] >> and the rear two are connected on the right side. Again, you need to manage the wires properly [music] on the side. You can also attach some cable ties if you want to manage properly. What I am doing is just turning and twisting it a little [music] bit. Make sure you keep your expansion board on the internal mode like this. [music] Keep little space for the wires to attach with expansion board and Quirky. Now, >> [music] >> I'm going to attach this wire, expansion board wire, which will be attached to the top part of the Quirky. So, first this part, again black aligning with the GND. [music] I'm putting it over here. Now, the other end of this wire we will be attaching on the Quirky like [music] this. But, make sure before that you turn this part a little to create an tail. So, there are slots for wires over here. I can [music] just directly put the wire like this. Easy for me to manage. Now, we have the servo wires which [music] needs to be attached. First, let's put the servo one wire. Make sure you do not do mistake >> [music] >> in aligning with GND. Now, these three wires will go inside the [music] Quirky. Make sure you measure the length properly [music] and keep the same amount of wires outside to attach with Quirky, >> [music] >> and rest of it you can put it inside. There are slots for this wire also to be attached. This could be a little difficult step to put wires inside the slot. If it is possible, insert them. Otherwise, you can arrange them manage it them over here itself. Now, before attaching the top part, make sure your all the cables are neatly inside the body base, managed properly like this, and make sure no wires are crossing over the servos [music] or any of this screw points. Making sure the wires are properly inside, and this is getting attached. Now, to secure the body, we will use six of this M3 12 mm bolts. [music] Let's start with the middle one first. Now, let's do the forward one. Now, the body is properly secured [music] like this. Now, I'll attach these wires like this, making sure the black is for GND, >> [music] >> and insert it like this, and press it to create a nice [music] tail. This servo one block over here like this. Servo two wire here [music] like this. Make sure the brown one is always the GND. [music] You can make it a tail like this or if you want to secure it, you can put [music] a cable tie and secure it as well. Okay, now let's come to the legs part. Now let's do one by one each leg. We will take the servo double arm. Like this one. Let me keep this aside. Like this one and I want to insert it like [music] like this. Okay? But if you can see it is a little extra, so I might have to trim this >> [music] >> servo horn to fit exactly in this space. So now to trim this, we can use this wire cutter or a very sharp scissor. [music] Make sure you're very careful while doing this. So what I will do is there are 1 2 3 4 5 holes over here. So I will just trim the first two. Be very careful and trim it like [music] this. Just one side should be enough and you can maybe remove the sharp edges also a little bit. Let's see if it fits. I may have to cut a little bit extra if it's not fitting properly. So we can do [music] that. Now it fits properly. [music] What I will do is now I will take this two screws [music] given along with the accessories servo accessories and insert [music] them in the holes like this. Aligning with the >> [music] >> holes below this so that it gets properly attached and gives us support. Once this is done, you can do the same thing for all the other three legs also. Take the double servo arm. Cut the extra three parts like this >> [music] >> and then put this inside this. Like this and then screw it. Now [music] all the four legs are ready as you can see all them screwed with the servo horns properly. Now before attaching them on the main body, we will make sure that we [music] turn on the Quirky connected to Pictoblox. And if you don't have Pictoblox, [music] then do download the latest version from the link given below in description. You can go to board, choose [music] Quirky as a board and then switch on your system Bluetooth and connect [music] it. Once connected, now we can check all the servos. By first, [music] you have to get the extension for expansion board. Initialize that. When it shows done, then we can check [music] all the servos angle is at 90°. Servo two, one, five [music] and six as you remember that. Now make sure all are 90. Let's check one by one each of them. [music] Let's check the number two. It moves, yes. Then let's check number five. Yes, [music] it's at 90°. Let's check number six. Yes, it's at 90°. [music] I'll change the servo one also back to 90°. All right, so now all of them are at 90°. Now I will [music] attach the legs. You can attach it like this in standing position perpendicular. Now [music] minor misalignments in the leg angles are fine because we will fix them later with the servo calibration [music] block. You can also secure the legs with these screws which come with [music] servo accessories like this. Do it same on all the four sides. Perfect. Okay, you can also attach some black tape or sponge like this for decoration and for a better grip like this [music] I have attached. So now we can start with the fourth step, coding. So the first step is you [music] connect your Quirky, switch it on, go to boards, and connect [music] it via Bluetooth. Once connected, [music] now what we will do is we will get an extension called as expansion board. Just choose expansion board over here like this. >> [music] >> Now as you can see there is one new block over here. Let's understand this block. What does this block do? This [music] block controls multiple servos up to 12 at the same [music] time. It can control that. And you can also control their speed also in milliseconds over here. [music] So what we are going to do is first let's calibrate all the servos so that [music] their angles are properly defined. I will [music] take this block. Set servo one pulse minimum from 500 to maximum 2,500. This is the pulse range usually from 0 to 180°. Right? >> [music] >> So, let's check if it is working properly. Similarly, I can do that for servo two. For servo three, but the [music] number is servo five over here. And for the next one, servo six. Now, these we can keep [music] on changing after checking how each motor is functioning. All right. Now, what we can do is we can check with this block angle of the four servos, okay? This one, let's keep it at 90. 90 90 [music] 90. So, we can check the 90° of all the four servos which we are using, S1, S2, S5, and S6. [music] However, the other servos we are not using, but still let's keep them default at 90 only. And we can keep it 1,000 ms. 1,000 ms means >> [music] >> 1 second. Okay, let's check. But, we need to first initialize the work expansion board. Now, let's check. [music] So, you can see all the 90° are perfectly aligning. If sometimes if you feel this is not aligning properly with this, we can do [music] we can change the pulse a little bit. So, I think maybe this one I [music] can change it to 400 so that it properly aligns and this one Okay, 180° should be okay actually. So, [music] maybe I can check over here like this from zero to the second one as 180. Same way, I'll do [music] it for S50 to 180. Now, let's check. So, as you can see, are they aligning properly? I think so. Maybe this [music] one is not exact at the angle of that one, which is this one is sixth one. So, maybe we can change [music] this pulse and decrease it a little bit. So, I'm going to make it as 350 so it aligns well. Similarly, you can test and try all the other angles as well and [music] check and change the pulse accordingly. So, I'm going to make the servo one also [music] on an average, let's say 440 and this one around 380. [music] Uh this one as 2,000 500 and this one is fine, I think. >> [music] >> We can attach them all together and check. Yes. So, now I think it is changed a little bit >> [music] >> and now they are properly aligning and you can keep on trying and testing this and keep changing the pulse value. So, this is for that calibration only so that misalignment is not there anymore. So, what I'm going to do is I'm going to put a weight block in between them. Maybe off 1 second. So, it's easier for me to check. Okay. Similarly, I would want to check check the other angle also, vice versa, 180 and 0. So, what I'm going to do is maybe add one more weight block. And we duplicate this. And here [music] I can make check the 90° angle of all of them. 90° by the way will be the standing position. And [music] similarly, I will do the instead of 0 180, I will check 180 0 as well. 180 0 180 [music] and 0. I can remove [music] the last weight block. And maybe let's try once more. >> [snorts] >> So, I think it's working fine on all the sides. Yes. [music] >> [snorts] >> Yes, all the four legs are properly aligned, so it's working properly fine. Now, I [music] can make this as a function. Let's call it as maybe calibrate. And I can >> [music] >> define it like this. This block we will attach it to maybe >> [music] >> when green flag. So, whenever we press the green flag, this is properly initialized. At the same time, I would also want to initialize the ultrasonic sensor. So, I will go to expansion board. I'll go to sensors and initialize this. Now, instead of D1 and D2, I will choose S1 and >> [music] >> S2. So, why S1 and S2? Because on the expansion board, where we have connected trig and echo were the ports S1 and S2 over there. [music] You can also adjust the display brightness or whatever initializing blocks you want, you can >> [music] >> keep it in this. Now, whenever your servos are not acting properly or not aligning properly, you can always call this function calibrate [music] so that you can check where is the mistake and adjust the pulse accordingly. Now, let's create all the action blocks. So, I am going to give many different actions. For example, say hello, stand [music] straight, or sit down, or dance. So, I'm going to give different actions. For every action, I'm going to create a separate function. So, I will create [music] block. First of all, let's do the first action as stand straight. So, as you know, whenever I want Minnie to stand straight, what do I need to do? I need to align all [music] the four legs at 90°. Correct? So, I'm going to use this block and make all of them at 90. Make sure all your other servos, which are not in use are also always at 90. Just a default angle we are putting. >> [music] >> All right? And I can also attach some emotion maybe. Whenever it stands [music] straight, I can maybe have a surprise emotion maybe. >> [music] >> Right? Let's see. Yes, it is standing [music] properly at 90°. So, yes, it works. Now, let's do the other function which could be say hello. So, I'm creating another function. And [music] let's name it as say hello. >> [music] >> So, let me add first of all some emotion when it is saying hello. I want [music] it to be happy or giggle emotion. So, let's let's put giggle. And now, we [music] will I can duplicate just this block. And first, whenever it has to say hello, I want to make sure that in whichever position Mini is has to come back to 90° standing [music] straight and then saying hello. So, this could be my default position which [music] I'm putting whenever this function is called. Now, after that, I could ask it to [music] wait few seconds maybe. Let's put wait maybe 2 seconds. Once it's back to its original position, wait 2 seconds. >> [music] >> And then, we could Again, I'm going to duplicate this block. And now, I would want to change the angle [music] of this hand getting the raised. So, when it has to get raised, [music] it will go this position at this angle. I'm going to make it as 180. [music] And this one should be around This leg should be going a little inside. So, maybe I'll make it as 80. >> [music] >> And similarly, I would make the other two legs also, the behind two legs also so that it doesn't lose balance when it is, you know, raising this hand. >> [music] >> So, I can make it as maybe 80, this one as well, and this one could be a 100. So, it is properly able to balance. >> [music] >> So, this, and also, because it has to keep on doing it again [music] and again like this, so I am going to do the inside angle also. Um [music] could be 80, and maybe it could come down to, let's say, 140 or 145. >> [music] >> And rest of the angles, I think, could be okay, fine, because I'm just moving this one, right? [music] So, I want this to be repeated a certain number of times. Let's say, two times or three times. >> [music] >> So, it looks like proper hello. Maybe we can run and check this if it works. It is doing it, but can you see it's very slow. Now, let's check if it works. >> [music] >> The wait 2 second looks a little more. Maybe wait 1 second should be okay. Let's try once [music] more. I think that [music] looks fine. Now, we will get it back to the normal angle. So, I'm just going to duplicate >> [music] >> this block, so that once it says hello, it will come back to its original position. So, I'm going to which is >> [music] >> 90° all of them. So, standing straight position. Perfect. So, [music] I think let's try this. Now, it's normal position. It's saying hello. >> Back to normal position. Great, I think this looks great. So, now similarly, you can develop multiple functions like this. Now, let's check. I'm going to press D. [music] >> [snorts] >> So, as you can see, it dances. >> [music] >> Now, if I press H, it says, "Hello." And if I press [music] up, it is already standing straight. And if I [music] say down, it's going to go down like this. Legs stand down. Interesting, isn't it? Now, similarly, if I say fold, it will get folded like this. If I call the excited function, it will get excited and start doing push-ups. If I ask it to pee, I've created a pee function, so it's going to pee like this. >> [snorts] >> I have also created a go forward function. Let's see if it goes forward. Now, let's see if it can go backward. So, maybe we can press number five. It can stand [music] straight. If I say number three, it will do a split. If I say number two, it will start dancing. Interesting, isn't [music] it? Now, I can do the same thing with voice recognition as well. Now, as you can see, I have also created [music] blocks for voice recognition. Yes. So, in this case, I have got the speech recognition extension like this one. [music] You can see that over here. [music] And I have put a condition that if speech recognition result is mini stand up, so it stands [music] up. You can see whatever I'm saying, it's coming over here. Right? Because I have started this open speech recognition module in a new tab like this. [music] So, I have initialized the quirk expansion board. And now, let's see if it works. [music] I've also put a block for mini go forward. Mini dance. You can see it's already listening to me. Okay. Mini dance. >> [snorts] >> Mini, say hello. Mini, go forward. Wow, [music] great. Mini, fold. So nice. Good job, Mini. Wasn't that so interesting? Now, it's your turn to build your own robo dog like Mini. Try maybe adding a wiggling tail or maybe moving ears. If you really enjoyed building your own robo dog, then do like this video and subscribe our channel for more interesting videos. Also, do let me know in the comments below what you want Mini to learn next. Until then, happy learning. >> [bell]