Saturday, January 31, 2015

About the keyboard

A good name for this project could be: "I have some spare hardware and did not yet start a project using it":
  • Arduino Mega 1280
  • 4x40 LCD display, requiring 3+8 GPIOs (digital pins)
  • 12-keys physical keyboard, requiring 4+4 GPIOs
  • full-blown notebook keyboard, with a FPC 24 connector (24 GPIOs)
The full keyboard only has a flex parallel cable (24 pins with 1mm spacing), thus requiring a connector. This is my first time fiddling with 1mm-spaced things, but I decided to go with it because having a full keyboard opens a wide range of applications.

Note: this is a FPC 12P 1mm-spaced

I'm considering a Würth Elektronik FFC/FPC 24P connector (€2.60 on Distrelec). After quite a bit of googling, I didn't find anything easier to solder manually (pitch changers 0.1mm to 0.1" do exist but I can't find a FPC-female-to-0.1"-spaced-male connector).

I will search again other shops (Mouser, RS components, Farnell, etc) because I don't want to spend 10 bucks local shipping for a 2.60 bucks component...

Friday, January 30, 2015

RAM considerations

The ATmega1280/2560 have 8 kilobytes internal RAM; some digital pins (PORTA/PORTC, PORTD bit 7 and PORTG bits 0 to 2) may take avantage of a RAM/SRAM chip on the 0x2200-0xffff addresses, and even switching between 8 banks (up to 8x64k RAM).

Note 1: the initial 0x0000-0x2200 area (8704 bytes) is not available because the internal RAM has precedence over external RAM.

Note 2: a 5V RAM is needed because the ArduinoMega is 5V.

Note 3: the RAM should feature 60ns or lower access time, because the ATmega is clocked at 16 MHz.

Cypress CY7C199CN pinout

I could add 32k SRAM and map it from 0x8000-0xffff. But... hey, 512k is cheaper than 32k! Some examples:
  • Cypress CY7C199CN-15PXC, 32 kilobytes SRAM (32 kbits x 8 = 256 kilobits), PDIP package (0.1"-spaced, easy to solder), 15ns speed; Farnell lists at €5.67 each;
  • BSI BS62LV1027PCP55, 64 kilobytes DRAM (64 kbits x 8 = 512 kilobits), PDIP, 55ns speed; Distrelec lists at €6.60 each;
  • Alliance AS7C4096A-12JCN, 512 kilobytes SRAM (512 kbits x 8 = 4 Mbits), PDIP, 12ns; Mouser has them at €4.50 each (yes, cheaper than the 32k above).

Thursday, January 29, 2015

Grappendorf!

Every time you start a project, you find on Hackaday someone that made one better than yours on every aspect.

Enter the Grappendorf computer - 6502 based, 4x40 white-on-blue display, 32k RAM, full keyboard, 3D-printed case, custom PCBs and a lot of extra goodies:


Most important lesson learnt from his project: a 5 bucks USB keyboard could be cheaper than adapting an old notebook keyboard. Recycling parts could be quite expensive.

Second lesson learnt: now I really *want* a 3D-printer!!! :)

Wednesday, January 28, 2015

Hardware - preliminary


keyboard: this full-blown notebook keyboard has a 24 pin 1mm-spaced flexible connector. Varitronix display and Arduino Mega shown for size comparison.

Tuesday, January 27, 2015

Welcome to CYPRIDA project

CYPRIDA computer main specifications:


motherboard: Arduino Mega 1280
  • CPU: 32-bit ATmega1280 @ 16 MHz
  • RAM: 8 kb
  • Flash: 128 kb (operating system)
  • EEPROM: 4 kb (configuration)
  • GPIO: 54 digital + 16 analog pins, including SPI, I2C, four TTL serial ports and 6 external interrupts


display: Varitronix MDLS-40466

  • type: 40x4 alphanumeric LCD
  • interface: classic 8-bit HD44780 (14 pins)
  • size: 196x56 mm