GOduino III - the breadboard-friendly Arduino-based robot controller by techbitar
GOduinio3.jpg
GOduino3-a-(1)-lowres.jpg
UPDATES
  • Nov 16, 2012 Featured on DangerousPrototypes.com  http://goo.gl/N4DIC
  • Oct 3, 2012: I have designed a PCB adapter to help position IR & Ultrasonic sensors 90 degree to breadboard to support GOduino III robot projects
  • Sep 1, 2012: Added EAGLE board layout

INTRODUCTION

The GOduino III is an inexpensive Arduino compatible Open Source Hardware robot controller. It's a simple and inexpensive robot controller (appx. $25). I built this controller for my robotics workshops as well as for my personal projects. The GOduino III can be inserted into a breadboard for easy prototyping. I have also developed a software library (Goduino.h) to support motor functions.

NOTE: This is my first PCB project so your feedback is most appreciated. I am also certain this guide contains plenty of typos. So over the next few days I will be making corrections and adding more details based on readers' feedback. Thanks in advance for your assistance.

BACKGROUND

This is a 3rd generation GOduino. The one before was the prefboard GOduino II and the first one was a breadboard GOduino.

1) GOduino II (prefboard)
http://www.instructables.com/id/GOduino-II-Arduino-L293D-Variable-Speed-Motor-/

2) GOduino I (breadboard)
http://www.instructables.com/id/GOduino-The-Arduino-Uno-Motor-Driver-clone/

OVERVIEW

The GOduino III is based on the ATmega328p microcontroller and the L293D dual h-bridge. It's built with DIP ICs and through-hole components for ease of assembly and repair.  This robot controller can handle 2 small servos and 2 DC brushed motors (max 1.2A for each motor with 2 X L293D).

The GOduino III can be programmed with a standard Arduino IDE via an FTDI USB/UART programmer or via the ICSP header using programmers such as AVR-ISP, STK500, or parallel programmers.

SPECIFICATIONS
  • Based on the ATmega328p microcontroller @ 16 MHz (the heart of the Arduino Uno DIP model)
  • Size:  5cm X 2.5cm.
  • Plugs into a breadboard with the help of 0.1" (2.54mm) male headers or you can solder female headers. 
  • Arduino standard digital, analog, and special purpose pins exposed.
  • Digital I/O Pins: 14 (of which 6 provide PWM output) - Analog Input Pins: 6
  • 2 X LED: one for power and another for pin 13.  
  • Reset button.
  • 2 X 3-pin 0.1" (2.54mm) headers (5V) for small servos.
  • 2 X 2-pin 0.1" (2.54mm) header for brushed DC motors.
  • 6-pin 0.1" (2.54mm) ICSP male header.
  • 6-pin 0.1" (2.54mm) male header to accommodate FTDI USB programmer.
  • Flash Memory: 32 KB of which 0.5 KB used by bootloader
  • SRAM: 2 KB
  • EEPROM: 1 KB  

PROGRAMMING
  • The GOduino III can be programmed with the Arduino IDE via an FTDI USB programmer
  • It can also be programmed via the ICSP header using programmers such as AVR-ISP, STK500, or parallel programmers.
  • The FTDI "FT232RL USB to Serial adapter" can be purchased for less than $10 from Ebay.
  • Also, you can use an Arduino Uno DIP to program the GOduino III ATmega328 microcontroller then insert it back into the GOduino III.
  • Auto-reset capability for FTDI programmers via the DTR pin.  

POWER
  • Logic Voltage: 5V supplied by the T7805CV regulator. 
  • Input Voltage (recommended): 7-12V. (limits): 6-20V
  • Motor Voltage: While the L293D motor driver IC is rated for 4.5V to 36V, we are bound by the recommended/limit  voltage ratings of the power regulator. 
  • 1N7001 diode protects against reverse voltage from the external power source.
  • The L7805CV regulator provides 1.5 A which is enough to power the GOduino III and 2 small servos.
  • You can swap the 7805 with pin-compatible low-drop out voltage regulators with higher current such as the LM1084-5V which can source 5A with a maximum dropout voltage of 1.5V.
  • The 5V regulator also powers the servos but not the motors.
  • For the motors, the L293D h-bridge gets its power from the DC jack or from the VIN pin directly. 
  • You can select to power the GOduino III from USB or External power with a pin jumper. Please note that USB power may not be enough to operate servos and motors.
  • The L293D h-bridge can supports 2 DC motors @ 600mA continuous current each. You can piggyback two L293D to double the current to 1.2A per DC motor. 

PARTS
  • Capacitor ceramic 0.1uF X 5
  • 10uF/25V
  • 100uF/16V
  • 100uF/6V X 2
  • Diode 1N4007
  • LED Red 3MM
  • LED Green 3MM
  • ATMEGA168P Microcontroller
  • 7805 5V regulator
  • L293D dual h-bridge
  • DC Jack female 1X2-3.5MM
  • 40-pin male header (0.1" 2.54mm)
  • DIP sockets 28-pin
  • DIP socket 16-pin
  • Resistor 10K Ohms
  • Resistor 1.0 K Ohms X 2
  • Reset button
  • 16.00MHz Ceramic resonator 3-pin

I am considering replacing the 3.5mm DC power jack with a terminal block for the next patch of GOduino PCBs.

You can get the EAGLE schematics for the PCB from Github along with the library. The board layout is being modified but I will post it to Github soon as I am done.

SOFTWARE LIBRARY

There are 4 motor functions in the Goduino library. They will be explained in the section on controlling motors. 
  • motorSpeed(mot1speed, mot2speed)  Sets speed for both motors.
  • motorStop(motorNum)  Stops a motor.
  • motorForward(motorNum)  Spins a motor in one direction.
  • motorBack(motorNum) Spins a motor in the reverse direction.
The GOduino III motor library and other support files can be downloaded from Github:
https://github.com/techbitar/goduino

VIDEO



 
Remove these adsRemove these ads by Signing Up

Step 1: The Eagle Schematic

GOduinoIIIv0.22.png
GOduinoIII-v0.21.jpg
The GOduino III is Open Source Hardware so anyone can download and reuse the design files from Github in Eagle 6.x formats.

https://github.com/techbitar/goduino
Mic100 says: Mar 5, 2013. 1:04 PM
thank you for the interest to :=) i'm work also for buiding un autonmous car and your goduino board will hlep me for this project
Mic100 says: Feb 26, 2013. 2:20 PM
good work Thanks :=)
techbitar (author) says: Feb 27, 2013. 7:31 AM
Thanks. Love your Mini 2-wheel robot :)
rch5 says: Feb 4, 2013. 3:50 AM
very 9c pro!
zabx2 says: Aug 26, 2012. 6:56 PM
Fantastic! Where did you order the PCB printing?
techbitar (author) says: Aug 26, 2012. 1:26 PM
You can try these guys
http://batchpcb.com
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!