front Mikromedia 5 for Tiva C and LVGL GUI library
Author: J. Bajić 
2019 03 29 172747 

This page contains demo project for Mikromedia 5 for Tiva C Series development board from Mikroelektronika. Board is built around Texas Instruments TM4C129xNCZAD high-performance Tiva™ C Series ARM® Cortex™-M4F microcontroller (MCU) with following features: 120 MHz operation, 1 MB of Flash, 256 KB of SRAM, µDMA controller, on-chip LCD controller etc. Additionaly, mikromedia 5 is equipped with 5 inch 800x480px display with resistive touch screen and number of on-bord modules such as wireless processor, mp3 audio decoder, SD card slot, piezo buzzer, LEDs, 3-axis accelerometer, power management circuit and so on. Such compact development board allows easy development of devices with multimedia contents. Mikroelektronika has number of similar (mikromedia) development boards built around different MCUs, but mikromedia 5 for Tiva C Series stands out in terms of display drive. While most of mikromedia boards use external graphics controller (such as SSD1963) for driving the display, this board uses on-chip LCD controller. Combined with on-chip EPI (External peripheral interface) module for interfacing external SDRAM as frame buffer and DMA for data transfer high display refresh rate can be achieved while at same time MCU core can be relieved and memory consumption optimized. Such design puts this mikromedia board among fastest in Mikroelektronika’s portfolio.

mikromedia5                     tiva display

UI interface in this project is built using Light and Versatile Graphics Library or simply LVGL. LVGL is increasingly popular free and open-source embedded graphics library to create beautiful UIs for practically any MCU and display type. It comes with number of built-in widgets (buttons, charts, lists, sliders…), advanced graphics features (animations, anti-aliasing, opacity…), extensive documentation with detailed tutorials and examples, as well as good support. LVGL is fully customizable, hardware independent (but support hardware specific design) and scalable embedded graphics framework. Within comprehensive TivaWare SDK (software development kit) Texas Instruments provides its own graphics library called Grlib. However, Grlib is collection of basic graphics functions and widgets. Using LVGL saves time and enables easy development of stunning UIs.

TXN e197f953         mikroe         lvgl logo       

Texas Instruments (TI) provides also the GUI Composer, an easy to use JavaScript based tool for building of PC GUI applications that can interact with an embedded system. GUI Composer enables design of a custom rich GUI applications that can run online or on the desktop and interact with target device (send data to target device and displays data sent by target device). GUI Composer includes GUI Composer Designer – online design tool used to create GUI Composer Applications using simple drag-and-drop method (requires registration), GUI Composer Runtime - a runtime used to run your application on a desktop computer and Gallery - an online repository where GUI Composer created applications can be run from a browser or downloaded for offline installation. GUI Composer offers a number of different options to exchange data between target device and application. Simplest way is Streaming model where data are exchanged through JSON formatted strings. This model is used in demo project below.

Demo project provided below uses almost all mikromedia 5 for Tiva C on-board modules (LCD+EPI display driver, TSC2006 touch controller, VS1053 mp3 audio codec, CC3100 wireless network processor, nRF24L01P 2.4GHz Transceiver, ADXL345 accelerometer, TSOP6238 IR receiver using NEC protocol, MCP9700A Temperature sensor, PIN photodiode, on-chip RTC module,…) and utilizes most of the LVGL built-in widgets. It is built using following ecosystem:

  1. Code Composer Studio IDE (v12.1) - Integrated development environment for TI's microcontrollers and processors
  2. TivaWare™ SDK for C Series (v2.2.0.295) - Software development kit for Texas Instruments TM4C Arm® Cortex®-M4F device family
  3. GCC Compailer (GNU v9.2.1, Linaro) - installed through CCS App Center
  4. LVGL Graphics library (v8.2) - in download section below similar demo built using LVGL v6.12 is also provided
  5. GUI Composer v2 - TI's tool for creating PC GUI applications that can interact with an embedded system
  6. mikroProg Suite for Arm (v1.61) – Mirkoelektronika’s programmer and debugger


 - Mikromedia 5 for Tiva C schematic: pdf
 - TM4C129xNCZAD datasheet: pdf
 - TivaWare Peripheral Driver Library: pdf
 - LVGL documentation (v8.2): link
Demo project using LVGL v8.2 on githubsource
Demo project using LVGL v6.12 on githubsource
Simple Grlib test on github: source
Demo project on youtubevideo
Demo project assets (images, fonts)zip
 - GUI Composer App
for Demo project: zip
Arduino Nano nRF24 transciever schematic and code: zip



  • 11
  • 22
  • 33
  • 44
  • 55
  • 66
  • 77
  • 88
  • 99
  • 1111
  • 1010
  • 1212
  • 1313
  • 1414
  • 1515
  • 1616
  • 1818
  • 1717
  • 1919


© - Faculty of Technical Sciences, Novi Sad, 2016