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

Embedded Java ethernet, WiFi and Serial plugin

By dave

In this guide we show how to setup and use the embedded Java remote plugin to allow embedCONTROL connections to a Raspberry PI or other embedded Linux board. Back to tcMenu main page

Embedded Java OpenJFX screen rendering for Raspberry PI

By dave

Both EmbedControl remote and local work using the same UI components, and they can take a tcMenu Designer created menu tree and convert it automatically into a displayable graph. The "embedded/local" version does this with the menu tree embedded within it, while the "remote" version does so using a menu tree that it bootstrapped from a remote device. In order to...

XPT2046 / FT6206 touch screen input plugin

By dave

This touch screen input plugin supports both XPT2046 and FT6206 based touch screens. In order for this plugin to work correctly the right underlying library must be installed. These are described below: XPT2046 Paul Stoffregen XPT2046 library , best installed from library manager. FT6206 Adafruit_FT6206 library , best installed from library manager When using this touch plugin, the concept of touching...

Color themes for all display sizes.

By dave

Examples of this theme Information about themes in general . Below we show an example of a color theme, the one shown is the cool-blue theme: TcMenu ships with the cool-blue color theme presently that is only compatible with color displays. Each color scheme has a traditional mode aimed at smaller resolutions, and a modern theme designed for larger fonts, with...

Dark mode themes for all display sizes.

By dave

Below we show an example of the dark mode theme, it is designed to have darker background colors with lighter text and images. TcMenu ships with two dark mode color themes and they are only compatible with color displays. The dark mode theme revolves around black and dark grey backgrounds with light grey and white foregrounds. It is available in traditional...

Monochrome themes for rendering menus onto OLED/5110.

By dave

Examples of this theme Information about themes in general . Below we show three examples of this theme, first you see an inverse title example, but with sliders turned on, we don't do this by default as it comes with some issues, but some may like it. Second, we show inverse video on a dual color OLED, and lastly, we show...

Working with menu structures using the CLI

By dave

From tcMenu 2.1 onwards the designer download also has a CLI available. This CLI can be used to completely round trip menus for those with a UI dislike, or even for small changes for the rest of us. We've optimized the flow so that it works really well with Visual Studio code (VS-code), but most editors would work fairly well. In...

TcMenu - Touch pad sensor input plugin

By dave

Requirements Current support: ESP32 touch sensor hardware. Touch-pad sensor summary Touch-pad sensors check for button presses without an actual switch, instead the rely on a change in capacitance when the user touches an area (usually a small metal plate around the size of a finger. Given that this procedure is quite complex, it usually requires hardware support for such inputs, so...

TcMenu - Resistive touch screen input plugin

By dave

TcMenu resistive touch screen input plugin supports four wire resistive touch devices that are often fitted in front of color TFT displays. This plugin requires two ADC analog inputs, but note that all pins must be output capable. The connectors are often referred to as X+, X-, Y+ and Y-. In all cases X- and Y+ must be connected to ADC...

TcMenu - Using Adafruit_GFX mbed to render menus

By dave

+++ title = "TcMenu - Using Adafruit_GFX mbed to render menus" description = "" tags = [ "arduino", "display-driver", "embedded-menu", "menu-plugin" ] type = "blog" date = "2020-09-10" author = "dave" menu = "tcmenu-plugins" banner = "/products/arduino-libraries/images/electronics/arduino/tcMenu/oled-display.jpg" titleimg = "/products/arduino-libraries/images/electronics/arduino/tcMenu/oled-display.jpg" githublink = "https://github.com/TcMenu/tcMenu" referenceDocs = "/tcmenu/html/index.html" weight = 50 toc_needed = true aliases = ['/products/arduino-libraries/tc-menu/using-adafruit_gfx-rendering/'] +++ In this guide we...

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.