Reply To: Arduino synth code

Home Forums Products NS1nanosynth Arduino synth code Reply To: Arduino synth code



What do you mean by “super squelchy and bubbly”, is that “good” or “bad”?

“Iā€™m having trouble figuring out a tempo function if there even is one, it seems like there is one in the video of the original design.”

The name of the synth is Arpeggiating Glitch Synth… Yes maybe there aren’t any specific tempo function. I cannot find anything that indicates that in the code.

“Maybe someone could improve the code with speed functionality?”

Personally I don’t think that the people at Soundmachine made NS1 to adapt other products to their own firmwares, more that hacking chould grow a community around the product. And what I can tell is that other hackers are doing their own stuff (like me) that takes up their time but HEY I can be wrong!

So why don’t you do some DIY on your own šŸ™‚

Here is my suggestion (first task) of get your little project up a running.


Look at:

//A mess of variables with silly names but perfectly reasonable functions

That kind of telling you everything šŸ˜‰

you need to experiment with all the inputs (buttons and knobs) by that:

const int SENSOR_PIN   = 0; // Pin 0 used for floating value
const int KNOB_PIN     = 3; // Analog input pin 3
const int KNOB_PIN_1   = 2; // Analog input pin 2
const int KNOB_PIN_2   = 4; // Analog input pin 4
const int LDR1_PIN     = 1; // Analog input for fm_intensity to pin 1
const int BUTTON_PIN   = 12;// Digital input pin 12
const int BUTTON_PIN_1 = 4; // Digital input pin 4
const int BUTTON_PIN_2 = 5; // Digital input pin 5
const int BUTTON_PIN_3 = 8; // Digital input pin 8

Analog input (KNOB_PIN…): connect c1,c2 to choose pins and experiment.
Digital input (BUTTON_PIN…): b1,b2,b3 to choose pins and experiment.

As you can see you have to just two pot (c1,c2) and 3 KNOB_PIN-s, tree buttons (b1,b2,b3) but 4 BUTTON_PIN-s

Just do allot of experiment, go back to the code and draw conclusions of your finding, do small comments in the code so you get a bigger picture etc. etc.


When you find out what you want to retrigger from your experiments you put up a new digital input and name it RETRIG_INPUT or W.E. Connect one of ns1-s lfo output to it.

Then write code in updateControl() that check if that pin is high (if it is let the high-pin-check rest for some minutes afterwards), after that retrigger the things you want to be retriggered.


If you are having questions you can write to me here or become a member of the Facebook page/group “NS1 contributors” for quick questions.


  • This reply was modified 1 week, 3 days ago by  Niklas.
  • This reply was modified 1 week, 3 days ago by  Niklas.