We write our firmware using the Arduino IDE. The IDE can be downloaded from here for free. Our recent projects are based on the Raspberry Pi Pico and Pico W microcontroller boards. To use the Pico, an appropriate board manager needs to be added to the Arduino IDE. Instructions for doing this are here.
Processing is a powerful, freeware program for graphics. There are a number of useful plug-ins that will allow you to create an interactive user interface with buttons, textfields, drop-downs, charts, sliders, etc. Processing can be downloaded from here.