Raspberry Pi B+ 2.8 TFT Add-on V2.0 Touch Function Realizing

We’ve received many support tickets for asking how to make Raspberry Pi B+ 2.8 TFT Add-on V2.0 touchable. In this blog, we will demonstrate how to make Raspberry Pi B+ 2.8 TFT Add-on V2.0 show desktop upon Raspberry Pi B+ and its touch function.


·Download Raspbian-2015-2-15.img into SD card, then launch Raspberry Pi B+
·Ensure your network connection working well
·Connect Raspberry Pi B+ 2.8 TFT Add-on V2.0 to Raspberry Pi B+ correctly

Install rpi-update and fbtft driver (intallation under the Raspberry Pi B+)

1.Before install the needed software, please do the configuration first. Raspberry Pi Software Configuration

sudo raspi-config

Enable Device Tree,SPI

2.Enter into the file /etc/modprobe.d/raspi-blacklist.conf

sudo vi /etc/modprobe.d/raspi-blacklist.conf

3.Comment the mask of spi out

#blacklist spi-bcm2708

4.Install the necessary software

sudo apt-get update
sudo apt-get install xinput evtest tslib libts-bin

5.Download the fbtft driver, and you may need to run the following command three times:

sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update

Finnally got the codes:

*** Running pre-install script
Work around rpi-update issue #106
*** Updating firmware
*** Updating kernel modules
*** depmod 3.12.21+
*** Updating VideoCore libraries
*** Using HardFP libraries
*** Updating SDK
*** Running ldconfig
*** Storing current firmware revision
*** Running post-install script
*** Deleting downloaded files
*** Syncing changes to disk
*** If no errors appeared, your firmware was successfully updated to b77683205688d3f6ae2b32a3c7f4e63de1c06a5d
*** A reboot is needed to activate the new firmware  

By now,you need to reboot your Raspberry Pi B+

sudo reboot

Configure the file /usr/share/X11/xorg.conf.d/99-fbdev.conf

sudo touch /usr/share/X11/xorg.conf.d/99-fbdev.conf

sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

Configure content as below:

Section "Device"        
    Identifier "itdb28"   
    Driver "fbdev"  
    Option "fbdev" "/dev/fb1"  

Load the tft display driver

sudo modprobe fbtft_device name=itdb28 gpios=reset:5,dc:6,wr:12,cs:13,db00:20,db01:21,db02:22,db03:23,db04:24,db05:25,db06:26,db07:27 rotate=90 fps=50
startx &

Now, the desktop of Raspberry Pi B+ is demonstrated on the 2.8 TFT Add-on V2.0. However, you can’t use the touch function by now. Let’s do the following steps to make it can do.

Load the touch driver

1.Add the following contents to file /boot/config.txt


2.Reboot Raspberry Pi B+

sudo reboot

3.Load TFT display driver

sudo modprobe fbtft_device name=itdb28 gpios=reset:5,dc:6,wr:12,cs:13,db00:20,db01:21,db02:22,db03:23,db04:24,db05:25,db06:26,db07:27 rotate=90 fps=50

4.start up X Server

startx &

Adjust the X&Y directions of this touch screen

DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 0 1


·Check the event’s number which is in accord with the touch screen.

	cat /proc/bus/input/devices

This event’s number here is event3, then you need to execute the following command to do the calibration and test touch screen according to the event’s number you’ve got. When do calibrating, you’d better use touch pen to click the cross’s center unless you want a rough calibration result.

·Touch screen calibration

sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/event3 ts_calibrate

Now, ctrl+c to return back to the Raspberry Pi desktop, and you are free to use mouse or touch pen to control the cursor.

Make a Serial Keyboard by RDM6300

Make a Serial Keyboard by RDM6300

"Serial Keyboard"? What is it? I could not explain with simply one sentence, so first of all, let me tell you the origin of my idea:


As a 125KHz RFID reader module, RDM6300 communicates directly through serial ports. Its good stability and efficiency makes it being widely applied to identification. Based on identity uniqueness, each item has its own exclusive ID, the amount can be enormous. If we place similar ID tags as picture 1 inside some items such as toys, clothes, shoes, etc., they can not be distinguished by appearance at all. How to solve this problem? I thought out a way that attach ID number to each items for easy identification.


Now the problem is how to send the read ID number to printer or specified input box? This is what we are going to do next- "serial keyboard".

Picture 1


Hardware requirements are simple, one or more ID tags, a RDM6300 and a USB serial board, where we use a Foca.


Hardware Connection

RDM6300     Foca
TX    →   RX
RX    →   TX
V    →    V
G    →    G

RDM6300 operating voltage is 5V, put Foca's switch to 5V, then link Foca to your computer with a mini USB cable, no programming is needed in this process.

If you use Arduino UNO, then just give UNO programming an empty program: void setup {} void loop {}


Note that the wiring has changed.
RDM6300     UNO
TX    →   TX
RX    →   RX
V    →    V
G    →    G

Because atmega328’s TX is serial port chip RX, atmega328’s RX is serial chip TX, you can google it by yourself.

After completion of the above steps, you must test if the card number can be read normally. Please follow the below steps to test: open any serial monitoring software or Arduino IDE, select the correct serial number, the connected serial port numbers can be seen in the "Device Manager", put the ID tag into RDM6300 copper coils, if the serial port can print out ID card number, the hardware has no problems.

SerialKeyboard Software Features

Next you only need to install 3 software to achieve reading data from specified serial port and simulate keyboard inputting, currently it only supports upper and lower case letters and numbers, other characters are substituted by "* ".

Download and Install the Software under Software Directory:


After completing all installations, you can use Notepad to open “SerialKeyboard.py”, modify the serial numbers to device serial numbers, port = "COMX". Then save the modified numbers and double-click to operate SerialKeyboard.py. If the specified port does not exist, the program will flash back.

Click to download

Analog Keyboard Input

When the running screen shows "Waiting for data …", then we just positioning the mouse in some text input box, such as micro office, notepad or chat window, etc. Put ID tags into coil attachment, you can see the input box continuous inputting the ID tag number. "* "means space character here.

With this, we realized serial keyboard input. You can also modify py files code according to your actual needs.

Terminate the Software

Ctrl + C or click the close button on the window’s upper right corner.

*Requirements for Laser Cutting Design File

1.About material retention region :

To avoid misunderstanding, it’s important for customers to clarify material retention region while you are uploading the files. For example:

If you submit a file like this: 

We will be confused : which region is the correct part that you need?  We should ship the red region or the blue one?

So, it will be very helpful if you could clarify by attaching another picture as following:

2.Maximum pieces in a design file.

It's allow to put no more than 3 pieces same or variant shapes into the max size rectangle area . Example: 



3. Complicated Pattern with too many holes or long cut is not accepted for the moment


Arduino Based Time Attendance System

A time attendance system machine may be the first thing you meet when you go to your office and start your work. The most common type is using card. In this blog, we will use Arduino and several modules to create a simple time attendance system. 

Components we need

Continue reading

2015 International Labor Day Schedule

Because of International Labor Day, ITEAD STUDIO will have a three-day holiday from 1st to 3rd of May. Here, we would like to release the schedule in advance: 

Ordinary orders received from 27th to 28th, April will be processed normally as usual, while for orders on 29th and 30th, we will try our best to deliver before holiday – but as it takes time to deal with packaging, we cannot guarantee that orders in these two days can be sent out before the holiday. Thank you for understanding. For the pending orders received before holiday and during the holiday, we will process on 4th, May – due to backlog of orders during the holiday and increase of orders in post office after the holiday, we estimate that orders may be processed slightly slower than usual. However, we will make our efforts to deliver as soon as possible.

For orders of PCB service, generally PCB production costs about a week, while the number of orders often increases before the holiday, thus it will need a longer time to be processed. Therefore, we cannot guarantee the orders of PCB service received from 27th, April to be shipped before the holiday. However, for files received from 27th to 30th, April, we will arrange production, but the finished boards will be received and delivered after the holiday. For orders received during the holiday, we can only arrange the production after the holiday.

Above is our holiday schedule. For any inconvenience caused, we do hope you can understand, and you can arrange time for placing orders according to your own needs.

Weather Station: Use Nextion 4.3″ with Wboard

We use Nextion 4.3" and Wboard Pro to make a weather station. Use this station, you can check any city by typing city's name in the input bar. The weather information is provided by Weather Underground server.

PS: WBoard Pro is a Wifi development board based on Arduino MEGA. With a on-board ESP8266 chip (wifi firmware has been burnt in), you can drive ESP8266 to connect wifi and visit the internet by controlling the serial ports.

Continue reading

Wboard Pro ESP8266 Firmware Upgrade

Wboard Pro has an on-board ESP8266. If you want to upgrade the ESP8266’s firmware, here is the instruction.


  1. The jumpers’ connection. According to the silkscreen on Wboard Pro, you can learn the jumpers setting. Choosing to connect different jumpers, you can let the serial port connect to Mega 2560 or ESP8266. As we upgrade the firmware to ESP8266, we shall plug the jumpers to 4-6 and 3-5. BTW, the FW jumper shall be plugged as well.
  2. Firmware. In this tutorial, the firmware we flash is 0.18 version. If you need a higher version, please go to the forum of ESP8266 to get one. Note: in this case, the default firmware that Nodemcu flash to your ESP8266 is not AT commands firmware!!If you want to flash AT commands firmware, go to ESP8266 forum.
  3. Firmware flasher. The flasher we use is Nodemcu. You can click here to get this flasher from Github, and learn how to use.

Continue reading