I wanted to make the simplest circuit possible that is able to display custom text and animations on a 16x2 LCD display.
It turns out the simplest solution was to use an ATmega328 with its internal clock powered by a 9V battery via a 5V 7805 regulator. (The only unnecessary component may be the red power led)
After doing all the soldering work, you need to burn the bootloader into your ATmega and then upload your arduino sketch into the ATmega using these instructions. Refer to "Minimal Circuit (no external clock)". I suggest you load a defauld LCD lib project just changing the pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LiquidCrystal lcd(12, 11, 2, 3, 4, 5);
if you followed exactly my scematic.