-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
51 lines (37 loc) · 2.2 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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.