{"id":3604,"date":"2026-04-11T23:47:59","date_gmt":"2026-04-11T23:47:59","guid":{"rendered":"https:\/\/blog.system11.org\/?p=3604"},"modified":"2026-04-12T00:43:49","modified_gmt":"2026-04-12T00:43:49","slug":"unipak-2b-pinout-module-351b-104bd-repro","status":"publish","type":"post","link":"https:\/\/blog.system11.org\/?p=3604","title":{"rendered":"UniPak 2B pinout module 351B-104BD repro"},"content":{"rendered":"\n<p>The Data I\/O 29 series is a vintage line of high end EPROM programmers, which had various programming pack options including the UniPak 2B with ZIF sockets for some specific device types and a swappable pinout cartridge &#8211; it seems the standard bundled one was the 351B-086 which is used for certain EPROMs up to 27512. Many different cartridges existed, but all of this equipment is now fairly uncommon if not completely unobtainable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"864\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-1024x864.jpg\" alt=\"\" class=\"wp-image-3614\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-1024x864.jpg 1024w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-300x253.jpg 300w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-768x648.jpg 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-1536x1296.jpg 1536w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-2b-setup-2048x1728.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>I borrowed the one above last year,  ended up having to repair it and later traded some PCBs for it since I needed something for older chips.  It&#8217;s how I dumped the cocktail version of N-Sub and wrote a set of new chips to replace the corroded ones from that board.  I&#8217;ve also had on the backburner for a while now (2021) the only copy of a Nichibutsu mahjong game from the DVD21 series, with a chip that no programmer has yet managed to read &#8211; of course the gap had been so long that I forgot these are 27C4001 and misremembered them as 27C010 until literally today, but it&#8217;s why I started searching for the 32 pin 1mbit pinout cartridge (351B-104BD) a little under a year ago.  I didn&#8217;t find it and attempts to bribe owners failed, but in the dataio user group files section was a partially faded schematic and parts diagram, so I decided to try to reproduce it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"787\" height=\"1024\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan-787x1024.jpg\" alt=\"\" class=\"wp-image-3620\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan-787x1024.jpg 787w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan-231x300.jpg 231w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan-768x999.jpg 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan-1180x1536.jpg 1180w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_scan.jpg 1238w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/a><\/figure>\n\n\n\n<p>The cartridges are fairly simple &#8211; a plastic case, a PCB with an exposed ground plane and a metal cover.  The combination of ground plane, metal and screw actually turns the top right machine screw into a ground supply &#8211; for a while I wondered if this was some kind of cart sensing contact but it really is a plain ground. Here&#8217;s the 351B-095 module for 27C1024 chips, I had two of these so decided to borrow the case from one of them.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-095_donor.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"788\" height=\"940\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-095_donor.jpg\" alt=\"\" class=\"wp-image-3616\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-095_donor.jpg 788w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-095_donor-251x300.jpg 251w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-095_donor-768x916.jpg 768w\" sizes=\"(max-width: 788px) 100vw, 788px\" \/><\/a><\/figure>\n\n\n\n<p>I translated the schematic into a KiCAD one first which is most easily done with labels and floating components.  They recently made it easier to have lines with jumps etc more in line with traditional schematics, but that was only released weeks ago.  Some people really don&#8217;t like this but I&#8217;m fairly comfortable with it, what I don&#8217;t like are the split component parts like the 74LS14 on the below diagram &#8211; it&#8217;s represented as 7 different parts but is actually a single 14 pin chip.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"709\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-1024x709.jpg\" alt=\"\" class=\"wp-image-3619\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-1024x709.jpg 1024w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-300x208.jpg 300w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-768x531.jpg 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-1536x1063.jpg 1536w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-schematic_editor-2048x1417.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Next I designed the PCB &#8211; thanks to Steven Rhine here (linked below) as he had produced a basic PCB template that included the edge connector, one of the most annoying things to make yourself. It was made with EasyEDA but was imported into KiCAD without too much pain. What was painful was laying out the tracks, I&#8217;m sure there&#8217;s a much cleaner way but I really wanted to match the parts layout of the original module &#8211; the end result is this is the first time I&#8217;ve had to create a multilayer board. The green and orange traces are buried in the middle.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"1024\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor-745x1024.jpg\" alt=\"\" class=\"wp-image-3617\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor-745x1024.jpg 745w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor-218x300.jpg 218w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor-768x1055.jpg 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor-1118x1536.jpg 1118w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-pcb_editor.jpg 1358w\" sizes=\"(max-width: 745px) 100vw, 745px\" \/><\/a><\/figure>\n\n\n\n<p>I had the PCBs produced by PCBWay shortly before they had the issue with payment methods (resolved in the last few weeks) and then for various reasons of work stress and other projects ended up leaving the PCBs and half of the parts in a box for months.  Assembly is straight forward, it should look like this.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled.png\"><img loading=\"lazy\" decoding=\"async\" width=\"838\" height=\"1024\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled-838x1024.png\" alt=\"\" class=\"wp-image-3618\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled-838x1024.png 838w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled-246x300.png 246w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled-768x938.png 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-repro_PCB_assembled.png 895w\" sizes=\"(max-width: 838px) 100vw, 838px\" \/><\/a><\/figure>\n\n\n\n<p>The parts list is as follows.  Two items of note &#8211; firstly the DP8310N is a difficult chip to source &#8211; some of them (in my case labelled &#8220;P0018AB DP8310N&#8221;) are fakes\/clones which can&#8217;t handle the actual voltage specs for inputs which go as high as 30v.  If you&#8217;re building a normal TTL level circuit you&#8217;d never notice, but the UniPak sends 26v to these inputs during setup\/test and it will immediately short the input in question to ground and you end up with a current warning.  I&#8217;d recommend going with US vintage surplus sellers.  Secondly you won&#8217;t be able to solder the ZIF socket in directly because it won&#8217;t clear the cart lid, I wasn&#8217;t able to find a proper ZIF mounting socket like the original modules use, but a good turned pin socket will do &#8211; test before soldering it in because some are too tight for the wide ZIF pins.<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><strong>PARTS LIST<\/strong>\nC1,C3,C4,C5        - 0.01uf polyester film capacitor\nC2,C6              - 0.068uf polyester film capacitor\nCR1-CR8,CR12-CR16  - 1N4148 diode\nCR9,CR10,CR17      - 1N5189 diode \nCR11               - 1N4934 diode\nDS1                - 5mm red LED\nQ1                 - PN2222A TO-92 transistor\nR1                 - 470 ohm 1\/4w 6.3mm resistor\nR2                 - 100 ohm 8-pin isolated resistor array\nR3                 - 3.3k ohm 6-pin bussed resistor array\nR4                 - 100 ohm 1\/4w 6.3mm resistor\nR5                 - 150k ohm 1\/4w 6.3mm resistor\nR6                 - 1.3k ohm 1\/4w 6.3mm resistor\nU1                 - DP8310N\nXU2                - DIP32 turned pin socket\nXU2                - DIP32 ZIF socket\nU3                 - 74HC299\nU4                 - 74LS14<\/code><\/pre>\n\n\n\n<p>Then if you have one, put it inside a spare case and install it in the programmer.  Note that you can check if you have a bad DP8310N easily &#8211; when the unit has booted press SELECT, C1, START, START.  If the chip is a fake it will immediately short out input 0 and throw a current error.  In my experience this didn&#8217;t damage anything as the UniPak 2B is well designed.  It may even be sensible to use a wiper socket for that chip on very initial testing then desolder the socket when you have a known good one.  I used a spare chip from a dead Snow Brothers PCB for testing, and the patched version of the official Promlink software, but on the dataio group files store you can find PL2260+ which is a modern Windows replacement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"825\" src=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-1024x825.jpg\" alt=\"\" class=\"wp-image-3615\" srcset=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-1024x825.jpg 1024w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-300x242.jpg 300w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-768x619.jpg 768w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-1536x1238.jpg 1536w, https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/104DB-29b-reproinstalled-2048x1650.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Below you can download the whole KiCAD project, and the original schematic.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-f2019eff-80fd-417b-9467-038d49d5993b\" href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/351B-104BD-Unipak-2B-module.zip\">351B-104BD Unipak 2B module<\/a><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/351B-104BD-Unipak-2B-module.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-f2019eff-80fd-417b-9467-038d49d5993b\">Download<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-0a1abbc3-2ee7-4303-88ce-13c7bcec2a8f\" href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/351B-104BD_701-2030-002.pdf\">351B-104BD_701-2030-002<\/a><a href=\"https:\/\/blog.system11.org\/wp-content\/uploads\/2026\/04\/351B-104BD_701-2030-002.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-0a1abbc3-2ee7-4303-88ce-13c7bcec2a8f\">Download<\/a><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>You can also just order the bare PCB from this link on PCBWay:<br><a href=\"https:\/\/www.pcbway.com\/project\/shareproject\/Data_I_O_Unipak_2B_351B_104BD_reproduction_module_kicad_pcb_2929a70c.html\">351B-104 shared project on PCBWay<\/a><\/p>\n\n\n\n<p>If you want to join the Data IO group go here:<br><a href=\"https:\/\/groups.io\/g\/DataioEPROM\">Data I\/O Universal Programmers Group<\/a><\/p>\n\n\n\n<p>There&#8217;s a variety of interesting stuff on Steven Rhine&#8217;s page who did the initial cart outline and edge connector:<br><a href=\"https:\/\/www.stevenrhine.com\">Rhine Labs Blog \/ News<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Data I\/O 29 series is a vintage line of high end EPROM programmers, which had various programming pack options including the UniPak 2B with ZIF sockets for some specific device types and a swappable pinout cartridge &#8211; it seems the standard bundled one was the 351B-086 which is used for certain EPROMs up to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3633,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-3604","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech"],"_links":{"self":[{"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/posts\/3604"}],"collection":[{"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.system11.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3604"}],"version-history":[{"count":18,"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/posts\/3604\/revisions"}],"predecessor-version":[{"id":3634,"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/posts\/3604\/revisions\/3634"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.system11.org\/index.php?rest_route=\/wp\/v2\/media\/3633"}],"wp:attachment":[{"href":"https:\/\/blog.system11.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.system11.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.system11.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}