GRAINS is a programmable multipurpose module that has first been developed by Ginkosynthese for Eurorack. The AE Modular version is 100% compatible with the source code for the original, but there are a few added features. It is based on the Atmega 328 micro controller, well known as the core of the Arduino Uno, Nano and other boards, and can act as a granular sound player as well as different other functions depending on the firmware. It can be programmed directly by the Arduino IDE via the integrated USB socket on the front side of the module via the included USB cable.
The newer revision of this module has a switch to enable the use of the open source Mozzi Library which makes programming much easier.
The module comes with the WAVEGRAINS firmware pre-installed which is a wavetable oscillator that is immediately useful. However you can install other firmware quite easily as described below.
Module power consumption: 12 mA
Bus outputs on the left hand bank of sockets.
Please note: IN 3 and Pot 3 are not related to each other, they are completely independent!
Please note: With the first revision of GRAINS this switch is missing, the setting there is equivalent to 'G'!
How to install other Firmwares
You can easily install different firmwares on to the GRAINS module or even develop your own programs!
The following firmwares are currently available from the Ginkosynthese website:
IMPORTANT Those firmwares only work in the "GRAINS" mode, so the top right switch needs to be on "G".
To install those firmwares on the module you need to follow these steps:
The firmware codes from the Ginkosynthese website are mostly single files with the ending .ino which means that they are Arduino sketches. You can open them in the Arduino IDE by double clicking on the filename.
Once you have the file open in the Arduino IDE you can upload them to the GRAINS module by clicking the Upload icon (depicted as an arrow pointing right).
Once the IDE shows that upload is complete you can disconnect the USB cable and use the GRAINS module with the new firmware.
Developing your own Firmware
Using the existing codes as example you can either make changes to them or develop your own firmware from scratch. The following diagram shows how you can access the various inputs, outputs and controls from within your code:
WARNING It is possible to "brick" your GRAINS with certain operations when you develop and test your own firmware programs! This has happened once and you can find how that happened and how it was resolved in this thread on the forum.
This video explains the module in more detail and has some patch examples for various firmwares.
There is a section on the forum dedicated to discussing programming this module:-
This code repository contains various firmwares that have been developed specifically for the AE Modular GRAINS module. This has started with the work by German author and software developer Mathias aka @visuellemusik. We encourage you to analyse the code and post your own firmware which we would add to this growing repository. With V2 of GRAINS building your own firmware using the Mozzi Library is possible now, too. With such a firmware the Mode-Switch as explained above and also symbolized in the schematics has to be set to 'M'. Please be aware that some versions of the Mozzi-Library did not work as expected in combination with certain versions of the Arduino IDE. An overview of recommended combinations of the two environments, including prereleases of Mozzi can be found here: https://github.com/sensorium/Mozzi/releases
You can download each firmware as an individual zip file or the whole lot from the Release Page.
This video explains how the ByteBeat-Xfade firmware works followed by a little improvised jam.
And this video explains the workings of the SpellOrSpeak firmware, also developed by Mathias.
This is a new firmware developed by Wonkystuff which brings a Karplus Strong algorithm to the GRAINS module. You can find the code here on Github:
And this was discussed on the forum here:
Another cool firmware is the Poly Ramp drone oscillator which you can find here:
This manual is a community work in progress. If you would like to help out with completing this manual please send a PM to @admin at the AE Modular Forum. The status of each page can be seen on the Trello board at https://trello.com/b/HNd0dBt7/ae-manuals