 Auf dem Talk C3PR, du bist auf dem Kanal von ChaosZoneTV und genau hier geht es weiter mit M4. Die Sprache umstellen kann, so der nächste Talk wird in German gegeben, aber es sollte Translations sein, so du kannst die Sprache unter dem Video everyone who now found us won't welcome. If you want to ask questions to the talk, you can use IOC, and Mastodon, and Twitter, and how exactly can be found below the video in the tab chat. The name is C3PR, or does it work? So it is about robots, have fun with wonky, that's the name of the speaker. Good morning, I hope all of you fell out of bed well, if not feel free to watch it in the Recording. So it's not obvious what this is about. It is an open hardware wiped by a robot. It's basically a side project that we started 2020, to enable remote events, because we can't meet in real life, but we can have robots running around in real life. So we wanted to create a platform without any clouds from China, Russia or the US. So we just got started. The GitHub page is right here on the slide, and it will also be mentioned in the end again. So, what does such a robot consist of? I like saying robots is the combination of many Professions. You have to take care of things that programmers don't have to take care of, and what the electrician doesn't have to take care of. You have to take care of everything, you have to work with the servers, you have to work with the software. And these parts are listed here. So the EC32 is basically the CPU. Then you will need something like a camera. And that's already quite a lot for hardware, because a video feed is challenging. You need a Motor driver. That's basically a small chip or PCB that can run a motor in two directions, forward and backward, for example. That's not trivial with a motor. And then you need motors, of course. The correct specifications. You want to be able to program that thing using USB, so you need an Interface. Und dieses Programmieren geht auch so, wie das alte Herren machen, oder junge Schüler, oder wie das jetzt... And that works. For example, using Platform IO, how many fancy people are doing it nowadays. And of course the battery management system, because you have to have a battery, and you have to be able to load it and charge it. And to create a constant voltage from it. So, those are a few parts as well to be considered. So the EC32, I don't think I have to say much about it. It's a pretty much standard these days. It's a small chip, about a thumbnail size. So not the whole body here, but just a chip in the middle. It's a 32-bit CPU with two cores. So the 8266 was a single core. And this now is a dual core, actually a triple core, because there is a low power CPU as well that enables an ultra low power mode. So it's 240 MHz, which is a lot. And 520 Kilobytes of RAM. So if you compare that to an Arduino, this is really usable. So if you want to send pictures, it quickly gets bigger than this RAM. And these interfaces are listed here. The serial connection SPI is for hardware, I2C, all those are for communication with other hardware. And I2S is for sound usually. So direct access memory stuff. It doesn't really matter. We will need that for now, because we are doing only video for now. Internally it uses 3.3 volts. That's also something you have to think about. Where does it come from? And of course we need something to create in these 3.3 volts, depending on what kind of battery, what kind of power you want to use or waste. And if you're using a battery, you want to save as much energy as possible. So we have ADCs, analog digital converters, DACs, digital analog converters, so one can create analog signals and one can transform analog to digital, and the other way around. And the great thing is, it's rather cheap. It's three bucks. Of course you need some periphery, for example 3.3 volts. But those are usually sent amounts. The ESP Cam, that's already a second version. It also includes an ESP, 32. On the backside here, we can see it in this picture, but in the next. But it also has a bit more RAM, because, as already mentioned, pictures need more RAM, especially 1600 x 1200 Pixels. Then we have this OVH 2640, we have a Flash LED, so a slightly brighter LED. And this basically takes as much power as the whole system together. And theoretically this would also work with an SD card, and that's right below the camera here in the picture, with that we could create timeless cameras or something like that. Rather cheaply, but still the resolution is not amazing. To follow a tree growing or a house being built, it's enough. The thing costs around five bucks in China, so it's rather cheap as well, so you can get several of them. The quality varies a bit, sometimes the camera is better, that is good, but you can also just buy a camera, if you're building a roped anyway. And then it's not too bad if some of them are broken, but over 90% coming from Chima directly were great, and some had some cheap module that I replaced. So here the comparison. On the upper side, there is P32 with the whole pinout, so a lot of options, many possibilities. That's basically just wires to turn stuff on and off, and the lower row is less usable, because that's basically the internal flash memory, but the pins on the side, they are very usable. And below we see the ESP Cam, so this is the other side from what we saw before. There are a lot fewer pins, and that can become difficult, because we can see a ground and some communication. We have 3.3 and 5 volts, but there are not many GPIO pins, so General Input and Output pins. That's the ones you want to use for communication, if they are not used otherwise, for example, for the SD card. Sometimes they are free as well, but it is a challenge, it can be a challenge. This ESP Cam also needs power, so 188 milliamps at 5 volts, so a normal power bank can run this for 12 hours and longer. If it's just sending there even longer. And if the flash LED is on, so a very bright LED, it takes a lot more energy and heats up considerably. You can see the numbers on screen. And we can get 25 frames per second with a low resolution, and of course this is JPEG compressed, and 2 frames per second with a higher resolution. And of course it does matter what kind of antenna you are using, and that is quite useful to improve your connection, because sometimes it's not the memory that's limiting, but how quickly you can move data around. The antennas, well, you can buy anything in China. Often it's just a piece of wire, and if it's 6.3 centimeters, more or less, then it can function as an antenna, but be careful that you can mess up there quickly, easily. Another important thing, this has no programmer, so you cannot directly connect ESP. The one on top usually also doesn't have that, but it's normally on a developer board, so there is a serial to USB chip on there. Ideally it's an FTDI chip, not always, but that doesn't really matter, so what I want to mention, you can't add a USB directly to the USB. Here's an FTDI, and you can also search for this. It has the least amount of external components. It has the best ability to be controlling it, and this is, for this reason, my favorite, and I would implement this with the robot. It's a little bit expensive, so it costs at least two or three dollars, but it altogether should cost less than 10 dollars. If you want to buy something from China or something like that, then there might be all of the best chips you can imagine, but if you can buy something for a dollar, there's no FTDI, it's too cheap for that, so you want to be paying two or three dollars at the very least, so you have to look at what's available. What I wanted to say is that this can easily connect to the camera, which has five volts and also 3.3 volts. One is taking from the USB from the camera and then controlling it this way, and when you want to the USB talk, then you can also use the 3.3 volts, or you can choose for a Wi-Fi, but in this case you need a little bit more electricity, and then you would choose the high voltage. So there's also the ground on the USB, and this is the communication channel. And then you have to play with it to connect the USB camera. When you want to build the robot, you have to connect the motor. The motor must be driven by something, and it has to be connected to the microcontroller. So there's a signal here. There are different signals you can use to connect the information that's being passed. You can have a milliampard LED. It's a lower power. And there's also a problem here that you must control it forwards and then also backwards. It could be a plus or a minus, or the other way around. And then you need to be having a switch somehow, and then these are you can find these all over the place. There are different versions of them. It's a Harb. Kruka is the name of this one that I've used. You can check this on Wikipedia. It's very well documented what it is and what other extra chips you need and how to build it together. This is 1.2 Ampers for the current. That's really consistent there. It can go to 3 Amperes as a peak. You can also do that. And then it's important, how do you communicate to these components here? You can talk to it to 2.7 volts. So, der kann mit 2.7 bis 3.5 Voltage. This range is perfect. So, it really functions really well. In the original version, it cost only $5, but 5 is directly from the manufacturer or there are some components you can get for just as low as a dollar when it's not directly from the manufacturer. We have a camera. We have a microcontroller. We have a motor and we have a controller for the motor. We have motors here. There are different ones you can use as well. Here we are calling them yellow motors just based on the colors here. And you can see how they're built. They're very inexpensive. And they move very slowly. But it comes to the advantage that it's very powerful or robust, even though they're slow. They're very strong. And also depends on which components you're choosing. They range in price between $0.50 und $3, so they have various degrees of quality. What you don't see very often is on the first slide that I had, I had this gray motor and it's very, very small. And you can really build some tiny applications with this and connect them very well. And then we'll get back to this later. So, right, you can have various motors and then various motor controllers. Yeah, and the yellow ones are very practical, like I've said. So in the Logistik during the LC3, we built something like this. It was the best picture, unfortunately. It was robot number three. It's also connected to a Jitsi. You can check that out on the Twitter account. That's what it could look like. So it's basically a power bank, providing the motor drivers from the red PCB and also the black USB camera. And then the two motors on the platform and you're done with the Telepresence Robot. It can drive around and, well, you still need to provide the software. We didn't talk about that. And now there's the programming part because right now it was electronics. If you want to program, you can usually get started with the Arduino IDE. It's very good for beginners. There are a few downsides though. Of course it was made for the Arduino. So everything else, you have to patch into there somehow. But it can be done. So it is compatible with the ESP32. The library compatibility is a bit difficult. So if you have a few different versions or you open it after a year, it could be that the code just broke because the libraries were updated and it's not working anymore. So it's a great start to have something to link and to learn something. But as soon as it's more complex, you want to be with the cool kids. And the cool kids, they use platform IO. So, that's the editor on steroids. So it's fancy and supports different libraries, different ports. It can do different ports, code completion, get integration. It's very nice. Actually it's just a plugin for VS Coding or Visual Studio. So it also takes a lot of CPU just for having the cursor link. But yeah, I wouldn't want to miss this anymore because even after you, if you open it after a year and that happens quite a lot of time, then you want to have a dependable build. And that works better with this. You can pin library versions and if you want to switch between Arduino or VSP, then sometimes it can be quite annoying in the Arduino IDE. And here it's quite easy. Every project is already set to a certain platform. The source code to our project, I showed you in the GitHub and it comes, Link will come back later. Because right now we haven't programmed anything. The program we wrote or we used is basically creating a website. So the ESP connects to a Wi-Fi of your choice and is then just taking part in it and provides a web server on port 80. And there, like on the screenshot, you can see a menu and there you can start a stream and get a still, so make a screenshot. People who worked with that before will recognize it because it was the example project from the ESP Cam and we just expanded that and this library I linked here. This, this is the project basically and extended it for the light working properly and the motors working properly. And we further extended that project so we can control the robot using the keyboard WASD, the usual and someone also added that you can use a gamepad. Not certain about the name right now, but you can also use like an Xbox controller. And there's also the option to use a joystick in touch but that's not completely done yet. But it's possible to control this in several ways and see what we saw on C3 Logistics. There was a chat controller even. Yeah, so this way you get something you can control. First time we used this in September at the Datenspuren and here we see a screenshot from Jitzi and it was possible in DN42 which is something like a VPN to control these robots at the event and there we built this small world to make it more interesting so these umbrellas and blinking things. Datenspuren ist an event in September so there was already a lockdown and as mentioned in the beginning this project was just for that reason because we wanted to meet up without meeting up in real life then that's also where we worked with Workadventure for the first time. What I want to get at is we did that in September and it works surprisingly well. Das ganze Projekt gab's the whole project also was used in the Technical or Technological Collections in Dresden wo you could drive through an art exhibition and still control it with WASD. I'm not certain the URL is running right now. If it doesn't please behave. Another thing we weren't really talking about yet but a robot also needs a construction so it needs a shell. How should everything fit together? And yes, a lot of work was done by Kurt and Vigalis I think so they were building models using free Kurt and a lot of stuff is in the repository so you can also work on that if you'd like and take part in the work and a lot of constructions are possible. I can also show a few in the Q&A later. So, we were talking about the distinct parts and of course you can wire it up and solder stuff and you have bad connections or you just sit down and try to create a custom PCB to make things simpler and we tried a little and here you can see the ESP CAM top left and then the red programmer for the USB communication and in the middle the black PCB, that's new. That's the one we created and that includes the motor controller that we had on another red PCB before, from Sparkfun but now we also saved some GPIOs because if you want to drive forwards or backwards it was blocking but now we can use MOSFETs so all together we are saving two pins we can now use for something else and yeah, one or two pins that changed slowly it was a fluid change and yeah, we have fucking boost converters that can change voltages around so even if we were using five or nine volts we could also now have input voltage of two to twelve volts so whatever you could find lying around you can now use that down to two volts we can use that power and transform it into stable five or nine volts that was good and bad it doubled the parts we needed and it was rather expensive actually so we did not keep doing that the other parts are rather self-explanatory some motors, antenna, some wires the second variation so the second version of our PCB we again created a few more but without the back side so that was rather optional and I think we created 10 or 12 robots of these and that's also the version we were using at the Datenschwurm but that had one big drawback the programming was a bit more complex so you had to get it away from power bring the IO0 to ground reset the program reset test and a lot of unplugging, re-plugging and that's just annoying especially if you do it in a workshop and to explain people how to program that so we wanted to simplify this because the developer boards are simpler as well you just plug it in and say now program and it's resetting automatically and it's programmed and after programming it gets restarted automatically as well and that's something that's a feature you just want not no unplugging, re-plugging and connecting to ground manually so then there was the version 3.0 this version has an additional chip on the top right bottom left yeah there's the ftdi chip that's the serial to usb communication and you can see it's rather densely packed and back then it had mini usb which was because the G-boards that I showed before they were using mini usb and the nice thing is we didn't have to buy them extra so such a plug could not plug the other part could cost up to 50 cent if you are unlucky and yeah we were then creating these and that took half an hour to 45 minutes to populate that by hand and that's not something you want to do to sit down after work and populate this pcb and there was another problem the esp camera it includes an esp but to reset an esp muss man have to reset or pull a specific pin to ground so that has to be a specific voltage to restart and on the camera this pin has a nice button but it's never pulled out so it's difficult to restart this esp properly unless you take away the power and that is a bit more complex as well controller der die serielle kommunikation macht halt ordentlich funktioniert und das war ein bisschen tricky and didn't work on first try as well it turned out it was just a weird so what we had so how do we take all these problems I have and go further in programments I don't want to do everything by hand here of course very easy I let someone else do it there's a micro usb or mini usb it's on the other side of the plate it doesn't take any more money to using this side so this is actually cheaper and it's cheaper to make when it's just one sided here and it's version 3.1 it has a a difference it's completely manufactured in china it's already put together and it functions really well so when you are searching for something that's already made this is here I ordered it privately and knew that the company ftdi was using it and I shouldn't have any worries that something was wrong everything is should be top here this was manufactured it took four to six weeks for it to be printed out there are some fixed costs und dann hat zusätzlich die Teile die auf der dann there are also parts of the board that are very tiny here and we can take a look here we'll look at on the left side there's the motor controller there's the fdi under on the right side we're seeing how all these things are set this is looking at how the electricity is being programmed it can say are we in programming mode or are we not we can turn it on or off here it's a GPIO you can program it through that also is coming through and can be programmed through that way there's also a reset button and then it's controlling if you're in programming mode or if you're not these are parts of the pieces that I'm showing here and I should make this public it should be a repo if you want to take a look in the repository the first finished component here all the process I experienced war wirklich professionell ich war überrascht wenn du fünf oder zumindest fünf ordnest dann du spendest 20 Euro jedes und das ist die Fixkost also kannst du denken ob du einen oder zwei Seiten benutzt was brauchst du? und wenn du mehr Details addest dann wird es 5 bis 8 Dollar mehr wenn du mehr than 10 Pieces ordnest dann sollte es ca. 12 Jahre sein wenn du mehr als 100 oder mehr ordnest dann wird die Koste sehr hoher Anzahl und dann wird es auch publizieren die verschiedenen Prices diese Typen anbieten also wir haben ein Motorkontroller FDII wir haben irgendwie diese ersten Parteien wir haben alle diese ersten Pieces zusammen und dann haben wir es alle auf einer Bord und wir haben es jetzt produziert und jetzt haben wir ein finished robot und dann haben wir ein Website oder wir können den Robot kontrollieren nicht ein Problem für eine einzige Person um das direkt zu machen das Problem ist, wenn du eine Präsentation oder ein Grupp von Leuten hast und dann, was passiert, wenn du viele Videos hast das Robot ist nicht mehr als ein wirklich optimierter Robot also es ist nicht es ist eine kleine Box, die es hat und dann ist es relativ leicht um diese Kameras zu erreichen und um hier zu sagen Robots, transmitt mir deine Kamera-Picture und dann kannst du es kontrollieren und dann gibt es zwei verschiedene Website und dann gibt es zwei verschiedene Websites auf Port Acht es gibt eine, die durch Port Aidae kontrolliert und eine durch Port Aidae und dann haben wir verschiedene Möglichkeiten hier also wir haben Flash, RTMP Endpoints und du kannst das durch das Internet funktioniert auch so halblich es funktioniert wirklich gut und dann haben wir verschiedene Videos, die dies mitgeliefert sind und wenn du auf die CCC-Site gehst dann benutzt du auch diese Types von Codings und du hast ein Server, und dann hast du einen anderen Server, der es weiter distribuert zu kleineren Endpoints und dann kannst du die Signale zu multiple Endpoints distribuieren und wenn du das Ding dann ins Studio benutzen willst kannst du das auch einsammeln du kannst Mjpeg benutzen und du benutzt die sogenannte Dummy-Interface und dann haben wir Virtual-Kameras zum Beispiel kann es ganz normal benutzen man kann dir dann zum Beispiel einen Chromium aufmachen du kannst dann in Chromium du kannst dann sagen, hey, du kannst meine Virtual-Kameras auch connecten und dann kannst du das in einer Virtual-Kameras zeigen du kannst multiple Virtual-Kameras haben um zu kontrollieren wir haben OBS Studio wie ein Programm für dieses Kontroll zu benutzen und dann für ein totales Stream du kannst z.B. die mmedia.cc streamen und dann kannst du alle die verschiedenen Robots zusammen zeigen in realtime wenn du Mjpeg benutzt und zum Beispiel, Mjpeg ist das, was Twitch benutzt für alle diese realtime Programme aber es gibt eine Delay-Zeit und wenn du einen Buffering haben dann wird es natürlich ein weiterer Delay und wenn du Robots kontrollierst in realtime, ist das eigentlich zu groß also bitte benutzen wir nur RTMP und dann hast du hier weniger als 50 Millisekunden und du kannst das Video zusammen packen und dann kannst du es kontrollieren und dann kannst du das Bild direkt von ihm sehen also du hast ein Robot du kannst das Bild distribuieren und dann siehst du es alle in Jitzi du hast noch ein Problem also eine sharing ist zu tun also was kann ich tun, um ein Robot zu shareen mit vielen Leuten also das Problem ist, dass dieses Website nicht distinguiert kann wenn es eine Person oder mehrere Leute auf einem Device ist du kannst ein System benutzen das ist auch in der Repo es ist genutzt ein Robotsystem du kannst es vielleicht ein wenig sehen in einem screenshot oh, by the way, das ist und das letzte Gespräch von der Datenspur das klingt sehr schlecht aber du könntest es mal sehen es ist online also du kannst ein Roboter klicken das heißt, du klickst auf ein Robot und du bist dann mit der Liste auf alle aktiven Robots auf die Liste gegeben und wenn ein Roboter dabei ist kannst du es klicken und dann dieses Enginex Reverse die Proxy war eröffnet das Bild von der Website ja, ein Roboter kann dann den Roboter kontrollieren sobald du das für 60 Sekunden verabschiedet hast hat das Programm stoppt das Kontroll und eröffnet es für jemanden wieder Kontrollen Tofu hat da was gebaut jemand hat es auch für Textkommand in einem GCC Projekt also du kannst da abstimmen über 2 Sekunden Zeit also du hattest ein Pult und mit rechts nach rechts hoch und runter und was auch die meisten Voices die meisten Votes das war passiert es ist auch included in der Rocket World also ja wenn du eine Idee hast wie du es verbessern kannst oder für deine eigenen Events es sind hier wenig Grenzen es sind basically keine Limits weil wir alles kontrollieren Software und auch die Serverinfrastruktur also wir haben eigentlich unser own Card ja, to do was es schön wäre ist die kleinen Dinge die wir gerne haben zum Beispiel RTMP Stream es wäre schön wenn du einfach starten würdest und es würde die Stream starten sofort oder du würdest vielleicht ein Button das die Stream aktiviert warum ist das nicht passiert warum brauchen wir das FFM Pack while RTMP war proprietary und du musst alles zusammen patchen mit Packets und das ist ein bisschen ungewöhnlich dann die Robot Operator Stream well as soon as long as you are controlling the robot you can't really see the picture the video stream at the same time you can use jitzy on another tab but it's not working nicely theoretically there are a few pins still open so GPIO 15 for example you could add LED or maybe even sound in and sound out for the I2S a lot of things are possible then you could think about if you have several of those robots you could make a Haywalkon or an advanced Haywalkon depending on what the next year brings and what we could do about events then we could have something like robot wars over the internet and then we could also have it a bit more complex not just the simple stuff and maybe we could just order more PCBs because now it's a process that's basically finished well it's basically pre-planned you don't have to populate the PCBs anymore and then you can of course make more if you just order them it also gets cheaper for everyone I didn't start a kickstart or something like that but if you are interested let's talk I can also coordinate everything but you have to consider that such a robot with all the parts so the ESP came five bucks or five dollars the PCB let's say 10 to dollars that makes 15 motors 2 to 3 so let's say we are 20 dollars and then you get everything you need 20 dollars you can program it you can control it you have a camera and the rest is just extras a few cables a case printing a case is not too expensive so an open source robot with wifi with website controls in that price category with a full control there are appbots or others maybe there are also ideas in the chat maybe someone solved it differently it's possible of course it's rather cheap maybe it's not completely done so the first 80% are the easiest the last 20% are the hardest and maybe something is missing but i would say in the last four months we made progress so far that everyone who saw it could i have one of those and now i'm in a position how many are existing i think i've definitely built 15 of those that i don't own anymore and now i have about 10 left and 7 of those are mine so more than 25 exist but i don't have all of them so everyone i showed this to wanted to have one and then i was building the 15th for them but didn't have one myself and at some one point someone some people started helping and yeah we got quite far i would say if you want to help if you want to keep working on this project if you know about rtmp or want to do anything i can just say if you have any kind of feedback or anything there's the contact the top one is not an email address that is a social media account the lower one is an email address and the project where all the people i will mention worked on is on github and thank you at big ellis koad novart and everything not mentioned because it wasn't something i did it was done by a lot of people it's based on people based on work that people interested and i'm just the one presenting it i don't even know why people wanted me to present it basically i also have to prove that it exists in real life so this is the latest version that's the version 3.0 and here is version 2 that has a a few pins on their own and here is the buck and boost converter as well and the typical prototype wire that jumpers to make it work it's not uncommon but yeah i hope that's the proof that this works in real life and exists this is one of the robots for example and now i'm ready for your questions here's one of the version 3.0 that also has 3d printed casing and here's one made from thick cardboard paper oh just cardboard and here is one of the first ones with the gray motors that are very small so these wheels are thumbnail size and that the idea was to have it in a matchbox size and that also worked and that also runs for many hours and the big variant with this power banks that officially have 10.000 milliamps but in reality 6800 and that runs forever so 24 hours are quite realistic and it also depends on if it's running a full steam or just standing around if it's blinking but 24 hours they always make that okay herald he also has one oh sorry the microphone was off there but i was showing it to the camera that i've had my robots here thank you for the presentation and there are a couple of questions the first here the first one is very constructive how did you put together all of this in one presentation i can tell so my computer broke down yesterday i can't use certain numbers and the control key for some reason that broke and i hadn't created slides yet so yesterday with the chaos on party zone music i clicked together these pictures that's how you oh yeah and chum killed a lot so that's how you can have a talk at this time a coherent talk then the next question does this scale so right now you could not have a lot more moto on that but if it's an electric one it would run with wheelchair motors for example we built something like a like a couch and you can have up to 25 ampers per channel so with the same logic you could control that but the motor controller would have to be replaced and it would have to be a bv one and for wheelchairs and the like that exists and i have a few of those as if i bought it it is one of these age bridge motors still packaged so yeah you can buy that and in china it costs between i think this cost 8 to 10 dollars and it's just a bigger version of the small pcb and then you can run bigger motors okay and you've already answered the next question also fern gesteuerten sessel so an all c couch exists not with this technology but technically no problem at all you just have to do it and that needs time and then there were some events and congress and you know maybe next year crazy all these different things that are put together then there's from little alex we have to talk more about the motor controller so how much current can they handle i mentioned 1.2 amps per channel that's 2.4 concurrent amps so at a certain point you could also add cooling but without it's i think 2.4 amps so that depends on the voltage we are using 5 volts right now so that's 5 watts what but theoretically up to 15 volts so that would be between 15 and 20 watts per channel also mal zwei okay very good and then quark says thank you for the presentation and then you already have 46 followers on mastodon yeah thank you i would like more followers then those are the questions and this concludes our presentation and we're saying goodbye from this stream ich war das auch mein letzter Vortrag beim rc3s herald and we wish you a lot of fun and we'll see you next time until then please wear your masks and we'll see each other bye thanks goodbye