will be read-only starting December 31st, 2018. For more info please look at this Forum Post

SmartGPU 2 - Intelligent Embedded Graphics, Audio, Touch and Full Datalogger Processor!!!


This page presents a library to use a SmartGPU 2 intelligent embedded graphics processor with a 2.4" touch screen from vizic technologies:!smartgpu-2/c1rc2

The LCD module features are:

  • 2.4“ LCD capable of displaying 262,144 colors.
  • Easy 5 pin interface to any host device: VCC, TX, RX, GND, RESET.
  • Video Playback(up to 60FPS) and Audio(CD Quality) capable.
  • On-board uSD/uSDHC memory card adaptor compatible with FAT(windows PC), Support up to 32GB for storing images(BMP,JPG), text, songs, videos,etc.
  • Integrated File management/Data logger functions(Create, Read, Write, etc), with LFN support
  • Integrated Touch screen driver(controller), 10 bit accuracy touch.
  • Sleep mode.
  • Integrated RTC(real time clock) + 16Kb EEPROM
  • BaudRate speeds up to 2Meg bps, 8 bits, no parity, 1 stop bit.
  • 5V and 3V3 I/O compatible,3V3 power supply.
  • External reset switch
  • Low-cost LCD display graphics user interface solution.
  • 13 different fonts and sizes.
  • compatible with any microcontroller(8051, pic, AVR, ARM, mbed, FPGAs, Arduino,raspberry PI, PC) and development boards with a UART/USART.
  • Comprehensive set of built in high level graphics functions and algorithms that can draw lines, circles, text, and much more.

SmartGPU 2 Images:

SmartGPU 2 explained

SmartGPU 2 mounted on Arduino

Comparison of processors loads:

SmartGPU 2 doesn’t need any configuration or programming on itself, it’s a slave device that only receives orders, reducing and facilitating dramatically the code size, complexity and processing load on your favorite main processor.

Connecting the SmartGPU 2:

  • The SmartGPU 2 could be mounted as ARDUINO SHIELD.

SmartGPU 2 Arduino Library:

  • You can import the SmartGPU 2 Arduino UNO-DUE Library from HERE.

  • Once the folder is placed under "C:Program Files\arduino-1.x.x\libraries\" and the Arduino IDE is re-started, just insert the:

#include <SMARTGPU2.h>

in your main sketch and create the object:

SMARTGPU2 lcd; //Create the object

Example Code:

#include <SMARTGPU2.h>     //include the SMARTGPU2 library!

SMARTGPU2 lcd;             //create our object called LCD

char message[]="Hello World";

void setup() { //initial setup
  //Those two functions must always be called for SMARTGPU2 support
  lcd.init();  //configure the serial and pinout of arduino board for SMARTGPU2 support
  lcd.start(); //initialize the SMARTGPU2 processor

void loop() { //main loop
  lcd.erase();                                         //erase screen
  lcd.putPixel(300,200,CYAN);                          //draw a pixel
  lcd.drawLine(50,50,150,200,WHITE);                   //draw a line
  lcd.drawRectangle(10,10,200,180,RED,UNFILL);         //draw a rectangle
  lcd.drawCircle(160,120,50,GREEN,UNFILL);             //draw a circle
  lcd.drawTriangle(15,15,200,210,180,70,BLUE,UNFILL);  //draw a triangle
  lcd.putLetter(100,100,MAGENTA,FONT3,TRANS,'E');      //write a single letter 'E'
  lcd.imageSD(0,0,"hydra320");                         //Open image "hydra320.bmp" stored on the microSD card
  lcd.string(10,10,300,220,YELLOW,FONT3,TRANS,"String test for SMARTGPU");  //write a string on the screen
  lcd.stringSD(5,50,300,230,MAGENTA,FONT3,TRANS,BEGINNING,ALLCONTENTS,"text1");  //call the text file "text1.txt" previously stored on the micro SD card


Here are some videos of SmartGPU 2 + Arduino:

Arduino Ipod Like GUI

Arduino Smartphone - SmartGPU 1

Demos & Source Code:

All the Source Code of those videos, and many other examples could be downloaded from HERE.


  • Images and microSD contents used on the examples could be downloaded from HERE.
  • Feel free to use the library!

SmartGPU 2 board:

  • The SmartGPU 2 board could be obtained from HERE.