Serial LCD driver, vs. I2C slave arduino?

Here are some random thoughts on the topic:

If it were me, I wouldn't mess with I2C or SPI for this application. I'd use the serial port. You'll need two pins (RX and TX), same number as I2C. If you're already using the hardware serial port, use two other pins with the soft serial library.

Don't bother to convert the signal to RS232. Just use the 0 - 5V serial as it comes out of the pin. For cable lengths of a couple feet or less, this should work fine.

If you've managed to get one command working, you can get several working.

As to the LCD, get a parallel inteface LCD. The Arduino LCD library will let you do anything you want to do with it.

For the first version, I would keep it simple. You could make it general purpose, where the master could command the slave to write anywhere on the LCD, move the cursor, etc., but you probably will have fixed fields on the LCD. Instead of the master sending commands to position to the temperature field on the LCD, have a dedicated command that says "Update the temperature display to this value", followed by the new temperature. The slave knows where it goes on the display, so the slave will position the cursor to the correct spot before updating the temperature.

Also, I'd transmit all of the data in ASCII. In other words, if you want to send '99', send two ascii '9' digits, not one byte with the binary value of 99.

The reason to make it all ASCII is to make it easy to debug and test. A PC terminal program will let you pretend to be a master or a slave, and talk to its counterpart. Also, if you want to log the transmissions, they will already be in readable form.

Sounds like a fun project. Good luck!

-Mike