tft display with pi zero made in china

In recent years, computing terminals have expanded exponentially from desktop to portable handheld devices. We have witnessed the rapid development of these devices. Complex operating systems being ported to tiny embedded hardware like Raspberry Pi, Cubieboard, routers with openWRT, etc. Those devices that has managed to become compact and easy to carry have being wide spread products and majority of them are on the Ghz level of processing power.

Like PCs but with a compact system and considerable computing resources, it has become the solution for various enthusiasts. Many open source hardware vendors have being dreaming for this solution for quite some time. However, some interactions for these embedded solutions still need bulky HDMI monitors or TVs for use or even debugging.

In order to allow these devices have some portability and economize power at the same time, this portable USB monitor with touch screen (RPUSBDisp) is created. It is designed specifically for embedded designs with business card size and it just requires a USB cable to make it work without additional power supply.

Supports any computing devices with USB Host communication functionality to act as a standard display or touch screen devices. You just need to add the corresponding driver. For the majority of embedded devices supporting Linux OS, we offer open source kernel driver and several OS images that you can try. Download the sources and adapt it to your project, or directly download the image and try it on any of the supported platforms:

tft display with pi zero made in china

I’ve been struggling over the past few weeks to get a 3.5" TFT display to work on a Zero W. I have 2 different displays and 2 Raspberry Pi Zero W boards that I’ve been playing with. From what I’ve read the display “should just work” with the hestia-pi-touch image, but all I get is a blank display. I’ve tried different clean versions of raspbian from wheezy to buster with every display driver I could find with no luck.

Am I missing something obvious? Most of the pages I’ve found detailing the process say you should see SOMETHING on the display after installing the drivers & rebooting. Of course the display vendors have been 100% useless providing any help.

tft display with pi zero made in china

In this tutorial, we are going to interface a 3.5-inch TFT display with Raspberry Pi Zero Wdevelopment board. Although Raspberry pi zero itself has an HDMI output that can be directly connected to a Monitor, but in projects where space is a constrain, we need smaller displays. This TFT touch screen display can be easily interfaced to the Raspberry Pi to display the system console, movies, and images, as well as control a relay board and other devices at your fingertips. We’ve used software like MobaXterm or putty to connect to the PC remotely in past tutorials. Here, we are going to use MobaXterm software to install the required drivers for interfacing TFT display with Raspberry Pi Zero W.

This TFT LCD display has a 3.5-inch resistive touch screen display and is compatible with any hardware of the Raspberry Pi family. This 3.5" TFT display has 480x320 pixels with a 16-bit resolution and resistive touch option. It can fit directly on top of the Raspberry Pi Zero W board and gets powered from the Vcc pin, the display communicates through SPI protocol with the Pi. Additionally, you can also use the HDMI port on the Pi to connect it to another display as well. It is designed for Raspberry Pi Zero/Pi 2 /Pi 3 Model B / B+ and can also be used on other hardware platforms which have SPI interfaces. The highlights of this display module is that it supports plug and play without rebooting the Pi and the SPI speed runs as fast as 32MHz to support games and videos.

There are 26 pins in TFT RPi LCD display. It"s used to establish SPI communication between the Raspberry Pi and the LCD, as well as to power the LCD from the Raspberry Pi"s 5V and 3.3V pins. The description of pins is shown below.

It is very easy to connect Raspberry Pi Zero W with a 3.5” TFT LCD display. There are 40 pins on the Raspberry Pi Zero W, but only 26 pins on the LCD, so make sure you connect the pins to your Pi correctly. A strip of female header pins on the LCD will fit snugly into the male header pins. To establish the connection, simply align the pins and press the LCD on top of the Raspberry Pi zero W. When everything is in place, your Pi and LCD should look like the one given below.

After you"ve connected the LCD to the Raspberry Pi Zero W and power on it, you"ll see a blank white screen on the LCD which is due to the fact that no drivers for the linked LCD have been installed on the Pi. So, open the Pi"s terminal window and start making the necessary adjustments. Here, we are going to use MobaXterm software for connecting Raspberry Pi Zero W but you can use PuTTY or any software which is most comfortable for you.

It"s expected that your Raspberry Pi already has an operating system installed and can connect to the internet. If it is not then you can follow our previous tutorial Getting Started with the RASPBERRY PI ZERO W – Headless Setup without Monitor. It"s also assumed that you have access to your Raspberry Pi"s terminal window. In this tutorial, we are going to use MobXterm in SSH mode to connect it with Raspberry Pi Zero W.

Step-2: In this step, we are going to enable SPI connection for Raspberry Pi Zero W. To enable SPI communication, select ‘Interface options’, and then select ‘SPI option’. Then click on "yes" to enable SPI interfacing.

Step-3: Now as we have enabled the SPI interfacing, in this step, we are going to install touch driver in our Raspberry Pi Zero W. You can install the touch drivers using the below command:

Step-4: After installing the touch driver use the below commands to proceed with further setup, here we are using chmod command to change the access mode of the file.

Step-5: Now, restart your Raspberry Pi Zero W. When the Raspberry Pi Zero W restarts, you will see the boot information on the LCD display before the desktop appears, as shown below.

I would like to add one thing at the end of this tutorial that while doing this interfacing, I faced a problem related to OS. TFT display interfacing with Raspberry Pi Zero W was not working on Raspberry Pi OS LiteandRaspberry Pi OS with desktopbut when I used the Raspberry Pi OS with desktop and recommended software then TFT display interfacing with Raspberry Pi Zero W worked as expected.

This is how you can interface Raspberry Pi Zero W with a 3.5 inch TFT Raspberry Pi display. In our next tutorials, we are going to interface different sensors with Raspberry Pi Zero and you will see some amazing DIY projects using Raspberry Pi Zero W. I Hope you"ve enjoyed the project and learned something useful. If you have any questions, please leave them in the comment section below or use our forum to start a discussion on the same.

tft display with pi zero made in china

Key information: This device"s controller is an ILI9486, which is compatible with ILI9481. The driver for ILI9481 was already in my Raspberry Pi. Here"s what I did to make it work:

I don"t care about the touch-screen, so I didn"t set it up. All I need this is to show me the IP address of the Raspberry Pi so I can connect through SSH. (This is an issue you may encounter only if you find your RPi connecting to WiFi where you cannot control the IP address assignments and with ridiculously short lease times.)

tft display with pi zero made in china

The 1.8inch LCD uses the PH2.0 8PIN interface, which can be connected to the Raspberry Pi according to the above table: (Please connect according to the pin definition table. The color of the wiring in the picture is for reference only, and the actual color shall prevail.)

The example we provide is based on STM32F103RBT6, and the connection method provided is also the corresponding pin of STM32F103RBT6. If you need to transplant the program, please connect according to the actual pin.

ST7735S is a 132*162 pixel LCD, and this product is a 128*160 pixel LCD, so some processing has been done on the display: the display starts from the second pixel in the horizontal direction, and the first pixel in the vertical direction. Start to display, so as to ensure that the position corresponding to the RAM in the LCD is consistent with the actual position when displayed.

The LCD supports 12-bit, 16-bit and 18-bit input color formats per pixel, namely RGB444, RGB565, RGB666 three color formats, this routine uses RGB565 color format, which is also a commonly used RGB format

Note: Different from the traditional SPI protocol, the data line from the slave to the master is hidden since the device only has display requirement.

Framebuffer uses a video output device to drive a video display device from a memory buffer containing complete frame data. Simply put, a memory area is used to store the display content, and the display content can be changed by changing the data in the memory.

There is an open source project on github: fbcp-ili9341. Compared with other fbcp projects, this project uses partial refresh and DMA to achieve a speed of up to 60fps

2.We use Dev libraries by default. If you need to change to BCM2835 or WiringPi libraries ,please open RaspberryPi\c\Makefile and modify lines 13-15 as follows:

If you need to draw pictures, or display Chinese and English characters, we provide some basic functions here about some graphics processing in the directory RaspberryPi\c\lib\GUI\GUI_Paint.c(.h).

Set points of the display position and color in the buffer: here is the core GUI function, processing points display position and color in the buffer.

The fill color of a certain window in the image buffer: the image buffer part of the window filled with a certain color, usually used to fresh the screen into blank, often used for time display, fresh the last second of the screen.

Draw circle: In the image buffer, draw a circle of Radius with (X_Center Y_Center) as the center. You can choose the color, the width of the line, and whether to fill the inside of the circle.

Display time: in the image buffer,use (Xstart Ystart) as the left vertex, display time,you can choose Ascii visual character font, font foreground color, font background color.;

Python has an image library PIL official library link, it do not need to write code from the logical layer like C, can directly call to the image library for image processing. The following will take 1.54inch LCD as an example, we provide a brief description for the demo.

Draw an inscribed circle in the square, the first parameter is a tuple of 4 elements, with (150, 15) as the upper left corner vertex of the square, (190, 55) as the lower right corner vertex of the square, specifying the level median line of the rectangular frame is the angle of 0 degrees, the second parameter indicates the starting angle, the third parameter indicates the ending angle, and fill = 0 indicates that the the color of the line is white.

Note: Each character library contains different characters; If some characters cannot be displayed, it is recommended that you can refer to the encoding set ro used.

The first parameter is a tuple of 2 elements, with (40, 50) as the left vertex, the font is Font2, and the fill is the font color. You can directly make fill = "WHITE", because the regular color value is already defined Well, of course, you can also use fill = (128,255,128), the parentheses correspond to the values of the three RGB colors so that you can precisely control the color you want. The second sentence shows Micro Snow Electronics, using Font3, the font color is white.

Open main.c, you can see all the test programs, remove the comments in front of the test programs on the corresponding screen, and recompile and download.

For the screen, if you need to draw pictures, display Chinese and English characters, display pictures, etc., you can use the upper application to do, and we provide some basic functions here about some graphics processing in the directory STM32\STM32F103RB\User\GUI_DEV\GUI_Paint.c(.h)

Image buffer part of the window filling color: the image buffer part of the window filled with a certain color, generally as a window whitewashing function, often used for time display, whitewashing on a second

Draw circle: In the image buffer, draw a circle of Radius with (X_Center Y_Center) as the center. You can choose the color, the width of the line, and whether to fill the inside of the circle.

Display time: in the image buffer,use (Xstart Ystart) as the left vertex, display time,you can choose Ascii visual character font, font foreground color, font background color.

DEV_Config.cpp(.h): It is the hardware interface definition, which encapsulates the read and write pin levels, SPI transmission data, and pin initialization;

The hardware interface is defined in the two files DEV_Config.cpp(.h), and functions such as read and write pin level, delay, and SPI transmission are encapsulated.

For the screen, if you need to draw pictures, display Chinese and English characters, display pictures, etc., you can use the upper application to do, and we provide some basic functions here about some graphics processing in the directory GUI_Paint.c(.h)

Draw circle: In the image buffer, draw a circle of Radius with (X_Center Y_Center) as the center. You can choose the color, the width of the line, and whether to fill the inside of the circle.

Write numbers with decimals: at (Xstart Ystart) as the left vertex, write a string of numbers with decimals, you can choose Ascii code visual character font, font foreground color, font background color

Display time: in the image buffer,use (Xstart Ystart) as the left vertex, display time,you can choose Ascii visual character font, font foreground color, font background color.

tft display with pi zero made in china

The RPi LCD can be driven in two ways: Method 1. install driver to your Raspbian OS. Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.

2) Connect the TF card to the PC, open the Win32DiskImager software, select the system image downloaded in step 1 and click‘Write’ to write the system image. ( How to write an image to a micro SD card for your Pi? See RPi Image Installation Guides for more details)

3) Connect the TF card to the Raspberry Pi, start the Raspberry Pi. The LCD will display after booting up, and then log in to the Raspberry Pi terminal,(You may need to connect a keyboard and HDMI LCD to Pi for driver installing, or log in remotely with SSH)

This LCD can be calibrated through the xinput-calibrator program. Note: The Raspberry Pi must be connected to the network, or else the program won"t be successfully installed.

tft display with pi zero made in china

Voice assistants should be helpful, surely that’s why maker Jürgen Pabel decided to design his Raspberry Pi-powered voice assistance after the ominous villain HAL 9000 from 2001 A Space Odyssey. Not only does this voice assistant look the part, it functions as a real voice assistant with the help of open-source tool Kalliope.

This HAL 9000 voice assistant looks just like the original design with a custom 3D printed housing and a round TFT display used to make the glowing red eye. It listens for voice commands and connects to the internet to complete tasks just as a regular voice assistant would — but with a spooky HAL 9000-themed design.

According to his Hackaday profile, Pabel is a software and hardware hacker from Germany with a strong affinity for 3D printing. Not only does he tinker with microelectronics but you can also find a history of custom 3D-printable designs on his Thingiverse page.

The brains of this project is a Raspberry Pi Zero 2 W which functions as the main board. It’s aided with the help of a Seeed ReSpeaker 2-Mics Pi HAT and an Adafruit FT232H. The round display is a 1.28-inch TFT screen from Waveshare which is housed behind a 1.8-inch fisheye dome. A Visaton K20.40 speaker is used for audio output. There are a few input controls used as well including four buttons and a couple of rotary encodes. The 3D-printed HAL 9000 housing was designed using OpenSCAD and is available at Thingiverse for anyone who wants to print it for themselves at home.

As far as software goes, Pabel explains that some modifications were made to the Kalliope source code. He also created a custom plugin that integrates the TFT display with the Kalliope application to get the eye to animate in real-time.

If you want to recreate this Raspberry Pi project yourself, check out the original project page over at Hackaday and check out the demo video of it in action. Be sure to follow Pabel for more updates as he plans to share an additional GitHub repo with all of the code used in the project.

tft display with pi zero made in china

This microcomputer can not boast of high performance. Still, it has a compact size, ultra-low power consumption, and can perform those tasks, for which implementation Arduino or ESP8266 platform will not be enough. The power of the microcomputer of Raspberry Pi 3 level or its more expensive and productive brothers will be excessive.

The origins of the Orange Pi line of microcomputers go back to 2014 when Chinese company Lemaker released its clone of the increasingly popular Raspberry Pi, the Banana Pi M1 single-board computer.

Shortly after that, there was a split among the developers. One part continued to produce specialized and no longer positioned for the home user “development boards” under the Lemaker brand. SinoVoip continued to develop a line of Banana Pi microcomputers, the total number of models in which has already exceeded a dozen. Finally, Shenzhen Xunlong Software, managed by Steven Zhao, created the Orange Pi line, focusing on low prices.

The tactic proved to be a winner – today, Orange Pi is one of the most famous brands among single-boarders, and the number of sales of the Orange Pi Zero model alone in the Shenzhen Xunlong Software store has exceeded 8000 copies since its release in November 2016.

26-pin expansion board: GPIO (General Purpose Input/Output Interface), Power (+5V, +3.3V and GND), some pins can be used as UART, I2C, SPI or PWM 13 pins, 2 x USB, IR, AUDIO(MIC, AV)

Orange Pi Zero has two GPIO combs, one for 13 pins and one for 26 pins. The 13-pin comb is used to connect the Interface Board – an expansion board with additional USB ports, analog AV output, microphone, and IR port. The 26-pin comb is available for user peripherals, and its pinout is shown in the illustration above.

The package does not differ from that of the Raspberry Pi 3. The electronic components are sealed in anti-static bags and packed in separate cardboard boxes with branding. The plastic case is shipped unpackaged in a simple polyethylene bag.

Orange Pi Zero has one USB 2.0 port and a 100 megabit Ethernet interface with PoE (Power over Ethernet) technology, which allows you to power the device directly through the Ethernet cable. This technology is most often used in video surveillance and requires a PoE-enabled network switch.

The largest chip is the Allwinner H2+ SoC, and next to it is a 256MB or 512MB RAM module, depending on the Orange Pi Zero version. And the small square chip is the Allwinner XR819 chip, a cheap and compact Wi-Fi module. Usually, Wi-Fi modules are combined with Bluetooth modules, but the XR819 does not support Bluetooth. You have to keep it in mind and if you are going to use Bluetooth-connected peripherals, make sure you buy a USB adapter beforehand.

The GPIO interface is represented by two combs: a 13 pin one for the expansion card connection and a 26 pin one for everything else. The 26 pin comb is not unsoldered by default: the person who wants to use the GPIO periphery is supposed to solder the connectors himself and decide whether they will be directed upwards or beveled corner ones.

Finally, the board has a debug UART connector and a connector for a removable Wi-Fi antenna. A primitive antenna is already included and can be seen in the photo above. The I-PEX connector is rather awkwardly located – it is almost impossible to reach it with your fingers, so to remove the antenna, you have to pry its connector with something like a screwdriver.

Since there is no HDMI interface (as far as I understand, it is not supported by the Allwinner H2+ chip), the only way to connect Orange Pi Zero to the screen is to buy an adapter cable from AV plug to analog “tunnels”. Or connect a small TFT display to the GPIO.

Nothing is interesting on the backside of the expansion board, just another sticker with a barcode. The numbers on it indicate that the expansion card was produced before the Orange Pi Zero itself. In general, it makes sense – not every buyer of microcomputers gets additional accessories.

Yes, there were traces of badly washed flux here as well. But due to the low density of soldered parts, I managed to wipe them off almost completely with alcohol.

Orange Pi Zero is rather undemanding to the power supply – the microcomputer consumes about 300 mA, which means that its working power supply of 1 A will be enough. Of course, you should take into account the consumption of connected peripherals – if you connect several hard drives, then 1A is not enough for everything.

As for the heating and cooling, in this case, everything is not clear. Allwinner H2+ is noticeably warm. The chips made by Allwinner Technology, in general, do not belong to the number of colds. But there is a software bug in the Armbian operating system (more about it later), which causes incorrect display of SoC temperature on Orange Pi Zero revision 1.4 – and this is the latest revision at the moment, and it is on sale. This bug, by the way, is honestly reported on the distribution download page.

At zero CPU load, Armbian shows a temperature around 140°F. It is logical to suppose that if you load the processor, then at such starting conditions, the temperature will instantly fly beyond 176°F, and hard trolling will start. But this does not happen. The temperature rises, but only slightly, no trolling starts, no smoke comes out of the chip :).

Until this bug is fixed programmatically in Armbian, it is impossible to track the SoC’s real temperature. It is not superfluous to install radiators – here, the copper ones which I used for cooling Raspberry Pi 3 will do.

Before using the microcomputer, let’s assemble it in one piece. The correct way to start is to glue the heatsinks to the SoC and memory module, but I didn’t think to buy them beforehand, so I assembled without them.

After that, we put the Orange Pi Zero board with GPIO pins on the Interface board socket. By the way, there is no access to the 26 pin GPIO interface of the Orange Pi Zero board from the case as well as there is no place for the complete Wi-Fi antenna. Therefore the antenna must be disconnected before assembling the board, and if you plan to work with GPIO – you should not assemble the microcomputer in the case at all.

And a couple of words about how to take the whole construction back apart. The Orange Pi Zero board sits pretty tightly on the Interface board socket, and you can’t get it out with bare hands. You need to put some thin and hard object under the board and use it as a lever.

Orange Pi developers offer you to download several Linux distributions, of which there are even variants like OpenWrt and Zeroshell for routers and other network equipment.

On the page with the distribution, known problems are listed: the lack of drivers for the Mali-400MP2 graphics gas pedal, lack of support for hardware video decoding, bug with the display of wrong CPU temperature, poor support for built-in Wi-Fi module, and the work of analog video output “at your own risk”.

So, if you are not confused by the well-known problems of the Armbian distribution kit for Orange Pi Zero – don’t hesitate to download and install it, especially because there are no better alternatives at the moment.

The memory card with the recorded system has to be installed into Orange Pi Zero, then connect the microcomputer to the local network with an Ethernet cable and apply power.

If with Raspbian you had to connect additional repositories to install it, with Armbian, this package (only slightly modified) is installed by entering one single command

After that, you can monitor temperature (incorrectly displayed, but still), CPU load, uptime, and other indicators at http://ip-address-orange-pi:8888, accessible from any device within the local network.

Despite what was said in the notes to the Armbian release about poor support of the Wi-Fi module and the fact that when assembling the microcomputer in its case, I had to disconnect the external antenna, the Wi-Fi connection quality can be assessed as quite satisfactory.

A microcomputer can be turned into a handy network audio player. You can find details of such a project on the Internet by searching for “Logitech Media Server” or “Squeezelite”. I may write a separate post on this topic in the future.

Because of its low price Orange Pi Zero is perfect for a print server implementation based on the CUPS package. In this case, the price of the device is half of what you would pay for an off-the-shelf print server in a store.

By connecting a webcam via USB, you can turn Orange Pi Zero into an IP-camera for video surveillance, and the PoE support adds to the convenience: if you have a PoE-compatible switch, you will need to pull only one Ethernet-cable to the makeshift camera for power and data transmission. The feasibility of building such a device from scratch is questionable because the cost of the factory IP-camera in China is roughly equal to the cost of a set of Orange Pi Zero and a webcam. But if there’s a webcam at home that’s already gathering dust, this is a good opportunity to give it a second life.

You can make the device a smart home server by installing the Domoticz / Home Assistant / OpenHAB / MajorDoMo platform on Orange Pi Zero. There will be a separate post about it in the future.

With the NAS Expansion Board’s help, you can build simple and compact Network Attached Storage (NAS) based on one 2.5″ hard drive. It is not suitable for permanent use because of its slow and primitive construction, but it will be a great “traveling” option for business trips or vacation – because in this case, the low cost and compact size are the decisive factors.

These are the simplest and most obvious options. It is possible to think up more highly specialized ways of using it – for example, I’ve seen on the web someone had put together a system based on Orange Pi Zero to control the automatics of aquariums.

Orange Pi Zero isn’t a high-end performance contender and can hardly be used for resource-intensive multimedia tasks, but it is very handy for building inexpensive and utilitarian devices aimed at one particular function – like the above-mentioned print-server, hiking NAS, or smart home system control head-device.

The low cost makes it a good option for beginners, although in my personal opinion, the Raspberry Pi 3 is still the best option because of the more mature community and the improved operating system.

tft display with pi zero made in china

Long time enjoyer of this driver. Truly awesome. Generally I"m using it with an ILI9341 generic from Hiletgo Amazon, However I just got a new screen from China (an ST7789 according to specs) that"s an 8 pin SPI TFT OLED display. No matter my wiring or my command lines, it just does not want to work. I"ve got to the point where the Reset pin will light up the backlight but it wont" go any further.

Command: cmake -DST7789=ON -DGPIO_TFT_DATA_CONTROL=25 -DGPIO_TFT_RESET_PIN=24 -DGPIO_TFT_BACKLIGHT=23 -DSPI_BUS_CLOCK_DIVISOR=40 -DUSE_DMA_TRANSFERS=ON -DDISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING=ON ..

Everything compiles just fine and even turns on the backlight, but there still is a black screen. The only thing I"ve changed in config.h was to uncomment // #define UPDATE_FRAMES_WITHOUT_DIFFING and completely rebuild the build file.

tft display with pi zero made in china

You haven"t mentioned/linked to the library you are using which might help people answer. First of all, check if the library you are using has the ability to control display layout - it might already and you won"t need the following:

Somewhere in your library"s display initialisation function it will write the value 0x36 followed by another byte. The 0x36 is the MADCTL command and the following byte is the parameter that controls the display layout. You can change this value to get the effect you want. I"d suggest changing one bit at a time - it helps keep track of which bit has what effect.

tft display with pi zero made in china

Is this not the cutest, little display for the Raspberry Pi? It features a 3.5" display with 480x320 16-bit color pixels and a resistive touch overlay so it is slightly larger than the Raspberry Pi board, which is perfect to cover it. The plate uses a high-speed SPI interface on the Pi and can use the mini display as a console, X window port, displaying images or video, etc. Best of all it plugs right on top nicely covering the Raspberry Pi board. Single power from Raspberry Pi is sufficient to operate the screen. As it uses the SPI and Power pin from Raspberry Pi"s GPIO, it is nicely stacked on the RPi board. We also carry the perfect case/enclosure for Raspberry Pi 3B/3B+ and also 4B to be used with this LCD.