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
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.
The parts list for the terminal. Prices are Mouser.com unless indicated:
Junk box parts:
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.
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.