Yes, you read it right! A new firmware for the N32B midi controller has been released!
This version was written over PlatformIO, instead of the simple Arduino IDE. It is much more professional and manageable way of writing your sketches, which are now fully grown into C++ applications.
We also have a new repository on GitHub, it is part of the separation process between the hardware repository and the firmware repository.
What has changed?
The most significant change is the usage of memory. The former N32B firmware was using 73% of the Arduino chip memory (RAM), which is in the Arduino’s safe zone but it is still a lot. The new firmware is using 58.2% of available RAM.
Precision & Sensibility
The N32B was already supporting high resolution midi messages (14-bit), now it is a little more sensitive to fine turns.
For the curious developers out there, you might ask yourself how the same device with the same functionally is now using less RAM and has more precision?
The answer to that is EMA (Exponential Moving Average). Using EMA instead of a simple moving average to smooth out the potentiometers spikes allows a big change in the data structure and, in return, it reduces the amount of needed memory.
Ok so why do we care if the device was already working good?
Because it allows us to add more features to the next releases.
What to expect in the next releases?
Some of the new features are already in development, such as “Midi Learn“, which allows you to program each knob without the need for the Editor.
More planned features are RPN messages (NRPN messages are already supported), and dual message mode, which is a cool feature to send two different midi messages over the same knob. Please let us know what other features you would love to have on your N32B.
There is also a magical Euclidean-Sequencer firmware in development, more on that in a separate post coming soon!