dstav blog

Building BlinkBeepSketcher robot

  • Published on

BlinkBeepSketcher is a robot that I planning to build. It is s small, low-budget educational robot, that will draw simple shapes on paper! The user will input a short set of movement instructions, which the robot will follow. The robot will have a marker holder which will draw on the paper as the robot moves.

The objective is to teach the concept of sequential execution, in a way that is fun and engaging with real world results. Due to the multi disciplinary nature of robotics, the robot can also serve as a platform to learn about electronics, mechanics, and programming.

The hardware parts of the robot will be 3D printable, and electronic components will be easy to source and low cost. Hopefully this will make the robot accessible for anyone interested in building one.

Goals

  • Able to draw simple shapes on paper
  • Easy to assemble
  • Low cost
  • Easy to source parts
  • Simple to use

Design

The robot will have two motorized wheels for locomotion, and a passive support wheel at the back. For motors, I will use two small-factor stepper motors. Stepper motors offer precise control over the movement of the robot, which is important for this project. Of course, no matter what the motors are, there will always be some uncertainty in the movement of the robot. This will affect the accuracy of the drawings. Furthermore, the more the robot moves, the more uncertainty accumulates, leading to worse results. Therefore, the robot will be limited to a short set of instructions, in order to keep the shapes simple and recognizable.

The robot will be controlled by an ESP32 microcontroller, which is programmed using MicroPython. I chose this microcontroller because it offers WiFi which can be utilized for the user interface, is low cost, has enough memory to support Micropython, and I am familiar with it. I will include more details about the rest of electronics later on as I progress with the project.

For now, here is how the robot components will be laid out (top-down view):

Alt text