BUS PIRATE: three inexpensive SPI Digital to Analog Converters

As much as possible, we’d like to move control of all the Bus Pirate peripheral hardware to the FPGA. Then everything can be controlled through the state machine command pipeline. In Ultra v1c we moved analog voltage measurement to the FPGA by adding an SPI ADC. In a future revision it would make sense to […]

BUS PIRATE: pipelined and non-pipelined commands

Bus Pirate prototype Ultra v1b uses an FPGA to process commands sent through a FIFO buffer to a state machine. Pipelined commands can be loaded into the FIFO and executed by the state machine with per-clock repeatability. Non-pipelined commands halt the state machine while the MCU takes over to perform the command, the delay is […]

BUS PIRATE: first test of Ultra v1b with SPI EEPROM

Bus Pirate prototype “Ultra” v1b successfully wrote to and read back from a 25LC020A SPI EEPROM chip. The image shows the Bus Pirate reading 8 bytes of 0x02 from the EEPROM at address 0x00, and the bus activity can be verified on the logic analyzer graph. Still a long way to go, but it’s nice […]

Evolution of the Bus Pirate, the road to Ultra

Sjaak @ SMDprutser has been instrumental in pushing the Bus Pirate firmware and hardware ever forward. Check out his history of the evolution Bus Pirate “Ultra” for some great background: Unfortunately we run more or less into the same issues as we had with the Microchip controller: USB need regularly attention, which interferes with our […]

BUS PIRATE: pin order and cable colors

The Bus Pirate pinout was supposed to be intuitive, except for one Arduino-like mistake. Each protocol uses the same pin for similar functions, and the pins used are supposed to “walk” up the row. 1-Wire uses Master Out Slave In (MOSI, pin number 1). I2C uses MOSI (1) and CLOCK (2). UART uses MOSI (1) […]

BUS PIRATE: 2bit anti aliased font for small color LCDs

Bus Pirate prototype “Ultra” v1b has an IPS LCD to show pinout labels, voltage levels, and other useful info. The background image was done in Photoshop and is stored in the 32Mbit flash chip on the board. Pin labels and voltage readings are drawn on top of the background image with a fixed-width font. Most […]

Chinese cable and connector vocabulary

Bus Pirate prototype “Ultra” v1c will use a 0.5mm flex cable (FFC/FPC) to connect the display board. Of course we could just order the standard parts from Mouser or SZLCSC, but rooting around on Taobao is fun and gives a better idea of the sheer range of stuff out there. We picked up this sourcing […]

BUS PIRATE: LCD with pinout labels and live info

The Bus Pirate prototype “Ultra” v1b has a 10 pin 1.25mm connector for a display daughterboard. We wanted a more dynamic way to keep track of the pinout and other handy information like pin states and voltage levels. There are various reference stickers and labeled probe cables for the Bus Pirate v3 and v4, but […]

BUS PIRATE: Love the USB C connector!

Bus Pirate prototype Ultra v1b uses a common, cheap USB C connector and we are in love! Micro B connectors are a nightmare. Very inconsistent footprints, poor materials and build quality, and very weak mounting supports. Often the leads are hidden under the housing and conceal pesky shorts. Almost every Micro B connector we hand […]

PROTOTYPE: Bus Pirate “Ultra” v1b

Today we finished stuffing the first Bus Pirate “Ultra” v1b board. This includes the updates we posted this week, and a few other improvements from v1a: 8 general purpose IO pins 0.8-5.0volt programmable power supply Voltage measurement on all 8 IO pins Pull-up resistors on all pins, fed from Vout/Vref pin Display connector USB C […]

Bus Pirate: Reclaiming the Vpullup pin

The Bus Pirate Vpullup pin supplies a voltage to the on-board pull-up resistors. In the “Ultra” hardware it also powers the external half of the bi-directional IO buffer. MOSI CLOCK MISO CS AUX AUX2 (formerly ADC) Vpullup AUX4 (formerly 3.3Volts) 0.8-5.0Vout (formerly 5.0Volts) GND So far we’ve added voltage measurement to every IO pin and […]

BUS PIRATE: 0.8-5.0volt programmable output power supply

MOSI CLOCK MISO CS AUX AUX2 (formerly ADC) Vpu 3.3V 5.0V GND After adding buffered voltage measurements to every IO pin, we eliminated the dedicated ADC pin and turned it into a general purpose IO (AUX2). Now we’re going to take a hatchet to the on-board voltage regulators (3.3V, 5.0V) and replace them with a […]

BUS PIRATE: Voltage measurement on every pin

Bus Pirate Ultra v1a follows the same pinout as previous Bus Pirates. 5 I/O pins (MOSI, CLOCK, MISO, CS, AUX), a voltage probe (ADC), a voltage source for the on-board pull-up resistors (Vpu), two power supplies (3.3, 5.0volts) and ground. While we were building the prototype it became obvious that a few tweaks could make […]

PROTOTYPE: Bus Pirate/Logic Analyzer with Ice40 FPGA

Bus Pirate “Ultra” taps an iCE40 FPGA to power a combined Bus Pirate interface and logic analyzer that is infinity hackable. Previous Bus Pirates relied on the hardware peripherals available in a microcontroller, which vary in features and have the occasional bug. With an FPGA we can implement practically any peripheral with all the fixes […]

Shenzhen to Hong Kong on High Speed Rail

Even though Shenzhen and Hong Kong are basically the same city on opposite sides of a border, it’s still a frustratingly long trip to Hong Kong Central for a Reuben at Morty’s Deli. The new high speed rail line linking downtown Shenzhen to downtown Hong Kong makes the trip in just 15 minutes. A lot […]

HOW-TO: Add live websites to GIT without interruptions or security risks

Over at the DEV site we’ve been using GIT repositories hosted at BitBucket.org to push (deploy) changes to the live server instantly. It’s way slicker than uploading changed files by FTP, which has no roll back if something goes wrong. It also solves one of our China internet problems: routing to Bitbucket is much more […]