Robots with my kids

By: J. McCown 6 Oct 2024

My eldest son has recently got interested in BattleBots, on Discovery Channel (HBO Max streaming). When he has some time to spare after getting ready for school, we spend it watching BattleBots. When your cool big brother gets into something, it peaks your interest, so my youngest son has also taken an interest in robots. For me it is a win win situation, it is something fun I can do with you kids, doesn’t matter if it is just watching a few episodes or building a robot, quality time is all that matters.

Where to start? Well I have experience with Arduino Microcontrollers. As any over ambitious dad might do, he starts of complicated. I haven’t touched a ESP32 for the past 3 years, so I figured I would use that in an old RF Airplane controller to control a different ESP32. Well I gutted the controller, and to make it a bit simple I started coding using an Arduino Uno. I got some of it working, and even was working on a startup calibration sequence. I had my son type up some of the code, but then I notice I kept taking over some of the coding. In my mind I just wanted to get to a point where I wanted him to have some fun. As I noticed him leaving the room to do other things, I realized I need to change things up.

Changing things up, brings us to today. As we were driving around this morning taking care of a few things. I turned off the music so we could talk about what to do later in the day. He said he wanted to practice passing the basket ball. I asked about the engine project (he has been helping me turn the wrench on my FJ60). We agreed that I could spray the engine with some degreaser, so it could do its thing as we passed the ball. I asked about the coding.

As I expected he didn’t seem excited about doing robot coding. I asked if we could start off with something simpler. Then he mentioned how I took over the project the other day. I explained, that I realized what I did and was getting into a rush. That it is not the end project, but us having fun getting to that point (the journey). He agreed. I said we were going to start off with something simple like turning on an LED, then eventfully using a switch to control the LED. Then he started to come up with some ideas. I said those were good ideas, but we need to keep it simple and take it slow.

Later today when we got to programming. We pulled out the ESP32, made some code using the blink example as an example. though adding a few more things to it. We couldn’t get it to upload to the board. He helped me trouble shoot for some time. Then as younger bother came in to ask to play, I switched to the Arduino Uno. Why? I didn’t want this to be a failure. I wanted him to have a sense of success. The next time he came into the room, I showed him what I did and that it was working. Then we changed the time on the delays. BTW, he mentioned milliseconds earlier today as we were driving around (something he learned from me, proud dad moment). Then I showed him what the serial.print command was doing. As I said “LED ON” he saw that the LED was indeed on. Him and his little brother saw that I could tell from my screen that the LED should be on.

As they went to do kid things, I troubleshot the ESP32. It was not showing up in Windows Device Manager. It took me 5 attempts, to find a USB cable that did both power and data. Once the board was recognized by the computer, I then installed the drivers. Thanks to Adafruit, it pointed me to https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads

With the board working I installed an RGB LED. He came back, I showed him what I did and had him copy/pasted some of our previous code for the two other LEDS. Another win! As they were playing here in the office, I copied some code from the internet, modified the GPIO pins and it worked. We now had a RGB LED that could do other colors. Placed a sheet of paper over it(as a diffuser), so he could see the colors a bit better and he started to call out more than just red, green and blue.

Overall today was a success. Though if I didn’t reflect on what happened earlier this week, today would not have gone as well. We need to be able to reflect, learn from our mistakes, own them, and communicate. Happy programming my friends.


Comments

Leave a comment