Motor Controller 7 Board

This was a project assigned to me during my Tekbots Internship during the Summer of 2019. The objective was to update the Tekbots motor controller board version 6 to accept the cheaper and readily available Arduino Nano Clones. The motor controller board is meant to build a demonstration robot that could serve as an example to the incoming freshmen that were going to be taking the revamped version of ECE111. Their objective was to build a simple bump bot that could be controlled by a user and get around obstacles by running into them. Here’s a picture of one of the blank boards (Image below).

Having a version of the motor controller board that operates off the Arduino Nano would make for a very assessable design for freshmen who may not have much exposure to embedded programming. This design was made for education purposes. Here’s the populated board sitting on my bump bot (Image below).

The older motor controller version 6 is meant to accept a Teensy 2.0 development board. A very good dev board that comes at too high of a price given the way it was used by freshmen coursework.

The motor controller aspect of the board functions like an Arduino Shield where there are I/O pins in the Arduino that are directly routed to pinouts on the board peripherals. These peripherals were the LM293DNE motor controller and the HC-05 Bluetooth module.

The LM293DNE was routed to D5 (PD5) and D6 (PD6) for the controllers 1,2 EN and 3,4 EN respectively. The motor direction inputs were left to header pinout to keep potential designs flexible. There are also two bidirectional LEDs on the motor output channels to indicate the direction of the motor. Typically, green is for forwards and orange is for backwards, but the motor can be attached to the channel with the opposite polarity and those colors would be reversed (This will not affect their function).

The HC-05 Bluetooth module was routed to D0 (PD0) and D1 (PD1) for the modules RX and TX respectively. This allows the Bluetooth transceiver to receive anything from the Arduino Nano over the UART pins so it can then be transmitted out though the Bluetooth protocol. The default settings of the HC-05 includes 9600 baud rate, 8 data bits, 1 stop bits and no parity bits. I changed the ATmega168P code to match the defaults for simplicity. Here’s a video of the bot in action!

Here’s a GitHub link to the basic Bump-Bot Behavior with basic Bluetooth control available, written in embedded C to prevent any freshmen kitty coders from using this for their project.

Here’s the Thingiverse link to the bot base that I designed for housing the updated motor controller board, breadboard for prototyping, and motor chassis (very simple only two posts). All of the parts are meant to be cut from 3mm acrylic using the DXF (Drawing eXchange Format) files. However, the any vector image version of the Solidworks files will work.

Project Links

Article last edited: August 2021