Programmers

All on one SLOW page
Serial Port
Parallel Port
Smart Programmers
Serial Loaders

Projects

ATmega8 Serial LCD
ATtiny2313 Serial LCD
ATtiny4313 Serial LCD
ATmega328 SIRC
ATtiny2313 SIRC
40-pin Dev Board
28-pin Dev Board
AVR PS/2 Keyboard
AVR MAX232 RTS/CTS
AVR Dual RS232 Ports

Minimal Circuits

ATmega16
ATmega32
ATmega644
ATmega1284
ATmega8515
ATmega8535
ATmega8
ATmega48
ATmega88
ATmega168
ATmega328
ATmega162
ATmega128
ATtiny13
ATtiny2313
ATtiny4313
ATtiny24
ATtiny84
ATtiny25
ATtiny45
ATtiny85

Other Stuff

ATtiny13 vs ATtiny85
ATmega8 vs ATmega88
ATmega16 vs ATmega164
ISP and SPI
MAX232 Arduino
A small FAQ
Hardware Info

Page:1 2

The ATtiny4313 terminal project is a modification to the ATtiny2313 project. No PCB mods are required, but three resistors need to be left off.
ATtiny2313 PC board, schematics, and source code
Attiny4313 Schematics, and source code

ATtiny4313 Serial Terminal with LCD and PS/2 Keyboard

The ATtiny2313 terminal was a success in that it was a magnitude better than the ATmega8 version in reliability, being less of a wiring puzzle and more of a finished product, but there were some misses, too:

To make these improvements, I started another project that would allow more parameters to be changed via keyboard, by entering a configuration mode, changing the parameters, and saving them to EEPROM on return to terminal mode. It would have more flash, so the parameters could be changed via a configuration screen. One hurdle I encountered was the end of the 2k flash. I had to switch to the ATtiny4313, which was expected, since I was 2 bytes from the end with the ATtiny2313 terminal firmware.

Parameters that may be changed and stored in the ATtiny EEPROM are:

When the terminal boots it displays a message on the LCD display, and sends that message to the serial port. For some applications this might be a bad thing. Quiet mode suppresses that message on the serial port.

These connectors are all mounted on one edge of the PC board, so when it is held vertically, the cables will all come out the bottom of the box:

The contrast pot is also located there. There is a power LED that indicates the power is properly applied for troubleshooting when the display is dark. If the LED is on and the LCD is off, you have a code or hardware problem in the color or brightness sections.

The area outlined in the schematic is the circuitry that is on the small transistor board. In the final ATtiny4313 board, the entire circuit will be on one board.

Parts List for the ATtiny4313 Serial Terminal

The parts list for the terminal. Prices are Mouser.com unless indicated:

Junk box parts:

Assembly

The three resistors used to set the current in the LED backlight are removed, and the transistor board is wired into their places. In addition, the drive signals from PORTD 4:6 are wired to the board. The normal contrast circuit is removed entirely. There are not enough pins on an ATtiny4313 to do both RGB and contrast. The contrast pot is used instead.

Configuration

The firmware defaults to 1/2 brightness white, 19.2kBaud, not quiet, and translates control characters to hex. To change any of that, press the "menu" key to enter configuration mode. The current values for all options are displayed. The following keys will then select the parameter to configure:

The cursor will go to the parameter chosen, and you can then use the up and down arrows to adjust the value. The color brightness can be adjusted in the range of 0 (off) to 3 (full on). The intensity can be adjusted from 0 to 15. Quiet mode prevents the terminal from sending the banner message to the serial port, in case that might interfere with the operation of the board you are talking to. Control character translation converts the characters sent from the board to the terminal, should they fall outside the printable ASCII range. Press "menu" again to leave configuration mode. Any data received on the serial port during configuration will be discarded. When you leave configuration mode the changes will be written to EEPROM.

If you are going to change the range of the colors or brightness, you may need to change the frequency of timer0 so that it doesn't "beat" with the display refresh and cause a noisy background. Red, green, blue, magenta, cyan, and yellow all look really good. The camera can't reproduce the colors properly. They are very distinct colors. The green is greener than any green LED I've ever seen.

Page:1 2