Product Description:
The Firstbot robot controller is a versatile module for controlling robots and other electromechanical systems. The Firstbot includes Arduino-compatible hardware allowing you to program the system with the popular Arduino-compatible open-source software.
In addition to Arduino-compatible features the Firstbot has two onboard DC motor controllers, 4 RC servo input pins and 4 RC servo outputs. These functions are provided by a separate microcontroller whose firmware is also provided open-source for you to modify and improve.
Module documentation and application info are available to get you started right away. This is open source hardware, all design files are available.
BM011_Serial_Example.zip - Code example for controlling a motor speed/direction, generating servo control pulses, and reading servo pulses with the PIC16F1829 embedded on the FIRSTBOT.
FIRSTBOT_PID_code.zip - Code example that implements a PID motor position controller using analog feedback and analog control signals.
Arduino-Compatible:
This module contains 2 microcontrollers. The first is an Atmel ATmega328 that is pre-loaded with the open-source Arduino-compatible bootloader. The USB port may be used to program Arduino-compatible code into the controller. All i/o’s of the ATmega328 are pulled out to solder points in a fashion similar to popular Atmel based products. Digital pins 2 and 3 are shared with the second microcontroller to create a serial interface to the motor/servo control functions.
Motor/Servo Control:
The second microcontroller is a Microchip PIC16F1829. This controller has custom firmware for reading and writing servo pulses and for interfacing to two Freescale MC33926 DC motor controllers. The firmware is open source and written using Microchip’s free XC8 C compiler. The firmware implements a simple serial interface for controlling motors and servos (included at the end of this datasheet). The interface matches our BM011 module. Arduino-compatible application notes can be found at www.solutions-cubed.com
Custom Firmware:
Header footprints are located on the Firstbot that connect to programming pins on the ATmega328 and the PIC16F1829 (J7 and J11 respectively). Both can be programmed with custom firmware using development environments and programmers available from Atmel and Microchip.
Note: Product inlcudes through-hole connectors that are not soldered.