The EiBotBoard was originally designed for the Eggbot project (www.egg-bot.com).
It is a small (2.2" x 2.2") two channel stepper motor driver board with
USB microcontroller. It is based on the UBW board and supports all
of the
commands that the UBW does, plus several extra.
The idea with this board is to have a simple way to control two stepper
motors from a PC over a USB connection. This is accomplished by two
microstepping chopper stepper motor drivers and a small Microchip PIC
microcontroller that has USB support. When you plug the EBB into a PC,
it will show up as a serial port. You can easily type commands to
it using a terminal emulator, or write your own application to send
commands for moving the stepper motors. The Eggbot project has also
developed an Inkscape extension that allows Inkscape to output directly
to the EBB.
The main command that gets sent to the EBB tells it to move the motors.
This command (the "SM" command) will cause the motors to move in a
straight line between two points on a plane. To make curved lines, just
break the curve up into small straight line segments. Each movement is
executed in a controllable amount of time, so you can control exactly
how fast each move executes. The EBB does not understand G-code.
Different board version have different features as the requirements
changed. This board has been evolving for almost a year and a half,
with 5 versions designed and built. As it turns out, it takes awhile to
get it right I guess!
Name Change:
The board was originally called EggBotBoard, for (hopefully) obvious
reasons. As of hardware version 1.4, the name changed to EiBotBoard. As
it turns out, this little board is good at doing WAY more than just
plotting on eggs, so we didn't want to limit the scope of the board to
just EggBots. Why Ei? Well, Ei is the German word for Egg, and we could
keep the same
acronym.
This is board version 1.1 - (The one that was in 2009 EggBot Beta Kits)
This page is a documentation page for the EBB project. It includes
design files, firmware versions, and source code for the EBB as well as
documentation on the commands that the EBB supports.
You send commands to the EiBotBoard over USB, using either a custom
application on the PC side (Like the Inkscape plugin that was written
for EggBot) or a terminal emulator like TeraTerm. The commands are all
simple ASCII and are all human readable. (And writable!)
All of the commands are documented on the EBB
Commands page.
Hardware and Firmware Versions
EiBotBoard has had several hardware versions, and also several firmware
versions. Here is a list of the hardware (board) versions: (The board
is called EBB, the firmware is called EBF - EiBotFirmware)
Hardware Versions
EBB v1.0:
Four channels of stepper driver, with A3967 driver chips
Two high current digital outputs (for solenoids, fans, relays,
etc.)
24 I/O pins, each with power and ground
Alternate power input for using some I/Os as RC servo outputs
CPU is Microchip PIC18F87J50
SPI in and SPI out connectors for daisy-chaining
Firmware never completed - showed four channel stepper motion and
solenoid output, but not much more than that
EBB v1.1:
Two channels of stepper driver, with A3967 driver chips
One high current digital output for solenoid on EggBot Beta
CPU was either Microchip PIC18F45J50 or 18F46J50 (check for white
colored door
on SchmalzHaus logo - indicates 46J50)
This version was the one that was shipped with the original
Beta EggBotKits at Maker Faire 2009
The firmware versions are not as contiguous as the hardware versions.
The firmware is called EBF (Ei Bot Firmware) and due to changes in the
hardware, there are different builds of each firmware version for the
various hardware versions. At some future point in time, there might
only be one firmware version for all boards, and there would be some
mechanism for the firmware to know which hardware version it is running
on and configure itself appropriately. (probably by using a block of
Flash to store configuration information)
These firmware versions are based on the UBW code, modified with extra
commands for RC servos, stepper motor motion, etc. In order to compile
these projects, you will need the free MPLAB IDE, the free C18 compiler, and the free Microchip Applications Library
(latest USB stack, at least v2.6a) all from Microchip.
EBB v1.8 (complete zip of
the project files - including projects for v1.0, v1.1, v1.2 and v1.3
hardware - note that as far as software is concerned, v1.3 hardware =
v1.4 = v1.5 hardware)
EBB v1.8.2 (complete zip
of
the project files - including projects for v1.0, v1.1, v1.2 and v1.3
hardware - note that as far as software is concerned, v1.3 hardware =
v1.4 = v1.5 hardware)
Changes from 1.8 include updating to new Microchip USB Stack
v2.7, new USB PID/VID (and new .ini file - see below), and USB stack
now resides inside project folder
Only difference from 1.9.5 is that the reset and interrupt
vectors below address 0x1000 were removed to make merging with the
bootloader easier. No functional differences.
EBB Firmware Driver for Windows (XP, Vista 32/64, Windows 7 32/64)
The following zip file contains an INF file. This INF file must be used
the first time the EBB is plugged into a Windows computer. It tells
Windows what driver to use with the board, and it contains unique
strings that identify the board as an EiBotBoard from SchmalzHaus.
This INI file will work for all versions of EBB Firmware. However, any
version of EBB Firmware 1.8.2 and
above MUST use this custom version of
the INF file, not the generic one that comes from Microchip.
If you ever build your own EBB, or if you need to re-program a part
from scratch, you'll need the bootloader images. Please see the EiBotBoard Bootloader information page
for hex files and more.
Updating Your Firmware
You'll need a Windows PC (XP, Vista and Windows 7 supported, I
believe), a USB cable, a power supply for your EBB (for boards earlier
than v1.3), the latest version of .Net (if you get an error while
bootloading, updating your version of the .Net runtime may be the
cause) a HEX file from above that you want to program into your EBB,
and this program.
Power on your EBB with the power supply, and connect the USB
cable to your PC
Press and hold the PRG button while pressing and releasing the
RST button, then release the PRG button