Skip to content

mytechnotalent/RP2350_C_1602_LCD_Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FREE Reverse Engineering Self-Study Course HERE

VIDEO PROMO HERE


RP2350 C 1602 LCD Driver

An RP2350 C 1602 LCD driver written entirely in bare-metal C.


Install ARM Toolchain

NOTE: Be SURE to select Add path to environment variable on setup.

HERE


Hardware

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

10% PiShop DISCOUNT CODE - KVPE_HS320548_10PC


Build

.\build.bat

Clean

.\clean.bat

main.c Code

/**
 * 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;
}

License

Apache License 2.0

About

An RP2350 1602 LCD driver written entirely in bare-metal C.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages