SMARS modular robot

by tristomietitoredeituit, published

SMARS modular robot by tristomietitoredeituit Nov 22, 2017

Educational Thing


SMARS acronym of “Screwless/Screwed Modular Assemblable Robotic System” is a simple robot designed to the educational field. The main features of SMARS are the reduced number of components, the possibility of mount it without screws and without soldering any part, it doesn’t need glue or similar and it’s really cheap to build. Another main point of SMARS is the modular design. You can mount different sensors and tools and design your own parts. In future I’ll add new modules or DLC to improve the model on my Cults 3D page (https://goo.gl/xK9s1V) but It would be nice if you could share your mods too.

Join the Facebook group! https://goo.gl/4EgJhX
Facebook page: https://goo.gl/Gcmxp5

To build the basic model (with “chassis -SL.stl”) you just need few extra components:
-2x mini 150RPM motors https://goo.gl/FK7nvk
-1x 9[V] battery (you can find it in a local shop)
-1x 9[V] battery connector https://goo.gl/P5gYos
 or https://goo.gl/F1wWUd
-1x Arduino UNO or 2009 https://goo.gl/6nCCMZ
 or https://goo.gl/gNpttN
-1x Adafruit Motor Shield V1 or V2 https://goo.gl/n9rXvW
or an L298P motor shield https://goo.gl/aHG2z7

For the screwed version ( “chassis -S Mk2 https://www.thingiverse.com/thing:2829401”) you just need two 25mm M4 screws and two self locking nuts.

The joints of the tracks are simply pieces of 1.75mm filament cutted at the right length.

To assemble the screwless version you will need a multi slip-joint gripping plier to insert the “slave wheels”.

One of the next DLC will be the Quadpod mod. if you are interessted to move from tracks to legs, use the screwed version “chassis-S Mk2 https://www.thingiverse.com/thing:2829401” (“chassis-SL” will not be compatible)!

Building instructions are in the "doc lite" folder.

These models fits also:
-3x AAA batteries (check on my profile for the DLC)
-1x PS3 controller 1800mAh 3.7V Li-Ion Battery (be careful and use it only if you
know what you are doing!) https://goo.gl/AR6pjf

If you like my projects, just tip me or support me buying the material from my links, it will not cost you extra money and you will allow me to finance new projects! I would really appreciate it!

Print Settings


BQ Witbox






only the "chassis_SL" needs supports (touching building plate)

Overview and Background


This robot is really easy to build and cheap. It can be assembled without screws or soldering and it's modular so it can be adapted for different purposes. I'm Swiss, so I don't know American scholastic system but I would use SMARS in last year of middle school, high school or universities/ colleges. There is more "open electronics" compared to a Lego NXT or similar, so students need a few knowledges about security, electrical laws and so on. It can be use to improve software development skills, CAD skills or electronics skills, students can design their own modules and customize their SMARS.

Lesson Plan and Activity

Lesson plan and Student documentation concept

I uploaded a lesson plan and a concept of the documentation (you need to write a new one, mine is just indicative)

Materials Needed


All the materials needed and instructions are in the general informations and in the "doc_lite" folder

Skills Learned

  • CAD
  • programming
  • soldering
  • manual skills
  • electronics
  • robotics
  • mechanics
  • Arduino programming

Duration of Lesson

2x 45min lessons

More from Robotics

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Can your SMARS robot follow a black line, if so with which sensor, and which piece in 3d.
Thanks you.

Votre robot SMARS peut-il suivre une ligne noire, si oui avec quelle capteur, et quelle piéce en 3d.

Hi, yes it can. You need this sensor http://www.dx.com/p/4pin-ir-infrared-obstacle-avoidance-sensor-module-436279?Utm_rid=95945498&Utm_source=affiliate#.WwGgo6XOM0M, the pieces in the guide for the SMARS_SL and the files ir_sensor_a and ir_sensor_b

I am very excited about this project with my daughter. I have printed almost everything. I just have a simple question.
Can I NOT use the motor shield and connect the dc motor to the arduino UNO directly??

I did one arduino based rover before using 2 continuous servo 9g and I did not use any motor shield and is working fine.
Just wondering if I can do away with the motor shield in the SMARS setup. I will be using the regular 9v battery.

Any input will be appreciated.


Hi, unfortunately with this motors you can't. They need something like 200mA and an arduino IO pin can give maximum 40mA. You can do it with the servos because they have s, +and -. SIGNAL (s) is only a control and doesn't require so much current. Learn how to use a motor shield can be really useful for a lot of projects, so I suggest to use one, the adafruit v1 is enough, it's cheap but allow you to control many motors without current problems.

Thanks for your prompt reply. I will take your advice to learn more about the motor shield.

I don't understand is my uno or l298 is bad. As arduino only works when connected with computer (greend light on) and then robot starts moving. Should it have additional wiring for arduino ? By the way nice desing, added bearings to wheels

Are you using the 9v battery configuration? Is the jumper connected? It gives no signals when you use only the 9v battery as power supply?

Yea, just picked a few of different 9V batteries. What's interesting there is no effect if it's connected or not, it is near the power terminal l298.

Mmh try to ask in the community

Hi, at the moment is not possible. An alternative to the suggested motors, are the 28bjy-48 stepper (but they are slow AF) or the sg90 micro servo motors (you have to cut them, modify for 360 rotation and you lose the space for the battery) so my tip is to chose the N20. All the future mods, will be based on this version of SMARS and the compatibility with alternative chassis will not be guarantee.

I've been looking around for code on programming a Keyes IR remote to this, but have not seen anything about how to tell the motor what to do when certain keys are pressed.. Know where I can find a tutorial for this?

This could help: https://learn.sparkfun.com/tutorials/ir-communication then it depends on what motor driver are you using. For the adafruit motor shield v1 and v2 there are functions like "myMotor.run(FORWARD)", you put it in the condition "if(results.value == 0xC284) //if the button press equals the hex value 0xC284
//do something useful here
and so on

Comments deleted.
Comments deleted.

А нет исходников для SolidWorks?

Не сделано мной, может быть, в сообществе кто-то переработал все

The motors indicated are for 6V, will they be OK with the 9V supply?

How is the ultrasonic sensor connected to the development board? what kind of wires should I buy?

That guide is great. I see on his main photo that he has a black and red on off switch. Do you know I can order that?

Sorry I don't know. Korey is a member of our community on Facebook, you can join us and ask directly to him

Можно использовать моторы на 3v 150RPM?

Да, но вы должны кормить их отдельно

Is there a mod out there for the housing for the slightly larger hy-SRF05 ultrasonic sensor?

Comments deleted.

Hi, where can I find the model for the shovel?

I am not quite sure how to connect the IR sensor. I figured out that the EN can be jumpered but I always get ~1020 to 1023 when GND and +5V are connected. It looks like it even works without GND or +5V connected as long as one is connected? Duh?

It should go to 0, it has a digital output

No luck but it isn´t my day as it looks.
I just tried the ultrasonic version you posted here:
with Demo6
and it doesn´t give me any values either. Changed even the arduino. Nothing.
Though I have slightly different sensors HY-SRF05. With additional "out" pin .... yaw...

Demo 6 has been made by a member of the community, I didn't tested it, maybe there is a software error

Got it working for some seconds Trigger on SER1 rightmost pin (10) and Echo on SERVO_2 rightmost pin (9).
However the L2930 on the shield are pretty much crap. Get hot quick and obviously died because one motor stopped turning.
I swapped them and same thing happened. I guess the L298N would do better.

Are your tracks long enough?

It was running "floating" on a block. No chains on the wheels no track to follow. So absolutely no load. I checked the sensor with my hand then. I have a ton of other motor drivers so I´ll try those instead. I don´t like the shield anyway as it blocks all the pins.

Oh sorry for the mistake. Gotta find a way to use your version with the motor shield.

That's odd, have you calibrated the sensor? (take a piece of black tape, put it on a white sheet and turn the trimmer until the output change when you move from white to black and the other way around)

Sadly no significant value changes when turning the trimmer. Always 1016 to 1023. I have 10 of these sensors here and tried the third now. I doubt it is a poblem of the sensor :-/
I´ll give it a try without the motor shield.

You should see the led on the sensor change its status, if you are unsig the sensor I linked, the calibration is quinte hard because it's basically a distance sensor adapted to detect changes of light

Yes I use the one you linked in the youtube video comments. The LED is always green. Does it work better with matte black marks or glossy? I am just curious because it doesn´t give any significant values. The "flickering" between 1016 and 1023 is probably not caused by the light because it also happens if I don´t change the position or the light. The motor shield is not the problem either.

Comments deleted.

Hi, thanks for the very interesting Project.
I have a problem with the mechanical track. Its to short.
16 limbs are too short and do not get these over the tires. 17 are too far.

Does anyone have the problem too?

Hi, if anyone still has this problem. I suggest to try assemble whole track of 16 limbs to one line and then stretch them with two hands section after section. Worked for me a few times. I printed with PETG so could be the case of shorter limbs

Hi and you're welcome, nice to hear that you like it. There are some people with the same problem, one of the solution is to scale the segments to 102% with Cura or similar and print one or more

Yes I have the same problem. I reconstructed the mechanical track for this and made some new ones. Though still need more to print. I attached a file which includes two extended versions. Problem is too much extension makes the chains slide :-(

Hi thanks for the project. This is my first Arduino build. Can you show the specific wiring using the ultrasonic sensor and the Adafruit motor board? Do I need to solder the jumper wires from the sensor to the Uno board since the shield uses the pins? Is there an easier way? Thanks in advance.

Hi and you're welcome. You can use the two servo connectors if you don't want to soldering. Here a little schematics and a demo (I haven't tested it but it should work)

Thanks, that will work!

I'm using this great little robot to help my 6 year old get into robotics, and he is thrilled.

I would also like to create one that works with a Raspberry Pi. Do you know if anyone has created a version for Raspberry Pi? If not I will try to create one and share if I'm successful.

Q: On the mechanical tracks, why is the single hole on the 0.25mm smaller than the double holes? I can't fit 1.75mm filament there, only in the larger holes.

To block the filament. With my printer it works. All the tolerances are of ±0.5mm

Who would have the code for a L293D controller and a sonar ?

Do you need supports for the chassis? Thank you!

If you print them with the outer part on the plate, they are not necessary

Hi, only the "chassis_SL" needs supports (touching building plate)

Great thank you! Is the screwless version only for the wheels? Thanks

Hi ! First, really nice job !
I make right now my first arduino robot (Otto robot) and next i think i will use your SMARS ! it's look amazing !
Please, i have a question :
Whick type/reference of sensor did you use for the following line function ? (to match with the case)
Is it 2 channel sensor ?
Thank you for your feedback :)

Hi and thanks, nice to hear that you like it! The sensor is this one: http://www.dx.com/p/4pin-ir-infrared-obstacle-avoidance-sensor-module-436279?Utm_rid=95945498&Utm_source=affiliate it's a simple ir sensor with analog and digital output, you can mount one, two or three of that depending on the project.

Hi this is great, well done! Where are the pins to connect the track together? Thanks

Hi and thanks! The pins are simply pieces of 1.75mm filament cutted at the right length

This guy has a video of how to do the filament pins on a different tracked robot.

Perfect thank you! I'll be printing the SL model I think. Cheers!

You're welcome! That's great, share a pic of your SMARS once it will be ready!

Comments deleted.

Has that a meaning or are you just spamming on my page?

Can I find a manual how to write a arduino program for the motor shield and a ultrasonic sensor?

Do I need this Motor driver for the ultrasonic demo program, or is it also possible without it when I have the motor shield?

The demo is made for that driver but if you follow the tutorial I sent you yesterday, you can use the motor shield

All Right - thanks for the fast answers :)

Thanks for this nice project. My prints comes out very nice. The problem is that the hole for the motor shaft are not thight enough. Also the holes for the slave wheel and the tracks. The pieces of filamant comes out when the motor is running. I got this problem on all my 3d-printers (3). I am sure that the printers are calibrated. Do you have any tips please? Sorry for my english.

Hi and thanks, nice to know that you liked it. For the master wheel problem there is this solution SMARS modular robot - modified wheels found on #Thingiverse https://www.thingiverse.com/thing:2732013.
For the tracks you can melt the filament so it becomes like a rivet. I didn't understand what's exactly the problem with the slave wheels, do you have the chassis SL or the chassis S?

SMARS modular robot - modified wheels

Thanks for your reply. I will try your tips soon. The hole diameter of the slave wheel for the chassis S looks a little bit to great, but its okay, it works. I have printed both chassis. I like to use chassis SL first. Keep on your great work. Thanks again.

Comments deleted.

Has that a meaning or are you just spamming on my page?

So I'm thinking of remixing this to use a nodemcu with a motorshield (https://pt.aliexpress.com/item/NodeMCU-Development-Kit-NodeMCU-Motor-Shield-esp-wifi-esp8266-esp-12e-esp-12e-kit-diy-rc/32445659965.html).

I'm really a bit of a newb on robotics and electronics so please apoligise me if I'm saying something dumb...

Other than the node, the shield, a 5V power source(to power the nodemcu instead of the 9V battery. NOTE: just saw that a 9V works if plugged to the VIN pin) what would I need to remix the smars?
Note that by using nodemcu the control would be by wifi instead of bluetooth, so I'm aware that I would have to change the arduino code.

Thanks for the help!

Hi, you can make a simple adapter frame to adapt the Arduino's "rails" to the dimensions of that shield. Then for the power supply, if you don't want to use the 9v, you can mount the "3A battery mod" with a boost circuit to obtain 5 volts. Honestly I never worked with WiFi but I think that internet is full of help.

The software part(bluetooth-wifi) i'll manage!
It's the electrical part that I'm still learning!
I've read on the front page that you have 2x45min lessons? Where can I see them? can't seem to find the link anywhere.

Thank you for the help!

I didn't, it was a tip. The lesson plan that I wrote is thought for a 90min lesson or 2 lessons of 45 min.
I'm not a teacher and I don't know exactly if my lesson plan is suitable.
By the way for that mod you don't need big knowledge of electronics, you just need a booster (it turns 4.5v to 5v or more) and it's done. Batteries --> booster--> shield

Is there a way to adapt 28BYJ motor to the chassis? This geared motor is difficult to find.

hi. you can find this mod here:


SMARS - 28BYJ-48
Comments deleted.

Hello, to begin, I wanted to congratulate you for your amazing work. And I have a few questions,
in your documentation, you talk about two different shields for the motors (the big blue one and the small red one). For the project with the IR sensor, is it okay if i use only the small red one ?
And also, do you think that a raspberry would fit in the robot ? Or should I modify the design ? Because I wanted to add some features to the robot

Hi and thanks. Actually it is a choice between one or the other. The blue one is the "easy way" with the red one you have to soldering some wires. At the moment with the available mods, you can mount an Arduino Uno, 2009 or mini or a raspberry pi zero or zero w.For the IR project you can use both but
If you use the red motor driver, you have to use the 3A mod, otherwise there is no place for the driver or you can mount the red driver on a breadboard shield and use a 9V battery

Здравствуйте! Скажите, пожалуйста, можно ли использовать другие моторчики (например 100 об/мин или 200 об/мин)? Спасибо

привет, двигатели под 150RPM хороши, выше, я не знаю, я пробовал с ними с 400 об / мин, но не имел достаточной силы

а если ниже частота вращения, например 100 об/мин?

в этом случае он работает

Ive printed all the parts and very impressed with how its turned out thank you.

However the tracks seem too tight causing to much friction for the motors to turn them. Whats the best way to free them up a bit?

Hi and you're welcome. The tracks are directionals, have you tried to rotate them of 180°? Otherwise I suggest to scale them with Cura or other softwares and print again one segment or more

This is really outstanding. Thank you for doing this. I cant wait to build one!

Thank you and your welcome. Join us in the Facebook group to be updated and share your ideas!

Hi! this project looks so professional! even the documentations looks like a lego kit :)

Is your Idea to upload the cad files? Are there available somewere?


Hi! Thanks, usually I don't spend much time in the documentation but this time I tried to do my best. The source files are available here on Thingiverse, they are in the "source_files.zip" folder. I designed all the parts with Cubify Design, the file format is odd and I don't know if other CAD softwares could open it. Let me know and have a nice Christmas!

can you upload the pen holder & the shovel models please??
thank you in advance.

Hi, I just uploaded the shovel, unfortunately I can't upload the drawing tool because it's not a free model.

Hi, I couldn't fine the shovel STL file!!!
could you tell me where can I find it please??
thank you in advance..

Can you post an example of the software you wrote to operate SMARS

Hi, the examples are in the doc_lite.zip folder

Could you share any video, or how to program it?

I'll try to record something this weekend. For the programming, you just have to download Arduino IDE software from https://www.arduino.cc/ , open a new sketch and paste there the content of one of the demo files in the doc_lite folder. in the sketches there are some explications about what the code does. There are a lot of examples online, you just have to see where are connected the sensors and install the right libraries