What is SMARS?
[SMARS or “Screwless Modular Assemblable Robotic System”][smars-link] It’s a 3dprinted STEM educative robot. I like it over other alternatives because of:
- Screwless assembly, doesn´t need any screws or glue!
- Reduced number of components or Very cheap and easy to find parts
- Modular - lot’s of upgrades can be found on thingiverse!
- Using so small motors makes electronics easy to implement
Why SMARS?
Wanted a small simple robot to test different control modules and after some search, i landed into [Smars modular robot project][smars-link]. This small robot is based around a 9V battery and a arduino uno board, i had laying around some esp32 based arduino uno sized board and a screw shield terminal so it looked like a perfect fit, i had already everything needed excepting some cheap 6V motors.
3d print and build
The model is very easy to print and build, no supports needed, had some problems when mounting the tracks but with a little bit of oil in the idle wheel everything works really well. In the parts of the original models uses 200rpm motors, mine are 300rpm as the other ones where not available, but its not any problem
Apart from the project stl’s you will need a way to place the 18650 batteries on the frame, and some way to charge them.
To charge them the easiest way you will need two tp4056 modules, and make some charger, i used the following Files and also to place the batteries i made the following remix. It’s pretty simple but its snappable and you dont need to re-print any smars part.
Electronics
Parts List
- Esp32 Arduino UNO sized board
- Arduino UNO protoboard shield
- Tb6612FNG driver board
- 2x 18650 batteries
- 18650 Battery charger
Schematics
For this project i made my own motor shield based upon the tb6612fng motor driver.
The board should have no problem with a 8V input from 2s 18650 directly for the motor driver. if you plan to use any other development board, check this point before.
Notice that all of the tb6612 are soldered to male pin headers to be able to configure the pins at will.
SMARS esp32 Code
To make the logic part of the project, i used the Arduino framework for esp32 and some external libraries. The board creates a WiFi hotspot, and a async server. In the html server, a joystick is displayed. The web browser calculates the movement depending on joystick coordinates and sends the data to a async server on the esp module. This server sends the speed settings to both motors drived by a tb6612fng driver board. You can find full project on the following blog entry or directly on github.