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.
Posts by Ian @ Dangerous Prototypes
Automate your Bus Pirate with Rust programs using a crate that neatly abstracts the BPIO2 flatbuffer interface:
github.com/DangerousPro...
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
Download Bus Pirate FlatBuffer Tooling for C, C++, C#, Dart, Go, Java, JavaScript, Kotlin, Lobster, Lua, PHP, Python, Rust, Swift, TypeScript:
github.com/DangerousPro...
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...
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.
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.
A PCB with two long sockets that can hold DDR5 SODIMM and UDIMM RAM modules.
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 :)
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.
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.
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.
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.
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...
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.
Thank you! Will do this tomorrow!
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...
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.
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!
A huge thanks to everyone in the forum for testing all the connectors! Read about the design here: tinyurl.com/nhdacemz
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.
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...
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
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.
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?
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.
Follow alone as we develop a USB PD adapter plank and Bus Pirate firmware support in the forum: forum.buspirate.com/t/ap33772sdk...
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.
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.
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!