Introduction: Nova Spot Micro 3 - a Spot Mini Clone Quadruped Robot Dog
Hello Lovely People,
This project is (obviously) based on Boston Dynamics 'Spot Mini' robot dog. The original 3D design and files were created by Deok-yeon Kim on Thingiverse.com, to which I have made many design and structural changes to, as well as extended the length of her body, available on my Thingiverse.com or Github pages. Deok-yeon's design also included no electronics or Arduino code, all of which I have created into a working robotics project to share with you!
The following Instructable will unfortunately seem lacking in details, as the decision to create this was based on demand from my YouTube followers, and so I did not start documenting the build until Nova was already on her feet. But I am happy to answer any questions... just follow me on YouTube or join Nova's discord server:
NovaSpotMicro.com: https://novaspotmicro.com
YouTube Channel: https://www.youtube.com/c/ChrisLocke1969
Discord Server: https://discord.gg/bJWgTMccUx
Let's get started!!
Here are the supplies you will need to complete the project. In most cases equivalent substitutions are allowed, however, I can not offer any support assistance or advice thereafter.
NOTE: the part links below are Amazon affiliate links, more or less for short-link convenience, as I myself purchased 95% of the items in this list from Amazon. The links won't cost you any more, but will provide a few pennies to the project - with no obligation.
Supplies
The full parts list with links is available on Nova's website:
Step 1: The Bones & Body
This project requires lots of 3D printing, so get ready for nearly 100 hours or more of listening to your printer whirl and whizz!
For most parts, especially structural ones, I suggest the following 3D printer settings:
- minimum layer height of .15mm
- shell and top/bottom thickness of 0.8 to 1.2
- infill of 15% to 100%
Each part is different, and will require some thought and trial and error regarding printer bed orientation and support material settings.
Some parts, like the yellow body shell parts, should be printed at 1.2 shell thickness and 100% infill, since they are thin, and for maximum strength. And the black bone framework parts should also have moderate to high settings, for strength and for fasteners.
Here is a video where I share my general printing advice and technique, along with a demonstration of how I use Tinkercad to make design changes.
The Bones
The black colored parts are the "bones" of Nova. They provide the base for the structural integrity of the robot, along with the 12 high-torque, all-metal-gear servos they are attached to. They are assembled using various length 3mm and 4mm cap head screws, metal servo horns, and careful servo wire routing of the leg assemblies.
Below is an assembly view of Nova's bone / framework structure:
The Body
The yellow colored parts are the "body" of Nova. They provide some structural integrity of the robot, and a good part of her aesthetics. The top and bottom covers are printed as two parts each, since they were too large for most common 3D printers. These parts are easily glued together, with angled seams and glue tabs included in the design. The body parts are mostly fastened by their adjoining black bone parts, along with only 4 main body panel screws on each top and bottom side of Nova.
For best results, outside surfaces of most of the body parts should be facing up when 3D printing. The only exceptions to this are the Top and Bottom Covers (which are best printed standing vertically), and the MidArm Covers (which are best printed outside surface downwards with support).
Below is an assembly view of Nova's bone / framework structure:
Assembly
The assembly of the bones, body, and servo motor parts is pretty straightforward. The only moderately tricky part is assembling of the MidArm & MidArm Cover together with the Wrist. Here are a couple of videos with assembly guidance and some tips. CORRECTION: Please use BLUE Loctite thread lock and not RED! Red is permanent, and blue is not - you'll be better off if and when disassembling.
And finally, here is a recent video showing all of the latest body and bone parts, and their assembly:
Be sure to subscribe and check out my YouTube Channel for many more videos on assembly and design.
Step 2: The Muscles
Ok, now we're going to geek-out a bit and get a little technical.
Disclaimer - I am NOT an electrical engineer, I am merely a hobbyist with passion. While I may sometimes sound like I know exactly what I am talking about regarding motors, circuits, and the like - I only know what I've done myself, and haven't much working knowledge of the theory or physics behind electrical engineering. Please be cautious, as electricity can be dangerous and destructive. You have been warned! ;)
The Muscles
12 Servo motors and various power components are the "muscles" of Nova, providing the power and actuation to allow us to move her joints, and subsequently move her body. Nova has 3 joints per leg:
- Coax / Hip Socket
- Femur / Hip Joint
- Tibia / Knee Joint
Other flavors of Spot-Micro projects use less expensive, and so less powerful motors, but to no avail or success in my humble opinion. At final build, Nova weighs just around 6 pounds. Using non-high torque or plastic servos is a waste of time and money, as they cannot handle nor perform under such conditions.
The motors are controlled by a PWM Controller board that handles the power management and pulse control of the motors. Calibrating the motors during leg assembly is very important. Here is a video explaining calibration, motors, and PWM control:
And here is a video reviewing Power Management components:
Step 3: The Heart & Brain
Other flavors of the Spot-Micro project mostly use Raspberry PIs, along with complicated ROS or other robot control systems. Personally, and because I am simply a hobbyist, I prefer to take the more raw approach, regardless of the level of difficulty, in attempts to learn all that I can about a project along the way. That being said, I chose to use Arduino for Nova, which does indeed pose a lot of challenges, but also provides greater satisfaction of accomplishment in the end.
I have recently made major changes to my original electrical designs, by where now Nova runs TWO connected microcontrollers: an Arduino Mega and a Nano
The Heart
Nova uses an Arduino Mega for her heart. This board is connected to and controls the following components:
- PWM Controller & Motors
- MPU 6050
- PS2 Remote Receiver
- Battery Voltage / Amp Monitoring
- Power Distribution Components
- Arduino Nano (Nova's brain!)
The Brains
Nova uses an Arduino Nano for her brain. This board is connected to and controls the following components:
- OLED Display
- Ultra-Sonic Sensors (2)
- RGB LEDs (4)
- OLED & RGB Controls
- Arduino Mega (Nova's heart!)
This video describes the electronic components, but please note, this was prior to adding the Arduino Nano, which will be clear in the video following this one:
Here is a video describing how and why I decided to add a second microcontroller to the project:
MPU6050 Inertia Measurement Unit Demonstration
PWM Controller and Servos Demonstration
Step 4: The Conscience
This always ends up being the most complex part of any robotics project, in my humble opinion. Thankfully, I have a slight advantage over most hobbyists, in that I am a software developer by 26+ year career. And while this does not make me an expert at coding for Arduino, hardware, or more importantly, robotics... it certainly gives me an understanding of software design, capacities, and minimal frustration & grief over any coding learning curves.
As I mentioned before in this Instructable, most other flavors of this project have opted to use out-of-the-box software on a Raspberry Pi, or none at all. I've only seen a few projects where there is much hope or promise to be moving on the ground, if at all, even with their off-the-shelf solutions. And as I also explained previously, this is pretty much why I build projects - to struggle, and to learn.
The Conscience
I have built a hexapod as my most ambitious project until Nova came along, and I learned a lot from the project which I've applied to the design and build of Nova. The structure of her software comes from a motor-driving class I wrote for the hexapod project, and it works really well for controlling, sequencing, and choreographing movements of a robot.
Along with motor and movement code, the software also controls all of the components of Nova in conjunction with one another, as well as the communication between the two Arduino systems. Though as of this article, some features are not complete or fully integrated to date.
Here are a few videos reviewing the software that I have written for Nova to give her life and an ever-expanding conscience:
Step 5: Accessories
STORAGE / WORK STAND
There have been a couple of iterations for a stand that changed along with Nova's body design.
Here is the latest stand version:
PIR SENSORS
Nova now has 3 PIR Sensors installed and coded, ready for testing and inclusion in the next release of wiring, STL, and software files!
Here is a video showing the PIR Sensors and how they will work.
.
Step 6: The Files
I have made all of the project files available for download and use free of charge. The Github repository contains everything, including Code, 3D STL files, Wiring Diagrams, Parts List, and more. And I continue to post updated files to both GitHub and Thingiverse, as well as project video updates on YouTube - be sure to like, share, and subscribe, please & thank you, and happy building!
NovaSpotMicro.com: https://novaspotmicro.com
Github: https://github.com/cguweb-com/Arduino-Projects/tree/main/Nova-SM3
Thingiverse: https://www.thingiverse.com/thing:4767006 (tips are activated and much appreciated!)
YouTube Channel: https://www.youtube.com/c/ChrisLocke1969
Discord Server: https://discord.gg/bJWgTMccUx
Latest Project Update Video
Step 7: The Future
Nova is a project in progress, with several other builders contributing to discussing and developing new ideas. Below is a short list of features under way or in discussion to be added to Nova in her toddler years through adulthood.
- Movable Head
- Video Camera(s)
- Internet Connected
- Infra-red Human Detectors
- Follow Me Mode
- Inverse Kinematics
- Voice Controls
- Low-power Sleep Mode
- LIDAR Mapping
Visit Nova's website or join Nova's YouTube Channel and/or Discord Server to share your ideas!
NovaSpotMicro.com: https://novaspotmicro.com
YouTube Channel: https://www.youtube.com/c/ChrisLocke1969
Discord Server: https://discord.gg/bJWgTMccUx