TFT Display with atmega32

Go To Last Post
34 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello Every one;

                       I have a display which have controller ILI2935. I want to use it with atmega32 using SPI. I tried getting some information but I am not able to get it. Kindly help me out.

 

   

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you looked at the Arduino drivers for this display?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks For reply. Actully I don't have idea how to use (possible or not) Arduino drivers for Atmega32, so I didn't tried much for Arduino drivers.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just want to use display not touch pad.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No, that shield uses the parallel 8080-8 interface. It is not possible to use SPI for the TFT.
.
It does use SPI for the microSD
.
The shield is designed to plug into an Arduino. It might contain ANY controller. It is unlikely to contain ILI9325 but it might.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok. As I am getting you are saying that this display will not run on SPI Protocol??

 

Kindly suggest me the parallel communication material for this display.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

I Googled mega32 arduino........

 

http://www.instructables.com/id/...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I checked the link.

I have google and got to know that lcd model number is ST7781, is there any material available which tell me all the connections. I am confuse.

Last Edited: Tue. May 15, 2018 - 07:11 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Abhay02 wrote:
is there any material available which tell me all the connections

That should be available from wherever you bought the thing.

 

As it is an Arduino shield, you should also be able to find Arduino examples to go with it.

 

You should start by getting it to work with an Arduino. Then, once you have a working point-of-reference, you can (if you still want to) move on to porting it to some other target.

 

It would be easier to just set this aside (at least for now) and get a display which does come with a suitable level of support...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Life is much simpler if you just buy an Arduino Uno clone.    Plug the Shield in.   Install MCUFRIEND_kbv library via the IDE Library Manager.

 

Yes,   you can run the shield with a mega32.   But first you have to provide a 3.3V reference voltage to the 3.3V pin on the shield.

And it requires quite a lot of work to write the software.

 

If you really want to do this,   provide a schematic and photo of your hardware.    I can probably provide an AS7 project in C or C++.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

 

 

 

 

    

 

 

These are my hardware..LCD  is ST7781 and Controller is ATMEGA32. 

Last Edited: Tue. May 15, 2018 - 07:52 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"I have google and got to know that lcd model number is ST7781, is there any material available which tell me all the connections. I am confuse."

This is ambiguous :

Do you answer to Kartman's post 7 or do you negate the title and your 1rst sentence at post 1?

 

You first should test it on an arduino :

some arduino  libraries can detect the type of the display (it is often stored in an EEPROM, I am afraid it is .. the empty -illustrating Murphys law-  placeholder (2x4)  in the red photo; else, they scan for each kind of display ... they know). Perhaps an IT link to the place where you bought would be useful?

 

You should tell what is written on the 2 existing ICs on the red photo (one cannot guess them whithout telescopic eyes)

Bettere than posting the other side of the green M32 photo, you should take a photo of its schematics (even if hand made : it is much easier than putting togeteher boths sides of a rather dense PCB)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I am very familiar with these Mcufriend Uno Shields.    They require a 3.3V reference voltage.   

 

If you are prepared to make an effort,   I am happy to help you.

If not,   I will not waste my time.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes I want to do this kindly tell me the circuit.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

It is your job to make the hardware.

You require GND, 5V, 3V3.

You require LCD_RD to LCD_RST control lines

You require LCD_D0 to LCD_D7 data lines

A total of 16 wires.

 

I will do nothing until you show that you can wire up the hardware.  i.e. schematic and photo.

 

The Shield has level shifters.   It will work with 3.3V or 5V logic levels.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You should really post a schematic of your MCU card (the green one on the right) or an IT link to it.. to know which lines are already used (one does not have crystal balls)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

With 2.4" TFT shields like this one, you never know what the TFT controller is inside AND you will destroy the unit attempting to open it.  The only thing that you can do is send parallel 8-bit bytes to it and try to make sense out of anything that you able to read back.  This family of 2.4" TFT controller shields have no documentation, and they have many different internal designs and configurations, and you can't tell how to get it working from looking at it

 

Unfortunately for you, it is doubtful that anyone in the world has been able to make this UNO-shield parallel-interface 2.4" TFT work with an AVR Mega32.  You need to be a video engineer (to understand the TFT data sheets), an expert C programmer, and an AVR expert.  All of which you are not.

 

Fortunately for you, Mr. Prentice, one of the world's experts at UNO-shield parallel-interface 2.4" TFTs, has offered to help you.

 

The first thing to do is get the TFT working, then get the touch-screen working.   The touch screen uses two ADC channels and two I/O pins (that are shared with the TFT parallel-bus).  You have to know what these four pins are.  They will be different on identically-looking shields, and, the board manufacturer/seller can offer you none of the documentation that you need to get it working.

 

Forget about using the Mega32.  This board and all of its downloadable libraries is meant to work with an Arduino UNO which has an internal Mega328P CPU.  In theory, the Mega32 and Mega328P are nearly identical internally.  But the working libraries for this controller are written using the Arduino extended keywords of C++.  You will go crazy trying to convert Arduino Mega328P C++ into AVR Mega32 C code.  If you can't buy a Chinese clone of an Arduino UNO for $5 on eBay, then you need to move to a country that allows you to do so if you are going to be a professional embedded-systems AVR developer in the modern world.

 

I have had good luck with one of these 2.4" TFT ST7781 units by using the UNO library provided by SmokeAndWires.co.nz.   Mr Prentice's tool, MCUFRIEND, may recognize your unit.  I've bought about ten parallel 2.4" TFT shields from eBay over the past four years, and MCUFRIEND has recognized seven of them.  Not bad for exploring undocumented Chinese techno eBay dump units.

 

The two big surface-mount ICs on the back of the red board are 74HC245 level shifters that convert the Arduino +5V signals to the +3.3V used by the TFT.  The 2x4 IC pads (with no IC) is for a Serial RAM IC that uses the same SPI signals as the SD card (with different CS lines).  The TFT itself does not use SPI interfacing.

Last Edited: Wed. May 16, 2018 - 01:40 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I've bought about ten parallel 2.4" TFT shields from eBay over the past four years, and MCUFRIEND has recognized seven of them. 

Go on.   What is the readreg report  for the the three unknown ones?

Or did you try to dismantle them yourself?

 

I would expect at least nine out of ten to work.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi David;

    It is done with ATMEGA32.

 

LCD_RST  =>   PD0

LCD_RD  =>    PD1

 

LCD_D0   =>  PA0   

LCD_D1  =>   PA1  

LCD_D2  =>   PA2   

LCD_D3  =>   PA3   

LCD_D4  =>   PA4   

LCD_D5  =>   PA5   

LCD_D6  =>   PA6   

LCD_D7  =>   PA7

 

 

 

   

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What about LCD_WR, RS, CS ?
Where does the 3.3V come from?
.
Seriously, your previous thresds went on for days and weeks. I am not going to waste my time.
If you take 20 minutes from your life to provide proper schematic and photo, you will get sensible replies.
.
David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Simonetta wrote:
You will go crazy trying to convert Arduino Mega328P C++ into AVR Mega32 C code.

 

Would installing Mighty Core into the Arduino IDE to add M32 to the list of supported chips help? 

Then the OP could load/run the sketches for the display. 

 

Jim

Mission: Improving the readiness of hams world wide : flinthillsradioinc.com

Interests: Ham Radio, Solar power, futures & currency trading - whats yours?

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

The software side is fairly trivial.

 

Getting the OP to provide proper hardware and information is another matter.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

 

Hi David,

Is it ok??

I will provide two different power sources of 5V and 3.3 Volts.

Now, kindly tell me these connections are ok or not??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Abhay02 wrote:
I will provide two different power sources of 5V and 3.3 Volts.

So show that on your schematic, then.

 

Your schematic should be a complete description of all your connections!

 

Seriously:  a schematic is a far more efficient way to describe a circuit than trying to write it all in words - as David keeps telling you!

 

It is also not subject to language barrier problems.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Excuse me, but is there a 5-> 3.3v shipped with this shield? (this happens with some shields, to make life more comfortable).

In this case, there remains "only" one wire to show (and supplies are often on ... different schemas, to make reading easier: a supply less schema is read more efficiently).

A trivial one, out of 14 non trivial....

 

Else, wiring a LDO and 3 decoupling capacitors is straightforward (but a photo might show it was not forgotten). In this unpleasant case, remain two trivial wires out of 14.... which should not be put into the same schema to keep some efficiency in reading

 

Oh, btw : a list of connections as you did is easier to keep as part of commentaries -no mechanical invocation of "language barrier"  (I bet you comment your softwares...), and some colors cannot be seen if one of yourreaders  is color blind -even google serach can explain it!- : a list of connections is therefore .... more efficient, on the long term (except for analog circuitry, where schematics are necessay : digital cards are another issue, which should not be transposed mechanically).

 

 

BTW :I warrant you D. Prentice was not trying to belittle you nor showing a google superiority (he is well known in adapting Arduino to dozens of  weird cicruits and screens)  when wanting all control and data signals to be known before attempting to give you some software....

Last Edited: Thu. May 17, 2018 - 08:09 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Most Mcufriend pcbs have two 74HC245 buffers and one AMS1117 3.3V regulator.

The AMS1117 provides 3.3V to the backlight LEDs via a current limiting resistor.  

It does not provide a reference for the 74HC245.    The 74HC245 uses the 3V3 pin from the Arduino as 3.3V reference.

 

The photo in #1 does not show any LDO regulator.    It looks as if Mcufriend is saving components.    I assume that the backlight is fed from 5V via a (larger) limit resistor.     And the 74HC245 buffers still use the external 3V3 pin.

 

Ebay and AliExpress vendors often publish photos that do not represent what they are selling.    And they certainly publish inaccurate technical details.

It looks as if the photo in #1 is the actual display on the OP's real desk.

 

Yes,  it would be quite easy for the OP to add the 3.3V regulator to the schematic.   The rest of the schematic is fine.

And I would like to see the actual wiring in a clear photo that can be compared to the schematic.

 

Once I see the proper hardware connections I will attach an AS7 project for you.    Do you want C or C++ ?

 

Life is much simpler with a £3 Uno clone.    You just plug the Shield into the Arduino header sockets.

 

David. 

Last Edited: Thu. May 17, 2018 - 09:05 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Life is much simpler with a £3 Uno clone.    You just plug the Shield into the Arduino header sockets."

Well, life of these xxx friends can be less complicated with reliable connections (are dupont wires reliable).

But, as I read, one year ago, about these cheap graphic screens, I was terrified (one can find out which driver exists by trial and ** many** errors from their IT site) and cowardly decided not to buy.

Simonetta, who is much more competent than I am, had 70% of these screens working -thus, 30% were desesperating- , and you have more than 90% (this thread)...

 

I am afraid OP should post 4 photos (edited : or make a PCB to give som compatibility whith his card and arduino, if he intends to test many arduino shields, if he is rich and if he has skills in PCB drawing) :

 

one of his extra 3.3v supply.

one of the connections Dupont wires <-> screen // or swear he checked it somehow...

another of the connections Dupont wires <-> his card // ""

last one, where wires can be followed, to show the connections card <-> screen (the one he posted is too small and wires cannot be followed by eye - some jumped out of the photo-)

There is nothing more unpleasant than looking for loose connections (and odds of miswiring -16 flying wires- are very high in this context), or, worse, trying to adapt software as there is a trivial HW issue.

Last Edited: Thu. May 17, 2018 - 09:49 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for reply David.

I am comfortable with C language.

I can provide 5 volt from my board which I am using the blue one (As in POST#19) and I am providing 3.3 volt from a different power source is it ok??

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Or use a LDO (advantages if you turn off your M32 card, shield will be turned off, too : I bet there remain enough milliamps; other advantage : you will mimic an arduino HW, shield is meant for) and two decoupling capacitors.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@dbrion0606,

 

You can read the controller ID from the Mcufriend Uno Shields.

The Mcufriend Mega2560 Shields are write-only.    Hence guesswork.

 

I have probably got 100% of displays working if I get them on my desk.

 

I have got several running with a remote owner/user.

 

It can be quite a struggle if I can't get a datasheet.

 

@Abhay02,

 

I would be happier to see 3.3V from an LDO powered by your single 5V supply.

Then I know that everything is safe when you remove 5V power.

 

David.

Last Edited: Thu. May 17, 2018 - 10:28 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"You can read the controller ID from the Mcufriend Uno Shields."

Is the controller id stored into the controller (Simonetta hinted it) or into an EEPROM (it was a wild bet of mine, very unlikely, as they seem not to add extra circuits -even a 5v -3v converter-)?

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The silicon contains an ID register.    You read the register to identify which controller chip is mounted.    Note that the silicon is not normally in a human viewable package.

 

Many displays do not make the RD pin accessible.    So this type of display requires a well polished crystal ball.

 

The silicon often contains some EEPROM cells to store manufacturer configuration data.    They are normally OTP, write-twice or write-thrice.

I have only ever come across one controller that lets you write to EEPROM with regular supply voltage (and multiple times).

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi David;

             Here is my circuit this is same as post #23 circuit diagram. I have just used a separate circuit (Small Blue board) to provide 3.3 volt. The grounds of both circuit boards (The small blue board and the main bigger board) are connected.

Please guide me further.

Last Edited: Mon. May 21, 2018 - 08:40 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, I do not see wheteher

a) your small blue beard converts 5v (from the M32 board) into 3.3

or

b) whether is is a main <->3.3v adapter.

 

D. Prentice wrote, in post 30 :

"would be happier to see 3.3V from an LDO powered by your single 5V supply.

Then I know that everything is safe when you remove 5V power.

"

Solution a) M32 beard -> 5v blue board -> 3.3 -> TFT supply is felt safe....