Building a Custom Sticker Vending Machine ![rw-book-cover](https://img.youtube.com/vi/LeKG27vfRCs/maxresdefault.jpg) ## Metadata - Author: [[YouTube]] - Full Title: Building a Custom Sticker Vending Machine - Category: #articles - Document Tags: [[demo]] [[devrel]] [[hardware]] - Summary: Building a custom sticker vending machine - URL: https://www.youtube.com/watch?v=LeKG27vfRCs Thank you again, Amanda. Thank you everyone here at MLH and at uh with here with Devil Con. Uh this is really exciting. I went to my first Devil Con last year and now I get to be up here speaking and sharing with all of you. Uh and as some folks mentioned uh as we were getting started, there is hardware involved with this. There's a lot of stuff that won't be on the screen. So if you want to see what's actually happening with this stuff, come up closer. There's plenty of seats. I get the sort of like tendency to want to sit in the far back, but I promise you it's worth it to come up close and then I can also reach you if I have to throw something at you. Um, something friendly. I promise. Um, so yeah, my name is Nick. Um, I am a senior developer advocate at a company called VM. Uh, and overall, let me just start out by getting a baseline of, uh, who here has worked with hardware before? Um, cool. Great. And so it could be like Raspberry Pi, ASP32, Sparro, Lego Mindstorm. Excellent. Cool. Um, and so that's good to know. Good to know some people are familiar maybe with what we're talking about. Some people aren't, and that's great. Uh, who has saw who has seen or tried the sticker vending machine, aka sticker wizard, over this past couple days? Only a couple people. Nice handful of people in the back. Great. Um, how many of you think you could build this for your next event? >> All right. Good collection of people. All right. Some confident folks. I love it. >> Yeah. Yeah. Yeah. Yeah. Hopefully at the end of this you all will feel a bit more inspired and motivated to not just build a sticker vending machine, but something else that's compelling and a physical demo. And that's a lot of what we're talking about today. Not just building what this is, but what goes into a physically compelling demo. What goes into building anything is engaging as we're trying to show off something we're teaching, something we're we're trying to demonstrate. Uh we've heard a lot about demos over the past couple days and I love it because it's allows me rolled up into this um into specifically like building something like this. Um let's go back here. So now is the time where I talk about what I get paid to do. Uh and that is talking about BM uh which is a plat hardware a platform for connecting software engineers to hardware. Um, and it's about using consistent APIs, cloud native services, and growing registry of integrations, not just what we provide, but what anyone else in the community can provide as well. Uh, so we're all about trying to get people to use robotics and hardware. It's the single place for building, deploying, and managing robots from anywhere in the world, including robots like this. Does anyone think this is a robot? Couple people think this is a robot. Yes. Like, what do you think of a robot as? It's like, you know, humanoids, C3PO, maybe a Roomba, right? Those sort of things. But all that goes into a robot is really the idea of sensing, planning, and action. Uh, and so anything from something automatically plant watering to a sticker vending machine to, you know, uh, robotic arms, these all go around and can be something relatively simple to something super complex, but these are all robots in the way that we think about them here at BM. Um, and we can make them smarter as well with different sort of existing or pre-trained models. Uh, you don't have to have any prior experience with hardware or machine learning in order to just get started and build something that you're dreaming of. So, as Jim, some of you may know Jim Bennett, uh, so last year at Devril Con uh Jim was in your seat and is in that seat now as well. uh and listening to a different VM talk from my manager Joyce. Um and at the same time he was also thinking about another conference that was coming up and that he would have to be working in the booth. And so he heard the words confetti cannon. And so this I think inspired him at least I'm assuming well he was working at a place called pieces and wanted to showcase a new feature that just launched a Flutter SDK at Fluttercon. And we've heard about from a few presentations these past couple days uh that it's tough to get attention in an expo hall. you look all look at the same booth, you all have the same screens up. You're trying to sell a lot of similar sort of technologies to the same developers. So, how do you cut through that noise and in order to do that? He built his own version of the confetti can to integrate with pieces. They said it couldn't be done, but pieces in VM had other plans. Fueled by pieces themed M&M's, we use pieces to share the launch code and brought the confetti cannon to pieces in via the code creates celebration. [Music] Well done there, Jim. Uh, and like any great Dellion, he wrote a blog post. He made a video and blasted on socials. And be sure to check those out later. They're really great writeups. Um, and you can even scan the QR code to build your own version of the same thing. Uh, but how does it go into how do we make something physically engaging like this? Uh, what goes into this sort of recipe? Um, and sort of take a look a little bit into the psychology behind uh these sort of demos. Um, as we saw from this morning's keynote for those who attended, uh, people learn by doing and not just by seeing and hearing. Um, you could have like a rock-solid script that discusses, you know, your features and all the pain points you're solving. Um, but if you hand over the reins to someone or give them something, some sort of direct task like pushing a button even, uh, it can solidify a lot of what you're teaching is that tactile learning. Um, and when you're building upon that personal engagement, the people getting excited about what they're working on or or interacting with you, it gets more people to come over as well. For anyone who's maybe lived in New York for a while or started visiting, uh if you've ever wandered around Central Park or Time Square or any other busy area around the city, you may stumble upon the guys who have like the line of tourists and then jumps over them and you know there's a lot of you know cheering and uh music and everything happening and you know people are wandering over making such a big crowd because a lot of other people are having fun and are engaged with it. Not that I'm saying you need to be jumping over a crowd or playing loud music at your booth, but you know the idea applies. When people see confetti popping off or hearing the delight of a crowd, that will attract more people walking by and motivate them into checking out what you're showing off and what you're demonstrating or participating in some way. And being hands-on and seeing the cause and effect of what that demo is doing skips over that friction of like what does this thing actually do? You can describe it all you want, but not everyone can just imagine what's going on or visualize it automatically or know exactly how to relate to what's happening. As I was talking to Jim before this, uh he was mentioning about a computer vision demo he had worked on. Um and you see the result of a model identifying something. In this case, it was Lego uh figurines. Uh and then imagining how you could do that same action, seeing the cause and effect and seeing, you know, the recipe and seeing the what the details were behind the scenes all goes into then being motivated to go try it for yourself or customize it in some way. And so my manager Joyce uh likes to call his strategy cheeseburger marketing. Um and in some ways I think of it like the you know poop sandwich or the compliment sandwich sometimes people talk about. It's like you know you start with something that's fun, engaging. It gets it's interesting. Um you know you have confetti flying or a sticker dispensing like you see this at a conference and I think a bunch of you did and you're like what the heck is going on with this? Why is there among all these stickers? Why is there something with stickers and something else going on? Um, and it leads into the technical details of being revealed what powers that moment. That's actually this moment right now. Um, and then finally, there will be a call to action, what that means to you. How do you get the most out of what this is showing off? And there are guidelines to do this, you know, effectively. It's easy to have these grand ideas and visions for fun and interactive demos, but it starts with the quickest thing you can prototype and prove the idea and then iterate from there to build up towards that final demo. And then when you have a deadline, uh that can motivate you to aggressively cut scope uh and find that core idea of what you're trying to show off and of course get feedback early and often. Uh so you're not just toiling away and be like, "Isn't this cool?" It's like, "Yeah, but what is it actually showing off?" It's um and then you have to be ready for anything. As you might be able to see a little bit up here, um I have a lot of stuff with me to make sure that everything goes right. Uh I brought my own Wi-Fi because I, you know, I have to put these things online. Um, and I don't want to try to go through maybe the conference Wi-Fi or try to go through some sort of captive portal. There are weird network conditions when you're traveling around. Um, even power strips, like I brought my own power strip to connect, so everything's just plugged in at once. Um, rather than me trying to figure out if they have the right power strips or they all fit together. Um, and these are the realities of bringing physical demos into real world environments. And so, you have to be ready for that or make sure you can gracefully degrade what you're showing off and to fit with, you know, the resources you do have. and then being able to quantify and qualify the opportunity that you have. You know, how do you prove to people who sign your paychecks that it was worth the effort of building and transporting this whole thing? Luckily for me, I live in the city, so this was just putting in a suitcase and coming down to Brooklyn. But if I had to fly with this thing, if I had to like pay for extra um like suitcases and things like that, like that's cost. And so, how do you prove that it was worth it to bring this over just having another slide deck? And uh it's could be part of the call to action afterwards is how you get people to engage or how you can see like oh people actually went and built this thing. People actually went and you know signed up. People actually like posted about it on socials and then basically figuring out how you can duplicate this demo or help other people duplicate it as well so they can build it and transport it to the next event or simultaneous events like I can't be in more places at once and my other two team members are in you know Las Vegas and San Francisco. So, how do they build their own version without me having to ship it to them? Um, and making sure that that is, you know, not only easy to do, but um, practical to do as well. And so, now for the meat and potatoes and why a lot of you probably came to this presentation. Um, but first, a quick story. Uh, so this demo was actually not built by me or my team. This was built by originally by someone inside the VM office. It was part of our engineering 20% time. And so, you know, we give time every week for people inside the company, whether they're in engineering or in product or in marketing or wherever, and we want them to use what we're building so that we get better feedback, and then we see what ideas they have. So, this was one of the engineers who had an idea for a sticker vending machine in the middle of the office uh with a personality quiz to guess your robot personality to go along with it. And so over a few weeks, she and some of her co-workers put this together. It didn't come out looking like this originally. It had many different steps that we'll go over. And um now once they built it, we then on Devrell took our responsibility of documenting it, sharing it, and showing how other people can go and remix it and build it for themselves. Um, and so having that ability using, you know, the collaborating with like the engineers or the people you already know is so powerful and showing like, oh, they can go do this and they can have wildly more grand ideas than I might have because I have a shorter timeline, but they can go work on it in the background and get the support of, you know, Devril or anyone else to make it happen. And so this sticker vending machine um is made up of servos. Who's worked with a servo before? Good people. Great. Yeah, it's something that moves. It's kind of like one of your initial actuations, uh, when you're starting to get into hardware or robotics. Um, and so the actual vending, you know, coil itself is just wire. It's just, you know, kind of light wire that you can coil around a PVC tube um, and build into the sort of spring-l like behavior that you want. And then wrapping that wire around a servo allows it to now, as it does a continuous movement, start to push anything within the lines of those coils. And so that's the basic movement of how this vending machine works and how a lot of basic vending machines that aren't the you know gantry style go and pick up a drink and bring it down. Um the old school uh vending machines work. And so this is all controlled through um this servo controller board. That blue one um you can see in the top right um left. Yeah, top left. That's reversed for me over here. And um this allows the Raspberry Pi that's behind the scenes to be able to control more than just a couple servos u and be able to give it power as well. And so this nice little compact sort of um breakout board you would call it in order to for the Raspberry Pi just to communicate with that one board and then drive whatever servos they want. And in this case we have up to nine. It can do I think around uh 16 total. Um, and so then these all get mounted into shelves or drawers, uh, with each individual lane. These are, uh, laser cuts. Um, but I'll show you kind of what it started out as. Um, and then these have some 3D printed parts to stick the servos in, allow them to stay in place while the uh, it's turning and winding that coil. And each of these QR codes leads to the different steps I'm talking about within that code lab as well. And so this is the wiring diagram. Now, if you've never wired anything before, it can seem intimidating to see all these things, but actually each servo has its own wires together. And so, you just plug each of those into the board itself, the breakout board. And then finding power is just a regular um sort of power plug with a barrel connector at the end. You may have seen them for laptops and other things. Um and then four wires that go into the Raspberry Pi. Um and so it's not a whole lot of work. There's no soldering required. Makes it very accessible in my opinion. Um and they still stay together fairly well. It's very transportable. I can take all the wires out, plug them back in because first of all, I have them color coordinated, which is another good hot tip for you if you ever have to come back and not have to reference your wiring diagram. And then uh I can swap out servos really quickly, too. Nothing since something soldered together, I have a bunch of spare servos with me. So, if one of them dies for some reason, I can quickly replace it um and get it back up and running again. And like I was saying, it didn't start out looking like this. Carro prototyping is fantastic. I would start there first before making any sort of like fancy 3D printed or laser cut uh enclosure. Cardboard is wonderful. It's plentiful. You might have a bunch of Amazon boxes sitting around your uh home already and go and use that. Um and so this allows you this allowed uh Emily and the other engineers to just start to see what works. They didn't start out by using the servo board. They started out using stepper motors. They started out using other sort of ways of actuation. And this allows them to again to iterate very quickly on the idea and eventually prototype out the initial enclosure and then see like all right, what type of stickers work? What types of shapes can I work with? What are the limitations of what I can control? Um and then from there start to build it in something a bit more polished. Um and then the interface. This is an more fun part because um Emily herself was a front end engineer and so this is where her time came to shine. She created a a fun quiz to go with this. Um, and this is using uh I forget how they pronounce it. It's like spelt for 3DJS, a bunch of 3D environments. Um, it's like throttelt, I think they call it. It's like 3DJS uh Swiss felt. Uh, and I never know how to pronounce any of that type of stuff. But anyway, so sticker wizard is this interactive quiz. And so she came up with these nice animations to go with it and load it up into a typical type TypeScript application. And that I'll show you the lines of code later is how she started to control the uh Raspberry Pi from the um from the web app. And so that just gave it some commands to now run the servos for a certain amount of time and then feed each of the um each of the stickers that that got selected. Uh so those the code actually control the hardware was about 10 lines. The rest of it was actually building out the full quiz and building something interactive and fun. Um, but that was also the fun part for her. Um, and originally this was also hosted as just a web app that anyone could go to within the uh VM office. Uh, but eventually to make it again more public for anyone to go and use and to make sure people aren't trying to run it all at the same time. Then uh we eventually embedded the Raspberry Pi in this little touchcreen over here. And so that Raspberry Pi is running the web app and serving it into um a Chrome window in kiosk mode. um automatically when the Raspberry Pi boots up and then that connects directly to VM server that runs on the Pi in order to then support all of the uh hardware controls from there. But you could run this from, you know, a cloud service. You could run this from, you know, multiple different types of pies at once or wherever you want to run it. It's just talking directly to the hardware through WebRDC, which is the way the VM uh works for its hardware controls. And this is one of those points of uh customization. And this is where you know software that you're working with like Jim saw last year in terms of like oh pieces could fit in there and just call into you know our flutter SDK with their stuff or it could run into you know with TypeScript I said you can do Python and go and all that type of stuff and the minimum amount that you need to know about for like Linux and running stuff off is this one bash script in order to install VM server and then you can start configuring in our dashboard. Um, I know this sounds like a sales pitch, but a lot of it's just how simple you can get started without having to know a lot about or any sort of coding to get started. Like this motor control board I'll show. I can start to like operate it directly from my browser. If I need to debug something, if I need to like run uh if one of the stickers get stuck and I just need to run it for a little bit, I have that control. I can override just what the web app is doing and allow me to help keep things going. And as I said, this is where you can start to integrate and provide, you know, whatever you want to do to customize it. Whether it's a custom quiz, whether it's some other sort of web hook you want to integrate for like, hey, maybe you launch some sort of like um instance of a cloud server or something, and then that web hook says it's it's running and you get a sticker based on that. Or if you want to have something else go off, if that's your confetti cannon idea. And so what builds up some of these sort of uh like I said before we have here like a Raspberry Pi some servos um and like a touchcreen for embedding it all together. But there's so many other ways you can start to uh you know build out your robot your demo robot um and that could be you know you know you could use Raspberry Pi. I could have just run this all off of my laptop with a connection straight to um you know the Pi itself. Uh you can use microcontrollers if you want something a bit more portable. Webcams are really easy to integrate with if you've never done anything with CV. Who's done stuff with CV before? Computer vision models help people. It can be intimidating if you never done it before, but um if you can just start get started on your laptop or get started in a web browser, I think that makes it much more approachable and you know that's something else that you can start to integrate into your um you know object detection or any sort of classification and to make it more engaging for people to go and you know try something out. Um buttons and switches are very much popular. you know, speech to text and text to speech through microphones and speakers. Um, also make it more fun to be able to go and talk to a robot and have it do something, give it a command using game controllers if you're driving around a rover, something we've done in the past. Um, and of course like lights, people love lights. People love seeing blinking LEDs and strips. Um, and of course displays and everything like that. So, some examples that we've done in the past in order to integrate with different services and other things that could maybe inspire you to what you're working on. Um, as we all know, sometimes the coffee lines at various conferences, events can get quite long. So, you could build out an alerting system using basic computer vision, uh, in order to track how long lines are and start to give people alerts to be like, hey, you know, the line shorter over on the landing than it is in, you know, 52A or maybe the black box is just like, you know, has, you know, coffee for days and now you can start give those alerts and that could be part of, you know, I know we have the WhatsApp stuff that could be a WhatsApp bot that comes in and says like, all right, here's where the next events start coming in. um or starting to use computer vision for various parts of just monitoring a situation. Um something I like to tell people in workshops is that uh picture is worth a thousand words. It's very true for any sort of data. It's just how well can you use it to do something. And so if you can just start getting some basic data points from any sort of images um you can do a lot with that and you can start with just again a webcam and a Raspberry Pi or even just your laptop to get started. Another example maybe people have been hearing about some of these robotic arms that come much more approachable. Um, Hugging Face has this open source robotic arm from a a project called The Robot. It's SLO 101. And this is something you could start to control and make something even more fun. So, if you want to have something being picked up or um I know Jim had the idea of putting something like assembling Lego with robotic arms um as part of the process of learning something um you can get started with just you know again your laptop and ARM uh and you know using something that integrates with it. It doesn't have to be VM, but you know, we have stuff out of the box that does that. You can use machine learning models or whatever else you're trying to to show. And so, again, why does this overall matter? You're trying to get people to, you know, push past like the basic pitch. You're trying to get people to get engaged or be motivated to check out more what you're doing. They may not go and, you know, build your sticker wizard, but they will go and, you try assembles of that. You might give them a good sort of initial trial of what you're trying to show off. And this always this doesn't always work in terms of like the audience you're reaching. I know we heard this morning about, you know, an audience of um, you know, enterprise customers. Like, I'm not going to go bring this to an enterprise conference, but I might have something else that's a bit more engaging for them. Um, you know, there's ways of, you know, speaking at their level of what they're trying to be interested in. um and hopefully be remembered as well or share it on social media or share and talk about like what they then built after the after the fact and giving them um some sort of motivation to do that. So, we want you to be the buzziest booth in the sponsor hall. Um, and by, you know, thinking outside the box, thinking around, you know, what sort of things could you do in the real world that, you know, has an impact. And again, some tips that we were bringing up before, bring your own Wi-Fi if possible because conference Wi-Fi, you're always battling for something or you have something that can run even offline as possible. Um, remembering your spare parts. I have a whole suitcase full of stuff with me just in case, you know, anything falls apart here. I need more tape because it's obviously it's not doing enough of its job. Um, having those administration and debug controls is very important. So, there's actually an admin dashboard at the back end of the web app in order to just dispense stickers as I need to on demand. um I actually have the ability to um VNC or be able to like remote desktop into the actual Pi itself from my laptop from wherever I am in order to then maybe restart the web app or restart a service here and there. Um and that's just super helpful for me. I can see all my logs of what's happening. If the robot gets offline, I get pinged. Um so these sort of things make it really helpful to make sure things keep running uh especially through like long conferences. I left this here overnight and it was fine thankfully. Um but I could monitor it uh even when I was back home. Um, and then of course at the end of it, turn it off and on again and see if it fixes it because that always works, trust me. Um, so what would you build if this hardware was accessible? Um, you know, we have sticker wizard here. Uh, we also have places to borrow rover. So if you don't want to have hardware on hand, but you want to try to automate something, you can actually go and like rent a rover on our website um for a short period of time and start to play around with what ideas you might have with that. Um, we also have the ability for, again, talking about computer vision. You want to train a custom computer vision model and use that as part of what you're building. Um, we have a whole uh sort of build video and code lab for that. Um, and if you want to win a rover, um, we also have you can sign up for our newsletter and then folks who sign up today will be part of a um, lottery to win a rover and we'll send that to you. Um, and you can, you know, drive that around and see what happens when you bring that to your next sponsor booth. Um, that is actually everything I have today for slides. But what I want to do with the rest of our time is get some ideas from you all and walk through maybe some things that I can help you build. Um, things that maybe you want to see more about the back end of how this works. I can start taking it apart and you can see some of the pieces if you want because it's easy to put back together. Um, and uh, yeah, I am here as a resource for you all. first water. Any questions? Any sort of comments? Yes. >> Great question. >> Yeah. Um, a rover. Yeah. Yeah. Uh, here. >> Yeah. >> There we go. So, this is the VM Rover. Um, it's a nice little sandwich sort of like mobile base. Uh, has a webcam on it. Uh, you just you just need to provide a Raspberry Pi or if you're really fancy, you got a Nvidia Jetson throw on there. You can now get controls over this sort of um robot. Uh, and then you can start to drive it around. You can use the IMU to give it some automation and use computer vision and drive and uh learn on it. You can add on additional sensors later if you want to get to LAR um or sort of ultrasonics and start to automate even more. Um so that's what this uh the VM rover is uh for those that are curious. >> Thank you. >> Yeah. >> Uh actually not that bad. Um, yeah, the uh >> yeah, so yeah, Roomba actually has a devkit, the iRoot 3. Um, we also have integrations with uh there's something called Turtlebot. Um, which Turtlebot is basically like a developer version of a Roomba. Um, so you can start to program that around. Um, yeah. Question >> for going upstairs. Oh, that's always a tough part for any mobile robot, right? Um, there are ones people build that actually have like basically like a almost a triangle-shaped set of wheels that can then uh pivot up stairs. So, you can start to build those out um and start to you just need enough torque to get over, you know, carpets or anything like that. Um, but yeah, that's definitely possible to get upstairs. Um, I won't say do a flying robot because that gets even more dangerous at all. Yeah. Good question. Yeah. Yeah, I guess. So, it's just a static image or is something moving or is it Yeah, it would be fun if you could have might get creepy. I don't know if you have the uh something sensor that lets the hologram follow you in a little if you have it ability to rotate. Um it's almost like those um those Scooby-Doo moving. Yeah. is just have it be able to move around back and forth as far as like sensing people in front of it so it knows like who's looking at it. Um I think that'd be a lot of fun or even just be able to give someone a control to like spin it around and see it because like the holograms like you can see all the sides, right? That's the whole idea of it. And so you give people those controls again that that tactile sensing to then go and like have them turn it, give them a little joystick or something. Yeah. Um and even swap stuff out if I don't know how well you can just make one on the fly but if you take an image and then just transport it. >> Yeah. Yeah. That'd be amazing. Alex has the plexiglass. Yeah. >> Uh hello. >> Yeah, the ESP32 that's inside. How did you program that? Is it a sketch? Is it something else? >> So, uh this is actually running Raspberry Pi. Um but we do have support for ESP32 and that's just running our version of VM server on it. And then from there you can use all of our APIs that we have to be able to control like either GPIO or other sort of sensors. >> Can I wind back a step and ask what is it? Vim server is like I have no idea what you're so VM server um or in the case of the SP32 is our micro RDK or microserver is just a process that runs in the background in order to provide hardware controls and manage all these sort of like networking and uh connections to the device itself. So when you maybe get some sort of like thirdparty integration, it will automatically download that um and run it as a separate process in order for you to control it. Um so that's our main entry point into a piece of hardware or something and that's open source and can run you know anywhere um that runs Linux basically. Uh and then for ESP32 the microk is the same thing. It's just a rust program that gets run on um the ESP32 in order to give you that same access. And so things like networking is really fun because when you know I go to a new place it'll actually just pop a access point and let me reconnect it to the new network which is very helpful when you're traveling with demos because it would just be you know a brand new Wi-Fi network and not have to reprogram it in some way. Um yeah so uh VM server again a lot of our stuff is you know anything on robot we say is open source so you can go check it out see how it works riff it um or start to customize it in some way. >> Yes. two blocks away. >> So, let's say Microenter is two blocks away to play around with uh some robotics. Um what what's kind of like the minimum thing with a Raspberry Pi that you would pick up or even with any other platform? >> So, you can actually run our um our server on um Mac OS, Windows or Linux. So, if you want to run it on your laptop today and connect to your webcam and start to like play around with some computer vision models, any sort of um sort of sensing, you can do that. Um there are also things like I said before, if they can run over serial, then you can usually run straight from your laptop into a device. So, like those robotic arms that are showing at the end, um they actually just take a serial port connection. So, that could be from again Raspberry Pi or a regular PC if you want it to be. Um so, that's kind of like the minimum is just whatever you have on you. Um, but then if you want to have something you can then sort of deploy, I wouldn't suggest deploying your laptop, although we have done that in the past for some demos. Um, you could have just a Raspberry Pi uh B or Raspberry 3 model B uh which is like several years old but can still run this uh and can be nice and affordable as a way. You might even have one lying around like a lot of people do when they go to events like they just get one from booths and things like that and now you have something to do with it. You can connect a regular USB webcam. can connect a bunch of basic hardware like LEDs or buttons and get started. We even have like a the hello world of hardware which is like light up an LED. That's a one of our basic code labs and easy way to just learn about how GPIO works. Any other questions or things I can go through? Yes, I will show you how it works. So, um I will actually do something real quick. >> Um let's see. So, the Raspberry Pi itself is probably around between $40 and $50. We uh the display is around 100 or so. Um you know, the laser cut pieces and the 3D printed stuff is hard to tell because we just have that stuff available. Um, but if you do cardboard, it's much cheaper, honestly. The servos themselves, you can get a pack of 12 for 10 bucks. Um, and the piece, the breakout board for the servos and stuff is uh another like 10 or 10 bucks or so. And so overall, you can do this for I would say under $200 overall. >> Oh yeah. Um, everything onbot is free and open source. So if you're just doing controls and everything, then it's free for you to use. If you start to do like training computer vision models or uploading a bunch of data, that's what we charge for and it's based on usage. And so you get $5 free per month and then that's how you can, you know, just get started and see what works for you. Um, but you can just get started building this completely software side for free. >> Yeah, of course. Um, and so right now I am um, so I'm on a different Wi-Fi network than my device and I'm just connecting to it um, so that I can show off how the quiz works without just do it up on my display. So this is actually the quiz um, running. I'm using a program called VNC uh, in order to then just connect to the Raspberry Pi on the desktop. And so the way this works is this uh TypeScript web app. Nice little cute character. Um actually have a little clay version of this that one of our designers made that usually sticks on top, but I didn't want to get broken while I was away. Um and so it goes through this quiz and goes through like um the various, you know, sort of questionnaires and there's a bunch of these around. Um and so you can go through as it's running it just collects these and the quizzes themselves are just JSON files really. Um so you can customize this. We did this for SRE day in our office. Um, we just created a custom, you know, what's your DevOps robot personality and just made a new JSON file, uploaded it for the quiz. Um, and now we have a very custom way of, um, be able to do something unique per event as well. Um, because not everyone gets some of our like inside jokes that come from our office as well. Um, so like this one, the one sort of tip I would say is like make it shorter. Uh this one is like I don't know almost seven questions long and you can see the text is kind of like uh takes a while to go through. Um see I'm just going to keep going through all these as they go through and um but I love the animation. I love the sort of like details in the background that Emily did for this. Um just makes it so so much more fun to work with. So now it's going to go and, you know, decide what your thing is. And so it gives you Barbie bot. Um, and gives you a nice little description of what's going on there. And then I can say, uh, get me my sticker. And hopefully it will then bend out my sticker. And if it ever becomes stuck because no demo is perfect. We have, of course, unstuck my sticker. Yeah, it's very slowly going, but again, this is where I pull up my nice handy dandy uh debugging here. So, so this is uh the VM app and um here I can go over and to my little test panel. I can say uh I know this is on pin 10. And then I can run this. >> There we go. Cool. >> Yeah. [Applause] And so also to show you a bit like I was saying before about the quizzes. So this is a quiz file for this specific web app. And again this web app is open source. you can go and, you know, fork it and make it your own, however you want. Um, and so it just describes each of the different slots for the different sort of stickers you're vending. Um, gives some nice emojis and things to go along with it. Uh, and then we have all the different questions. And so you can see if you really want to figure out how to get the bot that you want, you could, you know, diagnose each of these questions and figure out the right answer for the one you want. Um, but it just starts to say, okay, like here's the associated, you know, bots from the array above that go into, you know, each of the different answers for each of the other options. Um, and so you can easily just start to swap these out for your own custom thing for internally or externally. Um, and then this just gets imported through our quiz here. So before we have a nice little admin page right here. So we have our quiz JSON that's just imported when we build the um the web app to then deploy to the machine. So um this web app is actually run again as a what we call a module on the machine. So I can go and deploy automatically new versions of that over my same CI/CD that I want. Um, I can change versions. I can customize it. Um, and then I can also configure it in certain certain ways to say, okay, well, here's the various like motors I'm using or here's you could even customize the whole quiz in this JSON if you wanted to. Um, rather than having to deploy a file and redeploy. Um, so this sort of flexibility and saying before we have like all the logs coming off the robots. Um, and I can go through and see what happens. I can set up sort of web hooks to tell me like, hey, it went offline or something happened. Um, one thing I need to get to configure something to tell me when to refill it. So, I came back this morning and a bunch of the stickers were gone. Uh, so that would have been a nice little alert to come back and I would have come straight here and fixed it up. Um, and this is, you know, I have I manage all of my different machines through here. We have um a robotic clog game in our office as well we built with a real robotic arm. Um and that's how we manage it as well through the same sort of interface and it has its own web app that we deploy um to control it as well. >> Any other questions or anything I can reveal? Yeah. >> Some good new use cases which we can scale to the world. Can you please say something? >> Sure. Yeah. So the question was about like power requirements overall um as well as uh different use cases. So power requirements. So the um Raspberry Pi itself needs 5 volts uh 3 amps to run and that powers the display and the Pi itself. And so that's like you can take almost any off-the-shelf USBC charger as long as it has at least 3 amps coming out of it, which is like most things you can get for um kind of modern power supplies. And then the uh servos themselves have a separate power supply um that's also 5 volts like half an amp or something like that. But it needs to be separate from the Raspberry Pi because it can't power all that off the pie itself. So just two pieces of power in order to then run this whole machine. Um and eventually I want to try to pull them into one single like power control board. That way I only have one plug. But you know we'll get there and refine it over time. Um so other opportunities. So, I went through a couple in the slides, but like um we I'll just bring up some of the So, again, this is uh our resource for end to end projects um that you could learn how to build. And so, from start to finish, it gives you a full timeline of materials and um how long you expect to take it. So, we've had people who build stuff that's not just provided by us, but other people can contribute their own code labs. Um, so people build their own Pomodoro bot to help them with studying and using voice and local LM controls running on the robots. Uh, we have a series of workshops as well. You can learn about building an automatic plant watering device. Um, as part of that, you can um, start to build something. One of my favorites that I've built recently is a smart snack dispenser. Um, so kind of similar to what Jim was talking about with like the M&M's, the custom M&M's. like we built that as well for the office where it can use computer vision to tell when the bowl is empty and then refill it with more snacks or you can build other sort of like hooks into when to then refill it. And so we just took an off-the-shelf um pet food dispenser actually from Amazon and just put a Raspberry Pi and a motor controller in it and then we had an instant sort of like smart machine that we could use to make demos more engaging for uh conferences and events. So we can bring that along and we could, you know, instead of having point at a bowl, we could train a model to then maybe look for maybe certain color M&M's instead and start to then stop until or keep feeding until you find those. Um, and those are ways to nice customize uh stuff around. Uh, we just published this one to control a robot arm uh with VM. So if you want to integrate a like affordable robot arm that runs on Raspberry Pi, the Yaboom Dobbot's a good option there. It's a couple hundred dollars, but you can do quite a bit with it and already has a camera on it, too. Uh I said before we have the the selfch checkout. Um let's see. We've done stuff with uh making blinking LEDs. Uh people detection. You can build into sort of that like Q management I talked about before to detecting like how long are lines for, you know, the coffee or for the bathrooms and things like that. Um, and then, uh, just other sorts of ways you can start to dig into and hopefully be inspired. This is one I did with, uh, Jessica Garrison, who's also here around, um, with Elastic. So, we built out a whole demo of taking in all the sensor data they have and uploading to Elastic Cloud and then using their automations to trigger something in the physical world. Um, and so that was like, oh, the temperature is getting too high in the room and then I triggered a, you know, fan to run. Um, and so you can start to find these uh interesting points that someone else's existing stack can work with something like VM or any sort of hardware controls. Um, and this is also one of my favorites. Um, because I'm the one who has to maintain it, but this is our um >> Hey everyone, it's Adrian here, senior developer advocate at VM. I want to take you through a quick tour of our claw game here which we built with a new factory arm and it's connected to a customuilt web app to actually move the arm. So let's check it out. So here we have some quick move positions which we can go use to go to any quadrant over here. We also have some arrows if we wanted to manually move the arm to a specific location. So I definitely want to try to go to the back left. So let's try that quick move position. And this is actually using motion planning. None of this is statically set. It is calculating how to get from one position to another through motion planning. So I want to move this a little bit more and dial in my exact location. So let's try using the manual movement positions here. Going to move it over here a little. Down a little bit more. Just a little bit. I want a very specific ball in there. And I can use the claw to actually pick up a particular item. Darn. Just like real claw games, I lost this one. So anyway, maybe I can try next time. But right now, that is linked to picking up the ball, moving it back to the home position, and then dropping my non-existent prize. And that's the claw game. So yeah, this is something that um Hazal here who is actually part of the team at the time uh helped build and brought to IKRA or they actually had it rebuilt from the prototype in the office overseas in the UK. Had a agency build that out um and then they actually transported back to the office and re rebuilt it yet again um back in the office and have now transported around a couple places only with an office not outside of it. But that sort of thing is obviously a lot more in depth um requires you know a bigger arm but you could miniaturaturize it in some way. you can start to take the core idea of be able to control something that moves around um into uh the real world and into, you know, something you can bring around different places. Um or if you have a great budget, you know, build one of these. It's about 10 grand or more, I think. Um but yeah, exactly. Um I've seen some budgets that are kind of wild. Um, but yeah, this is that sort of thing is once you see something that's possible with, you know, something you can integrate with a web app, something you can integrate with just like um, you know, an offtheshelf offtheshelf robotic arm, like you can just order these. You don't have to be a fancy business to buy one. Um, which is kind of wild to be honest. Um, but it's we we even though it's something that's so in-depth, we still wanted to document it for anyone who did have the sort of like motivation to go do it. So, we provide, you know, all the 3D prints that we have, all the different ways of like building it out. what is motion planning? How do you integrate it within like a type testing? Okay. Um, and so yeah, there it's there's a lot to learn from and there's even more that we haven't even documented yet. Um, but you know, part of it is not just what can I think of, but like what can you all build with it? And so once you get a few these pieces together, hopefully you start to see like, oh well, this would be really cool to do at this event or even just trying internally and doing like a showand tell um has been super helpful for us too is let's having engineers build something, show what they're they're building and then that being documented becomes like a massive win for us. Yes. Is all >> I love having someone who used to work here uh be a plant. Yeah. >> Yes. Yes. We have uh I don't have the code up here, but discord.ggm via am uh is where a bunch of people are building stuff and sharing what they're building. Um if you run into any trouble, like I am in there every day in order to help people debug stuff or figure out what they want to build um and help them along. So, uh, yes, we have our Discord, um, and like so many other people, but, uh, it's a lot of fun. It's not massive, so you won't get lost in the fray. Um, and we're there to help you. Um, and hopefully you have some really fun ideas that we can, you know, help you accomplish. Yes. >> Well, offline. >> Offline. Uh, so you can run VM server because it runs on the device. It can be automated to run without the internet connection. Once you it has an internet connection, that's when it starts to do stuff like be able to control it from the web app or be able to uh if you need to debug things or sync logs or sync any other sort of data you want to capture back to, you know, the cloud services. But the robot can run offline. It doesn't need to be connected all the time or 247 and it's actually resilient to, you know, losing uh internet connection. So um it can have safety stuff as well in order of like say like, oh, if you lose internet connection, it can stop moving in case that's a problem. you know, if you have a web app that's supposed to be controlling something like a robot arm or like a rover, you maybe don't want it to keep moving after you lose the inter connection between that web app and that thing. And so, you can build in those safety precautions as well, but it does not need to be offline. Like again, like I said, the web app is running on the device itself and being shown on the screen. And so, it doesn't need an inter connection to run. Um, it can talk directly to the hardware without, you know, having a Wi-Fi, which allows me to control it from where I am. Cool. Well, I know we have a one another uh talk coming up right after. So, I'll actually give us some buffer time and I'm happy to answer any questions if you want to come up um and check out a sticker, look at it up in p up close in person, uh I think we have some time to do that. So, thank you so much for your time., Building a Custom Sticker Vending Machine, YouTube, 01k9x29jxyxqj3m2cqbj368jr3.