DUO PORTABLE The DUO Portable is an inexpensive computer based on the ATMega1284. The computer has black and white LCD output and QWERTY keypad input. Files are stored in a 64 KB EEPROM chip. Data may be written and read from a host computer through a serial interface. All programs on the computer are written in a proprietary language called DPCL (DUO portable command language). DPCL consists of plain ASCII commands interpreted by the ATMega1284. DPCL programs are checked for syntax errors during runtime. 12 KB of RAM are available for DPCL programs. Parts to use Microcontroller: ATMEGA1284P-PU Crystal oscillator: ABL-16.000MHZ-B2 (x2) 20 pF capacitor: 140-100N2-200J-RC Serial EEPROM: 24FC512-I/P 102 x 64 display: EA DOGS102W-6 (x3) 1 microfarad capacitor: EEA-GA1H1R0 (x2) parallel to serial shift register: SN74HC165N 40 pin socket: 1-390262-5 (x2) 16 pin socket: 1-390261-4 8 pin socket: 1-390261-2 14 pin female header: 929974-01-14-RK (x2) 9 pin female header: 929850-01-09-RB 4 pin female header: 929974-01-04-RK (x2) 2 pin female header: 929850-01-02-RA (x2) 3 pin male header: 69190-403 (x15) 10K ohm resistor: 291-10K-RC Larger capacitor: UVR1H100MDD1TA (x57) Button: 101-TS7311T1602-EV Switch: MHSS1104 Battery holder: 12BH325/CS-GR Microcontroller pin usage PB0: display data + keyboard load PB1: display clock PB2: display mode + keyboard clock PB3: display reset PB4: keyboard data PB5: microcontroller MOSI PB6: microcontroller MISO PB7: microcontroller SCK PD0: EEPROM clock PD1: EEPROM data PD2: keyboard row 0 PD3: keyboard row 1 PD4: keyboard row 2 PD5: keyboard row 3 PD6: keyboard row 4 PC0 through PC7 and PD7: external digital pins PA0 through PA7: external analog pins File allocation table Each entry will be 24 bytes long. There will be a maximum of 170 entries occupying the first 4 KB of EEPROM. Entry format: [16 byte file name] [4 byte file address] [4 byte file size] The end of the allocation table will have a size of 0xFFFFFFFF. If an entry is unused, the file size will be 0x00000000. To make an AVR project on a Mac: Open terminal. Go to a directory. Type "avr-project [project name]". Edit the code in the main.c file. Edit the make file as necessary. In the terminal, go to the firmware directory. Type "make". Type "make flash". Notes to self - JTAGEN fuse must be set to zero in order to use PC5, PC4, PC3, and PC2. Burn fuses by using the Atmel Studio interface. - Set the divide clock by 8 fuse to zero for a faster computer. - The EEPROM requires a 10K ohm pull up resistor. - I am using the stk500v2 programmer. - The display is sensitive to heat. Solder female headers onto the board, then plug the display into the headers.