# Tiva C + ESP32 LCD Keypad Project
This project implements a sensor monitoring system using:
- Tiva C (TM4C123GH6PM)
- ESP32 sensor node
- 16x2 LCD in 8-bit mode
- 4x4 keypad
- UART communication (9600 baud)
## Features
- UART communication between ESP32 and Tiva C
- CSV-based sensor data transfer
- LCD display with multiple modes
- Keypad-controlled screen navigation
- Water-level alert logic
- Debug output via UART0 (PuTTY)
## Hardware Interfaces
- UART0: Debug to PC
- UART1: ESP32 → Tiva data link
- LCD: 8-bit parallel interface
- Keypad: 4x4 matrix scanning
## Notes
The LCD initializes correctly and displays static content.
Dynamic second-line updates may show corrupted characters due to hardware timing/noise limitations;
system logic and communication are fully functional and verified via UART debug output.
## Brief Pinout Diagram
ESP32 PINOUT:
Sensors:
GPIO4 --> DHT11 Temp & Humidity
GPIO34 --> Photoresistor Light Sensor
GPIO16 --> Ultrasonic Trigger
GPIO35 --> Ultrasonic Echo
UART to Tiva:
TX2 GPIO26 --> TIVA PB0 (U1RX)
TIVA C PINOUT:
ESP32:
PB0 --> GPIO26 TX2
LCD Screen:
PA5 --> RS
PA6 --> E
PE1-4 --> D0-3
PB4-7 --> D4-7
Keypad:
R1-4 --> PD0-3
C1-4 --> PC4-7
## Author
David Leal