AVR LCD
Since I had built a small router for my LAN at home, which is without a monitor, I needed some kind of device to show the status of this machine. Furthermore, I wanted to play a little bit with microcontrollers and hence I started to build a LCD-based monitor.
All devices are based on a AVR controller from Atmel which are quiet simple to program by using assembler or the gcc. Furthermore the LCDs are HD44780 based. Later some graphical LCDs might follow.
On this page you can find the devices (pictures, schematics etc.) and the software (both for the µC and Linux).
AVR LCD v0.2
This is the second version of my AVR LCD. It uses a USB-parallel converter (FTDI FT245BM) which is mounted on a DIP-28 board. Since I need more IO pins for a parallel interface I switched to a AVR ATmega16. I also added some more keys.
Using a USB interface has two advantages:
- Power is supplied by USB, so we need only one plug.
- Linux supports hotplugging with USB, so the daemon can be started if the device is plugged in the PC and stopped if the LCD is removed.
Pictures
Board | LCD |
Software
- AVR Program: Program for the AVR Mega16 to provide I/O functions for the LCD.
- Linux Program: Program for the PC under Linux to control the LCD, e.g. send/receive data.
AVR LCD v0.1
This first version is almost identical to the LinuxLCDPanel presented in LinuxFocus. It uses a AVR ATmega8 and a 20x2 LCD. The communication with the host PC is done via a RS232 interface.
Pictures
Front | Back |
Hints
- ATMega16: by default the JTAG interface is enabled, thus the pins PC2,PC3,PC4,PC5 can not be used. Setting bit 6 in the high fuse bits enables these pins (datasheet p. 259)