FREE Reverse Engineering Self-Study Course HERE
VIDEO PROMO HERE
An RP2350 C 1602 LCD driver written entirely in bare-metal C.
Raspberry Pi Pico 2 w/ Header BUY
USB A-Male to USB Micro-B Cable BUY
Raspberry Pi Pico Debug Probe BUY
Complete Component Kit for Raspberry Pi BUY
10pc 25v 1000uF Capacitor BUY
.\build.bat
.\clean.bat
/**
* FILE: main.c
*
* DESCRIPTION:
* RP2350 Bare-Metal 1602 LCD Main Application.
*
* BRIEF:
* Main application entry point for RP2350 1602 LCD driver.
*
* AUTHOR: Kevin Thomas
* CREATION DATE: November 2, 2025
* UPDATE DATE: November 29, 2025
*/
#include "constants.h"
#include "1602_lcd.h"
#include "delay.h"
/**
* @brief Main application entry point.
*
* @details Initializes I2C and LCD, displays "Reverse" on line 0 and
* "Engineering" on line 1, then enters infinite loop.
*
* @param None
* @retval None
*/
int main(void)
{
// Initialize I2C
I2C1_Init();
Delay_MS(500); // 500ms delay
// Initialize LCD display
LCD_Init();
// Turn on LCD backlight
LCD_Backlight_On();
// Display Line 0
LCD_Set_Cursor(0, 0); // line 0, position 0
LCD_Puts("Reverse");
// Display Line 1
LCD_Set_Cursor(1, 0); // line 1, position 0
LCD_Puts("Engineering");
// Wait 10 seconds
Delay_MS(10000);
// Turn off LCD backlight
LCD_Backlight_Off();
// Loop forever
while (1) {
// Infinite loop
}
// should never reach here
return 0;
}