Sign in

Ian @ Dangerous Prototypes

@buspirate.bsky.social
1.4K followers 45 following 656 posts

Ian@dangerousprototypes. Slacker hacker, Instructable author, Hack a Day writer, Purveyor of hardware at Dangerous Prototypes and DirtyPCBs. Organizer of Hacker Camp Shenzhen. I made pink capacitors once too. We're also on: @buspirate@mastodon.social

PostsRepliesMedia
Ian @ Dangerous Prototypes @buspirate.bsky.social · 11/12/2025
This should be the final production version of the DDR4 adapter board. Did a last minute revision to add reverse polarity protection to the 9 volt programming voltage connection. Prototypes are in production now, after a final test we'll make a small batch.
050
Ian @ Dangerous Prototypes @buspirate.bsky.social · 09/12/2025
Automate your Bus Pirate with Rust programs using a crate that neatly abstracts the BPIO2 flatbuffer interface: github.com/DangerousPro...
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 05/12/2025
A Python library for Bus Pirate automation. This simple wrapper for the BPIO2 FlatBuffers interface makes scripting easy. Includes examples for I2C, SPI, and 1-Wire protocols - and a SPI flash read/write demo. Much cleaner than raw FlatBuffers. tinyurl.com/ykxdpv7v
tinyurl.com
BPIO2 FlatBuffers Interface
Bus Pirate FlatBuffers interface (BPIO2) documentation
050
Ian @ Dangerous Prototypes @buspirate.bsky.social · 04/12/2025
Download Bus Pirate FlatBuffer Tooling for C, C++, C#, Dart, Go, Java, JavaScript, Kotlin, Lobster, Lua, PHP, Python, Rust, Swift, TypeScript: github.com/DangerousPro...
github.com
GitHub - DangerousPrototypes/BusPirate-BPIO2-flatbuffer-interface: Libraries and tooling to use the Bus Pirate 5+ BPIO2 flatbuffer interface from multiple languages and scripts
Libraries and tooling to use the Bus Pirate 5+ BPIO2 flatbuffer interface from multiple languages and scripts - DangerousPrototypes/BusPirate-BPIO2-flatbuffer-interface
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 04/12/2025
The interface has three main pairs of Request/Response tables: Status - Check the status and read pin states. Configuration - Configure mode, settings and hardware. Data - Send and receive data in the configured protocol. docs.buspirate.com/docs/binmode...
120
Ian @ Dangerous Prototypes @buspirate.bsky.social · 04/12/2025
Extensive optional debug output from the flat buffer interface can be printed to the terminal. Know exactly what's happening under the hood when you're writing a new script.
120
Ian @ Dangerous Prototypes @buspirate.bsky.social · 04/12/2025
Control your Bus Pirate from PC software with the simple FlatBuffers interface. Flatc(c) provides premade tooling for a bunch of languages including C/++/#, Python, Rust, Go, Java, etc. Include the tooling in your app/script and skip the low level protocol stuff.
170
Ian @ Dangerous Prototypes @buspirate.bsky.social · 03/12/2025
As of this morning the DDR5 adapter plank is on back order for about 2 weeks. You might be able to score one at a distributor (PiHut UK) earlier. The DDR4 plank I'm working on now should be in production just in time for a messy Spring Festival delay :)
A PCB with two long sockets that can hold DDR5 SODIMM and UDIMM RAM modules.
030
Ian @ Dangerous Prototypes @buspirate.bsky.social · 02/12/2025
The ddr4 command to read/write/probe DDR4 is now live in the main Bus Pirate firmware. For now you'll need to provide your own adapter, but we'll have a UDIMM/SODIMM adapter available soon.
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 02/12/2025
DDR4 UDIMM (desktop style)RAM stick arrived for a final test of the adapter plank. The new Bus Pirate 'ddr4' command correctly identifies the module by reading the SPD data. I'm going to make a few tweaks to the adapter, and this should be the final production revision.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 28/11/2025
Power up test looks good. No smoke. Commands to clear and set write protection are successful. I'm going to make a slight change to the control circuit: - Use a FET to control the optocoupler for more 'on' current. - Add a resistor divider to monitor the 9V output.
040
Ian @ Dangerous Prototypes @buspirate.bsky.social · 28/11/2025
Big moment: will magic smoke escape? DDR4 wants 9 volts on address pin 0 before it allows changes to write protection. We're using a bench supply, to be replaced by a 9 V battery later. The High Voltage is applied when needed by an optocoupler and Bus Pirate pin.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 26/11/2025
Next I'll add a Bus Pirate command to read/write/backup the SPD chip. DDR5 is already supported, but DDR4 is a bit more complicated as it needs a 9 volt supply to change the write protection bits. Explanation of encoding and development updates in the forum forum.buspirate.com/t/ddr4-spd-r...
forum.buspirate.com
DDR4 SPD read/write adapter
DDR4 SPD plank arrived, and a used SODIMM just fell through the mail slot. The wrong header was soldered Still need to figure out the 9volt supply, probably a 9 volt battery. SA1 is held high to...
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 26/11/2025
Made a prototype adapter for reading/writing previous gen DDR4 RAM sticks. Dumping the contents via I2C is easy. We can tell that this is a DDR4 SODIMM made in 2018 by Kingston with Micron DRAM chips. S/N ACR24D4S7S8MB-4. There's some manuf. specific data too which may be extended profile info.
190
Ian @ Dangerous Prototypes @buspirate.bsky.social · 31/10/2025
Thank you! Will do this tomorrow!
010
Reposted by Ian @ Dangerous Prototypes
Robert Lipe @robertlipe.bsky.social · 31/10/2025
Ian, to your GPS resource, please consider adding the cross-platform, free, and open-source GPSBabel. CLI and GUI. Twenty four years & counting. It can reduce, interpolate, toss out junk, etc. Coming soon (merged to Git): Kalman filter www.gpsbabel.org Specfically www.gpsbabel.org/htmldoc-deve...
gpsbabel.org
GPSBabel: convert, upload, download data from GPS and Map programs
131
Ian @ Dangerous Prototypes @buspirate.bsky.social · 31/10/2025
It's my first real dive into GNSS and it's all a bit overwhelming :) I have had a lot of fun though. The next module to arrive is a big upgrade and I'm excited to see how it does.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 31/10/2025
Anyone going to 39C3 in Hamburg this December? It's my first, and I hope we get a chance to meet up if you'll be there too!
021
Ian @ Dangerous Prototypes @buspirate.bsky.social · 30/10/2025
Get one here: tinyurl.com/mu99kr29
tinyurl.com
DirtyPCBs.com
010
Ian @ Dangerous Prototypes @buspirate.bsky.social · 30/10/2025
A huge thanks to everyone in the forum for testing all the connectors! Read about the design here: tinyurl.com/nhdacemz
120
Ian @ Dangerous Prototypes @buspirate.bsky.social · 30/10/2025
New I2C quick connect adapter plank! One board to rule them all - supports Qwiic, Stemma (3P/4P/QT), Grove, Gravity, and Breakout Garden connectors. Quick prototyping with the Bus Pirate and your favorite solder-free ecosystem.
160
Ian @ Dangerous Prototypes @buspirate.bsky.social · 29/10/2025
New tutorial: Learn NMEA GPS modules with the Bus Pirate! Connect any GPS module via UART, decode NMEA sentences in real-time, and extract coordinates/satellite data. Includes a full teardown of common NMEA sentences. docs.buspirate.com/docs/devices...
130
Ian @ Dangerous Prototypes @buspirate.bsky.social · 28/10/2025
The Bus Pirate has a NMEA GPS decoder built into the UART mode, and the latest firmware includes a new release of the MINMEA library: tinyurl.com/3yfy3b49
tinyurl.com
Command Reference
To run this asciicast without javascript, use asciinema play /sizzle/sizzle-cast.json with Asciinema The Bus Pirate is a versatile debugging and development tool for working with various communicatio...
040
Ian @ Dangerous Prototypes @buspirate.bsky.social · 28/10/2025
Also thought it would be fun to check out multiple frequency GPS antennas as an alternative to the typical ceramic block. It's a lot easier to debug GPS on my work bench with one of these in the window, highly recommended.
240
Ian @ Dangerous Prototypes @buspirate.bsky.social · 28/10/2025
Time to upgrade a 10-year-old GPS! New modules track all 4 GNSS systems (GPS/BeiDuo/GLONASS/Galileo) for faster locks & better accuracy. Ublox NEO-M9N ($10) is common and solid, but the ZhongKeWei ATGM336H-F8N76 ($6.50) is cheaper with more frequencies/satellites. Any other recs?
160
Ian @ Dangerous Prototypes @buspirate.bsky.social · 27/10/2025
The latest Bus Pirate firmware has a usbpd command to probe and trigger USB C power delivery. Select a fixed voltage profile, or specify a voltage if PPS is supported. We used a generic AP33772S breakout board for development, but a Bus Pirate USB PD plank prototype is in the works.
0110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 24/10/2025
Follow alone as we develop a USB PD adapter plank and Bus Pirate firmware support in the forum: forum.buspirate.com/t/ap33772sdk...
forum.buspirate.com
AP33772SDKZ USB-C Power delivery management
Actually I think it was something else. I had to move all the print functions to the local file or they just didn’t get run. Not sure what is going on, but I wanted to customize them anyways so it mak...
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 24/10/2025
A single Samsung phone charger label matches the PD profile: with two fixed (5/9v) and 2 adjustable (3.3-5.9v, 3.3-11v) outputs. What do you think is going on? My wild guess is that the insides of the chargers evolve faster than the injection molded/silkscreened enclosure.
100
Ian @ Dangerous Prototypes @buspirate.bsky.social · 24/10/2025
My favorite charger from Taobao lists all the fixed voltage nodes (5/9/12/15/20) and a single adjustable 3.3-11v output. Once again, the PD offers an unlabeled option: 3.3-16v adjustable output.
100
Ian @ Dangerous Prototypes @buspirate.bsky.social · 24/10/2025
This $12 "emergency" charger from the supermarket checkout lists 5/9/12/15/20volt fixed output. However, the PD offers two additional adjustable output profiles: 3.3-5.9v and 3.3-11v. Another bonus!
100
Ian @ Dangerous Prototypes @buspirate.bsky.social · 24/10/2025
USB-C PD enables fast charging with fixed & programmable voltage outputs. Using Bus Pirate + AP33772S, I found charger labels don't always match actual PD profiles. This laptop charger lists 5/9/15/20V, but also supports 3.3-21V programmable output—unlabeled. More below..
171
Ian @ Dangerous Prototypes @buspirate.bsky.social · 23/10/2025
Check out the full demo: docs.buspirate.com/docs/devices...
docs.buspirate.com
DDR5 SDRAM module I2C
DDR SDRAM modules are the memory sticks used in computers and laptops. DDR modules have a small EEPROM chip programmed with Serial Presence Detect (SPD) data. Motherboards use SPD data to configure DD...
010
Ian @ Dangerous Prototypes @buspirate.bsky.social · 23/10/2025
In addition to EEPROM memory, the SPD has a 9/10/11/12-bit temperature sensor and temp management features. I show how to read the sensor registers and convert it to degrees Celsius.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 23/10/2025
SPD sits on an I2C bus - scanning for devices we find two sets of addresses. The first is the PMIC, the other is the SPD. The EEPROM is divided into 8 pages of 128 bytes. I change pages with a register write in legacy mode, though an updated 2 byte address mode is available.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 23/10/2025
DDR5 RAM Serial Presence Detect chips tell a computer about the RAM specs. It has 1024 bytes of EEPROM storage, temperature monitoring, and pass-through access to a Power Management IC (PMIC). I wrote a very hands on low-level demo on how to access the chip using a Bus Pirate
180
Reposted by Ian @ Dangerous Prototypes
OldMattyB @oldmattyb.bsky.social · 22/10/2025
I love the expandability of the Bus Pirate. Fully open source with a great community, it's easy to add new functionality to interface to different hardware and busses.
041
Ian @ Dangerous Prototypes @buspirate.bsky.social · 22/10/2025
Get it: tinyurl.com/y4rhb29t Read about the design: tinyurl.com/2rtc9hsy
tinyurl.com
DirtyPCBs.com
030
Ian @ Dangerous Prototypes @buspirate.bsky.social · 22/10/2025
Use the Bus Pirate `ddr5` command to read, write, unlock, and hack DDR5 SPD contents. Find extended profiles and other hidden data in the unused EEPROM blocks.
172
Ian @ Dangerous Prototypes @buspirate.bsky.social · 22/10/2025
It took 3 revisions to get right, but the DDR5 RAM SPD adapter is now available. Use with the Bus Pirate to read and write DDR5 SPD EEPROMs. HSA pin is grounded so blocks can be unlocked (offline mode). UDIMM (desktop) and SODIMM (laptop) supported.
1102
Ian @ Dangerous Prototypes @buspirate.bsky.social · 15/07/2025
smartcard tool, HEX file viewer, etc. Grab the latest firmware and check it out!
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 15/07/2025
Super happy with the new Bus Pirate HEX viewer! Valid ASCII and non-zero values are highlighted. Quiet mode (-q) hides addresses for easy paste into HEX editors. Dump range can be specified, and paging is enabled by default. Used in all data dump commands: DDR5 tool, SLE4442...
171
Ian @ Dangerous Prototypes @buspirate.bsky.social · 10/07/2025
SHT3x temperature and humidity sensor demo: docs.buspirate.com/docs/devices...
docs.buspirate.com
SHT30, SHT31 and SHT35 Humidity & Temperature I2C
SHT30, SHT31 and SHT35 measure temperature (-40 to 125C) and humidity (0-100%). They’re a significant upgrade to the previous SHT2x series, with a wider temperature and humidity range, higher accuracy...
020
Ian @ Dangerous Prototypes @buspirate.bsky.social · 10/07/2025
focused on smaller size, lower cost, and calibration. Check out the SHT4x temperature and humidity sensor demo here, and the SHT3x demo below. docs.buspirate.com/docs/devices...
docs.buspirate.com
SHT40, SHT41, SHT43 and SHT45 Humidity & Temperature I2C
SHT4x series sensors are the latest generation of temperature and humidity sensors from Sensirion. Accuracy has improved slightly since SHT3x, but the main upgrades are faster measurements, smaller si...
130
Ian @ Dangerous Prototypes @buspirate.bsky.social · 10/07/2025
Grabbed some SHT3x and SHT4x temperature and humidity sensors for a Bus Pirate demo. SHT3x is a significant upgrade to the ancient SHT2x with a wider temperature and humidity range, and higher accuracy at the extremes. SHT4x slightly improves on the SHT3x specs, but is mostly...
170
Ian @ Dangerous Prototypes @buspirate.bsky.social · 08/07/2025
just a follow-up from an earlier discussion where we couldn't identify memory devices with non standard power and ground pins. I still ended up adding an IO/power switch to each pin on an adapter board just in case we found one, and now I've found two :)
010
Ian @ Dangerous Prototypes @buspirate.bsky.social · 08/07/2025
While the 93x has the excuse of being really old, the GX2431 is a modern clone. My guess is that it saves bond wire, the tiny gold thread that connects a die to the chip leads, to take the short route (just a guess).
100
Ian @ Dangerous Prototypes @buspirate.bsky.social · 08/07/2025
Then there's the GX2431, a new-ish clone of the DS2431 1-Wire EEPROM. Ground is pin 8, where power power typically connects. This chip doesn’t have a VCC pin because it's powered by the pull-up resistor on the data (DQ) pin.
110
Ian @ Dangerous Prototypes @buspirate.bsky.social · 08/07/2025
First up is the 93x series of SPI EEPROM. Power (VCC) is on the “correct” pin (8), but ground (VSS) is on non-typical pin 5. This is a VERY old family of chips, probably predating the trend of using pin 4 and 8 exclusively for power and ground.
100
Ian @ Dangerous Prototypes @buspirate.bsky.social · 08/07/2025
The typical 8 pin memory chip has ground (GND, VSS) on pin 4 and power (VCC) pin 8. It doesn't appear to be a formal standard, but more a tradition. Modern EEPROMs (24x, 25x), flash (25Qx), SRAM (23x) and FRAM all have a similar power n ground pinout. However there are a couple oddities out there...
120
Ian @ Dangerous Prototypes @buspirate.bsky.social · 04/07/2025
Ah so the two trailing bits are 2 stop bits. Nice that it can be done completely with a serial device. That's quite clever.
010