Tc Menu library

TcMenu is a modular, IoT ready multi level menu library for Arduino, mbed, Pico-SDK, mbed and many more platforms supporting many input, display and IoT / remote interfaces. It makes presenting configuration, status and operational information much easier. Apache licensed and therefore safe for commercial use.

Start by working out what information and state is to be represented in the Designer UI. Take inspiration from the Arduino menu examples. Then, run Code Generator which outputs code for the selected board ready for use in an IDE.


Embedded Menu for Arduino

Web based menu designer:

Using Tc menu library:

Desktop version of the menu designer

You can use PicoSDK without requiring Arduino framework at all. The opensource version of IoAbstraction supports PicoSDK directly for nearly all cases. Our direct support generally works via CMake, and the starting point for these builds is our CMake based project in the cmakeProject directory. If you're using this commercially, please contact us for commercial support.

We can support other platforms such as ESP-IDF and STM32 using this approach commercially.

Working with displays

Display plugins

Theme plugins

Input plugins

Specific for Java on Raspberry PI or embedded Linux

We have tested the designer application and embedCONTROL on a Raspberry PI, so not only can you make a Raspberry PI embedded application, you can even run designer and embedCONTROL on an RPI as well! The Java API and EmbedControl libraries are fully JavaDoc commented.

Remotely controlling your menu / IoT

IoT control with embedCONTROL Our menu designer can build in IoT capabilities near automatically (on Ethernet2, UipEthernet (ENC28J60), ESP8266-WiFi, ESP32-WiFi, Bluetooth and Serial). Allowing you to remotely monitor and control your device using Embed Control with minimal effort.

However, to write your own remote monitoring, use our Java Remote API, TypeScript/JavaScript API, C#/DotNet API, or the Python API. Coming soon is a Dart API.


IoT and Remote control plugins

Creating / building / modifying plugins

Detailed description of MenuInfo based menu items

By dave

All types of MenuItem can have an INFO block, which is a structure that can be stored in FLASH that represents the static data for an item. This is because all items directly extend from the MenuItem class, they always have a reference to an AnyMenuInfo block that's stored in program memory on devices that support it. In addition to this,...

These may be of interest

We use cookies to analyse traffic and to personalise content. We also embed Twitter and Youtube on some pages, these companies have their own privacy policies.

See the privacy policy and terms of use of this site should you need more information or wish to adjust your settings.