Files
Latest commit
docs
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
ABOUT Gumbi is a Python-powered interface to the real world, providing 64 (expandable to 128) I/O pins, controlled via USB. Gumbi is useful for controlling, interfacing and prototyping many different devices, ICs and hardware. A small sample of possibilities include: o Controlling LED/LCD displays o Reverse engineering JTAG o Reading and writing parallel and serial flash chips o Controlling RF synthesizers o In circuit emulation for Zilog Z80 CPUs API The Gumbi API includes pre-built interfaces for popular serial protocols, such as I2C, SPI and JTAG, as well as a generic parallel interface. Additionally, a GPIO module provides raw read and write access to each I/O pin on the Gumbi board. The API and Python classes are easy to use and easy to extend. Here's an example of using the GPIO class to read and write I/O pins on the Gumbi board: from gumbi import GPIO io = GPIO() io.PinHigh(1) io.PinLow(2) print "Pin 3 status:", io.ReadPin(3) io.Close() HARDWARE The Gumbi hardware consists of an AVR microcontroller which registers itself with the host computer as a virtual serial port. The microcontroller acts as an interface between the host computer and the 16 bit I/O expansion chips on the Gumbi board. Although the Gumbi board uses four I/O expansion chips with a total of 64 I/O pins, it can support up to eight expansion chips providing 128 I/O pins. Additional expansion chips are easily added via the expansion/ICSP connector, and are automatically detected when the board is powered on. This allows users to attach additional I/O pins without needing to modify any code or firmware. FIRMWARE The firmware for the AVR microcontroller is freely available and can be easily upgraded via USB; no additional hardware or programmers are needed. To put the microcontroller into program mode, short the 'PROGRAM' jumper on the Gumbi board, followed by the 'RESSET' jumper. This will place the AVR chip into prorgamming mode. You can then download new firmware to the microcontroller using Atmel's FLIP software, or the open source dfu-programmer utility. To take the microcontroller out of program mode, remove the PROGRAM and RESET jumpers and power cycle the board.