{"id":7596,"date":"2023-02-19T12:35:00","date_gmt":"2023-02-19T11:35:00","guid":{"rendered":"https:\/\/willem.aandewiel.nl\/?p=7596"},"modified":"2023-03-03T08:07:12","modified_gmt":"2023-03-03T07:07:12","slug":"midi-drum-machine","status":"publish","type":"post","link":"https:\/\/willem.aandewiel.nl\/index.php\/2023\/02\/19\/midi-drum-machine\/","title":{"rendered":"MIDI Drum Machine"},"content":{"rendered":"\n<p>[ 3,167 keer bekeken \/ views ]<\/p>\n\n\n\n<p>Rond januari 2023 vond ik een <a rel=\"noreferrer noopener\" href=\"https:\/\/www.instructables.com\/MIDI-Drum-Machine\/\" target=\"_blank\">instructable van Peter Balch<\/a> voor het maken van een Drum Machine. Ik was direct geboeid door het ontwerp en wilde deze Drum Machine namaken.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"927\" style=\"aspect-ratio: 962 \/ 927;\" width=\"962\" controls src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit-1.mov\"><\/video><\/figure>\n\n\n\n<p>Voor de hele Drum Machine zijn de volgende onderdelen nodig:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arduino Nano<\/li>\n\n\n\n<li>VS1053<\/li>\n\n\n\n<li>2.8&#8243; ILI9341 SPI display (touch display)<\/li>\n\n\n\n<li>PAM8403 (audio versterker)<\/li>\n\n\n\n<li>21 weerstanden<\/li>\n\n\n\n<li>Push Button<\/li>\n\n\n\n<li>Rotary Encoder met Push Button<\/li>\n\n\n\n<li>Power Jack<\/li>\n\n\n\n<li>100-200 uF elco<\/li>\n<\/ul>\n\n\n\n<p>Peter heeft als basis een gaatjesboard gebruikt om alle onderdelen op te bevestigen. Ik wilde er een mooie printplaat (PCB) voor ontwerpen \u00e9n ik wilde de Drum Machine geschikt maken voor een ESP32. <\/p>\n\n\n\n<p>Voor de ILI9341 heeft <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/adafruit\/Adafruit_ILI9341\" target=\"_blank\">Adafruit<\/a> een mooie bibliotheek gemaakt maar deze was voor de Drum Machine niet snel genoeg. Daarom heeft Peter een eigen grafische bibliotheek geschreven. Om de benodigde snelheid te realiseren is deze bibliotheek grotendeels in assembler geschreven &#8230; iets waar ik niet aan durf te beginnen. Dus het plan om de Drum Machine voor de ESP32 geschikt te maken heb ik helaas moeten laten varen.<\/p>\n\n\n\n<p>Wat overblijft is een \u00e9\u00e9n-op-\u00e9\u00e9n kopie van wat Peter Balch heeft gemaakt met alleen een door mij ontwikkelde PCB.  Het is een leuke puzzel om alle onderdelen op een zo klein mogelijke printplaat te groeperen en  zodanig dat je ze ook nog kunt solderen. Dit heb ik bedacht:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Top_View.png\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"661\" data-id=\"7600\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Top_View.png\" alt=\"\" class=\"wp-image-7600\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Top_View.png 864w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Top_View-300x230.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Top_View-768x588.png 768w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Bottom_View.png\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"748\" data-id=\"7603\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Bottom_View.png\" alt=\"\" class=\"wp-image-7603\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Bottom_View.png 901w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Bottom_View-300x249.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Bottom_View-768x638.png 768w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"502\" data-id=\"7602\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View2.png\" alt=\"\" class=\"wp-image-7602\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View2.png 973w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View2-300x155.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View2-768x396.png 768w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"655\" data-id=\"7601\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View1.png\" alt=\"\" class=\"wp-image-7601\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View1.png 1006w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View1-300x195.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Side_View1-768x500.png 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>Het schema van <em>Peter Balch<\/em> overgenomen in KiCad ziet er zo uit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic.pdf\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"706\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic-1024x706.png\" alt=\"\" class=\"wp-image-7617\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic-1024x706.png 1024w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic-300x207.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic-768x529.png 768w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Schematic.png 1135w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>En dit is het ontwerp van de printplaat:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB-1024x734.png\" alt=\"\" class=\"wp-image-7604\" width=\"512\" height=\"367\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB-1024x734.png 1024w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB-300x215.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB-768x550.png 768w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_PCB.png 1133w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large is-resized\"><a href=\"https:\/\/www.pcbway.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2022\/10\/PCBWay-Logo-1024x374.png\" alt=\"\" class=\"wp-image-7271\" width=\"256\" height=\"94\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2022\/10\/PCBWay-Logo-1024x374.png 1024w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2022\/10\/PCBWay-Logo-300x110.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2022\/10\/PCBWay-Logo-768x280.png 768w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2022\/10\/PCBWay-Logo.png 1200w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Snel de Gerber Files naar <a href=\"https:\/\/www.pcbway.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">PCBWay<\/a> gestuurd en na vier weken (helaas: Chinese Nieuwjaar en dan ligt echt \u00e1lles stil in China) de PCB&#8217;s in de brievenbus.<\/p>\n\n\n\n<p>Maar ik moet haast wel een black-out gehad hebben, want ik heb niet eerder een PCB ontworpen waar z\u00f3veel fouten in zaten.<\/p>\n\n\n\n<p>Het begon al met de Power Jack<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"427\" data-id=\"7597\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PowerJack_FOUT.png\" alt=\"\" class=\"wp-image-7597\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PowerJack_FOUT.png 593w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PowerJack_FOUT-300x216.png 300w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"201\" height=\"141\" data-id=\"7598\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PowerJack_OK.png\" alt=\"\" class=\"wp-image-7598\"\/><\/figure>\n<\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PAM8403.png\" alt=\"\" class=\"wp-image-7606\" width=\"196\" height=\"184\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PAM8403.png 783w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PAM8403-300x282.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/PAM8403-768x721.png 768w\" sizes=\"auto, (max-width: 196px) 100vw, 196px\" \/><\/figure>\n<\/div>\n\n\n<p>Ik heb al tientallen PCB&#8217;s met een Power Jack plug ontworpen, maar om \u00e9\u00e9n of andere reden dit keer zoals in het linker plaatje. En dat is \u00e9cht fout (pin 1 is Vcc, pin 2 is GND)! Omdat een aantal onderdelen (VS1053, PAM8403 en ILI9341) niet als zodanig als Symbol en Footprint beschikbaar zijn in KiCad heb ik deze zelf getekend. En ook d\u00e1\u00e1r kun je behoorlijk wat fouten mee maken. In mijn geval had ik de aansluitingen in het PAM8403 Symbol genummerd van 1 naar 9 maar in de Footprint gaat deze van 9 naar 1. Het mag duidelijk zijn dat je dan een probleem krijgt.<\/p>\n\n\n\n<p>Verder had ik de voeding (Vcc en GND) niet doorverbonden naar de Arduino Nano en niet naar de VS1053 (vreemd want de <em>Electrical Rules Check<\/em> had dit probleem niet gesignaleerd) \u00e9n ik had geen verbinding tussen MOSI van de VS1053 en MOSI (pin 14) van de Nano.<\/p>\n\n\n\n<p>Kortom: het PCB dient bijna alleen nog om de onderdelen op zijn plaats te houden \ud83d\ude09 <br>Ik heb de problemen op kunnen lossen door een aantal sporen weg te frezen en een aantal verbindingen met draadjes te maken. Niet de meest elegante oplossing, maar een nieuw PCB laten maken is ook weer zowat. Uiteraard heb ik het PCB ontwerp w\u00e9l aangepast, dus mocht ik ooit n\u00f3g een Drum Machine willen maken dan is het PCB n\u00fa in ieder geval goed.<\/p>\n\n\n\n<p>Een mooie projectbox maakt het geheel af:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" data-id=\"7610\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1-1024x556.png\" alt=\"\" class=\"wp-image-7610\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1-1024x556.png 1024w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1-300x163.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1-768x417.png 768w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"907\" height=\"526\" data-id=\"7609\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box2.png\" alt=\"\" class=\"wp-image-7609\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box2.png 907w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box2-300x174.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box2-768x445.png 768w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"930\" height=\"562\" data-id=\"7611\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box3.png\" alt=\"\" class=\"wp-image-7611\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box3.png 930w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box3-300x181.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box3-768x464.png 768w\" sizes=\"auto, (max-width: 930px) 100vw, 930px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"563\" data-id=\"7612\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box4.png\" alt=\"\" class=\"wp-image-7612\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box4.png 943w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box4-300x179.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Box4-768x459.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">ProjectBox gegenereerd met de YAPPgenerator.<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Inside.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Inside.png\" alt=\"\" class=\"wp-image-7620\" width=\"500\" height=\"300\" srcset=\"https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Inside.png 1000w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Inside-300x180.png 300w, https:\/\/willem.aandewiel.nl\/wp-content\/uploads\/2023\/02\/drumKit_Inside-768x460.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption class=\"wp-element-caption\">Binnenkant met links en rechts de luidsprekers<\/figcaption><\/figure>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[ ] Rond januari 2023 vond ik een instructable van Peter Balch voor het maken van een Drum Machine. Ik was direct geboeid door het ontwerp en wilde deze Drum Machine namaken. Voor de hele Drum Machine zijn de volgende &hellip; <a href=\"https:\/\/willem.aandewiel.nl\/index.php\/2023\/02\/19\/midi-drum-machine\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7596","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"views":3167,"_links":{"self":[{"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/posts\/7596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/comments?post=7596"}],"version-history":[{"count":10,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/posts\/7596\/revisions"}],"predecessor-version":[{"id":7627,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/posts\/7596\/revisions\/7627"}],"wp:attachment":[{"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/media?parent=7596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/categories?post=7596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/willem.aandewiel.nl\/index.php\/wp-json\/wp\/v2\/tags?post=7596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}