Hehe. Well, it’s a keyboard. Under normal circumstances, you don’t need much memory on it. The ErgoDox EZ, and most other ErgoDoxes except for the Infinity, use a Teensy2.0, which has the same amount of memory. It’s not uncommon to have very little RAM in these.
But even if it would have more memory, there would be some hairy obstacles to cross before a per-layer/per-modifier heatmap could be made fully within the firmware: in general, you don’t want to allocate memory at run-time, because that’s costy (in terms of RAM needed for bookkeeping). So you’d have to preallocate enough to hold all the data. Even if you don’t use that many layers, or all eight modifiers. That’d be terribly wasteful…
Yes, it is. It emulates an USB keyboard, an USB mouse, and an USB serial device. The logs are sent on the USB serial device.
I can add the keycode to be sent to the log too, that way you may not need to recreate the layout for the analyzer. But yes, there are things that you may need to do twice, but when you change the layout, there is little to change in the analyzer: just update the layout there, too. I’ve been doing that with my heatmap generator tool, and all I need to do, is update my layout on KLE, and update the JSON for the heatmap generator. No other change necessary. And I do that update anyway, so I can print a new cheatsheet
My personal experience is that having a good heatmap is an incredible asset, and writing the log parser & analyzer was well worth it. I’ll likely write something similar for the Model 01 too.