encoder 2560 notes - osiweb/unified_retro_keyboard GitHub Wiki

Fuse settings for the ATMega2560:

Extended: 0xFF High: 0x99 Low: 0xE7

This corresponds to the following fuse settings

  • Brownout Detection Disabled (Extended byte)
  • JTAGEN (in system programming over JTAG) Enabled (High byte)
  • SPIEN (in system programming over SPI) Enabled (High byte)
  • Boot flash size 4096 ((high byte)
  • Full Swing Oscillator, xtal, fast rise, 4.1 ms startup (low byte)

All other fuses disabled.

Errata:

rev 4.2: The footprints for D1-D16 are supposed to have a shorting jumper trace built in. For keyboards with a diode installed per-key, these diodes are not installed. Since the jumpers are not pre-configured, wire jumpers must be installed in the D1-D16 positions for the keyboard to scan correctly.

If you are using a keyboard without any built-in diodes (such as a prefabricated key matrix), then install the diodes D1-D16 (1n914, in4148, or similar) to protect the row-scanning TTL outputs from conflicting logic levels in the event of simultaneous keypresses.

Here is an example of wire jumpers in stalled:

For a neater look, you can also use low value DIP resistor arrays (I suggest 100 ohms or less) 8-wide parallel configuration to accomplish the same effect. The picture below shows a pair of 22-ohm networks installed as jumpers. The ends had to be ground down to make them fit.

⚠️ **GitHub.com Fallback** ⚠️