by Great Scott Gadgets
GreatFET One from Great Scott Gadgets is a hardware hacker’s best friend. At the center is a powerful NXP LPC4330 (Cortex M4 @ 204MHz) with two USB ports, one host and one peripheral, so it can act as a ‘man in the middle’ for USB interfacing. With an extensible, open source design, two USB ports, and 100 expansion pins, GreatFET One is your essential gadget for hacking, making, and reverse engineering. By adding expansion boards called neighbors, you can turn GreatFET One into a USB peripheral that does almost anything.
Whether you need an interface to an external chip, a logic analyzer, a debugger, or just a whole lot of pins to bit-bang, the versatile GreatFET One is the tool for you. Hi-Speed USB and a Python API allow GreatFET One to become your custom USB interface to the physical world.
- programmable digital I/O
- serial protocols including SPI, I2C, UART, and JTAG
- logic analysis
- analog I/O (ADC/DAC)
- data acquisition
- versatile USB functions including FaceDancer
- high-throughput hardware-assisted streaming serial engine
- four fabulous LEDs!
GreatFET One ships in an ESD bag with a high-speed USB cable and a wiggler for easy separation of neighbors. Enclosures and neighbors are sold separately.
GreatFET is a next generation GoodFET intended to serve as your custom Hi-Speed USB peripheral through the addition of expansion boards called “neighbors”.
GreatFET is designed to provide a significant step up in capabilities from GoodFET while making the design manufacturable at a lower cost than GoodFET. In addition to being designed for automated assembly, it can be hand-assembled with a soldering iron, though it is a more complicated assembly than GoodFET. An important similarity to GoodFET is that GreatFET has a USB bootloader in ROM, so it is possible to build a board by hand and install firmware onto it without the need of any external programming hardware.
Have some info to add for this board? Edit the source for this page here.
Adafruit Blinka Installation
We use a special library called adafruit_blinka (named after Blinka, the CircuitPython mascot) to provide the layer that translates the CircuitPython hardware API to whatever library the Linux board provides.
For example, on Raspberry Pi we use the python RPi.GPIO library. For any I2C interfacing we'll use ioctl messages to the /dev/i2c device. For SPI we'll use the spidev python library, etc. These details don't matter so much because they all happen underneath the adafruit_blinka layer.