SAMI-Bot - Learning Platform for Robotics

by Danni FR in Circuits > Arduino

45 Views, 3 Favorites, 0 Comments

SAMI-Bot - Learning Platform for Robotics

IMG_20190304_233959.jpg
IMG_20190302_115157.jpg

Meet the SAMIBot – Your Gateway to Advanced Robot Programming

The SAMIBot is a compact and powerful educational robot designed to make learning advanced motion control both simple and fun. Perfect for robotics competitions and classroom environments, it's an ideal platform for mastering precise robotic movements.

With SAMIBot, you can easily program accurate distances, smooth turns, and complex trajectories—all using Arduino, making setup and customization fast and beginner-friendly.

Thanks to its SAMI motor drivers and the powerful Trinket M0 microcontroller, SAMIBot can handle complex math operations on the fly. You don’t have to worry about the calculations—just tell it what movements you need, and it takes care of the rest.

Whether you're a student, teacher, or robotics enthusiast, SAMIBot makes advanced robotics accessible, engaging, and incredibly rewarding.

PD: thanks to Emily Velasco for the incredible cover photos edit.

Supplies

IMG_20240826_160019838.jpg

You will need the following materials for this robot, however you can add more hardware at will if you want a complex or specialized robot for a task.

2x 5:1 Micro Metal Gearmotor HPCB 6V with Extended Motor Shaft

2x Pololu Ball Caster with 3/8″ Metal Ball

1x Pololu Wheel 42×19mm Pair

1x Pololu Micro Metal Gearmotor Bracket Extended Pair

1x Pololu 6V Step-Up Voltage Regulator U3V50F6

1x Adafruit Trinket M0

1x Battery Holder 4 x AA

2x SAMI - Smart Motor Driver

4x M3 female Standoff 6cm long

8 x M3 screws 12mm long

2x M3 flat head M3 screw 6mm long and nuts

6x M2 screws 10mm plus their Nuts

1 x Round Rocker switch 16mm.

Wires to attach everything together. You can also use dupont connectors for a better organization and modularity.

Make the Chassis

lasercut.png
print.jpg
fusion.jpg

For this step you can 3D Print or lasercut the chassis. There are 2 pieces required for assembling this robot, the top and the bottom. You can find the files attached here. Be creative with materials and colors, you can archive good looking results playing with this.

This pieces were designed in Fusion 360. If you need to modify something please feel free to ask me for the design files .

Assembly the Robot

IMG_20240828_233041653.jpg
IMG_20240829_174607045_HDR.jpg

Assembly the SAMI drivers to the motors as explained in this tutorial in the step 2. Then attach their wheels.

As follow you can place the battery holder, the step up, the trinket M0 and the ball caster in their respective positions using the holes, screws and nuts for the purpose. Also you can put the motors in the chassis with the brackets. Is really easy to do that. Don't forget the counterweight, they are filled with nuts for adding the extra weight. This will make your robot more stable.

Pay attention with ball casters and wheels, you must add some spacers to match height of the platform to the ground.

Place the standoffs only in one of the sides, in the next step you will need to wire everything together before joining top and bottom.

Wire the Robot

-7mqck0.jpg

The robot must be wired as follows:

  1. Battery holder negative lead to all negatives in SAMI drivers (black wire), step up and Trinket M0.
  2. Battery holder positive lead to power switch in.
  3. Power switch out to step up in.
  4. Step up up out to SAMI's orange wires and Trinket M0 Bat pin.
  5. Trinket M0 3V pin to red wires of SAMI's.
  6. SAMI's white wires (SDA) to Trinket M0 pin 0.
  7. SAMI's yellow wires (SCL) to Trinket M0 pin 1.

Enjoy It

IMG_20240901_225157279.jpg
IMG_20240901_225211051.jpg

Now it's time to enjoy your new robot, however SAMI motor driver library and Adafruit Trinket M0 board must be installed first in your Arduino IDE. You can follow this tutorials:

https://www.instructables.com/SAMI-the-Smart-Motor-Driver-for-Robotics/

https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/arduino-ide-setup

Note: you need to change I2C address of SAMI drivers too 0x25 and 0x26 for left and right motors respectively.

Once you have it, you can use the attached example code in Arduino. There is a guide with detailed instructions too.

Here is a video of the robot in action in a competition:


Thanks for reading and if you have any question please feel free to write it up in the comments.

Be creative and make improvements, there is a lot that can be added to deal with any challenge or requirement for learning new things!

Danny FR.