Carl Burks is a software developer for a global financial institution. With over ten years experience in technology and software development for financial organizations and over twenty years of software experience, Carl Burks provides articles, musings and insight into technology issues, software development, and other selected topics.

Robot

2017-06-21T21:56:03.000-07:00

Authors:
Carl Burks

Hardware

A robot that doesn't move is often called a computer, so lets start with that.

You are going to need something to be the brain of your robot. Lets say you picked an Arduino. That gets you easy access to a lot of things, but probably doesn't go far enough. Lets couple an Arduino with a Pi:

This was $12.86 from Amazon:

Elegoo MEGA 2560 R3 Board ATmega2560 ATMEGA16U2 + USB Cable Compatible With Arduino

That gets you plenty of pins for most applications.

This is $35.81 from Amazon right now:

Raspberry PI 3 Model B A1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM

Without anything else you are up to $48.67.

The PI will need some storage.

Amazon has this for $12.99:

Samsung 32GB 95MB/s (U1) MicroSD EVO Select Memory Card with Adapter (MB-ME32GA/AM)

So you are up to $61.66

The Pi has Bluetooth and wireless so that gives us connectivity.

Your robot still can't move so lets fix that. Motors give you movement:

Easyget 5pcs Sets 28BYJ-48 ULN2003 5V Stepper Motor + ULN2003 Driver Board for Arduino.

From Amazon they are $13.68.

You are now up to $75.34.

The motors aren't going to be attached to anything so if you don't have a 3d printer you can take a cardboard box and cut out some wheels. If you are building a robot, hopefully you are clever enough to find something to attach your motors to.

If you have a 3D printer and some technic Lego blocks:

stepper motor lego coupler

If you don't like Lego, here are some simple wheels:

Customizable Wheel for 28BYJ-48 stepper motor

If you don't have a 3D printer then searching:

AutoEC 2pcs 68mm Tire Wheel for Smart Car Robot

finds you two wheels for $6.99. I'm not adding this to my cost because I'm going to make my wheels.

Your robot can now move, but will need to be tethered to the wall if you don't add a battery. A cellphone rechargable power bank will work nicely. I've already got one, but you can find them for around 20. It might be worth it to power the motors with their own power source.

You are now up to $95.34.

Your robot probably will want some additional senses.

Here are some options:

  • Bump sensors
  • Light sensors
  • Camera
  • Ultrasonic

The cameras range from 10 to 30. If you get the $30 camera with nightvision and a sensor pack you are up to $155.34.

Compare this to the Mindstorm $349.95

Okay so the Mindstorm is much more user friendly. It is targeted towards kids, but look at the features:

Custom Robot

  • 5 stepper motors
  • Display None unless the sensor kit had one
  • HDMI Support
  • 1.2GHz 64-bit quad-core ARMv8 CPU
  • 1 GB RAM
  • Bluetooth
  • WiFi
  • Linux
  • USB Host
  • Ethernet
  • frame not included build out of wood, plastic, or 3d print lego adapters

Mindstorm:

  • 2 large and 1 medium motor
  • 178x128 monochrome LCD
  • Processor AM1808 (ARM9)
  • 64 MB of RAM
  • 16 MB Flash
  • Bluetooth
  • No stock WiFi dongle available
  • Linux
  • USB Host
  • No Ethernet
  • Lego Blocks to build frame

Okay on paper it looks like the Custom Robot is the winner for price for features. One concern is will it work when you plug it all together? With the Lego robot it most likely will. Also you have the backing of the Lego name behind you. Much like a custom assembled PC you are on your own with the other robot.

Savings

With a few modifications you can drop the price, possibly to a sub $100 robot.

Swapping the PI 3

A PI Zero could save you a few dollars. I'd make sure to get one with WiFi.

This one is $26 right now:

Raspberry Pi Zero W (Wireless) & Zero Essentials Kit

You will have to solder the header pins if you want to use them, but if you are connecting to the Arduino via USB you might not need to.

The Pi Zero is going to be slower, and may not be compatible with everything.

Dropping the Arduino

You could control the motors directly from PI. Controlling the 28byj-48 with the driver board uln2003a from a Pi

This will use up a lot of your pins, but save you twelve dollars.

Only buying the sensors you want

If you know which parts you want you can really cut costs by ordering just the ones you need instead of a $30 kit. This price savings varies.

Making do with a cheaper camera

You can cut the price by buying the cheapest camera. The one listed was $30, but if you get a $10 model from Ebay, you can save $20.

Development.

With a custom robot you start from scratch. First you need an OS for the PI. There are a lot of articles explaining how to get a Pi up and running. The next bit of wiring is getting the PI talking with the Arduino. You have a few options:

  • USB
  • TXD RXD non-USB Voltage converting recommended

USB - Arduino Serial Oscar Liang - Rasberry PI and Arduino serial connection

If you want to run motors straight from the Pi you might need a multiplexer. Running from the Arduino offloads some of the responsibility and gives you access to arduino boards and tutorials. Most things can be done without the Arduino, I just like the flexibility.

So the PI can be coded with anything you can code for Linux. The Arduino uses a Sketchbook. It is really a strain of "C" and has its own IDE.

Arduino I like to use WingIDE or Visual Studio Code for Python and the Arduino IDE for my development.

WingIDE

Comparing this once again with the Mindstorm, it has its own visual IDE which is simple enough for children to use.

Mindstorm EV3 App

Robot body

I've provided several part options for a custom robot but haven't really described how it will look. Your robot is yours. You will need to sketch out what you want it to look like. When you are building consider. Are the motors powerful enough to move. Can the robot stop itself? A bump sensor will go a long way to protecting your investment. If you are completely stumped for ideas why not check out Explaining Computers YouTube channel. His robot is from a kit but would be a good start. I've built a few robots, some from kits, some Lego robots. If I build another from scratch I'll post pictures and source code on GitHub.