Zach of All Trades
Zach of All Trades
  • 8
  • 227 729
Building an Open Source Automated PCB Testing and Probing Fixture!
Get JLCPCB 6-layer PCBs for just $5! Register to get $80 Coupons: jlcpcb.com/?from=Zach
Powering up a custom designed, hand soldered circuit board is risky business. One stray conductive whisker, a near invisible bridging of two adjacent pads, can cause a disaster that ends in smoke and results in time consuming troubleshooting and rework. Careful probing with a multimeter is the classic way to address this issue, but that takes time and is error prone. What this problem really demands is an automated solution, and that’s exactly what I’ve built.
Today I’m showing off my latest project: the design, construction, and coding of an automated PCB testing fixture. Connect this device to your circuit board, and it will probe the pins to ensure there are no short circuits. But that’s just the beginning - it can hook up a debug probe to your device to program microcontrollers. You can also forward analog signals to external BNC connectors, as well as forwarding any of the 16 probing pins. This allows you to assess the board with external instruments, an oscilloscope for instance, safely and easily. Finally, this board implements a universal interface that allows custom functions to check out your board. Power LEDs, read analog signals, toggle GPIO - these are just a few of the features this interface offers to make this tester truly universal. Join me as I cover this project, and stay tuned, as I’ll be releasing this project open source!
Chapters:
00:00 Introduction
2:22 Functional Overview
6:25 Circuit Description
10:44 Building the Board
13:56 Interfacing to the PCB Under Test
17:14 Code, So Much Code
20:06 Hardware Troubleshooting
22:48 GUI Demo
24:51 Future Improvements
27:24 Conclusion
Links to some of the items I’ve used in this video and/or recommend:
Resistor Decade Board: amzn.to/3Uc0GUU
Capacitor Decade Board: amzn.to/3Ubod8z
Small Capacitor Decade Board: amzn.to/4dRAvK3
Wiha ESD Safe Screwdriver: amzn.to/3A5FcSL
Official ST Link V3: amzn.to/4auZe5G
Quality Breadboards: amzn.to/45gL9HE
Jumper Wires: amzn.to/3VuKcbv
As an Amazon Associate I earn from qualifying purchases.
I plan to use this fixture to build my LED tile backsplash, check out that project here:
Building a bigger prototype of the backsplash:
th-cam.com/video/VDYZptZpK3k/w-d-xo.html
Programming the PY32 for the tile backsplash project:
th-cam.com/video/wtv82TfahRA/w-d-xo.html
Introduction to the smart LED tile backsplash project:
th-cam.com/video/3QHFTsDGk6E/w-d-xo.html
มุมมอง: 5 377

วีดีโอ

The Magic of Pogo Pins: Building a Custom Programming Fixture!
มุมมอง 108K3 หลายเดือนก่อน
Get High-quality PCB Prototype at JLCPCB for Just $2! Sign up to Get $80 Coupons: jlcpcb.com/?from=Zach JLCPCB 6 layer PCB Fab & Assembly: jlcpcb.com/6-layer-pcb/?from=Zach If you’ve ever found yourself building custom circuit boards in appreciable quantities, you’ve probably been faced with a dilemma: how do you program the components and verify board functionality? Putting a connector on the ...
Making My Tile Backsplash Into a Touch Display - Building a Bigger Prototype
มุมมอง 3.9K4 หลายเดือนก่อน
Tile backsplashes are a great addition to any kitchen. They are stylish, easy to clean, and keep water from damaging the wall. But they don't interactively light up. They can't display notifications or even show you the weather. I intend to change that. In this project I'm modifying a glass tile backsplash by adding an individually controlled LED to each tile. Every tile also gets a microphone ...
Which 10 Cent Microcontroller is Right for You? Comparing the CH32V003 to the PY32F002A.
มุมมอง 39K5 หลายเดือนก่อน
The WCH CH32V003 and the Puya PY32F002A are both ultra-cheap 32-bit microcontrollers. Coming in at around 10 cents each, these are perhaps the cheapest flash-based microcontrollers a consumer can buy. But are they worth it? In a previous video I explored the Puya PY32 series in detail, with their Cortex M0 core. The hype got to me though: is the RISC-V based CH32V003 better? In this video I exp...
Designing and Building a Precision 3D Printed Solder Paste Printer!
มุมมอง 5K6 หลายเดือนก่อน
In this video I cover the design, construction, and use of a 3D printed precision solder paste stencil printer. Applying solder paste to circuit boards for modern miniaturized electronic components is a daunting task. The stencil must be precisely aligned and flat to the board. I found cheaply available stencil printers subpar, so I decided to make my own. This stencil printer is based upon an ...
The Cheapest Microcontroller? Getting started with the 10 cent Puya PY32.
มุมมอง 62K8 หลายเดือนก่อน
The Puya PY32 is an amazingly cheap 32-bit microcontroller with an ARM Cortex M0 core. These parts can be had for under 10 cents each in modest quantities, making projects requiring large numbers of microcontrollers affordable for us DIYers. This video gives a brief introduction to the Puya PY32F0 series of microcontrollers, starting first with the benefits and drawbacks. I’ll then discuss the ...
Programming the Smart Backsplash - Writing Code for the Puya PY32 Microcontroller
มุมมอง 2.1K9 หลายเดือนก่อน
In this video I cover programming the Puya PY32 microcontrollers for the RGB lit glass tile backsplash project. Each group of two tiles in the backsplash will have a circuit board with a ten cent Puya PY32 microcontroller. The microcontroller will monitor two microphones, one on each tile, to determine if a tile has been tapped. It will then relay the amplitude of that tap to the processor that...
LEDs, Microcontrollers, and Microphones - The World’s Most Complicated Backsplash?
มุมมอง 1.8K9 หลายเดือนก่อน
Join me as I discuss my latest project - building a glass tile backsplash with individual LEDs on each tile. I'll also be adding touch sensors to each tile to implement touch feedback, using a distributed processing technique, and leveraging the existing LED communication protocol. We'll cover electronics design, LED protocols, PCB fabrication, soldering, and... home improvement? To do this, I'...

ความคิดเห็น

  • @makerspace533
    @makerspace533 2 วันที่ผ่านมา

    They have been around for a very long time. Fifty years ago (hard to believe it's been that long) I was designing and building production test gear for calculator production. Some of the board testers would run 25,000 cycles per day. Pogo pins can be used in a special socket that makes swapping out the pin very quick and easy.

  • @laurynhoch8915
    @laurynhoch8915 10 วันที่ผ่านมา

    I have an idea for a wine rack, DM me

  • @aaroncarpenter2084
    @aaroncarpenter2084 10 วันที่ผ่านมา

    You should make a wine rack....

  • @TheElectronicDilettante
    @TheElectronicDilettante 19 วันที่ผ่านมา

    You do excellent work, sir. Thanks for the video and for sharing the project.

  • @OnreinKalfje
    @OnreinKalfje 24 วันที่ผ่านมา

    It would help me if you show pictures of what you are talking about, especially in the intro

  • @TheElectronicDilettante
    @TheElectronicDilettante หลายเดือนก่อน

    Very Cool! Great Concept and design. Thanks for sharing all of your hard work. I must ask, if this project was sponsored by JLCPCB, why didn’t they offer to provide you PCB stencils? Since you’re using an ST Micro MCU, have you considered using TouchGFX for GUI design and development? I’m pushing 50 yoa and have only been getting into ECE in the past few years. So, if I ask rookie sounding questions, that’s probably why. Thanks again sharing your work. I see this becoming a very popular piece of test equipment which should cause a large community to form around it. The number and types of tests that can potentially be performed are huge. Good luck!

  • @ianchan2624
    @ianchan2624 หลายเดือนก่อน

    Im only using pogo pins is for the single connector to multiple items. They're kinda pricey

  • @francoisrevol7926
    @francoisrevol7926 หลายเดือนก่อน

    Interesting, I've been thinking about some way to help with measuring boards but rather for reverse-engineering… Did you think about interoperating with projects like OpenBoardData, surely these scripts can be converted and published there to help people repair them later ?

  • @osmanpasha_diy
    @osmanpasha_diy หลายเดือนก่อน

    There are also much longer pins P100, P75, P50 which can be soldered through-hole and are much, much cheaper (couple bucks per hundred).

  • @emielv7677
    @emielv7677 หลายเดือนก่อน

    Which display are you using?

  • @edwardfletcher7790
    @edwardfletcher7790 หลายเดือนก่อน

    Ummm 50c per pogo pin is CRAZY !!! AliExpress have them in small quantities for less than 10c ea or 100 + under 5c ea....

  • @ncx94
    @ncx94 หลายเดือนก่อน

    Very nice project! Funny, I'm also working on a custom "universal" test/programming board at the moment! Maybe something we could bring together?

  • @andreasbreitschopp93
    @andreasbreitschopp93 หลายเดือนก่อน

    Very cool project! As I have several PCBs I do small scale production (like 30-50 in one batch mostly), it would be very valuable to have such an automation tool for testing to confirm that the PCBA manufacturer (which happens to be your sponsor for me as well, by the way) didn't mess something up. ;-) Few comments/suggestions: - I didn't fully understand how the test procedure works: I would expect that after the test has been completed the display shows a big green "PASSED" or red "FAILED" as a result. The text protocol is nice, but I would only look at it if a test has failed to get more details what possibly to rework. - At your interface to the PCB under test I saw I2C and SPI, but I was missing UART which I would consider important as well. - Flashing the firmware should directly be done with this tool as well providing a "firmware.bin" file on the SD card. I mainly use RP2040 micro controllers which do support SWD interface. So I hope flashing the firmware automatically can be implemented.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      Thanks for the great comments! -Yes, I should add some feedback on the display to show pass/fail and what errors occurred. Adding more pages to the display is on the list, but it is a bit time consuming. -UART would be nice, I just figured I2C and SPI are more commonly found on ICs. I ran out of pins on the Nucleo, but on the next revision I plan to add a second I2C expander to free up a bunch of those pins, and I could add UART back (even if just for debugging) -I agree with your last point, but it looks pretty challenging to implement from my limited research. There was the idea to run Linux with OpenOCD though, which was intriguing, but of course getting hardware to run Linux means a total redesign -I'm also planning to add voltage/current monitoring, which I think would be great for real time probing

  • @Schjoenz
    @Schjoenz หลายเดือนก่อน

    Pogos are illegal in the Philippines.

    • @therollo9
      @therollo9 12 วันที่ผ่านมา

      No, not that POGO 😂

  • @mitchellmnr
    @mitchellmnr หลายเดือนก่อน

    This popped up in my feed so thought I'd chime in. Have a look at @SuperHouseTV During the live streams we're busy working on a tester as well lol... However there is quite a difference in designs which is interesting to see. The way we decided to do the tester design for SH was more modular - and the DUT container is modular and can slip in and out of the tester. It also holds all the specifics for the DUT board - and also quite a lot bigger than your tester (needs to hands to pickup lol) By using that over a micro means we can use a raspberry pi to handle the logic, and if the main board doesn't have a way to test the board, it can be expanded on with the DUT container for the board. An example is for RS485 - main board doesn't have it, but DUT container does - and the PI can then do actual comms check as well. We use a PCI interface for that so easy to swap DUT containers - and then the main board which has a connector for a pi. It is more for the scale side of things vs small runs, but has more pins compared. Maybe for some ideas for you - is have a watch of a couple of the prev live streams and see how we resolved some of the issues. But you could do something similar. Instead of the limited header pins on top (which are also not easy to insert/remove) - you could use a PCI type connector. You should also add a relay - since you dont wanna power the DUT when inserted, only once ground is fully connected - you can blow some stuff that way...

  • @TheAviationAnonymous
    @TheAviationAnonymous หลายเดือนก่อน

    This is really impressive. Thank you for going through all the details of the project. Also, the there is the free-dap firmware that can be used on an RP2040 that turn it into a usb SWD programmer. Maybe the firmware could be modified not to require USB? Probably a lot of work though. Alternatively, a Pi Zero can act as a SWD programmer directly from its GPIO. That would probably be the easiest option.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      Good to know, I'll look into that. I've also seen the code for several other debug probes, but I think the hard part is going to be replicating what the computer/IDE/programming software are doing.

  • @cburgess5294
    @cburgess5294 หลายเดือนก่อน

    As someone with a small Electronics business, I use pogo pins to build test jigs regularly and even use them in some of the products I sell. You can get them with 1.2mm conical tips that mate with the standard .9mm through-holes. No need for exposing test points.

  • @MakenModify
    @MakenModify หลายเดือนก่อน

    Great video! This looks great tool for small hardware projects. In my day job is do test automation for electronics and I can really see the value of this for the open source community. On the ISP side: For AVR based Boards there is the "Standalone AVR programmer" by adafruit might be interesting for your project. Keep up the great work. - Max

  • @leocelente
    @leocelente หลายเดือนก่อน

    I'll just throw the thought that custom scripting can be a effort sink in programming, so using a third party library can be a saver. I've only actually used a lisp-like in an STM32F4 called lispBM

  • @Nebulorum
    @Nebulorum หลายเดือนก่อน

    I really like this project. Did you consider JTAG also? From what if read you could use that to run tests in the ICs themselves.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      I should look more into JTAG, my understanding is it is a bit more versatile. It can also be used for FPGAs, so it could really open up some possibilities

  • @str0g
    @str0g หลายเดือนก่อน

    from where did you get the display? Could you link it?

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      It's a little pricey for what it is, but here: www.digikey.com/en/products/detail/newhaven-display-intl/NHD-1-8-160128UBC3/23334148

  • @we-are-electric1445
    @we-are-electric1445 หลายเดือนก่อน

    Why such a small current to determine resistance values or it it changed in code and I'm missing the point ? There are going to be noise issues with low current. I'm a bit puzzled by needing 10's of thousands of lines of code to be written. The HAL is available for interfacing standard devices and there is a lot of pre-written code from ST.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      For large resistances you need a very small current to keep the voltage within something readable by an ADC. There's also the risk of damaging the part you're trying to read if the voltage goes too high. I intend to average multiple readings in a future version of the code to help with noise, but it isn't too bad at the moment. Tens of thousands is probably exaggerating a bit. There's probably around 10,000. The interface/GUI is quite a lot of code, display and ADC drivers are also substantial. I use libraries when worth it (for things like USB, graphics, HAL), but I like to write my own as well. That way I know exactly how the part works and what the code is doing. Very useful when it comes to debugging.

    • @we-are-electric1445
      @we-are-electric1445 หลายเดือนก่อน

      @@AllTradesZach Why not split the technique for low and high separately ? It doesn't have to be one or the other. I would put some signal conditioning in anyway to protect the ADC. Software is so bloated today and not just for ST - it's the way everything has evolved. I can understand using libraries for USB and graphics. I remember writing code for a Texas microcontroller in the 1980's for a battery powered data acquisition system. It came to about 300 lines of assembler - and the code was dead reliable once it had been debugged ! How things have changed. I would be interested to see your code.

  • @zebforge
    @zebforge หลายเดือนก่อน

    Great idea! I'd love a kit or a pre-assembled version. It would be really useful, especially compared to sending boards off to JLCPCB for assembly and getting five back when I only need one. I've been experimenting with this myself and trying to print the results to a BLE thermal printer, like the ones from Opulo.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      Not just the boards, the economies of scale on some of the components are huge as well!

  • @Scrogan
    @Scrogan หลายเดือนก่อน

    This is perfect for what I was planning! Except I’m going to use AVRs instead of STMs. My project is to make an LM3914 replacement board, because you can’t buy those chips anymore. At least not from a vendor that can automatically solder them. Why. My requirement is that I can load it up with a memory card, plug in the board under test, program it, then have it read the LEDs and check resistances and power consumption and stuff. Most importantly, to do so in an idiot-proof method. There’s already code for an AVR field programmer out there, I’ll likely take that and add my own debug code atop it.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      Power and voltage monitoring are things I'd like to add to the next revisions!

  • @TheRealBobHickman
    @TheRealBobHickman หลายเดือนก่อน

    Great project! I've been having fun with the Puya PY32002A - can't beat a $0.12 ARM Cortex M0+, and SWD debugging is a total game changer.

  • @str8upkickyaindanuts289
    @str8upkickyaindanuts289 หลายเดือนก่อน

    Killer work man! Automating my calibration procedure is my next endeavor, loving the content so far. It's crazy how complicated it is to develop a universal fixture for bringing up boards in a production environment.

  • @muhammadhassanulhaq
    @muhammadhassanulhaq หลายเดือนก่อน

    Great idea. The features are just right for DIY hobby projects.

  • @mattbaker4699
    @mattbaker4699 หลายเดือนก่อน

    Great idea! Could have used something like this on so many occasions. Automatic SWD programming is a messy affair, while the bus protocol is the same for ARM MCUs anyway, details like how to disable/reset/bypass security, the flash size and what address its located at, fuse bits and many other concerns are all highly variable. It might be possible to do it from an MCU for a handful of specific devices or maybe device families but making it general purpose would be very challenging. Without a doubt involving a small embedded Linux and controlling a debug access probe over USB via OpenOCD would be more versatile. Also opens the door to deploying new binaries over wifi (or even cloud) or doing remote debugging. Modern MCUs with ROM bootloaders make everything way easier -- imagine just loading a firmware bin over USB if the DUT comes online. Many also work over uart, spi or i2c and could be simpler than doing it over SWD.

    • @AllTradesZach
      @AllTradesZach หลายเดือนก่อน

      Yeah, you're confirming my fears about that integrating the programmer. Linux with OpenOCD is an intriguing thought though. I've looked into using the bootloader before, but I'd think that would vary between brands and microcontrollers. I need to look into it more though.

  • @artekomx
    @artekomx หลายเดือนก่อน

    Thanks for sharing your work. I am also implementing a complex factory testing solution for our devices so it was helpful to see how someone else solved for their uses case.

  • @taisenification
    @taisenification หลายเดือนก่อน

    Where do you buy your pogo pins and can you find them for a reasonable price?

  • @JacquesMartini
    @JacquesMartini หลายเดือนก่อน

    You are a couple of years too late. google tag connect

  • @InsipidProgrammer
    @InsipidProgrammer หลายเดือนก่อน

    They're just expensive is all...

  • @thexht7927
    @thexht7927 หลายเดือนก่อน

    The OPA module is something very useful for me because an opamp can easily cost extra 10cents extra (usually 40 cents). And the DMA is very useful when I control many RGB LED via SPI. Without DMA I can easily get flickering if timer is also being used

  • @LoenieMovies
    @LoenieMovies 2 หลายเดือนก่อน

    All nice and well, but aren't you wearing your shirt inside out?

  • @keiyano
    @keiyano 2 หลายเดือนก่อน

    theres nothing wrong with a ch32 being in a product. it is a 32 bit soc. I rather see a chip i can reuse or replace than one that has no vendor or highly propiertary. I have seen wch chips in products already. Another reason i like wch chips is because they dont need external components for them to work. The external osc is optional and you can literally use it without any other support components if using a 3.3v or 5v supply

  • @v1ncen715
    @v1ncen715 2 หลายเดือนก่อน

    I recently bought a product that unfortunately came with a charger that has pogo pins with magnet. I need to replace this with a fixed connection.What 's the best way to fix it with attaching cable instead? Can I solder wires directly to the flat contactors that are supposed to have the pogo pins pressed against?

  • @theSquashSH
    @theSquashSH 2 หลายเดือนก่อน

    Looks awesome, would be sweet to use this connector style for charging some little LED projects I have.

  • @saumyacow4435
    @saumyacow4435 2 หลายเดือนก่อน

    So why, if you look a typical electronics supplier (like Mouser) do pogo pins cost upwards of a dollar and regular connectors half that much?

  • @josesaumell2908
    @josesaumell2908 2 หลายเดือนก่อน

    Very nice video Zach. We can see you put a lot of work into it, congrats. Py32 is a good choice. In future if you need cheaper, the Padauk line has a flash version that can be used for development, then move to the OTP in production once the code is tested.

  • @fgregerfeaxcwfeffece
    @fgregerfeaxcwfeffece 2 หลายเดือนก่อน

    Most common types of plastic only start to get really soft around 300C. So there is a decent chance your solder temperature is a good bit lower. Still for fume reasons I would not put a lot of them in the oven depending on the ventilation in your space. I checked reflow oven temps 220-250C for 120-240 seconds Okay, that's probably fine if you don't intensely sniff it the entire time.

  • @GimmilFactory
    @GimmilFactory 2 หลายเดือนก่อน

    You said pogo so many times that all I can think of is System of a Down...

  • @bobjensen8040
    @bobjensen8040 2 หลายเดือนก่อน

    Where is the finished product? I'd like to see the result that inspired all of your work!

  • @omranshahrour7291
    @omranshahrour7291 2 หลายเดือนก่อน

    There’s nothing professional and useful about displays in YT, We’d appreciate designing LED display from scratch or doodling with some products and controlling circuits to show images and vids

  • @kayakMike1000
    @kayakMike1000 2 หลายเดือนก่อน

    Large scale... Bed o' nails.

  • @malachilandis9542
    @malachilandis9542 2 หลายเดือนก่อน

    So cool to see a video about something I used to do at work. The company I was with would do lots of automotive parts, things like the boards in the dashboard display. I was mainly on the mechanical side of things. We had a standard test fixture design which we would make G10 inserts for rather than PCBs, so we would use the pogo pins from QA and wire them all to a connector at the back of the fixture. Is this something you do a lot at work or something you've figured out yourself? I am new to your channel. One other interesting thing from production electronics is wave solder pallets, though that is probably outside of the realm of hobbyist electronics.

  • @kellyaderwa1696
    @kellyaderwa1696 2 หลายเดือนก่อน

    I subscribed before you asked me to.

  • @TatharNuar
    @TatharNuar 2 หลายเดือนก่อน

    My mouse has an array of 16 of them on the side.

  • @TheWufgeng
    @TheWufgeng 2 หลายเดือนก่อน

    I work as a test engineer for series production testing. Mainly for functional testing, but we othen use test needles for connecting to test points on the PCB. These needles a commonly used in the business for electrical testing like ICT. Those needles come in many different shapes and can be a bit pricey. They are maDe to Be easely replaceable without soldering as these can wear out when talking about mass production. The hardest here actually is making the fixtures that must be made in precision to reliable connect to each test point. There can be up to hundrets of spring loaded needles on one fixture. It is basically its own engineering field.

  • @xymaryai8283
    @xymaryai8283 2 หลายเดือนก่อน

    i've never used them for this use case, but most other places i've encountered them, in end user and repair contexts, they've had issues that infuriated me. my current wireless earbuds use a particularly bad design that the predecessors didn't, meaning i can't trust them to charge for when i need them. after a string of other failures with earbuds, its quite annoying that such expensive sets have so many issues, and incorrectly used pogo pins might be the final straw for me to somehow find wired noise cancelling earbuds, or just fix my over-ear headphones.

    • @MinZhang-b4m
      @MinZhang-b4m 2 หลายเดือนก่อน

      Wow I didn't realize I had these in my headphones too. Never had an issue with my first pair I use daily since 2021, Galaxy buds+ still have the 11hr battery too. Might be a design problem with your headphones, mine are perfectly spaced and never had an issue.

  • @papukaiffa
    @papukaiffa 2 หลายเดือนก่อน

    Nice project! But hardly very good results. Each pcb needs unique fixtures and alignment doesn't work with vacuum on. 👍