Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

V0.4.x Firmware Workout: Goofing off never felt this hard



:fire::fire::fire:Welcome to the realm of v0.4.x. :fire::fire::fire:

I will be your Firmware Master for the evening. The biggest changes are not going to be visible to you quite yet, but will rather unfold in the following weeks. In addition to the usual opportunistic cherry-picking, the major theme for our journey to a stable v0.4 firmware will revolve around these 4 areas:

  1. Routing
  2. Scope Mode
  3. Custom Controls
  4. Hold Mode

The initial v0.4.x releases will focus on Routing and Scope Mode, and then later on I will tackle Custom Controls and Hold Mode.

As always proceed with caution and keep anything that you care about away from this firmware for a while. There is a LOT of new code that is only minimally tested. Fortunately, this firmware will create a completely different set of system folders (in ER-301/v0.4) and operate independently of the previous v0.3 release. Most importantly this means your quicksaves from v0.3 are not going to be touched.

v0.4.00 CHANGES

Don’t let the short list fool you. This took a LOT of goofing off, I mean work. :wink:

  • FIXED: Offset > In stereo chains, the offset parameter for the right channel was not being shown.
  • FIXED: Quicksaves > Occasional freeze when loading a CPU-heavy quicksave while running a CPU-heavy patch.
  • FIXED: Quicksaves > Sub-chain view from previous patch would remain after loading a quicksave.
  • FIXED: Level meters > Brief (ghost) rise in the displayed level when meter comes into view.
  • JANITORIAL: CPU/Memory Load View > This view is now an item in the admin menu rather than its own context. So you no longer use the STORAGE and MODE switches to access it.
  • ENHANCED: Preset files no longer use the *.lua extension regardless of the type of preset.
  • ENHANCED: Scope Mode > Navigate your OUTx chains with this bird’s eye view.
  • ENHANCED: Chain Source Selection > Improved source selection UI and locals now include ANY unit or branch in the entire chain hierarchy. Beware of feedback.

v0.4.01 CHANGES

  • FIXED: Sample Auditioning > OUTx chain output would break after auditioning files on the same channels.
  • FIXED: Mixer Unit > Inserting a Mixer unit into a mono chain incorrectly showed stereo faders.
  • FIXED: Scope Mode > Button columns were too bright.

v0.4.02 CHANGES

  • FIXED: Memory leaks when loading quicksaves and certain types of units.
  • FIXED: Channel Mute > Garbage in the audio buffers was causing audible noise.
  • FIXED: Channel Mute > Flashing LEDs were not synced and channel selection was hard to see.
  • FIXED: Teletype > Removed old i2c addresses and set the default i2c address to 0x31 as required by Teletype v3.0.0 and above.
  • FIXED: Admin > Renamed Load screen to CPU Load.
  • FIXED: Middle Layer > Enabled compilation of units with internal feedback loops.
  • ENHANCED: Channel Setup > Moved out of the admin area and is completely accomplished in the user area by just chording the two channels that you want to link or unlink.

v0.4.03 CHANGES

  • FIXED: Quicksaves > Since v0.4.02, OUTx chains were being restored on top of each other and sometimes in the wrong channel group.

WIKI: How to install firmware on the ER-301

:construction::construction::construction: UNSTABLE FIRMWARE :construction::construction::construction:
Use the stable v0.3.25 firmware for gigs and projects with deadlines.

er-301-v0.4.03-unstable-48kHz.zip (1.5 MB)
er-301-v0.4.03-unstable-96kHz.zip (1.5 MB)

Wavetable osc - waveedit import

CONGRATULATIONS on reaching v0.4! I hope your goofing off was productive restful.



Oh look. A delay line with a feedback path through a low pass filter and a limiter.



In before Joe.

(JK, can’t wait to try this out though!)


Very exciting! The new routing capabilities look like an order of magnitude increase in flexibility! Unfortunately I won’t have access to my 301 for about a week, so I’m counting on y’all to capture some video of this in action for me. :wink:

Thanks @odevices for all the hard work! (in between goofing off haha)


Just installed, very excited and scope mode looks really good already. I can see this being very useful!

Oh my god, the chain source selection is great for feedback :smiley:




Game changer, really. I like when you goof off.


what is ‘Custom Controls’ and ‘Hold Mode’ all about?




Diving in… yeaaaaaaaaaaaaah!!!

Mixer Unit

-Channel Setup is set to mono
-Displays two channel meters, with signal out of ch1/left. Is this a bug or by 0.4 design?


Still 45 minutes from getting to my synth. The pain of waiting, and this from the squeaky wheel.


oh man… @odevices … SCOPE MODE. Awesome!

I love how when you kick out of scope mode, it takes you to the exact spot you’re skimming over, no matter how nested it is in the patch. Super Slick!


Hold mode in the 101 is a magic mode that enables you to make all sort of changes to your patch while it’s playing but offline, and commit them all together when you disengage hold mode, very cool especially live. Dunno what Brian is thinking about it in the 301, but I’m already excited.


Ok so I did get to spend a few minutes with it. Scope mode is awesome!

Two words: side chain :slight_smile:

Edit: make that three words. Side chain anything


Uhoh! 0.4 / 48K

Channel 1 (or 1/2 linked) Audio Bug

It appears that adding a sample player on channel 1 (I’ve so far tried the RAW and variable), auditioning a file and then loading it up “breaks” the audio engine. I could hear the preview, but upon load, I see the audio on the scope but the output is silent.

-Clearing the channel does not fix the problem
-Restarting the Audio Engine does not ‘bring it back’ either
-Have to soft-reboot or cycle power to bring it back


  • this only occurs on channel 1.
  • If I carry out the same variable or raw player load process on Channel 2 to 4 it works as expected
  • If I copy and paste this sample player to ch. 2-4 it works. Ch.1, nope. (but meters still displaying the signal)

As further test, same thing happens in dual stereo. Ch.1/2 dies, but the same units copied to 3/4 works.


I can reproduce.


This is probably way to early on, but based on this awesome tapping of unit locals… it may get pretty confusing popping things in Mixers all over the place, especially if controlling feedback/delay loops and such. Don’t get me wrong, The Channel mixers are great for a ton of applications, but I just feel like something leaner will make this more intuitive,

What if there was a "Trickle unit that was 2 soft-keys wide.
The Left Part was the local assign/scope (and displayed here after assign) (same visual style as a global)
The Right Part was a VCA with usual fader and gain/bias/subchain assign

unit menu options:
-Mixer mode on / off (pass through signals coming into left of unit)
-VCA mode: BI or UNI

This way you could clearly see what’s being bled-in to a chain / as well as automate it without adding unnecessary levels for simple routing.

Also, without a separate unit header, it helps differentiate itself from regular units as this is a signal flow task compared to usual processing.

Example Hackjob Graphic demonstrating a trickle unit tapping from a sine wave oscillator:

the same idea demonstrating a visual indicator that it’s passing through unit signal to the left:


I think this is a great idea. Until Brian works out a way to prevent feedback attacks I was thinking there better be a limiter behind the scenes (i know there isnt) so this looks like a great idea and if it works and is accepted would solve a bunch of problems for Brian in preventing unwanted screaming feedback…