{"id":2194,"date":"2012-08-05T08:27:21","date_gmt":"2012-08-05T13:27:21","guid":{"rendered":"http:\/\/www.summet.com\/blog\/?p=2194"},"modified":"2012-08-05T08:28:10","modified_gmt":"2012-08-05T13:28:10","slug":"serial-shift-register-mosfet-driver-version-1-1","status":"publish","type":"post","link":"https:\/\/www.summet.com\/blog\/2012\/08\/05\/serial-shift-register-mosfet-driver-version-1-1\/","title":{"rendered":"Serial Shift Register MOSFET driver (version 1.1)"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:508,&quot;href&quot;:&quot;http:\\\/\\\/www.kicad-pcb.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260329130302\\\/https:\\\/\\\/kicad-pcb.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 13:51:13&quot;,&quot;http_code&quot;:503}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-15 13:51:13&quot;,&quot;http_code&quot;:503},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:509,&quot;href&quot;:&quot;http:\\\/\\\/www.kicad-pcb.org\\\/display\\\/KICAD\\\/Getting+Started+in+KiCad&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:510,&quot;href&quot;:&quot;http:\\\/\\\/www.oshpark.com&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/oshpark.com\\\/&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:511,&quot;href&quot;:&quot;https:\\\/\\\/www.sparkfun.com\\\/products\\\/10680&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20241014034533\\\/https:\\\/\\\/www.sparkfun.com\\\/products\\\/10680&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 13:51:26&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-15 13:51:26&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>My <a href=\"http:\/\/www.summet.com\/blog\/tag\/bubbledisplay\">BubbleDisplay project<\/a> needed to control sixty DC motors or solenoids to control air injection into individual columns of liquid. Due to the large number of outputs needed, I am using a chain of (74HC595) serial shift registers so that three I\/O pins can control all sixty outputs. As each serial shift register has 8 outputs, this requires eight chips (for a total of 64 outputs, four are unused). The 74HC595 can not source\/sync enough current to drive the motors\/solenoids directly, so I am using a  TO-220 N-Channel MOSFET rated at 60 volts and 32 amps (digikey: FQP30N06L-ND) to drive the load, with an 1N4001 rectifier diode to handle current spikes. Because I had to make 8 (9 for a hot spare) copies of this circuit, I decided that fabricating a printed circuit board was the only way to go. <\/p>\n<p><a href=\"http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/mosfet_shift_register_1.1_populated.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/mosfet_shift_register_1.1_populated-300x225.jpg\" alt=\"Circuit board with 8 LED&#039;s and 8 MOSFETS connected to a 74HC595 shift register\" title=\"mosfet_shift_register_1.1_populated\" width=\"300\" height=\"225\" class=\"alignleft size-medium wp-image-2195\" srcset=\"https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/mosfet_shift_register_1.1_populated-300x225.jpg 300w, https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/mosfet_shift_register_1.1_populated-1024x768.jpg 1024w, https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/mosfet_shift_register_1.1_populated.jpg 1354w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>It only took me two tries (Moving from Version 1.0 to 1.1) before I was happy with the design, which you can see (populated for testing) above. Looks a lot nicer than the prototype, right?<br \/>\n<a href=\"http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/prototype_board_closeup.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/prototype_board_closeup-300x225.jpg\" alt=\"protoboard with MOSFETS and LED&#039;s\" title=\"prototype_board_closeup\" width=\"300\" height=\"225\" class=\"alignleft size-medium wp-image-2197\" srcset=\"https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/prototype_board_closeup-300x225.jpg 300w, https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/prototype_board_closeup-1024x768.jpg 1024w, https:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/prototype_board_closeup.jpg 1600w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<!--more--><br \/>\nI used the open source <a href=\"http:\/\/www.kicad-pcb.org\/\">KiCad EDA<\/a> software suite for the schematic capture and board layout and was quite happy with it. (Be sure to go through the <a href=\"http:\/\/www.kicad-pcb.org\/display\/KICAD\/Getting+Started+in+KiCad\">Tutorial<\/a> if you are just getting started!).<\/p>\n<p>If you want to make yourself a copy, you can download the GERBER files that I used at <a href=\"http:\/\/www.oshpark.com\/\">OSHPark<\/a> to make yourself a batch:<br \/>\n<a href='http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/shiftMosfet_oshPark_1.1.zip'>shiftMosfet_oshPark_1.1<\/a><\/p>\n<p>I am also posting my entire KiCad project directory in case you need to make changes:<br \/>\n<a href='http:\/\/www.summet.com\/blog\/wp-content\/uploads\/2012\/08\/shiftMosfet_1.1_kicad.zip'>shiftMosfet_1.1_kicad<\/a><\/p>\n<p>The parts needed to populate (one) board (with digikey part numbers) are as follows. Listed prices are for quantities large enough to populate at least 8 boards:<\/p>\n<pre>\r\n1 74HC595 IC 8-BIT SHIFT REGISTER 16-DIP        $0.63\t\tdigikey.com\t296-1600-5-ND\r\n1 CONN FEMALE 8POS .100\" R\/A GOLD               $0.767\t\tdigikey.com\tS5483-ND\r\n1 CONN HEADER 8POS .100 R\/A 15AU                $0.333\t\tdigikey.com\t609-3321-ND\r\n8 MOSFET N-CH 60V 32A TO-220                    $0.94\t\tdigikey.com\tFQP30N06L-ND\r\n8 1N4001 RECTIFIER 50V 1A DO-41                 $0.1184\t\tdigikey.com\t1N4001DICT-ND\r\n8 RES MF 1\/4W 10K OHM 1% AXIAL                  $0.0394\t        digikey.com\tS10KCACT-ND\r\n8 LED SS 5MM 625NM RED DIFF\t                $0.0932\t\tdigikey.com\t754-1264-ND\r\n8 RES 560 OHM 1\/4W 5% CF MINI                   $0.0228\t\tdigikey.com\tS560QCT-ND\r\n<\/pre>\n<p>The right angle (R\/A) headers allow you to daisy chain boards next to one another, but you could omit them and connect the boards using hook-up wire (not recommended for a large number of boards&#8230;) You may note that with the exception of the extra BATT + connection (allowing the MOSFETS to switch a voltage higher than logic level to the outputs) the connections are in the exact same order as <a href=\"https:\/\/www.sparkfun.com\/products\/10680\">SparkFun&#8217;s 74HC595 breakout boards<\/a> so you can daisy chain them together.  Although the 8 pin header has a BATT+ connection, if you are switching large currents you should also connect up the extra large GROUND and BATT+ pads with larger gauge wire. You could also NOT daisy chain the BAT+ connection and drive each board or set of boards from its own supply. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>My BubbleDisplay project needed to control sixty DC motors or solenoids to control air injection into individual columns of liquid. Due to the large number of outputs needed, I am using a chain of (74HC595) serial shift registers so that &hellip; <a href=\"https:\/\/www.summet.com\/blog\/2012\/08\/05\/serial-shift-register-mosfet-driver-version-1-1\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,2],"tags":[109,110],"class_list":["post-2194","post","type-post","status-publish","format-standard","hentry","category-projects","category-technology","tag-bubbledisplay","tag-shiftmosfet"],"_links":{"self":[{"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/posts\/2194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/comments?post=2194"}],"version-history":[{"count":0,"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/posts\/2194\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/media?parent=2194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/categories?post=2194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.summet.com\/blog\/wp-json\/wp\/v2\/tags?post=2194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}