Both keypad and and LCD are fully functional - all 12 keys are readable and the LCD can be written and read.
It doesn't use any special tricks and even uses the existing MikroC LCD library routines - so you can even port it to another compiler!
All you do is call two routines: one before using the LCD and one before using the keypad. These set up each peripheral so that they co-exist on the same port.
You can even use the LVP mode when the routines are used on the RB port but in this case you loose a column of keys - but you still have 8 which is a lot. (Note unstested in LVP mode).
The project is completely free.
To get the project unlock code please visit the E-Zine subscription page.
Locked Project Page: To jump to the project page click here
Find out how to use the AD9833 to generate sine, square and triangle waves at 0.1Hz resolution.
Arduino Nano ISP: How to program an ATmega328P using an Arduino Nano as the ISP programmmer. One common problem: Programming a sketch into the chip without a reset control - solved here.
Arduino Voltage reference: Both the Uno and Nano have a built-in voltage reference: Find out how to make it more accurate. In addition find out how to use it to measure the supply voltage 1V8 ~ 5V5
Arduino EEPROM: How to use it and How to preserve the life of EEPROM. Two examples sketches to save multiple values to EEPROM.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
Learn how to use the TP4056 properly. There's a right, and a wrong way, to use it to safely charge Lithium Ion batteries.