LCD Ethernet interface

This project started with me having a bunch of hardware that I hadn't really used.

I had picked up the 20x4 LCD screen years again, and had gotten it to work with the LCDProc project using a parallel port. Since most of my computers don't have a parallel port, it didn't get much use.


I had picked up the STK16+ V2.0 development kit a year before, to use it to possible make an autowah, much like Zvex SeekWah. But I didn't do much with it, aside from making an led blink.


Recently I started playing around with Atari computers (600xl,800xl,130xe) and noticed a project SDrive which used an atmega8 processor. I figured I could use my atmega32 instead. I purchase the ENC28J60 breakout board thinking that maybe I would interface it with the atari, since I saw lots of posts on the atariage forum requesting it.


While searching for how to use the ENC28J60 I found a uip stack that would work with the atmega32 and its main example was a telnet server, so I switch it to another port, and was able to send and receive data to a php test tcp/ip client that I had created.


I then found an example on how to interface the LCD with the atmega32 as well. I made a couple changes to the code, the main one being using PORTA instead of PORTC, since PORTC is used by the jtag interface.


I then got the server running so that it would send a number to the client, and then receive 80 characters which would be displayed LCD (since its a 20x4 interface) I use the number that the server sends in the client to select which information will be gathered.


Currently I'm using php, but anything could be used.The script currently does the following

  1. 1)Gets the local weather from the rss feed 

  2. 2)Gets one of my favorite twitter feeds, via rss 

  3. 3)Checks my gmail account 

  4. 4)Gets the status for our mysql at work 

  5. 5)Retrieves the stats for the machine the php script is running on (name,cpu usage,mem usage) 


Remember you can write your own tcp/ip application to send 80 characters of data to be displayed to the screen.


The source code is provided, as well as a schematic

Compiled using AVR Studio 4 and the winavr compiler
AVR Memory Usage
Device: atmega32

Program: 10100 bytes (30.8% Full)
(.text + .data + .bootloader)

Data: 2048 bytes (100.0% Full)
(.data + .bss + .noinit)







ENC28J60 uip stack
LCD example