Your Cart is Empty

Touchscreen Color LCD Screen Interface Solutions


Buttons, switches, LEDs, graphic segment displays are becoming a thing of the past, or at least the mechanical version of these. Color screens, touch interface, and smartphone graphics are rapidly finding their way into the human – machine interfaces. Unlike the mechanical controls, they are fully defined by software, hence upgrade-able, they can be more intuitive to use, more eye-candy through animations, can display more information at a glance, more cost effective to manufacture, and more reliable since there are no mechanical contacts that wear out. The enclosures become simpler since they only have to accommodate the LCD screen and easier to make water resistant. A full solution can be reduced to a single chip that can drive the screen and perform other functions relevant to the whole system at the same time. 

Thornwave Labs Inc. is offering custom LCD screen solutions for a variety of applications. Shown above are some example that are running on a build-in-house system-on-module based on STM32H7 and a 7″ color TFT screen with touchscreen.

Let’s talk about the RV control panel demo. This solution can replace multiple components: the old control panel, the thermostat and even the DC part of the electric panel by adding electronic fuses controlled from the main LCD panel, battery monitoring and so on. Features that were reserved only for the high end RVs can now be added at a very affordable price: slide automation, leveling capabilities, battery monitoring, dimmer controlled lights, audible alarms, integrated audio players,  IoT capabilities and so on. Your imagination is the limit. Obviously, the same ideas can be applied to trucks, boats and so on.

The software is based on Thornwave Labs’s proprietary graphic library: Iridescence. It was designed to run on low power, Cortex-M CPUs with a minimal memory footprint and low power consumption. The entire code that implements the RV control panel is only 70kb in size + PNGs and bitmap font resources (about another 80k) and needs roughly 7Mb of RAM (most of it being three framebuffers).

Iridescence Graphic Library Features

  • object based, developed in C/ C++
  • easy to use and no need to learn fancy languages just so you can use the library
  • efficient code, designed to make it easy to create user interfaces (the code for the RV panel is less than 500 lines)
  • anti-aliased renderer for drawing and filling lines, rectangles, circles, ellipses, arcs, ellipse arcs, polygons, …
  • blending / filling surfaces
  • contains library of graphic elements like buttons, sliders, switches, gauges and so on
  • easy to derive new graphic elements from the existing ones
  • capability to add animations
  • accepts input from a touchscreen or other pointing device
  • PNG image decoder built in, so developers can use image resources
  • uses bitmap fonts
  • includes tool for generating bitmap fonts from any TrueType font file
  • hardware acceleration for specific architectures that support it