{"id":192,"date":"2026-03-10T21:58:03","date_gmt":"2026-03-10T20:58:03","guid":{"rendered":"https:\/\/projects.dejvino.com\/w\/?p=192"},"modified":"2026-07-30T19:13:39","modified_gmt":"2026-07-30T17:13:39","slug":"picowavetracker-midi-step-sequencer","status":"publish","type":"post","link":"https:\/\/projects.dejvino.com\/w\/picowavetracker-midi-step-sequencer\/","title":{"rendered":"PicoWaveTracker | MIDI step sequencer"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A MIDI step sequencer built on a Raspberry Pi Pico, with an OLED display, a rotary encoder, and an 8&#215;8 NeoPixel matrix used as the step grid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Besides manually programmed tracks, it supports a set of generative sequencing strategies \u2014 Euclidean rhythms, L-systems, cellular automata, Markov chains, arpeggios, call-and-response, drones, and more \u2014 each one turning a track into an algorithm instead of a fixed pattern. Scale\/root-note awareness, adjustable mutation, and chord-note support keep the generated parts musical. Multiple tracks can run different strategies and step counts at once for polyrhythms.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sends MIDI notes over a hardware serial DIN port, with optional MIDI input via an optocoupler. Can run tethered via USB or portably off a LiPo battery and a 5V booster board.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To make this extra fun, I repurposed a kids&#8217; toy briefcase and made it a bit punk.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"939\" height=\"728\" src=\"https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1.png\" alt=\"\" class=\"wp-image-193\" srcset=\"https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1.png 939w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-300x233.png 300w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-768x595.png 768w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-100x78.png 100w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-150x116.png 150w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-200x155.png 200w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-450x349.png 450w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-600x465.png 600w, https:\/\/projects.dejvino.com\/w\/wp-content\/uploads\/2026\/03\/image-1-900x698.png 900w\" sizes=\"auto, (max-width: 939px) 100vw, 939px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Status: Finished.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Project page: <a href=\"https:\/\/git.dejvino.cz\/dejvino\/PicoWaveTracker\">https:\/\/git.dejvino.cz\/dejvino\/PicoWaveTracker<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A MIDI step sequencer built on a Raspberry Pi Pico, with an OLED display, a rotary encoder, and an 8&#215;8 NeoPixel matrix used as the step grid. Besides manually programmed tracks, it supports a set of generative sequencing strategies \u2014 &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/projects.dejvino.com\/w\/picowavetracker-midi-step-sequencer\/\"> <span class=\"screen-reader-text\">PicoWaveTracker | MIDI step sequencer<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,53],"tags":[70,27,83,86,76,82],"class_list":["post-192","post","type-post","status-publish","format-standard","hentry","category-finished","category-hardware","tag-arduino","tag-c","tag-midi","tag-neopixel","tag-oled","tag-rp2040"],"_links":{"self":[{"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/posts\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":1,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/posts\/192\/revisions"}],"predecessor-version":[{"id":194,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/posts\/192\/revisions\/194"}],"wp:attachment":[{"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/media?parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/categories?post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projects.dejvino.com\/w\/wp-json\/wp\/v2\/tags?post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}