Loading...

SMARTGPU - Intelligent Embedded Graphics Processor Unit

Presentation:

This page presents a library to use a SMARTGPU intelligent embedded graphics processor with a 2.4" touch screen from vizic technologies: http://www.vizictechnologies.com/#/development/4554296549

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.

  • On-board uSD/uSDHC memory card adaptor compatible with

  FAT(windows PC), Support up to 4GB for storing images and   text.

  • Integrated Touch screen driver(controller), 10 bit accuracy touch.
  • Sleep mode.
  • 2 General purpose Digital Output pins on board.
  • BaudRate speed 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.
  • Comprehensive set of built in high level graphics functions and algorithms that can draw lines, circles, text, and much more.
  • 8 different fonts and sizes.
  • compatible with any microcontroller (8051,pic,AVR,ARM,mbed,FPGAs,PC) and development boards with a UART.

SMARTGPU Images:

SMARTGPU explained

SMARTGPU mounted on Arduino

Comparison of processors loads:

SMARTGPU 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:

  • The SmartGPU could be mounted directly as ARDUINO SHIELD.
  • You will need to power the screen with 3.3V.
  • You can use either the 3.3V I/O pins or the 5V tolerant I/O pins for serial communication.
  • If you use an external power source, make sure the Arduino ground and external power ground are linked otherwise the serial commands will not be received correctly by the screen.
  • Use pin 13 of Arduino for reseting the screen(optional).

SMARTGPU Arduino Library:

  • You can import the SMARTGPU Arduino Library from HERE.

  • Once the folder is placed under "C:arduino-00XX\arduino-00XX\libraries\" and the Arduino IDE is re-started, just insert the:

#include <SMARTGPU.h>

in your main sketch and create the object:

SMARTGPU lcd; //Create the object

There is also a project called libSGPUQ, that is SMART GPU Queue library for short. The project needs a bit work to do before it can be used. But the library uses queue instead of busy-waiting, which improves performance and lets Arduino work on other tasks.

Example Code:

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

SMARTGPU lcd;             //create our object called LCD

char message[]="Hello World";

void setup() { //initial setup
  //Those two functions must always be called for SMARTGPU support
  lcd.init();  //configure the serial and pinout of arduino board for SMARTGPU support
  lcd.start(); //initialize the SMARTGPU 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
}

Videos:

Here are some videos of SMARTGPU + Arduino:

Arduino Ipod

Arduino Smartphone

Arduino mini Tablet

Demos & Source Code:

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

Notes:

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

SMARTGPU board:

  • The SMARTGPU board could be obtained from HERE.