Skip to content

Files

Latest commit

761483b · Aug 23, 2012

History

History

docs

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.