Blog

Articles and updates from Evan Williams Consulting.

LCD Display Board v1.3

LCD Display Board v1.3

  • Works with standard 40 pin TFT LCD Displays (8080 Interface) 

  • Board Supports Three Sizes of Display (320x240,480x272, and 800x480) 

  • Board contains two Atmel 328P chips on board (equivalent of two UNOs) 

  • Atmel0 runs the LCD Display 

  • Atmel1 runs the shield Pin for pin compatible with the UNO. 

  • Unzip this file in the libraries folder of your Arduino installation 

  • Projects that are prefixed UTFT_ should be uploaded to Atmel0 to control the LCD Display Otherwise the projects can run on Atmel1 and communicate with Atmel0. 

  • There are several errors on the printed circuit board on Version 1.1. A version 1.2 of the board will be issued. 

Operation and Programming of the LCD Display Board. 

TBD 

A picture containing electronics, circuit

Description automatically generated 

Schematic Diagram 

Graphical user interface

Description automatically generated with medium confidence 

A screenshot of a computer

Description automatically generated with medium confidenceA screenshot of a computer

Description automatically generated with medium confidence 

Diagram, schematic

Description automatically generated 

A picture containing graphical user interface

Description automatically generated 

Graphical user interface

Description automatically generated 

Diagram, schematic

Description automatically generated 

 

Diagram

Description automatically generated

Printed Circuit Board - Front Printed Circuit Board  Back

Read More
LCD Display Board

LCD Display Board

What is the LCD Display Board?

The LCD Display Board is an interface board for a standard LCD Screen that interfaces with an old-style 8080 / 6800 interface. It uses two Atmel 328P Microcontrollers (also found in the Arduino UNO). One Microcontroller is used to operate the LCD, the other is used for accessories including the pinouts required for an Arduino-style shield (daughter board).

II. Features and Benefits
        a. Battery Powered – 6V – 12V Input or 6 AA cells (rechargeable) approximately 8V
        b. 12 V DC Input for recharging the battery.
        c. Standard Arduino UNO – friendly programming. Sketches built on a normal UNO will continue to function -- * with a LCD screen *
        d. Why use this board instead of a standard LCD Screen built for Arduino? There are several reasons:
            i. Most screens use most available digital pins of the UNO requiring an upgrade to an Arduino Mega or a more expensive display (such as Smart GPU) with an I2C or Serial backpack.
            ii. The second MPU allows display processing to go on without disturbing the normal operation of the sketch.
            iii. The board has additional features such as battery charging and Bluetooth.
            iv. The board can programmed with a standard IDE such as is used for the Arduino UNO.
            v. Board has power-off switch
            vi. Current board is retro with DIP sockets especially for the MPU.


  III. Upgrade Path
        a. New Display
        b. More Power (ARM on board)
        c. Real-Time Clock
        d. Better Bluetooth
        e. Frequency Generator
        f. Sound

  IV. New Edition of Current Module
        a. This display interface is common even though It is an older design. Why change It right now (remain retro).
        b. SMT parts could be used. The Atmel 328PB replaces the Atmel 328p. There would be circuit changes required and the new chip has not been prototyped in this circuit.
        c. One Atmel 328P (for the graphics interface) could be upgraded to an Arduino Mega style chipset (Atmel 2560) or the lesser-known Atmel 1284. The Atmel 1284 comes in a 40 pin DIP package if the “retro” style is important. The Atmel 1284 has 128K of memory on board for programming – more than the current and limited 32K on the Atmel 328P. The Atmel 1284 has not been tested and it is not clear if it can be programmed using the standard Arduino – style IDE. The Atmel 2560, used in the Arduino Mega, does not have these limitations but has many more output pins than needed to run the display.

  V. Upgrade
        a. Possible Improvements
            i. The switch on the right (.1” Jumpers in the picture) could be wired so that when no cable is plugged into the USB Type A jack, the serial would fail over to connect MPU1 to MPU2. This would be a good thing because many standard sketch libraries come with a Serial Interface ready to go. The board currently uses I2C for inter-MPU communication. The DTS line from the FT232RL chip can determine whether the cable is present. This circuitry has not been tested however the above board has been wired with the jumpers to allow me to do so.
            ii. The two MPUs each have a separate external crystal. This could be replaced with one crystal and one external clock (Preferable?). However the MPUs must have a fuse burned during programming to permit an external clock to be used. There is a known circuit design using one crystal for both MPUs using the internal clock circuitry with identical circuit path lengths however this does not seem like a good idea.
            iii. The shift registers slow the LCD screen down by x16. Upgrading the second Atmel MPU to a larger chip and eliminating the shift registers would solve this problem.

  b. Wiring Errors
            i. Power (5V) to pin 4 of FTDI chip (FT232RL) (white wire front side).
            ii. 3.3V regulator was not powered with 5V (yellow wire front side).
            iii. Because there are not enough pins on the Atmel 328P MPU I wired the interrupt request line from the touch screen to the second MPU2. That is cumbersome because the MPU2 must currently used I2C to tell MPU1 that a touch has occurred. (yellow wire rear side).
            iv. Power to one of the shift registers was not provided (red wire rear side).
            v. MPU1 was not provided with ground (black wire rear side)
        c. Circuit Errors
            i. I have a new battery charging circuit that operates properly. It uses a LM317 and a TIP31C transistor.
            ii. Display power circuitry is good except that the output transistor was replaced with a 2N2222.
            iii. Proper spacing of battery terminals on PCB Board.
            iv. Since the DC Input Jack has a switch on board do we need to use a fancy DPDT power off switch?
            v. Missing ISCP header for Arduino shield
            vi. Double check all pins on Arduino shield, especially power pins
            vii. Missing extra pins for Arduino shield – are they needed?
            viii. Should Bluetooth and Real-Time Clock circuit be onboarded?
        d. Form Factor
            i. Size of 7” screen
            ii. Bluetooth Module should be on edge of board
            iii. Mounting holes for 7”, 5” and 3” screens.

Read More