High School (Year 11) Systems Engineering Project by Liam Price. A small handheld drawing robot that can be controlled through the internet. I made two models as gifts for friends back in 2019.
The physical build was made as a 3D model and printed on a FlashForge 3D Printer. The electrical components used include 2 servo motors for the wheels, 1 servo motor for the pen actuator, 1 lithium-ion battery, 1 Wemos D1 Mini Espressif Arduino board, battery charging components and a wireless charging coil (2019 model) / magnetic charger module (2020) I also melted and forged led to sit inside of the robot to help give it more weight so the pen could actually draw on paper. I used small earth magnets to keep the front wheel ball bearing in place for light and easy rotation while drawing.
Built with Visual Micro in Visual Studio 2019. The libraries used are ArduinoFirebase, ESP8266 Community, WifiManager, PubSubClient, and the Arduino library. The main c++ program can be found in the .ino file and the header files are located in the include folder. The website files such as the html and javascript file can be found in the web-server folder. You can also find the electrical schematics and 3D print STL files in this repository (built with ProDesktop 8.0)
I originally built this project when I was pretty inexperienced at software development, therefore the original program was written horribly. The code that you will find in this current repository is a re-write of what I originally wrote back in 2019. At the time of writing (9-08-2021) the current main branch is not yet functional as I am making the transition from using Firebase to MQTT for this project, however, you can still successfully compile the code on to a Espressif board such as a Wemos D1 Mini, it just won't really do anything. If you would like to see the TERRIBLE (yet functional) original software I wrote for this back in 2019, you can view it here
First model: (2019 Wireless Charger)
IMG-8340.mov
Second model: (2020 Magnetic Charger + other improvements)