I don't like bumping old threads but this is not that old. I've got a menu library that is currently going through active development. I've not yet really exposed it much to the outside world as it is quite new. Think Early BETA. It's able to render to most lcd screen sizes including i2c and also adafruit GFX compatible displays. I'm also planning to write an oled 1306 renderer. Writing a new renderer is quite straightforward. It provides support for input from a rotary encoder or switches. Attached either directly or on an IOexpander. It includes a designer app that works on most desktop platforms that generates the menu code and can round trip. It's main standout feature is remote control. It has Ethernet and Serial based endpoints with a Java API client side and fully documented protocol for other languages. There is an example javaFX client that demonstrates the remote capabilities. Writing new remote endpoints is straightforward. It works on anything from Uno upwards.Tested on Uno, Mega and Mkr ranges. https://github.com/davetcc/tcMenu
I had trouble getting it to work with my i2c lcd backpack. so I did my own renderer using the hd44780 library. Is there a way to get it to leave my renderer in place when regenerating menu code?
Thanks for trying TcMenu. This is planned for a version very soon. In fact could probably be put in 1.1 due this week.Also if you'd consider contributing back I would be glad to help you putting into the new structure and making it another option.