{"id":4929,"date":"2026-07-22T09:09:58","date_gmt":"2026-07-22T16:09:58","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4929"},"modified":"2026-07-22T09:09:58","modified_gmt":"2026-07-22T16:09:58","slug":"project-16-sound-mozzi-mk29","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4929","title":{"rendered":"Project #16: Sound \u2013 Mozzi \u2013 Mk29"},"content":{"rendered":"<div style=\"width: 1200px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4929-1\" width=\"1200\" height=\"675\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #Mozzi #Potentiometer #ArduinoUNO #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant<\/p>\n<p>&#8212;&#8212;<br \/>\n<a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07a.jpg\" alt=\"Mozzi\" width=\"720\" height=\"847\" class=\"alignnone size-full wp-image-4931\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07a-255x300.jpg 255w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07b.jpg\" alt=\"Mozzi\" width=\"720\" height=\"404\" class=\"alignnone size-full wp-image-4932\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07b-300x168.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<figure id=\"attachment_4933\" aria-describedby=\"caption-attachment-4933\" style=\"width: 710px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07c.jpg\" alt=\"Mozzi\" width=\"720\" height=\"404\" class=\"size-full wp-image-4933\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2026\/07\/DL2606Mk07c-300x168.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><figcaption id=\"caption-attachment-4933\" class=\"wp-caption-text\">Mozzi<\/figcaption><\/figure>\n<p>&#8212;&#8212;<\/p>\n<p><strong>Mozzi<\/strong><\/p>\n<p>Currently your Arduino can only beep like a microwave oven. Mozzi brings your Arduino to life by allowing it to produce much more complex and interesting growls, sweeps and chorusing atmospherics. These sounds can be quickly and easily constructed from familiar synthesis units like oscillators, delays, filters and envelopes.<\/p>\n<p>You can use Mozzi to generate algorithmic music for an installation or performance, or make interactive sonifications of sensors, on a small, modular and super cheap Arduino, without the need for additional shields, message passing or external synths.<\/p>\n<p><strong>DL2606Mk07<\/strong><\/p>\n<p>1 x Crowduino Uno &#8211; SD<br \/>\n1 x Crowtail &#8211; Base Shield<br \/>\n1 x Gravity: Digital Speaker Module<br \/>\n1 x Crowtail &#8211; Linear Potentiometer &#8211; V2.0<br \/>\n1 x Crowtail &#8211; Rotary Angle Sensor 2.0<br \/>\n1 x USB Battery Pack<br \/>\n1 x USB Mini-B Cable<\/p>\n<p><strong>DL2606Mk07p<\/strong><\/p>\n<p><strong>DL2606Mk07p.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/****** Don Luc Electronics \u00a9 ******\r\nSoftware Version Information\r\nProject #16: Sound \u2013 Mozzi \u2013 Mk29\r\n16-29\r\nDL2606Mk07p.ino\r\nDL2606Mk07\r\n1 x Crowduino Uno - SD\r\n1 x Crowtail - Base Shield\r\n1 x Gravity: Digital Speaker Module\r\n1 x Crowtail - Linear Potentiometer - V2.0\r\n1 x Crowtail - Rotary Angle Sensor 2.0\r\n1 x USB Battery Pack\r\n1 x USB Mini-B Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ EEPROM Library to Read and Write EEPROM with Unique ID for Unit\r\n#include &quot;EEPROM.h&quot;\r\n\/\/ Mozzi\r\n#include &lt;Mozzi.h&gt;\r\n\/\/ Oscillator template\r\n#include &lt;Oscil.h&gt; \r\n\/\/ Sine table for oscillator\r\n#include &lt;tables\/sin2048_int8.h&gt; \r\n\r\n\/\/ iPotLinear Linear\r\nint iPotLinear = A0;\r\nint iStateLinear;\r\n\r\n\/\/ iPotKnob\r\nint iPotKnob = A1;\r\n\/\/ Volume\r\nbyte volume;\r\n\r\n\/\/ Oscil &lt;table_size, update_rate&gt; oscilName (wavetable), \r\n\/\/look in .h file of table #included above\r\nOscil &lt;SIN2048_NUM_CELLS, MOZZI_AUDIO_RATE&gt; aSin(SIN2048_DATA);\r\n\r\n\/\/ Software Version Information\r\n\/\/ EEPROM Unique ID Information\r\nString uid = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;16-29&quot;;\r\n\r\nvoid loop() {\r\n  \r\n  \/\/ Audio Hook\r\n  audioHook();\r\n\r\n}\r\n<\/pre>\n<p><strong>getEEPROM.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ isUID EEPROM Unique ID\r\nvoid isUID()\r\n{\r\n  \r\n  \/\/ Is Unit ID\r\n  uid = &quot;&quot;;\r\n  for (int x = 0; x &lt; 7; x++)\r\n  {\r\n    uid = uid + char(EEPROM.read(x));\r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>getMozzi.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Mozzi\r\n\/\/ Update Control\r\nvoid updateControl(){\r\n  \r\n  \/\/ Read the potentiometer as only 8 bit volume range for \r\n  \/\/efficient calculations in updateAudio\r\n  \/\/ Value is 0-255\r\n  volume = mozziAnalogRead&lt;8&gt;(iPotKnob); \r\n\r\n  \/\/ We request 10 bits, here, however. Value is 0-1023\r\n  iStateLinear = mozziAnalogRead&lt;10&gt;(iPotLinear); \r\n\r\n  \/\/ Set the frequency\r\n  aSin.setFreq(iStateLinear);\r\n\r\n}\r\n\/\/ Audio Output\r\nAudioOutput updateAudio(){\r\n\r\n  \/\/ Cast char output from aSin.next() to int to make room for multiplication\r\n  \/\/ 8 bit * 8 bit gives 16 bits value\r\n  return MonoOutput::from16Bit((int)aSin.next() * volume); \r\n  \r\n  }\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n \r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ EEPROM Unique ID\r\n  isUID();\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Start Mozzi\r\n  startMozzi();\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>People can contact us:<\/strong> https:\/\/www.donluc.com\/?page_id=1927<\/p>\n<p><strong>Consultant, R&#038;D, Electronics, IoT, Teacher and Instructor<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc&#8230;)<\/li>\n<li>IoT<\/li>\n<li>Wireless (Radio Frequency, Bluetooth, WiFi, Etc&#8230;)<\/li>\n<li>Robotics<\/li>\n<li>Automation<\/li>\n<li>Camera and Video Capture Receiver Stationary, Wheel\/Tank , Underwater and UAV Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial,  Marine and UAV<\/li>\n<li>Machine Learning<\/li>\n<li>Artificial Intelligence (AI)<\/li>\n<li>RTOS<\/li>\n<li>Sensors, eHealth Sensors, Biosensor, and Biometric<\/li>\n<li>Research &#038; Development (R &#038; D)<\/li>\n<li>Consulting<\/li>\n<\/ul>\n<p><strong>Follow Us<\/strong><\/p>\n<p><strong>Luc Paquin \u2013 Curriculum Vitae &#8211; 2026<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/LucPaquinCVEng2026Mk01.pdf<br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.com\/<br \/>\n<strong>Web:<\/strong> https:\/\/www.jlpconsultants.com\/<br \/>\n<strong>Facebook:<\/strong> https:\/\/www.facebook.com\/neosteam.labs.9\/<br \/>\n<strong>YouTube:<\/strong> https:\/\/www.youtube.com\/@thesass2063<br \/>\n<strong>DFRobot:<\/strong> https:\/\/learn.dfrobot.com\/user-10186.html<br \/>\n<strong>TikTok:<\/strong> https:\/\/www.tiktok.com\/@luc.paquin8<br \/>\n<strong>Hackster:<\/strong> https:\/\/www.hackster.io\/luc-paquin<br \/>\n<strong>LinkedIn:<\/strong> https:\/\/www.linkedin.com\/in\/jlucpaquin\/<\/p>\n<p><strong>Don Luc<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8212;&#8212; #DonLucElectronics #DonLuc #Mozzi #Potentiometer #ArduinoUNO #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; Mozzi Currently your Arduino can only beep like a microwave oven. Mozzi brings your Arduino to life by allowing it to produce much more complex and interesting growls, sweeps and chorusing atmospherics. These sounds can be quickly and &#8230; <a title=\"Project #16: Sound \u2013 Mozzi \u2013 Mk29\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4929\" aria-label=\"Read more about Project #16: Sound \u2013 Mozzi \u2013 Mk29\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[119,397,50,49,38,368,59,115,5,287,58,10],"tags":[6,92,102,4,87,369,19,24,128,27,120,33,34,108],"class_list":["post-4929","post","type-post","status-publish","format-standard","hentry","category-sound","category-arduino-digitalelectronics","category-arduino","category-consultant","category-digitalelectronics","category-elecrow","category-fritzing","category-e-mentor","category-microcontrollers","category-program","category-arduino-programming","category-projects","tag-arduino","tag-battery","tag-components","tag-consultant","tag-display","tag-elecrow","tag-electronics","tag-microcontroller","tag-mozzi","tag-projects-2","tag-sound","tag-technology","tag-video-blog","tag-vlog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4929"}],"version-history":[{"count":1,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4929\/revisions"}],"predecessor-version":[{"id":4934,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4929\/revisions\/4934"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}