Skip to main content

IMPORTANT: Shipping delays (updated 2025.05.24)!

Blog Index

QBone Part 3: Interposer Boards

The strength of the QBone - the flexibility afforded by the BeagleBone's CPU and its PRU coprocessors - is also its weakness in a DEC computer. The BeagleBone Black itself is 18.5mm (0.73") high, rising 13mm (.51") above the 1.6mm (0.06") thick PCB, and dropping 4mm (0.16") below the PCB for its mini-USB client connector.

/images/beaglebone-dimensions.jpg

Per DEC's own specification for a Q-bus module, the maximum height a single-width board can rise above the top of the PCB is 8.71mm (.343") conductive / 9.52mm (.375") non-conductive, and drop 1.6mm (0.063") below the board, with a PCB thickness of 1.42mm (0.056").

/images/QBus-Card-Dimensions.png

Taken together, that means just the height of the Beaglebone's Ethernet RJ45 jack and the PCB are taller than the entire space available, not to mention the mini-USB jack on the underside of the board. This presents a problem for a densely stacked QBus enclosure.

By mounting the BeagleBone upside-down to its cape, the rise of the Ethernet jack becomes a drop below the UniBone/QBone. As most single-height boards do not rise to the maximum height available, the UniBone/QBone can "cheat" into this space for its DC barrel and Ethernet jacks in most configurations.

In the original UniBone design, Joerg connected the Beaglebone to the cape using ribbon cable and IDC headers. This allowed for some flexibility in moving the board up or down, depending on boards above and below. Unfortunately, this cable required custom manufacturing, a 3D printed adapter and mounting hardware was necessary, and the entire assembly experienced significant strain when installed or removed.

/images/qbone-ribbon-pdp1105.jpg

Rapidly, the ribbon cables were replaced by an interposer (or adapter) board. This second PCB mounts directly to the bottom of the UniBone/QBone. The BeagleBone directly connects to this second board. This makes for a more rigid structure, holding the BeagleBone at just about the best possible compromise between too-high and too-low. Only the topmost mini-USB jack must be protected from shorting against the board above the UniBone/QBone in the chassis. (For safety, we recommend protecting the entire BeagleBone top surface with insulating tape.

In Joerg's initial instructions, he recommends directly soldering the boards to each other, using "double length of solder and heating more than the double time." While this results in an electrically sound connection, it is not a very good physical connection. In testing, our first QBone exhibited a good electrical connection on the bench, but failed various bus driving tests intermittently, until the connection was reflowed. The problem recurred later after multiple insertions and removals.

Soldering for electrical purposes makes both an electrical connection as well as makes a good physical connection. Solder, in this regard, is a bit like concrete: to make it stronger, you need to add internal reinforcement, especially to counteract perpendicular shearing and bending forces. In through-hole electronics, especially in areas where the board may flex or a connector may apply a torque, this rigidity is provided by the component leg.

/images/through-hole-solder-joint.png

However, the bottom of the interposer board needs to be as flush as possible, to ensure maximal clearance with any boards below the UniBone/QBone in the rack. Similarly, the connector for the BeagleBone needs to be short enough that the BeagleBone can seat fully down against the interposer board. Otherwise, the UniBone/QBone will be too tall, and the BeagleBone's underside will contact the card above it in the rack. Also, these connectors must be trimmed to the right length, as stock parts are too long.

We solve all of the above issues by adding headers to the boards in both positions. For the BeagleBone's headers, we use a 3.5mm thick spacer (kits include this spacer!) to keep the pins the right length. This creates the perfect length of pin for the BeagleBone: it is a bit shorter than Joerg's original approach, but well within the specifications (pp. 95-96) for the connector. For the QBone side, a tin-only header is used to solder the boards together, and no spacer is required.

We've found this to be a more reliable electrical and physical connection, and we're confident this makes for a better kit building process.

Still confused? Here's our video of the assembly process.


Next time, we'll discuss the challenges of QBus driver ICs.


Qbone Part 2: New CPLDs

Welcome to part two of our seven part series on the QBone, an all-in-one add-in card for DEC QBus PDP-11 or VAX computers. Today's post is on the challenges of part life cycle management.

/images/qbone-cpld-1.png

After we contacted Joerg to partner on manufacturing QBones, we received the initial design and bill of materials. Generally, when we look into contract manufacturing on a new design, we consider many things, including:

  • Part-specific selection criteria (parameters, price, etc.)

  • Availability of parts from multiple vendors

  • PCB layout and design optimization

  • Manufacturing steps (meaning: how do we actually assemble the units)

  • Streamlined QA process

The most serious issue we found in our initial pass: the CPLDs [1] used to interface between the isolated QBus signals and the BeagleBone were end-of-life. That means that there is still stock of the part with some vendors, but once that's gone, no new parts will be manufactured. Finding chips becomes a mix of NOS [2] chip brokers, dodgy eBay or AliExpress vendors, or private sales. While we already have to do this for other QBone components (stay tuned for Part 4!), it's something we'd rather avoid.

A quick glance at Joerg's prototype PCB manufacturing partner's inventory showed more than one hundred thousand parts in stock. So why bother?

Places like LCSC are dealing primarily with surplus stock. This happens because a big company like Dell, Lenovo, Samsung, etc. contracts with them for e.g. one million parts as part of a contract manufacturing deal in China. That deal might only consume 900,000 components. After a short waiting period of holding on to those parts (in case of re-manufacturing needs), the surplus 100,000 parts end up being sold to a 'grey' market. These are then resold locally between merchants. This is why what you find in those online inventories are so random and haphazard - not to mention the dangers of counterfeit or shady parts.

Given all of that, and our desire not to be locked in to any single source vendor, our best option was to select a new part and re-design for it. The basic design needs were as follows:

  1. Pin-to-pin transition time of 7.5ns or better, or approximately ≥ 133MHz.

  2. The QBus has 45 bidirectional lines, meaning 90 unidirectional signals, plus 3 additional unidirectional signals, for a total of 93.

  3. Each CPLD requires 20 dedicated signals for communication with the BeagleBone.

  4. The BeagleBone can natively interface with 3.3V chips, but would require additional signal conversion to work with a 1.8V CPLD. (That means more chips, more points of failure, and higher cost.)

  5. Ideally, QFP packaging for ease of assembly and rework. Failing that, QFN packages would be OK, but we want to avoid BGA as those increase assembly complexity and cost.

We investigated parts from Altera / Intel, Lattice, Xilinx, and Microchip as replacements. We ultimately chose a Lattice MachOX2 100-pin QFP part as it met all of the needs above (and more I didn't list), was readily available from multiple domestic and international suppliers, is easily programmable with JTAG, and Lattice is a community favourite CPLD/FPGA manufacturer.

/images/qbone-cpld-2.png

We had some challenges along the redesign path. Joerg had problems getting the TSALL global tristate signal to simulate correctly in Lattice Diamond. Of course, a new PCB design was also required. Then, some minor changes to the QBone software running on the BeagleBone were necessary. But, excitingly, the design worked on the first set of boards with only unrelated issues affecting first article test. Getting the first built board running RT-11 was an exciting moment!

Next time, we'll discuss another design change needed to improve QBone manufacturability.


Ever had to replace an end-of-life component? Got a good story? Get in touch with us on Bluesky at @DECromancer!



Introducing the QBone

Welcome to the DECromancer blog! As should be obvious from our name, we love vintage computing gear, especially Digital Equipment Corporation minicomputers. This is the first in a seven-part series highlighting the road to the latest addition to our product line, the QBone.

Jörg (aka Joerg) Hoppe has been working on homebrew PDP-11 hardware and software for over ten years. His Blinkenbone project brings physical front panels - both vintage and newly manufactured - back to life with realtime control from a simulated PDP. He's also embedded simulators in VT-100 terminals, built tools for diagnosing a faulty PDP-11, scanned and indexed a vast quantity of DEC diagnostics, and helped thousands of people continue to enjoy these vintage machines years past their expected lifespans should have ended.

At the Vintage Computer Festival in the Pacific Northwest, 2019, I met Joerg demonstrating his new device, the UniBone, in a compact PDP-11/05.

/images/unibone-vcfpnw2019.jpg

His description at the booth read:

„UniBone” is a newly developed interface board, which connects a Linux-driven „BeagleBone” micro-computer to a standard DEC UNIBUS slot.

UniBone helps to reanimate half-broken PDP-11s, there are so many of these!

A speciality in the BeagleBone are two real-time coprocessors, called „PRU”s. They handle time critical UNIBUS cycles, replacing a FPGA.

And so it does. Just a few months later, I had my own UniBone, installed it in my PDP-11/34, and had a working RL02 disk pack emulation. 4 virtual 10MB disk drives was a huge step up - as my /34 only had an RX02. Running it exclusively from 8" floppy disks got old fast!

Joerg was not the first to envision emulating PDP peripherals, of course. The distinct advantage provided by the BeagleBone is unmistakeable, though: by bypassing FPGA design, he was able to get a device into production quickly, and continue to improve the software with community support after its release.

We think the choice has paid off. Friend of DECromancer Josh Dersch added support for the RK11 and RK05 subsystems, then full-fledged MSCP support - bringing disk emulation to his 11/750 UNIBUS VAX.

So when Joerg announced the QBus version, the QBone, we were eager to get our hands on a prototype, and to offer to be his manufacturing partner in North America. There are many more QBus-based PDP-11s in people's hands these days than UNIBUS variants, and many of those are missing key components such as a full complement of RAM, reliable hard disks, extra serial ports, etc. We're eager to help bring these machines back to life for as many people as possible.

Within the next few days, DECromancer will start selling QBones through our store. Until then, we'll have a series of blog posts describing the process of adapting Joerg's first prototype for mass production. We want you to know about the decision making process we faced, and how this ultimately brings you a better product. Plus, a special surprise on the last day -- sure to please the most serious of collectors.

Keep up with us on Bluesky at @DECromancer, and let us know how you're using QBus in 2021!