tft lcd hy28b read lcd free sample
I have purchased the HY28B display as per the link below, this display uses the ILI9325 controller and has ability to interface via SPI/ 8 bit / 16 bit.
HAOYU Electronics 2.8 Touch Screen TFT LCD with all interface [HY28B] - a:link,a:visited{text-decoration:none;color:#0000FF;} Description LCD Controller ILI9325
I have previously used the UFTF lib to sucessfully configure another display that uses the ILI9325 controller with an 8 bit interface, however after implementing UTouch this left me with little usable pins, hence I would like to get the above display working via SPI if I can, however it would appear that UTFT only supports this controller (ILI9325C) in 8 bit mode, no serial support.
Anyone have any thoughts on how to get this working, or can I use a nasty hack similar to what is alluded to in the link below for the 1.5" TFT that uses the LPH9135 controller ?
Update - fbtft has now been included in the latest raspbian image and uses Device Tree - see this thread on how to configure the very latest raspbian os
This means that the console output goes to the TFT display much sooner into the boot sequence. Also he has created a ready-made image for you to download so that you do not need to go through the configuration procedure below
This new version 2 board was required because the original HY28A display has been discontinued and replaced by the HY28B. Although no major performance improvements exist, it is wired differently, so required a new pcb layout. The display board now uses the ili9325 control chip and also the touch panel is mounted 180 degrees out compared to the HY28A.
Update - fbtft has now been included in the latest raspbian image and uses Device Tree - see this thread on how to configure the very latest raspbian os
This means that the console output goes to the TFT display much sooner into the boot sequence. Also he has created a ready-made image for you to download so that you do not need to go through the configuration procedure below
This is a cheap 320×240 2.8″ TFT LCD module that uses the ILI9320 controller for the display and the XPT2046 controller for the resistive touch panel. I purchased the module over a year ago but only had the opportunity to try it out recently. The module has since been phased out by the manufacturer and replaced with the HY28B that uses the ILI9325C controller.
To my disappointment, the connectors on this module use 2mm pitch, and not the standard 2.54mm (0.1″) pitch used by most hobbyist breadboards, sockets and connectors. I also tried to search eBay and could not find anything that might be useful, other than a few 6-pin connectors for the Zigbee module which also happens to use 2mm pitch, although I did find a photo here taken by someone who has jumper cables with small headers fitting the 2mm pin pitch of this module.
This is the time when some creativity is needed. Luckily since many of the parallel communication pins on the two 20-pin connectors on both sides of the module are not used in SPI mode, I am able to break some of the unused pins, leaving space for me to bend other pins and solder them to standard 2.54mm male connectors in order to fit a breadboard:
Although the ILI9320 supports both parallel and serial communications, the HY28A module is configured to only use SPI. Using the example source code provided by the seller, I was quickly able to make this LCD show some text and graphics:
Like most other resistive touch controllers, the XPT2046 will return a raw coordinate value when a press is detected on the panel. For the coordinate to be useful, the code must convert it to a coordinate within the LCD resolution. To make things simple, the code can just look at the maximum and the minimum values that are returned when a press is detected on each corner of the panel and perform a linear conversion of the values to LCD coordinates:
Reading of the touch points can be done when TP_IRQ is low, indicating that a touch is detected. To reduce noises and achieve better accuracy, it will be better to perform several reads (5~10) for every press and calculate the average coordinate of the touched points. TP_CS must remain low when reading is performed, and set to high when reading is done. Coordinates reading must be stopped as soon as TP_IRQ is high, indicating that touch presses are no longer detected.
If you can’t see it, the text reads “PPDS STMJ” and “BAHX MBA”. The isolated drawing points are from the noises due to breadboard stray capacitance. A median filter can probably be used to remove these isolated points for better accuracy.
The text reads “Hello ABC” in the first picture and “123” in the second picture. Ignoring the inappropriate connections between two adjacent characters (due to the inability to detect when the stylus is released from the screen to stop connecting points), the other problem is the zig-zag and not smooth shape of the drawing. This is probably because of the slow speed of the PIC24. At 16MHz SPI speed and 32MHz clock speed on my PIC24FJ64GA002, some precious time is wasted communicating with the touch controller, calculating the touched coordinates and plotting them. During this time, other points drawn by the user were lost and not plotted on the screen.
As it takes considerable time to read the touch points and plot them, it is not possible to migrate the entire process into an interrupt to increase touch sensitivity as an interrupt routine also needs to finish executing as fast as possible. The only solution for a smooth drawing would be a much faster clock speed, or perhaps to use Direct Memory Accessing (DMA), supported by this PIC. However, at this moment I do not yet have the time to explore either option.
Codes for both the LCD and the touch panel make use of my custom SPI library for the PIC24FJ64GA002 to facilitate SPI communication. Before working with the LCD or the touch screen, you will need to initialize the SPI modules using the spiInit method from my SPI library as shown below:
The LCD I am using is a 2.8″ TFT LCD with SPI communication. I also have another 16-bit Parallel TFT LCD but it will be another story for another time. For this post, let’s focus on how to display what you want on the 2.8″ LCD. You can find all details about this LCD from this page:http://www.lcdwiki.com/2.8inch_SPI_Module_ILI9341_SKU:MSP2807
First thing first, this LCD use SPI as the main communication protocol with your MCU. For STM32 users, HAL Library has already implemented this protocol which makes this project easier for us. But, a little knowledge about this protocol does not hurt anyone. SPI is short for Serial Peripheral Interface which, aside from two data lines, also has a clock line and select lines to choose between devices you want to communicate with.
This LCD uses ILI9341 as a single-chip SOC driver for a display with a resolution of 240×320. More details can be found in the official document of ILI9341. But the most important thing is that we have to establish astart sequencein order for this LCD to work. The “start sequence” includes many other sequences which are also defined in the datasheet. Each sequence starts when you send a command to ILI9341 and then some parameters to follow up. This sequence is applied for all communication between MCU and ILI9341.
For this project, I recommend using theSystem Workbench for STM32for coding and building the code. After installing and open the program, go to the source code you have just downloaded and double click the.cprojectfile. It will automatically be open in your IDE. Then build the program by right click on the folder you just open (TFTLCD) and chooseBuild Project. Wait for it to finish and upload it to the board by right clicking the folder, choose Run As and then clickAc6 STM32C/C++ Application. And that’s it for running the example.
The most important library for this project is obviously the ILI9341_Driver. This driver is built from the provided source code in the lcdwiki.com page. I only choose the part that we need to use the most in many applications like writing string, displaying image and drawing symbols. Another library from the wiki page is the TOUCH library. Most of the libraries I got from the Internet were not working properly due to some adjustments to the original one.
To draw symbols or even display images, we need a “byte array” of that image or symbol. As an illustration, to display an image from a game called Transistor, I have a “byte array” of that image stored in a file named transistor.h. You can find this file in the link below. Then, I draw each pixel from the image to the LCD by adding the code in the Display_Picture() function in the Display folder.void Display_Picture()
In this article, you will learn how to use TFT LCDs by Arduino boards. From basic commands to professional designs and technics are all explained here.
There are several components to achieve this. LEDs, 7-segments, Character and Graphic displays, and full-color TFT LCDs. The right component for your projects depends on the amount of data to be displayed, type of user interaction, and processor capacity.
TFT LCD is a variant of a liquid-crystal display (LCD) that uses thin-film-transistor (TFT) technology to improve image qualities such as addressability and contrast. A TFT LCD is an active matrix LCD, in contrast to passive matrix LCDs or simple, direct-driven LCDs with a few segments.
In Arduino-based projects, the processor frequency is low. So it is not possible to display complex, high definition images and high-speed motions. Therefore, full-color TFT LCDs can only be used to display simple data and commands.
There are several components to achieve this. LEDs, 7-segments, Character and Graphic displays, and full-color TFT LCDs. The right component for your projects depends on the amount of data to be displayed, type of user interaction, and processor capacity.
TFT LCD is a variant of a liquid-crystal display (LCD) that uses thin-film-transistor (TFT) technology to improve image qualities such as addressability and contrast. A TFT LCD is an active matrix LCD, in contrast to passive matrix LCDs or simple, direct-driven LCDs with a few segments.
In Arduino-based projects, the processor frequency is low. So it is not possible to display complex, high definition images and high-speed motions. Therefore, full-color TFT LCDs can only be used to display simple data and commands.
In electronics/computer hardware a display driver is usually a semiconductor integrated circuit (but may alternatively comprise a state machine made of discrete logic and other components) which provides an interface function between a microprocessor, microcontroller, ASIC or general-purpose peripheral interface and a particular type of display device, e.g. LCD, LED, OLED, ePaper, CRT, Vacuum fluorescent or Nixie.
The LCDs manufacturers use different drivers in their products. Some of them are more popular and some of them are very unknown. To run your display easily, you should use Arduino LCDs libraries and add them to your code. Otherwise running the display may be very difficult. There are many free libraries you can find on the internet but the important point about the libraries is their compatibility with the LCD’s driver. The driver of your LCD must be known by your library. In this article, we use the Adafruit GFX library and MCUFRIEND KBV library and example codes. You can download them from the following links.
By these two functions, You can find out the resolution of the display. Just add them to the code and put the outputs in a uint16_t variable. Then read it from the Serial port by Serial.println(); . First add Serial.begin(9600); in setup().
Upload your image and download the converted file that the UTFT libraries can process. Now copy the hex code to Arduino IDE. x and y are locations of the image. sx and sy are size of the image.
while (a < b) { Serial.println(a); j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 255, 255)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99)
while (b < a) { j = 80 * (sin(PI * a / 2000)); i = 80 * (cos(PI * a / 2000)); j2 = 50 * (sin(PI * a / 2000)); i2 = 50 * (cos(PI * a / 2000)); tft.drawLine(i2 + 235, j2 + 169, i + 235, j + 169, tft.color565(0, 0, 0)); tft.fillRect(200, 153, 75, 33, 0x0000); tft.setTextSize(3); tft.setTextColor(0xffff); if ((a/20)>99)
2.8" inch 320x240 Touch TFT LCD Display Module,SPI & 16bit & 8bit all Interface . Description LCD Controller ILI9325 Touch Screen Controller ADS7843 or XPT2046 LCD Type TFT LCD Interface SPI & 8-bit & 16-bit Touch Screen Interface SPI Backlight LED Colors 65536 Resolution 320*240 Pin pitch 2.00 mm HY28B Pin Description PIN NO SYMBOL DESCRIPTION FUNCTION 1 5VIN 5V power supply When powered from 5V supply, Pin 20 & Pin 21 ( 3V3IN & 3V3OUT ) provide 3.3V output. 2 GND Ground Power Ground 3 D10 Data bus D10 4 D11 Data bus D11 5 D12 Data bus D12 6 D13 Data bus D13 7 D14 Data bus D14 8 D15 Data bus D15 9 D16 Data bus D16 10 D17 Data bus D17 11 LCDCS & CS LCD chip select Low active 12 RS Instruction/Data register selection RS = 1 : Instruction Register RS = 0 : Data Register 13 LCDSCK & WR LCD SPI Clock & Write connects to SPI SCK & WR = 0, RD = 1 14 RD Read WR = 1, RD = 0 15 RESET Reset the controller chip Low active 16 LCDSDO LCD SPI data output connects to SPI MISO 17 LCDSDI LCD SPI data input connects to SPI MOSI 18 NC Not connect Not connect 19 GND Ground Power Ground 20 3V3IN 3.3V power supply 3V3IN = 3V3OUT, When powered from 3.3V supply, 5VIN keep NC. 21 3V3OUT 3.3V power supply 3V3IN = 3V3OUT, When powered from 3.3V supply, 5VIN keep NC. 22 GND Ground Power Ground 23 D0 Data bus D0 24 D1 Data bus D1 25 D2 Data bus D2 26 D3 Data bus D3 27 D4 Data bus D4 28 D5 Data bus D5 29 D6 Data bus D6 30 D7 Data bus D7 31 NC Not connect Not connect 32 TPCS Touch screen chip select Low active 33 TPSCK Touch screen SPI clock connects to SPI SCK 34 TPSDI Touch screen data input connects to SPI MOSI 35 TPSDO Touch screen data output connects to SPI MISO 36 TPIRQ Touch screen interrupt Low level while the touch screen detects pressing 37 NC Not connect Not connect 38 NC Not connect Not connect 39 GND Ground Power Ground 40 BLCTRL Backlight brightness adjustment Control the backlight brightness via PWM HY28B Interface Mode Selection Note 1 = open, 0 = short IM2 IM1 IM0 Interface Mode 0 1 0 16bit interface D[17:10], D[07:00] 0 1 1 8bit interface D[17:10] 1 0 0 Serial Peripheral Interface (Default SPI) 1 0 1 Serial Peripheral Interface (SPI) Document WIki Page for Raspberry PI HY28B dimension.pdf HY28B schematic.pdf ILI9325 datasheet.pdf HY28B PCB(Protel & AD Format).lib HY28B for SPI interface example source code.rar HY28B for 16bit interface example source code.rar
Hello Patrik. Just to let you know that we do have now Lcd’s in stock but if you still need mcHF kit without display please email me at djchrismarc@genieprojects.co.uk so we can make custom invoice for your purchase.
I bought version 0.4 in 2016 and bought all the components including the LCD display. thus, having not yet assembled the rtx, is it possible to order only the two blank PCB version 0.6.3?
I have the tranceriver version 0.5. A HY28B model screen has broken down, I bought an identical model screen 2 years ago, and now that the test is broken, blank LCD. I have done several hours of testing with the other screen and all the work in bathroom. How would we do to get a new LCD that works well? Let’s see if there is any solution. Shipping is to Spain. Thank you
I wanted to say that I have the broken LCD, and one that I bought in another kit, when I put it on my MCHF it has a blank screen. All my work in vain. What solution can we give? can you send me another one?
Any word on when it will be ready? I was about to drop the money on a 0.7 kit when stock ran out. If it is going to be months more I may scream and drop the kilobuck+ on an IC-7200, which seems to have similar features + a 100W output.
I was wondering if the mcHF 0.6 components kit has the SMD components soldered on already. I assume (and hope) the answer is no, so that I will get to do some SMD soldering!
Hi, I just received my v0.6 boards and components last week, and have begun assembly of the UI board. I am wondering about the recommended LCD, where do I source one? What are the options
Hi Chris, I obtained an unstarted v0.5 kit from Israel. I then managed to install the LCD upside-down. Desoldering and removal has caused quite a bit of damage to LCD lands and tracks on the UI board. What options are open to me? Are there any v0.5 UI kit boards available on their own? Or even a v0.6 if it will still work?
Can I order just the U1 board from the surface mounted kit with the LCD? I got both boards together and U1 programmed but the LCD was bad and of course I had soldered it in. Got it out with only two traces ripped up and it is probably salvageable but.
I see that you are no longer offering the LCD as a part. Is it still included in the full kit? Also is there a simple way to determine what if any mods apply to the current kit?
Yes, two boards (UI and RF) with all SMD parts installed in the factory – by pick and place machine, then wave soldering. Also in the kit a LCD plus two plastic bags with extra parts – mostly through hole that you need to solder.
I have the boards from a former order from you and the display from ebay. I have read that you are out of boards and display. Does this mean you could send a full kit minus boards and displays? If yes, I would be interested to get one full-kit-minus-boards-and-display at a somewhat reduced price.
If you have any kits available please send it (since I have already paid for the international shipping, but if not, please refund the shipping and I will try to get one when you have more available (can you please place me on the “list” to get one in the future ?
I just ordered your complete mcHF kit with international shipping but it seems that you have already sold out of the radio’s, but I did successfully pay for the shipping.
You are not supposed to solder a header socket for the LCD, it is not part of the BOM and has never been. In theory you can solder one, keep in mind those are very expensive due to the non standard pitch, also your UI board will no longer fit in the 3D case. But if you make your own case, then you can use it. Soon i will list some RF packs only for sale. Check my page from time to time (also i post on Twitter).
I have ordered UI Board Kit and RF PCB several minutes ago. I’m surprised about the wonderful project and hope to read something about new features in future.
Hi, you can probably use different LCD, but will not match the UI board and the front panel. In theory you can add any LCD with QVGA resolution and similar size, and just update the LCD driver to support it. If you want it just as it is, please wait maybe another week, i will have the LCDs back in stock. 73
Dear sir, I’m new in the ham biz. Your project seems to beawesome and Exactly what I’m looking for as an underbudget beginner. I’d like to know if these 3 parts (2 pcb’s and a lcd) are all I need to build the transceiver? Is there a full kit available with the exact instructions?
You can order directly from China, np. Make sure you move the jumper before soldering the LCD to the UI board(need 16 bit mode). I do embedded development and Reverse Engineering for a living.
Just orderred for RF PCB + UI PCB + HY28B LCD. My PayPal transaction # 6KP04308DP576410H dated Dec 15, 2014. I can source for UI, but can you suggest where I can get RF PCB components from a single source or do you supply? Thank you
For soldering iron i use ERSA i-con nano, as for hot air, look on ebay for cheap Chinese ones – any that allow temperature and flow regulation with LCD will do.
I am a ham radio operator from India. I would like to get two sets of PCBS and LCD displays. Is it possible for you to send to me by courier ( FedEx or similar so that speedy delivery is possible)
I have read that by carefully selecting the mixer switching chips it is possible to achieve 50 and 70 Mhz. This will also require the more expensive SI570 versions that can go higher than 160 Mhz. From software point of view this is 10 mins coding, but for VHF you need much better front end, pre-amps, filtering, etc. Also i see in KX3 they push the same final for 50 Mhz as well, but not sure how efficient is the whole thing in 1-50 Mhz range, requires real knowledge in analogue design to make this.
As per today both boards and the LCD are available I just ordered the three items using PayPal for payment. If PayPal does not dieplay my adress please respond to my email adress!
arailabiltxy of boards: what a pity, now th UI board and LCD are available but the RF board is sold out! As the shipping costs to the outside of the UK is so high I waited for teh order of the RF board which was avaliable — last week? Now I can order the other baord and esseantila LCD but without the RF board the Transceiver is not complete. Is there a Chance when all three baords are avaliable at the same time???
Yes, i have some UI boards now, probably will update the site tomorrow as i am waiting for DHL to bring some LCDs as well. Those are the HY28B – dual interface version. The latest mcHF firmware supports all the three versions manufactured by hotmcu.com.
If HY28A is detected on boot up, the SPI is used, if HY28B – the parallel is in use. There is no change of the location of the 16 bit parallel port pins on the three different LCD modules.
I really like the idea of a kit (may be only the “hard to get” components) and suggest to introduce a list for people who want to buy a complete set of pcb´s / LCD and/or kits.
Soon will be available on the Order page, but limited quantity, based on what i have prepared already for sending, to prevent long wait, like the last two weeks.
{"title":"[버섯] 라즈베리파이용 2.8 TFT 쉴드 - TFT-SHIELD (HY-28B 액정)","source":"https://blog.naver.com/dev4unet/220164835238","blogName":"버섯돌이의..","blogId":"dev4unet","domainIdOrBlogId":"dev4unet","logNo":220164835238,"smartEditorVersion":2,"meDisplay":true,"lineDisplay":true,"outsideDisplay":true,"cafeDisplay":true,"blogDisplay":true}
The ST7789 TFT module contains a display controller with the same name: ST7789. It’s a color display that uses SPI interface protocol and requires 3, 4 or 5 control pins, it’s low cost and easy to use. This display is an IPS display, it comes in different sizes (1.3″, 1.54″ …) but all of them should have the same resolution of 240×240 pixel, this means it has 57600 pixels. This module works with 3.3V only and it doesn’t support 5V (not 5V tolerant).
As mentioned above, the ST7789 TFT display controller works with 3.3V only (power supply and control lines). The display module is supplied with 3.3V (between VCC and GND) which comes from the Arduino board.
The first library is a driver for the ST7789 TFT display which can be installed from Arduino IDE library manager (Sketch —> Include Library —> Manage Libraries …, in the search box write “st7789” and install the one from Adafruit).