{"id":110,"date":"2020-08-15T17:03:40","date_gmt":"2020-08-15T17:03:40","guid":{"rendered":"https:\/\/www.xul.it\/blog\/?p=110"},"modified":"2025-03-13T15:04:19","modified_gmt":"2025-03-13T15:04:19","slug":"the-ultimate-continuity-tester","status":"publish","type":"post","link":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/","title":{"rendered":"The Ultimate Continuity tester"},"content":{"rendered":"\n<p>A couple of weeks ago, YouTube suggested me this video:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"The Ultimate Continuity Tester\" width=\"660\" height=\"371\" src=\"https:\/\/www.youtube.com\/embed\/N2M-p-OGvPg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Leo&#8217;s bag of tricks take on continuity test<\/figcaption><\/figure>\n\n\n\n<p>I found myself quickly enamored by the idea, since I believe that a tool must be fun to use. And by fun I mean no double thoughts about its reliability, and that it should be easy and predictable.<\/p>\n\n\n\n<p>The video has a great progression: the goals are clearly outlined along with the steps to satisfy all the requirements.<\/p>\n\n\n\n<p>I decided to give it a try and to realize it and document the process here. Here you won&#8217;t find the way the device works, since Leo has done a great job already on his video.<\/p>\n\n\n\n<p>A follow-up article has been written to focus on the protection offered by the TBU and it can be found <a href=\"https:\/\/www.xul.it\/blog\/index.php\/2022\/10\/03\/power-cross-protection-in-the-uct\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schematics<\/h2>\n\n\n\n<p>Leo kindly provides a <a href=\"https:\/\/pronto-core-cdn.prontomarketing.com\/2\/wp-content\/uploads\/sites\/2025\/2020\/07\/Schematics_Continuity_Tester_4.pdf\">PDF of the schematics of the design<\/a> which I captured as-is into EagleCAD. The only minor changes I did were to employ SMT-only packages, a single-opamp (MCP6021 in lieu of the MCP6022), and BC-series BJTs, just because I had these parts at hand.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"705\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png\" alt=\"\" class=\"wp-image-176\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-300x206.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-768x529.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png 1354w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Revision B of the schematics<\/figcaption><\/figure>\n\n\n\n<p>A rough breakdown of the time spent on the schematics:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>20% capturing<\/li>\n\n\n\n<li>40% searching and checking options for some special parts (buzzer, batteries holder)<\/li>\n\n\n\n<li>40% modeling new parts<\/li>\n<\/ul>\n\n\n\n<p>In spite of its simplicity and that the design was given on a silver plate, I managed to commit a mistake by connecting the power rail of the opamp to VCC, instead of Q1&#8217;s collector (the main soft switch).<\/p>\n\n\n\n<p>Obviously I realized it only after ordering the PCB for revision A \ud83d\ude42<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Debouncey<\/h3>\n\n\n\n<p>There&#8217;s one thing worth mentioning, which is the role of C1.<\/p>\n\n\n\n<p>In the way it&#8217;s set up, it forms a low-pass filter to the input, with an approximate cutoff frequency of 15Hz. This prevents the opamp to rapidly strobe the buzzer with an annoying screechy sound when the input bounces around the triggering threshold.<\/p>\n\n\n\n<p>Its value is a tradeoff between reaction times (the beep should come fast) and false re\/triggering (so not that fast). I guess there are more convoluted ways to avoid the compromise (signalling as soon as possible and latch for a couple of milliseconds).<\/p>\n\n\n\n<p>I&#8217;m not sure how Fluke multimeters continuity tests manage to have that amazingly fast reaction times with a perfect rejection to bounces and I guess that if there&#8217;s any possible way to improve this design might lay upon this feature.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"protection\"><\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">Routing<\/h2>\n\n\n\n<p>Routing the board was really easy, given the low components count and ample surface.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"547\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21-1024x547.png\" alt=\"\" class=\"wp-image-132\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21-1024x547.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21-300x160.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21-768x410.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21-1536x820.png 1536w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-18_00h23_21.png 1718w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">PCB revision B, ratsnest ripped up<\/figcaption><\/figure>\n\n\n\n<p>The size of the PCB has mainly been dictated by the batteries holder, which I decided to be soldered to the PCB instead of having it connected by lead wires.<\/p>\n\n\n\n<p>Once the routing was done, I branched off a bit before committing its final dimensions and locations, and pushed the board to Fusion360.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-1024x683.png\" alt=\"\" class=\"wp-image-121\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-1024x683.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-300x200.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-768x512.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-1536x1024.png 1536w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/uctester-2048x1365.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Gerber view of the top layer of the PCB<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Thinking ahead about an enclosure<\/h2>\n\n\n\n<p>At the moment (August 2020) an Autocad Eagle subscription entitles to Fusion360. I&#8217;m not sure what will be the future of these two products, since I have the impression Autocad will slowly phase out Eagle as a standalone product, focusing on its full integration into Fusion360.<\/p>\n\n\n\n<p>Pushing to Fusion from Eagle is a very simple process and given that the components in use have associated 3d models, the result is quite spectacular:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"725\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h15_18-1024x725.png\" alt=\"\" class=\"wp-image-114\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h15_18-1024x725.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h15_18-300x213.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h15_18-768x544.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h15_18.png 1430w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The PCB as it looks when imported from Eagle to Fusion360<\/figcaption><\/figure>\n\n\n\n<p>Once imported to Fusion, I was able to consider clearances, components locations, mounting options and how to expose the pads for the banana connectors in respect to an early idea of an enclosure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"745\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h46_15-1024x745.png\" alt=\"\" class=\"wp-image-115\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h46_15-1024x745.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h46_15-300x218.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h46_15-768x558.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h46_15.png 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The final model of the enclosure<\/figcaption><\/figure>\n\n\n\n<p>Far from being savvy about modeling, I chose an easy two-parts shell, which can be explored <a href=\"https:\/\/www.printables.com\/model\/1227949-uct-enclosure\">here<\/a>.<\/p>\n\n\n\n<p>By adding the connectors I was able to define the final sizes of the enclosure.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"435\" height=\"323\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h54_54.png\" alt=\"\" class=\"wp-image-116\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h54_54.png 435w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h54_54-300x223.png 300w\" sizes=\"auto, (max-width: 435px) 100vw, 435px\" \/><figcaption class=\"wp-element-caption\">Position of the LED<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"405\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h55_31.png\" alt=\"\" class=\"wp-image-117\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h55_31.png 559w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_16h55_31-300x217.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><figcaption class=\"wp-element-caption\">PCB mounting standoff in view<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Other relevant features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LED and buzzer position (plus projected holes)<\/li>\n\n\n\n<li>PCB standoff and mounting point<\/li>\n\n\n\n<li>Shells coupling<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">LED and buzzer<\/h3>\n\n\n\n<p>These two components are exposed to the outside via holes.<\/p>\n\n\n\n<p>On the first revision of the enclosure I modeled the buzzer hole a tad too little (1mm diameter). The buzzer is still audible but it&#8217;s quite muffled. The latest version has a bigger hole with a gentle fillet around both sides.<\/p>\n\n\n\n<p>The LED could had been a bit more exposed, but I had to compromise with the length of the screw.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PCB standoff and mounting<\/h3>\n\n\n\n<p>The PCB lays on a rim which offers a lot of clearance and it&#8217;s firmly held in place by a standoff pillar and a 10mm self-driving screw.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-1024x768.jpg\" alt=\"\" class=\"wp-image-119\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-1024x768.jpg 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-300x225.jpg 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-768x576.jpg 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-1536x1152.jpg 1536w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_171824485-2048x1536.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The LED functions as registration point, keeping the PCB from rotating on the pillar&#8217;s axis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Shell coupling<\/h3>\n\n\n\n<p>I opted for a an alignment edge (is there a better term for it?) plus a single screw. The two work marvelously together, even if the screw is offset from the center.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"370\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_17h25_15-1024x370.png\" alt=\"\" class=\"wp-image-118\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_17h25_15-1024x370.png 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_17h25_15-300x108.png 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_17h25_15-768x277.png 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/2020-08-15_17h25_15.png 1315w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Side section analysis: alignment edge and pillar<\/figcaption><\/figure>\n\n\n\n<p> As visible from the picture, the edge prevents rotation or shear, while the pillar couples the two parts together.<\/p>\n\n\n\n<p>Initially I considered the option of embedding a nut or a threaded insert into the pillar. Having zero experience on materials and required clearances, I decided to go easy and to use the same hole pattern (and screw) planned to hold the PCB in place. Servicing the batteries should be done only once every lifetime anyway \ud83d\ude42<\/p>\n\n\n\n<p>The screws I used are 8x3mm self tapping, 90deg countersink, flat head.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PCB assembly<\/h2>\n\n\n\n<p>I chose 1206 passives, given the low parts count and plenty of surface to waste.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613-1024x604.jpg\" alt=\"\" class=\"wp-image-120\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613-1024x604.jpg 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613-300x177.jpg 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613-768x453.jpg 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613-1536x907.jpg 1536w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_160703613.jpg 1840w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">The PCB (rev A) assembled<\/figcaption><\/figure>\n\n\n\n<p>I had to solder the TBU with hot air, everything else required a mid-size soldering tip.<\/p>\n\n\n\n<p>The two 1n4148 I had available were in a different package (SOD323 instead of SOD123) so I had to extend one side. The 390k resistors on the picture for R9\/R13 as well are a temporary replacement of the 500k ones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3D Printing<\/h2>\n\n\n\n<p>The enclosure has been sliced up with PrusaSlicer and printed with a Prusa MK3.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Ultimate Continuity tester enclosure print timelapse\" width=\"660\" height=\"495\" src=\"https:\/\/www.youtube.com\/embed\/MjoPJFOB4x4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Timelapse of the first print<\/figcaption><\/figure>\n\n\n\n<p>The two shells mated perfectly and the only thing I had to do was to de-burr the edges of the banana connectors (most likely they&#8217;ve got tapered).<\/p>\n\n\n\n<p>As mentioned above, the only pending modification for a &#8220;final&#8221; print, would be the size of the buzzer&#8217;s port.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing and using it<\/h2>\n\n\n\n<p>I realized quite quickly that I was used to continuity testers with a high resistance threshold (Leo shows how a Fluke 87V beeps already at 50Ohm). By connecting a pair of probe leads I noticed that the tester beeps steadily with a firm contact of the two, but it gets flashy even by just sliding the two contacts together.<\/p>\n\n\n\n<p>I was taken aback, but it&#8217;s actually true that imperfections of the surface and contaminants can cause sudden jumps in the conductive path. Most of the test leads are pointy and they&#8217;re able to penetrate dirt and sometime oxide layers.<\/p>\n\n\n\n<p>I agree with Leo that real continuity is definitely not 50Ohm, but I haven&#8217;t had the chance for an extensive field test to prove that 5Ohm is an ideal threshold.<\/p>\n\n\n\n<p>The nifty feature about the LED and buzzer being driven by two different thresholds is that one can still distinguish between low impedance and continuity and this accounts also for diode testing.<\/p>\n\n\n\n<p>So, I&#8217;m sure I&#8217;m going to love this tool. It fits snugly in the hand and allows to clamp one of the leads along, even though it might be a nifty feature to add a magnet and\/or a clip to the box.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572-1024x768.jpg\" alt=\"\" class=\"wp-image-123\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572-1024x768.jpg 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572-300x225.jpg 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572-768x576.jpg 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572-1536x1152.jpg 1536w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2020\/08\/IMG_20200815_182540572.jpg 1632w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Credits<\/h2>\n\n\n\n<p>Concept, idea, design is Leo&#8217;s, whom I thank for the instructional video and sharing. Check his great YouTube channel <a href=\"https:\/\/www.youtube.com\/channel\/UCe1bjEcBichpiAMhExh0NiQ\">here<\/a>.<\/p>\n\n\n\n<p>Thanks for the support for the 3d printing to Johannes H.<\/p>\n\n\n\n<p>And thanks to Uli F. for the modeling tips.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Files and downloads<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eagle Schematics, board files, gerber and BOM can be found <a href=\"https:\/\/github.com\/oxullo\/uctester\">here<\/a><\/li>\n\n\n\n<li>Enclosure files can be viewed and downloaded <a href=\"https:\/\/www.printables.com\/model\/1227949-uct-enclosure\">here<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Contributed pictures<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2021\/06\/uct_scotty-1024x768.jpg\" alt=\"\" class=\"wp-image-146\" srcset=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2021\/06\/uct_scotty-1024x768.jpg 1024w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2021\/06\/uct_scotty-300x225.jpg 300w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2021\/06\/uct_scotty-768x576.jpg 768w, https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2021\/06\/uct_scotty.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">UCT from Mr. Scotty &#8211; thanks!<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A couple of weeks ago, YouTube suggested me this video: I found myself quickly enamored by the idea, since I believe that a tool must be fun to use. And by fun I mean no double thoughts about its reliability, and that it should be easy and predictable. The video has a great progression: the &hellip; <a href=\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">The Ultimate Continuity tester<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Ultimate Continuity tester - Rambling-X<\/title>\n<meta name=\"description\" content=\"A journey into the implementation of Leo&#039;s bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Ultimate Continuity tester - Rambling-X\" \/>\n<meta property=\"og:description\" content=\"A journey into the implementation of Leo&#039;s bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\" \/>\n<meta property=\"og:site_name\" content=\"Rambling-X\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-15T17:03:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-13T15:04:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1354\" \/>\n\t<meta property=\"og:image:height\" content=\"932\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"x\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"x\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\"},\"author\":{\"name\":\"x\",\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c\"},\"headline\":\"The Ultimate Continuity tester\",\"datePublished\":\"2020-08-15T17:03:40+00:00\",\"dateModified\":\"2025-03-13T15:04:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\"},\"wordCount\":1377,\"commentCount\":38,\"publisher\":{\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c\"},\"image\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\",\"url\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\",\"name\":\"The Ultimate Continuity tester - Rambling-X\",\"isPartOf\":{\"@id\":\"https:\/\/www.xul.it\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png\",\"datePublished\":\"2020-08-15T17:03:40+00:00\",\"dateModified\":\"2025-03-13T15:04:19+00:00\",\"description\":\"A journey into the implementation of Leo's bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage\",\"url\":\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png\",\"contentUrl\":\"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png\",\"width\":1354,\"height\":932},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.xul.it\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Ultimate Continuity tester\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.xul.it\/blog\/#website\",\"url\":\"https:\/\/www.xul.it\/blog\/\",\"name\":\"Rambling-X\",\"description\":\"Sparks of modern wizardry\",\"publisher\":{\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.xul.it\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c\",\"name\":\"x\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6a0c74ca4378af4ff794e07daff82df84edf0536d421c283999e935d95f1cd8d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6a0c74ca4378af4ff794e07daff82df84edf0536d421c283999e935d95f1cd8d?s=96&d=mm&r=g\",\"caption\":\"x\"},\"logo\":{\"@id\":\"https:\/\/www.xul.it\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/www.xul.it\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Ultimate Continuity tester - Rambling-X","description":"A journey into the implementation of Leo's bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/","og_locale":"en_US","og_type":"article","og_title":"The Ultimate Continuity tester - Rambling-X","og_description":"A journey into the implementation of Leo's bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.","og_url":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/","og_site_name":"Rambling-X","article_published_time":"2020-08-15T17:03:40+00:00","article_modified_time":"2025-03-13T15:04:19+00:00","og_image":[{"width":1354,"height":932,"url":"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png","type":"image\/png"}],"author":"x","twitter_card":"summary_large_image","twitter_misc":{"Written by":"x","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#article","isPartOf":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/"},"author":{"name":"x","@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c"},"headline":"The Ultimate Continuity tester","datePublished":"2020-08-15T17:03:40+00:00","dateModified":"2025-03-13T15:04:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/"},"wordCount":1377,"commentCount":38,"publisher":{"@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c"},"image":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage"},"thumbnailUrl":"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/","url":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/","name":"The Ultimate Continuity tester - Rambling-X","isPartOf":{"@id":"https:\/\/www.xul.it\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage"},"image":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage"},"thumbnailUrl":"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32-1024x705.png","datePublished":"2020-08-15T17:03:40+00:00","dateModified":"2025-03-13T15:04:19+00:00","description":"A journey into the implementation of Leo's bag of tricks Ultimate Continuity tester, from his idea to a minimal enclosure.","breadcrumb":{"@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#primaryimage","url":"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png","contentUrl":"https:\/\/www.xul.it\/blog\/wp-content\/uploads\/2022\/10\/2022-10-03_15h20_32.png","width":1354,"height":932},{"@type":"BreadcrumbList","@id":"https:\/\/www.xul.it\/blog\/index.php\/2020\/08\/15\/the-ultimate-continuity-tester\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.xul.it\/blog\/"},{"@type":"ListItem","position":2,"name":"The Ultimate Continuity tester"}]},{"@type":"WebSite","@id":"https:\/\/www.xul.it\/blog\/#website","url":"https:\/\/www.xul.it\/blog\/","name":"Rambling-X","description":"Sparks of modern wizardry","publisher":{"@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.xul.it\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/c6bb8254df6a0505e55090981b495f8c","name":"x","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6a0c74ca4378af4ff794e07daff82df84edf0536d421c283999e935d95f1cd8d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6a0c74ca4378af4ff794e07daff82df84edf0536d421c283999e935d95f1cd8d?s=96&d=mm&r=g","caption":"x"},"logo":{"@id":"https:\/\/www.xul.it\/blog\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/www.xul.it\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":16,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":197,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/posts\/110\/revisions\/197"}],"wp:attachment":[{"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xul.it\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}