TFT Display

Docs / Widgets / Displays / TFT Display
Display widget

TFT Display

A TFT Display shows several readings together on one screen, laid out like a real 3.5" to 7" TFT panel: temperature, humidity, pump state and more, side by side.

Device → dashboardUp to 8 Telemetry Points4 screen sizesNumbers and text

Try it

Turn the temperature knob and switch the pump on the NuttyFi board. The board writes three Telemetry Points and the TFT Display shows them together on one screen. Try the Screen Size and Layout settings, including a layout that does not fit.

SimulationLIVE
Dashboard
This is the TFT Display widget from the dashboard.
Your device
NuttyFiMCU · Wi-FiONLINENUTTYFISENDINGTP0 24.6TP2 Pump OFFPump room
Temperature knob (0–50 °C)
The board measures and writes each Telemetry Point.
Widget Color
Screen Size
Layout (Display Segments)
Show
One widget, many readingsEach Display Segment is linked to its own Telemetry Point. Up to 8 segments share the screen, so one TFT Display can replace a row of Value widgets.

How to add and set up

  1. Open the dashboard in edit modeOpen the device and turn on editing.
  2. Add a TFT DisplayPress + on the right edge of the canvas and pick TFT Display. Drag it into place.
  3. Open its settingsClick the gear icon on the widget.
  4. Add the Display SegmentsUnder 8x8 Grid Placement, link the first segment to a Telemetry Point and set its Blocks, Rows and Cols. Press Add Display Segment for each further reading. The counter shows how many of the 64 blocks are still free.
  5. Pick the screen and coloursChoose a Screen Size, a colour for each segment and a Widget Color. Save, then press DONE.

Settings

SettingWhat it does
Widget NameThe title shown above the screen.
Label ColorColour of the title.
8x8 Grid PlacementThe screen is a grid of 64 blocks, 8 across and 8 down. The counter, for example 16/64 Free, shows the blocks left.
Display SegmentOne reading on the screen: its Telemetry Point, how many Blocks it takes, its Rows and Cols, and its colour. Up to 8 segments.
Add Display SegmentAdds a segment that takes the space still free.
Screen Size3.5" (480×320), 4" (480×320), 5" (800×480) or 7" (1024×600). The screen takes the shape of that real panel.
Show Inner Segment BordersOn: each segment gets a thin border in its own colour. Off: a faint grey border.
Telemetry Point settingsEach linked point carries its DATA TYPE (integer, double or string), UNITS, MIN, MAX and DECIMALS.
Widget ColorColour of the outline and the live dot.
Hide widget Name / Telemetry Point / Widget BorderHide the title, the TP badges or the outline around the widget.

What it shows

Segments are placed left to right, top to bottom, each in the first free space where it fits. Each one shows the latest value written to its Telemetry Point:

DATA TYPEOn the screen
integerThe whole number with its UNITS, and a bar showing where it sits between MIN and MAX.
doubleThe number rounded to its DECIMALS, with UNITS and the same MIN to MAX bar.
stringThe text as sent, for example Pump ON or Door open.

Small segments show only the value, so nothing gets cut off. The bar along the top shows the screen resolution, the time and the Wi-Fi symbol.

SEGMENTS DON'T FITIf the segments ask for more than 64 blocks, or a segment has no free space of its shape, the screen shows this message. Use fewer blocks, change the rows and columns, or remove a segment.

Send data from your device

Write each reading to its segment’s Telemetry Point with SME.publish(), the same way as for a Value widget. Numbers and text both work. The examples use TP0, TP1 and TP2, like the simulation.

C++ · Arduino
SME.publish(TP0, temperature);   // double, e.g. 24.6
SME.publish(TP1, humidity);      // integer, e.g. 58
SME.publish(TP2, "Pump ON");     // string
Send when something changesDon't publish on every pass of loop(). Send on a timer, for example every one or two seconds, or when a value changes.

These are snippets. Your sketch also needs #include <SMEIoT.h>, SME.begin(...) in setup() and SME.run() in loop(). The full sketch tab shows a complete example; see the SDK quick start for more.

Was this page helpful?