QProbe - Building, Downloads

Parent Category: Tools Category: QProbe - a QBUS signal adapter Written by Administrator

This page is under construction


In case you find QProbe useful, you can get it. Either you build yourself from the attached files, or you order it.


QProbe consists of these physical modules

  • The main PCB, a quad-layer with gold fingers.
    Best you order with SMD assembled.
    The PCB can be produced by every maker via the given Gerber files.
    The SMD assembly requires two special files for BOM (Bill Of Material) and positions, the attached ones are only suitable for the chinese maker JLCPCB.
  • the front panel template with LED holes. Its a PCB without copper layer, only color and drill holes, so it can be made together with the main PCB. Choose "black" color, 1.2mm tickness, and tell the manufacturer NOT to print his order numebr onto the board.
  • The body for the 1.8mm LEDs. It is given as STL file and can be printed on every 3D printer. As it has fine details, the printer must have fairly high quality. I use a Prusa MK3S.

 For the THT ("through-the-hole") components see the 2nd attached BOM.

qprobe top

Verifying PCB operation before main assembly:

PCB operation can be verify with this minimum procedure:

  1. Solder in capacitor C2 and C3 (to stabilize 3.3Volt), solder in sockets and plug in 180 ohm pull-up terminators RN32, RN34, RN36, RN38, RN40, RN42.
  2. populate the JTAG connector J2, and DIP switch SW1, set switch #1 to ON, all others OFF (LEDs show QBUS signals without additional logic).
  3. Apply +5V power to the legs of C2, verify C3 has 3.3 V. Temporarily insert (do not solder!) a 1.8mm LED at position D2 "+5V", cathode (short leg) toward the board edge. It should shine.
  4. you have 3.3V now, program the CPLD (see below).
  5. with all pull-up terminators installed, you can "assert" (activate) a QBUS signal by touching its pad on the breakout field with a GND wire (the pulldowns are optional in this step). The LED should shine. The schematic tells you LED labels and assigned signals. E.g.: DAL00 = ADDR00 is D6, DMR is D59.


There's not much to say for the soldering part.

LED body 3D print

I printed  the LED body on an Prusa MK3S in out-of-the-box configuration (mid of 2020).

Filament was the one delivered with the printer, "PLA Silver made for Prusa Research", Prusa's order number FLM-PLA-175-SLV.

Printing quality was "0.10mm DETAIL". The only special setting was a larger "Print Settings/Support material/Contact Z distance" of 0.2 instead of 0.1, to allow easier remove of struts.

Attached is a screenshot of PrusaSlicer.

It's important to print the STL rotated, with LED openings down to the headbed. This way pin holes remain open, and you have minimal struts to remove.

qprobe ledbody struts


To make the orientation fool-proof: The anode pin of a LED is on the ROUND side of the LED body, and when looking onto the front goes to the LEFT.
The cathode pin is on the SQUARE side and goes to the RIGHT.

qprobe led orientation


qprobe panel leds back qprobe panel cross

 The LEDs are mounted in two passes: First open the pin holes in the 3D body with a 1mm drill. Then insert the lower LED row (IAK..+12V), make sure they all sit deep in their openings and fiddle all the pins through the PCB (that is the hard part as all LEDs are mounted simultaneously). Verify the front panel is mountable onto all the lower LEDs, then screw the body to the PCB, clip the pins and solder.

Finally mount the upper LEDs one-by-one, which is more easy. Bend the pins to a wide 90 degree arc BEFORE you fiddle them though the LED body's holes. Again verify the front panel fits. Clip the pins and solder at last.

The front panel PCB is just snapped onto the 60 LEDs. It may need rework, then open the LED holes with a 2mm drill.

qprobe leds panel

CPLD programming

You need to program the two CPLDs. These are Intel (ex Altera) EPM240T100.
For programming you need

  • work on a Win10 platform.
  • buy a programming adapter: search on eBay for "altera usb blaster", it should be $5 to $10.
  • install the "Intel Quartus Prime Lite Edition". This is quite a big pack, also stand-alone programmers are available.
  • After installing Quartus, plug in USBBlaster and install its driver, which is well hidden inside the Quartus file tree.
    For me it was "c:\intelFPGA_lite\20.1\quartus\drivers\usb-blaster-ii\".
  • Then power the QPRobe board with +5V, plug USBBlaster onto the JTAG header, start Quartus, go to the Tools/Programmer menu, select your USBBlaster as hardware, "Detect" both CPLDs, and load each of the both *pof" file into its matching CPLD.

Workflow in Quartus-Programmer's GUI for CPLD1, before repeating for CPLD2:

qprobe quartusprogrammer




To finally verify your build again, plug in at least pullup bus termination resistor packs, apply +5V power to the board and set the CPLD mode switches #1 and #2 to ON (LED shows bussignals directly, and "DATA is a copy of ADDRESS"). Then touch each QBUS signal pin with a GND wire to assert them one-by-one (QBUS signals are inverted: a logic 1 is presented by 0 volt signal level). Verify the selected LEDs are shining. For BDAL<15:0>, both an ADDR and a DATA LED are active together if switch #2 is ON.

When ypu set all DIP switches to the OFF position, you have additional LED logic. For IRQ, UIAK, DMR,DMG and SACK this means: short pulses are elongated to 100ms. So if scatching these siangal pins with your GND wire, you should see no flicker anymore but a steady light.


Still Missing attachements:


Mouser BOM


Download this file (qprobe-bom_jlcpcb.csv)qprobe-bom_jlcpcb.csv[SMD Bill Of Material for JLCPCB]8 kB
Download this file (qprobe-front.zip)qprobe-front.zip[Gerber files for LED front panel]11 kB
Download this file (qprobe-ledbody-prusaslicer.jpg)qprobe-ledbody-prusaslicer.jpg[LED body 3D print PrusaSlicer screenshot]357 kB
Download this file (qprobe-ledbody.stl)qprobe-ledbody.stl[LED body 3D print]612 kB
Download this file (QProbe-lowerleds-bender.stl)QProbe-lowerleds-bender.stl[Helper to bend lower LED pins 3D print]72 kB
Download this file (qprobe-top-pos.csv)qprobe-top-pos.csv[SMD positions JLCPCB. "CPL" = "Component Placement List"]3 kB
Download this file (qprobe.zip)qprobe.zip[Gerber files for main PCB]789 kB
Download this file (QProbeCPLD1.pof)QProbeCPLD1.pof[Binary pattern for CPLD1]7 kB
Download this file (QProbeCPLD2.pof)QProbeCPLD2.pof[Binary pattern for CPLD2]7 kB
Download this file (schematic.pdf)schematic.pdf[QProbe schematic]570 kB