Hi,
Thanks for the feedback and suggestions, that's always interesting to get feedbacks.
. Symbols are in ASCII order. You have some shortcuts on the bottom 6 buttons to access 'a', 'A', '0' etc.. Use '>' to go to next char with previous char copied.
. You can copy and past all 6 page params in some of the pages :  operator, Modul>lfo and matrix.
https://github.com/Ixox/preenfm3/blob/master/firmware/Src/hardware/FMDisplayEditor.cpp#L4048That works for Operator, matrix, and Modul/Lfos pages. Only from/to same source.
Use long press (-) to copy, (+) to paste
.  modify grayed ou parameters. Can be usefull in some cases : if you want to modify value the used, before switching to the mode where they're used.
.  Random values. Yes there are other way of dealing with random values to display them. I didn't know constexpr, looks interesting. A hardcoded small array is used for the LFO.
.  You wrote : "Switching between different envelope settings often fails to draw the correct waveform on-screen". 
   I always see the correct env. Can you give a specific example/steps to reproduce this issue ?
. Per voice and per instrument effects are separated in latest firmware. Should be clearer. 
Try 0.999b here.
  I often user filter/effect to talk about the same thing.
. Yes, I thought about a freely modfiable engine maybe something close to the FM8 VST. Would be nice. But requires a different UI interface, lots of work. In any case it could not be as flexible as FM8 for CPU limit reasons. Maybe something in the far future, or a good project for anyone who has much free time