The ErgoDox EZ, as with the ErgoDox design, is open source and uses the extremely powerful, as I have come to find out, QMK firmware. What this means is you are proficient enough, you can set up a QMK build environment on your computer and customize the firmware for the keyboard as you please. For most of us, however, more user friendly tools are needed and that is where the ErgoDox EZ Graphical Configurator comes in. It currently supports the English language only, but there is work ongoing to add other language fonts such as Danish.
I am going to borrow the instruction video from Erez, the aforementioned CEO and co-founder (and tech support too!), who has made a very useful video explaining the configurator. I have used a lot of different drivers before for programmable keyboards, and this is among the easier of them, with help cues that come up as needed. You select a key, choose an action from the drop down list and it is now assigned to it. Want dual functions? That is fine too- select one for press, and another for hold/toggle. This is especially handy in navigating to different layers or accessing secondary functions on keys. Want key combo/macros? That works too as you can set up one keystroke to do actions in series. Once done, compile the layout, download it, load it on to the Teensy loader application available here as shown and press the flash button on the PCB using the hole on the right half and a thin pin. You just need to press once and let it be, and do not be alarmed if you notice a lag of a few seconds before the flashing begins. The default layout has some interesting keys- Hyper and Meh being a prime example- which show off the character of the keyboard and the community but at the same time can easily be re-assigned if that was not what you wanted. That video above was for layout version 1.00, however, and the current layout version is 1.2.1 which has a couple of new things.
The first is the support for the LEDs in the Shine special edition, and there are some preset lighting effects including static color from some options or using hexcode for specific colors. The second is the addition of modifier actions to keys so you can have Shift + 1 together to access both 1 and ! on the same key without needing to press/hold Shift, for example. You can have up to four modifiers active at the same time, so you can go crazy if you set up some macros for specific applications.
Layers are the primary means of function here to access other keys, and you can think of these as analogous to profiles on gaming keyboards. You can set up as many as 32 layers, although the configurator currently has no limit on it. I did let them know to limit it to 32, but I did test it out with 50 layers and found out it just does not flash to the device. There is very little that can brick the device thankfully, but if you are unsure go ahead and contact the company to be sure.
The ErgoDox EZ being open source, it can use other ErgoDox layout firmware as well and the Massdrop configurator is another example. Here you need access to a keyboard already as you have to press the keystroke to assign it, which means it is also limited to one keystroke/action per key.
There are other options on top of these, but the ErgoDox EZ Graphical Configurator is a great starting point and did everything I wanted for the hardware, except perhaps assign specific lighting effects to specific buttons rather than having to toggle between the preset ones in order. But this is a minor issue for underglow lighting in my opinion, so I did not even bother talking about this with the company.