Arduino library for SIM800 for GPRS/HTTP communication

Recently I obtained a cheap (under $8) teeny-tiny SIM800 breakout board. The serial UART interfaced SIM800 makes it very easy for any embedded system to add cellular network access and connect to the cloud. The breakout board has a Mirco SIM seat the the back of the PCB.

 11054406_10206512499749880_7107441772337360198_n 11267482_10206512499909884_3327504921710956026_n

After some efforts, I managed to make it work with an Arduino Leonardo. Basically 5 wires are needed to connect the module to Arduino and they connect pins of VCC/GND/Rx/Tx/Reset. This is quite straight-forward. The module’s VCC can’t directly connected to that of Arduino as SIM800 requires a working voltage of 3.7V-4.2V. So a dixode is needed to step down the voltage a bit. The basic programming to make the module work was soon done by referring to the SIM800 AT command-set manual.

11264020_10206518105610023_3666326037796657461_n Continue reading

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.

Posted in Hardware | Comments Off on 2.2″ TFT LCD shield for Arduino with microSD and I/O sockets

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

Posted in Playground | Comments Off on Switching among Arduino LCD shields or modules with ease

Arduino SD card picture viewer with TFT LCD shield

IMG_2687

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

Posted in Playground | Comments Off on Arduino SD card picture viewer with TFT LCD shield

OBD-II + GPS + G-force data logger based on Arduino MEGA2560

This will be the most comprehensive OBD-II data logger kit and also the biggest in size as it is based on Arduino MEGA2560. Te kit consists of:

Continue reading

Posted in OBD & GPS | Comments Off on OBD-II + GPS + G-force data logger based on Arduino MEGA2560

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

Posted in OBD & GPS | Comments Off on Building an OBD-II + GPS data logger with Microduino