C++ Guide: Talking to an LCD1602 & PCF8574 via i2c-dev
Preface This guide will attempt to demystify the following: 1.) How to find & map physical pins directly to C++ variables using binary literals (and how to use bitmasking to build instructions)...

Source: DEV Community
Preface This guide will attempt to demystify the following: 1.) How to find & map physical pins directly to C++ variables using binary literals (and how to use bitmasking to build instructions). 2.) How to actually begin sending information to your LCD in C++. 3.) How you can begin abstracting functions to minimize the amount of low-level instructions you have to write in your code. DISCLAIMER: This is not an extensive guide on all the features the LCD has; it is meant to help bridge the gap between knowing nothing at all and sending your first instructions to the LCD. I'm also very new & fully self taught. There might be errors which I haven't caught... With that being said, I hope this is helpful to somebody. References: Kernel.org I2C Dev Interface (i2c-dev.h) HD44780 Datasheet (RELEVANT PAGES: 23, 24, 25, 42, 46) I2C 1602 LCD Specs (For device hex address) Background Information The reason I'm writing this is because most tutorials and guides out there are going to tell you