A few months ago, I decided to purchase a robotics kit to program it with the kids. I chose a widely used model that can even be self-assembled from an acrylic sheet or a similar material. The idea was to use it with an ESP32, as that's what I usually use (along with ESP8266 and lately Raspberry Pi Pico), and program it using Arduinoblocks since it offers programming identical to Scratch, which is great for young ones to experiment and learn.
The kit I selected has numerous holes to attach various devices but is specifically designed to accommodate an Arduino Uno. ESP32 boards are considerably smaller, but when it came to connecting to the motor controller and sensors, it didn't fit well, and securing it to the chassis was not feasible. So, I started designing a board in Kicad to fit the ESP32, with connections ready for sensors, servos, and, of course, a motor controller.
The result can be seen in the photos, and it certainly improved the previous situation. The microcontroller board is securely attached, with various points ready to connect up to 5 proximity sensors, an ultrasonic sensor, a servo, and an L298N controller. Even the leftover pins are exposed in case one wants to control additional mechanisms or obtain data from other sensors. Finally, it has mounting holes arranged in the same way as the Arduino Uno, fitting perfectly into the kit.
As for the design, there are a couple of things to improve. The first is that it's challenging to program through the micro-USB once everything is assembled, as the cable interferes with the support of the ultrasonic sensor. More importantly, the supplied power is not sufficient for motors, servo, microcontroller, and sensors. So, in essence, a new version is on the horizon to address these issues. You can find everything related to this project on the Github repo, although at the time of writing this, I would recommend waiting for a new version.
By the way, I have to admit that for now, I'm the one playing with it the most. The kids have named the robot as "Roombi" since it behaves like a cleaning robot, but I have the impression that they prefer doing regular things in Scratch rather than moving servos or motors.