Go Down

Topic: LCD shield and/or LCD serial backpack (Read 34 times) previous topic - next topic

Cheater

No one has made a LCD shield yet which I find odd. Is there any interest for one?
I could even make it use my cool 3 pin LCD interface or even I2C, SPI and serial.

Also serial backpacks are relatively pricey and not as useful as they could be.
In theory I could make a backpack which cost $10 and also provided SPI and I2C interfaces.
For comparison, SparkFun's is $17 and only provides serial.

What do you guys think?

mem

Although I am now past that point on my current project, I would have been very interested in an I2C LCD shield for $10.

I would think that I2C and serial support for LCDs at that price would be useful to many.

Cheater

Well for the backpack I've calculated approx costs.

The PCB is a tiny 1.5 inches by 0.75 inches which at BatchPCB means $5 per board.
It would be $2.50 if I can shave off a fraction off a inch.
At Futurlec for buying 100 of them its just over a dollar a board.

Components wise I can get them singly for about $3.50.
Buying in bulk would slash that amount.

Specs:
ATmega8 running at 16mhz.
Contrast control via trimpot.
Ability to turn the LCD's backlight on/off (power saving or for getting attention).
I2C, Serial and SPI all avaliable.
ICSP header for programming.

Software:
The software will be GPLed naturally. :)
I'll probably put the Arduino bootloader on it so it can be easily updated.
The serial protocol will probably be compatible with other serial backpacks.
The SPI and I2C protocols will be a efficient protocol which I'll work out.
Sample code will be provided for interfacing it with the Arduino using all three methods.

So is there enough interest for me to make a batch of about 25 boards?

mellis

Sounds cool.

If you do want to put the Arduino bootloader on it, you should probably do a lot of testing to make sure it doesn't cause any problems.  If people are sending serial commands to the chip (intended to control the LCD) while the bootloader is active, it could get confused and never launch the code that controls the LCD.  The latest ATmega168 bootloader has some code to try to prevent these sorts of problems, but it's not perfect, and it's not in the current ATmega8 bootloader.  Also, you'll need to balance out the need for the bootloader to have a reasonable delay (so people can actually time an upload properly) vs. having the LCD being responsive quickly.  One idea would be to have a jumper on a digital pin that the bootloader checks when it starts - immediately running the LCD application if it's LOW (or HIGH).  We didn't do that on the Arduino because we didn't want to dedicate a pin to it or add an extra jumper to the board, but it might make sense for this application.  There might even be commented code in the bootloader to handle it.  :)

mem

Quote
So is there enough interest for me to make a batch of about 25 boards?

I am in for one.

Presumably you will be using the RW line rather than delays to determine when the LCD is ready to accept data.


Go Up