2.2″ TFT LCD shield for Arduino with microSD and I/O sockets

Here comes a brand new TFT LCD shield for Arduino. It features:

  • 2.2″ TFT LCD screen of 320×240@16bpp
  • ILI9341 controller (SPI)
  • I2C socket (SDA, SCL, VCC, GND)
  • UART socket (Rx, Tx, VCC, GND)
  • Analog socket (A2, A3, VCC, GND)
  • MicroSD socket (supporting up to 32GB SDHC)
  • Push button (D8)
  • Reset button
  • Compatible with Arduino UNO R3 and Bluno

The screen is driven by SPI with fast rendering speed. It is supported by MultiLCD library which provides easy API for displaying characters/digits of various size and drawing bitmaps. It can also be used with UTFT  library.

This product can be order from Freematics Hardware Store.

Evaluating Nordic nRF51822

Nordic nRF51822 is a SoC chip integrating ARM Cortex M0 and Bluetooth Low Energy. Its advantage over TI CC2540, which is used in current Freematics OBD-II Adapter and OBD-II data logger kits for BLE communication, is that it has a 32-bit ARM core with more sufficient processing power comparing to CC2540’s 8-bit 8051 core, while the cost is only a little higher. That means, more work which previously requires additional chip can be done in that SoC chip. With bold imagination, there is possibility to port Arduino to this chip so that it can be programmed like Arduino or Maple.

I just got a nRF51822 dev board on hand and will start evaluation shortly.


Switching among Arduino LCD shields or modules with ease

arduino_lcd_shieldsRecently I developed a library for ease the job of displaying texts and numbers on different LCD/OLED modules. This is mainly for my OBD-II data logger project which can be made up of different sets of Arduino hardware. I named the library as Arduino Text Display Library for Multiple LCD, or short as MultiLCD.

The library encapsulates several libraries for various Arduino LCD/LED display shields or modules into a set of unified APIs.

Currently it supports these hardware:

  • DFRobot LCD4884 shield
  • Nokia 3310/5100 LCD module
  • LCD1602 shield
  • SSD1306 OLED module
  • ZT I2C OLED module

Continue reading

Arduino SD card picture viewer with TFT LCD shield


I just started to play with TFT LCD screen with Arduino. I used Itead 2.8″ TFT shield which is said to work great with UTFT library. Taking into account that Arduino has too limited Flash to hold a full frame of picture, and that the shield has a SD card socket on the back, I decided to make a SD card picture viewer as my first approach.

The 8-bit AVR-based Arduino has not only limited storage but also limited computation power. It is impossible to decode JPEG or PNG on-the-fly with Arduino, nor is it possible to load a whole bitmap from SD card into SRAM. The image files have to be stored in raw data format and loaded and rendered portion by portion. The native data format of the TFT control chip is RGB565 (2 bytes for a pixel, 5 bits for red, 6 bits for green, 5 bis for blue). So I used MediaCoder, which is a universal media transcoder I developed, to generate the raw image data of RGB565. It can also convert video files to a sequence of image files.

Continue reading

Building an OBD-II + GPS data logger with Microduino

P1050336Right now an enhanced version for the Arduino OBD-II data logger kit is under development. The new kit will feature 10Hz GPS logging via MTK3329, OBD-II data logging via Arduino OBD-II adapter, and 3-axis accelerometer sensor data logging via MPU6050 embedded inside the adapter. What is more interesting is that the new kit will base on a variant of Arduino, named Microduino, with smaller size and better capability, stackable like normal Arduino, making the whole kit small and tidy.

For those who have previously ordered the Arduino OBD-II data logger kit, there is no worry about your investment, as the most worthy parts in the kit (OBD-II adapter and I2C OLED module) are still usable in the new kit, and there will also be an upgrade pack (including the new Microduino parts and MTK3329 GPS receiver) by the time the new kit is ready for order. Continue reading

A tutorial for Arduino Builder

Arduino Builder is a tool for viewing and compiling Arduino sketch (source code) and programming the Arduino board with the compiled code (HEX code).

From this link you can pick the latest version and download. Once downloaded, extract the 7z compressed package to a new folder and you can launch Arduino Builder by running ArduinoBuilder.exe in the folder.

Before launching, please plug your Arduino to computer with USB cable, as the program will search for available serial ports appeared on your system and display them.

Continue reading