TcMenu is a full feature Menu system for the arduino platform that supports many display types and remote control via an API. Drivers are available for many common displays and network interfaces. The protocol is published, and there is a Java API.
One of my hobbies is woodworking and speaker building, take a look at some of my latest attempts at building well known speaker designs. Although these are generally builds of other peoples designs, you may find some of this interesting.
Audio is in our DNA, not only can we help build embedded audio devices, we are also Audiophilles that love listening to music, be it from turntable or digital source.
Our new forum allows the community to discuss the libraries (opensource and commerical) that we write.
In this guide we show how to use the U8G2 library to renderer menu items with tcMenu. This rendering driver for U8G2 is built into the core menu designer download, meaning it’s available out of the box. The U8G2 library supports a lot of different displays, with very different capabilities. This library concentrates on monochrome displays, mainly OLED that are supported by this library. It’s worth reading this guide fully so that you understand how we manage the various capabilities.
TcMenu base input plugin supports Rotary Encoders that are either connected directly to Arduino pins or via an I2C expander such as a PCF8574 or MCP23017. This support is provided by the IoAbstraction library that’s automatically included by the menu designer UI. The only limitation for rotary encoders is that PinA must be connected to an interrupt capable pin (or if connected to an i2c device that must be connected to an interrupt capable pin).
DfRobot input and display plugin make generating a menu for DfRobot shields very simple. There’s no configuration needed in order to produce a menu. This plugin auto configures the display to use LiquidCrystalIO library and sets up switches to use the micro-switches connected to analog input A0. Setting up for your menu First, ensure your menu structure is saved and then choose Code -> Generate Code from the menu. Once the code generation dialog appears, to the right of the current input type will be a button named “Change”.