MODLFO firmware for NS1

Home Forums Products NS1nanosynth MODLFO firmware for NS1

This topic contains 12 replies, has 5 voices, and was last updated by  christian 3 months, 3 weeks ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #2502

    matthewfriedrichs
    Participant

    Please enjoy this early Christmas present that I have made for your NS1! ๐Ÿ™‚

    Modulatable LFO for NS1

    This firmware adds an LFO that allows you to modulate both the rate and waveshape. You only have to use the control pots already on the NS1. There are no extra circuits to build.

    There are also a few extra features. The LFO can be retriggered and put into a one shot mode to act as an extra envelope. There is an extra MIDI oscillator on pin 9 that will will let you easily tune the analog oscillator by ear. I added a LOFI noise source to pins A0 and M<- to complement the existing white and pink noise sources. The final addition is an extra MIDI gate out on pin 6.

    Check out this audio demo to hear some of the possibilities these extra features give you. ๐Ÿ™‚
    MODLFO Demo

    #2584

    Board Skate
    Participant

    great, i will try it! seems very interesting

    #2609

    martin.krivanek
    Participant

    Thanks a lot! I tried it yesterday and had fun with it!

    #2711

    christian
    Participant

    Dear Matthew

    Thanks SO MUCH for making this! Unfortunately I got an “error compiling” message in Arduino when trying to upload it to my Nano.

    I did manage to install and use the Ixar’an sequencer. Both that and the MODLFO seem to rely on the Wire library, which I have included.

    Please LMK if you have any tips. (I realize that understanding what might be wrong with someone else’s Arduino setup is almost impossible – but if there’s some procedure you have to follow before uploading MODLFO, or some library to include. please let me know.) Thank you!

    Christian

    #2713

    christian
    Participant

    PS I updated my Arduino IDE to 1.8.1, then noticed an error message saying that “timerone.h” was missing, so I found and downloaded and included the TimerOne library.

    When I try to compile MODLFO I get this error message – please LMK if you have any thoughts about what I could try.

    
    Arduino: 1.8.1 (Windows 10), Board: "Arduino Leonardo"
    
    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:8:19: warning: character constant too long for its type
    
         <meta charset='utf-8'>
    
                       ^
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:26:5: error: stray '\302' in program
    
         <title>electronics/DAC_MCP49xx.h at master ร‚ยท exscape/electronics ร‚ยท GitHub</title>
    
         ^
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:26:5: error: stray '\267' in program
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:26:5: error: stray '\302' in program
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:26:5: error: stray '\267' in program
    
    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:
    
    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:139:28: warning: missing terminating ' character
    
       <!-- </textarea> --><!-- '"

    –><form accept-charset=”UTF-8″ action=”/exscape/electronics/search” class=”js-site-search-form” data-scoped-search-url=”/exscape/electronics/search” data-unscoped-search-url=”/search” method=”get”>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:139:3: error: missing terminating ‘ character

    <!– </textarea> –><!– ‘”` –><form accept-charset=”UTF-8″ action=”/exscape/electronics/search” class=”js-site-search-form” data-scoped-search-url=”/exscape/electronics/search” data-unscoped-search-url=”/search” method=”get”>

    ^

    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:419:69: error: stray ‘#’ in program

    <td id=”LC1″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>ifndef</span> _DAC_MCP49xx_H</td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:423:69: error: stray ‘#’ in program

    <td id=”LC2″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>define</span> <span class=”pl-en”>_DAC_MCP49xx_H</span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:432:69: error: stray ‘#’ in program

    <td id=”LC4″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>SPI.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:436:69: error: stray ‘#’ in program

    <td id=”LC5″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>Arduino.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:440:69: error: stray ‘#’ in program

    <td id=”LC6″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>inttypes.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:449:69: error: stray ‘#’ in program

    <td id=”LC8″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>ifndef</span> _SPI_H_INCLUDED</td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:453:69: error: stray ‘#’ in program

    <td id=”LC9″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>error</span> Please include SPI.h before DAC_MCP49xx.h!</td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:457:70: error: stray ‘#’ in program

    <td id=”LC10″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>endif</span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:669:70: error: stray ‘#’ in program

    <td id=”LC61″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>endif</span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:679:28: warning: missing terminating ‘ character

    <!– </textarea> –><!– ‘”` –><form accept-charset=”UTF-8″ action=”” class=”js-jump-to-line-form” method=”get”>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:679:3: error: missing terminating ‘ character

    <!– </textarea> –><!– ‘”` –><form accept-charset=”UTF-8″ action=”” class=”js-jump-to-line-form” method=”get”>

    ^

    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:729:14: warning: missing terminating ‘ character

    You can’t perform that action at this time.

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:729:7: error: missing terminating ‘ character

    You can’t perform that action at this time.

    ^

    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:5:1: error: expected unqualified-id before ‘<‘ token

    <!DOCTYPE html>

    ^

    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:372:3: error: expected unqualified-id before ‘<‘ token

    </div>

    ^

    In file included from C:\Users\Christian\Documents\Arduino\MODLFO_FRIEDRICHS\MODLFO_FRIEDRICHS.ino:54:0:

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:432:148: error: expected unqualified-id before ‘<‘ token

    <td id=”LC4″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>SPI.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:432:185: error: expected unqualified-id before ‘<‘ token

    <td id=”LC4″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>SPI.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:436:148: error: expected unqualified-id before ‘<‘ token

    <td id=”LC5″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>Arduino.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:436:189: error: expected unqualified-id before ‘<‘ token

    <td id=”LC5″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>Arduino.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:440:148: error: expected unqualified-id before ‘<‘ token

    <td id=”LC6″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>inttypes.h<span class=”pl-pds”>></span></span></td>

    ^

    C:\Users\Christian\Documents\Arduino\libraries\DAC_MCP49xx/DAC_MCP49xx.h:440:190: error: expected unqualified-id before ‘<‘ token

    <td id=”LC6″ class=”blob-code blob-code-inner js-file-line”>#<span class=”pl-k”>include</span> <span class=”pl-s”><span class=”pl-pds”><</span>inttypes.h<span class=”pl-pds”>></span></span></td>

    ^

    exit status 1
    Error compiling for board Arduino Leonardo.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.`

    #2836

    matthewfriedrichs
    Participant

    @christian: It looks like your Nano does not have the MCP49xx DAC. That is used to get a really smooth LFO. Just use a filtered PWM pin to output the LFO. You will need to adjust the values of the PWM output. It will not be as clean as the DAC output, but it will work.

    #2849

    paul
    Participant

    Hey guys really want to try this but I have zero knowledge of arduino. would someone please be able to do a “step by step” for me. I mean zero knowledge sorry guys. If I do manage to get this update on my ns1 am I right in saying I will no longer be able to use mod wheel with midi? Thank you in advanced. PS would be awesome if this LFO could also sync to midi clock rather than just LFO reset.

    #2930

    christian
    Participant

    Many thanks @Matthew for your kind response. Take care.

    Also may I echo @Paul, I have sometimes managed to upload firmware into the Nano and sometimes not. A step by step would be beautiful and much appreciated.

    (Paul, for starters you have to download the free Arduino IDE (that is how you create and install new code into your Arduino) and then read some tutorials to get a sense of how compiling and loading works. Then sometimes you need to add libraries… and then my knowledge runs out and I am left deep in the woods. But anyway, if you take a wrong turn, you should be able to reinstall the original firmware, which is here https://github.com/SOUNDMACHINES/NS1nanosynth_sketches, and while you are there check out the patches directory, which will give you new ideas https://github.com/SOUNDMACHINES/NS1nanosynth_patches – if you want to make your own patch diagrams, download a free app called Fritzing.)

    • This reply was modified 4 months ago by  christian.
    #3016

    christian
    Participant

    Matthew, OMG I finally managed to upload your gorgeous MODLFO. It is so wonderful. My nano is a crazed chaos machine and I haven’t even brought the envelopes and attenuators into play. OMG.

    Paul and everybody who may have had trouble compiling and uploading: Niklas has blessed us with step by step guidance here http://www.sound-machines.it/forums/topic/what-if-i-want-the-original-firmware-back/ that provided all the missing pieces that I was missing.

    When I compiled the MODLFO sketch after following Niklas’ instructions, I got some things that looked like error messages, but they must have been minor, because I hit UPLOAD anyway and it WORKED. (I guess if the errors were bad it would have refused to upload.)

    Anyway thanks so much to Matthew and Niklas, and I hope everybody finds the path to nanomodular joy. Let us know how it goes. And thanks Davide for such a wonderful box of miracles. Please make more! Please make a west coast sibling! And may all your dreams come true!

    Christian

    #3020

    matthewfriedrichs
    Participant

    @christian: I am glad to hear that you got my firmware working! I just now realized you were using nano to refer to the NS1 and not an Arduino Nano. Sorry for the confusion. Remember that the firmware has extra features like an extra audio rate square wave oscillator as well as a lofi noise source; it is not just an LFO. ๐Ÿ™‚

    It sounds like you will be having a lot of fun with your two NS1 synths! If you happen to use Reaktor, check out my free set of modular blocks.

    #3022

    christian
    Participant

    @matthew Sorry for confusion, my bad. I was like “whaaaat? How can my NS1 not have a MCP49xx DAC?” but I’m stunned and grateful that you actually looked through my error messages and tried to help. Your Reaktor blocks are amazing also. I have sent you a little paypal present. Have a good weekend.

    #3024

    matthewfriedrichs
    Participant

    Thanks for the donation, Christian! I hope you have a nice weekend as well.

    #3039

    christian
    Participant

    A tribute track paying homage to the NS1 and the MODLFO. https://soundcloud.com/christian-huygen/squeal-like-a-pig-ns1-modlfo-study-no-1

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.