100%
octave-12-key-macropad key-matrix view
Description

Imported from GitHub: takayoshiotake/octave-12-key-macropad · commit 7a8c2e8 · license CC-BY-SA-4.0

Description

Programmable compact keyboard

README

Octave

CC BY-SA 4.0

The Octave is a 12-key macropad. It is primarily designed to be a compact keyboard with support for 12 function keys (F1 - F12).

Status

  • prototype-3.1: Upgrade with LEDs under keys
    • LED Animation
    • PCB: OK!
  • prototype-3: Simple design
    • Enclosure: OK!
    • Test: OK!
    • PCB: OK!
  • prototype-2: Custom MCU board
    • Consideration
    • Test
    • PCB
  • prototype-1

Specifications

Layout

📄 layout/keyboard-layout.png (rev.6)

keyboard layout

  • 12 function keys (F1 - F12)

RAW data for Keyboard Layout Editor v0.15:

📄 layout/keyboard-layout.rawdata.json

[{f:3},"F1\nF9","F2\nF10","F3\nF11","F4\nF12"],
["F5\nVol-","F6\nVol+","F7\nRW","F8\nFF"],
["Shift","Ctrl","Esc\nLED","MO(1)"]

Schematic

📄 electronics/Octave_Input_PCB.svg (rev.6.1.2)

schematic svg

I have also designed a custom MCU circuit from prototype-2, the MCU is RP2040 and the software runs on CircuitPython built specifically for it.

📄 electronics/Octave_Input_PCB/Octave_Input_PCB.kicad_sch

Upgrade schematic with LEDs under keys

📄 electronics/Octave_Input_LED_PCB.svg (rev.1.0.0)

led schematic svg

📄 electronics/Octave_Input_PCB/Octave_Input_LED_PCB.kicad_sch

PCB

📄 electronics/Octave_Input_PCB_3D.png (rev.6.1.3)

pcb 3d png

📄 electronics/Octave_Input_PCB/Octave_Input_PCB.kicad_pcb

Upgrade PCB with LEDs under keys

📄 electronics/Octave_Input_LED_PCB_3D.png (rev.1.0.0)

led pcb 3d png

📄 electronics/Octave_Input_LED_PCB/Octave_Input_LED_PCB.kicad_pcb

CircuitPython

Software for the Octave (prototype-2, prototype-3) runs on CircuitPython.

Latest:

Older:

Plate

📄 mechanics/Octave_Plate_3D.png (rev.1.0.3)

plate 3d png

📄 mechanics/Octave_Plate/Octave_Plate.kicad_pcb

Enclosure

BOM & Software

🏷 prototype-3-pcb

MaterialUnitDesignatorNoteJLCPCB Part #
Octave CPU PCB rev.6.1.31n/aJLCPCB
Octave Input PCB rev.6.1.3 [2]1n/aJLCPCB
Octave Plate rev.1.0.31n/aJLCPCB, Alminium PCB (t=1.6mm)
01516601201n/aMolex 0.50mm pitch FFC, Type D, 50.80mm, 12 circuits
CPG151101S11-212SW1-12 [2]Kailh®︎ hot swap socket (White)
Octave Enclosure Case rev.1.0.01n/aJLCPCB, 3D printing (MJF), PA12-HP Nylon
Octave Enclosure Top Frame rev.1.0.01n/aJLCPCB, 3D printing (MJF), PA12-HP Nylon
PORON4n/a78mm x 2.5mm (t=1.5mm)
PORON4n/a59mm x 2.5mm (t=1.5mm)
Screw M2 5mm1n/aHirosugi B-0205
Screw M2 8mm4n/aHirosugi B-0208
Insert nut M24n/aHirosugi HSB-203030Z
Nut M21n/aHirosugi BNT-02-2
Washer M21n/aHirosugi BW-0243-03
30pF 04022C15, C16PCBAC1570
100nF 040210C5-14PCBAC307331
1uF 04022C3, C4PCBAC52923
10uF 04022C1, C2PCBAC15525
1N4148WS12D1-12 [2]PCBAC2128
HRO_TYPE-C-31-M-121J1PCBA, USB Connector (Type-C)C165948
JUSHUO_AFC01-S12FCC-002J2, J3 [2]PCBA, FFC Connector (0.50mm pitch, 12 circuits)C262268
27Ω 04022R3, R4PCBAC352446
1KΩ 04022R7, R8PCBAC11702
5.1KΩ 04022R1, R2PCBAC25905
10KΩ 04022R5, R6PCBAC25744
AP2112K-3.31U1PCBAC51118
Raspberry Pi RP20401U2PCBAC2040
W25Q64JVSSIQ1U3PCBAC179171
12MHz Crystal Resonator SMD-32251Y1PCBA, YSX221SLC9002
SKRPANE0102SW21, SW22PCBA, Alps Alpine tactile switchC470426
WS2812C-2020-V11LED1 [1]PCBA, NeoPixelC2976072

MEMO: [1] To reduce costs, I did not assemble LED1 with PCBA. MEMO: [2] Can be replaced with upgrade parts.

Upgrade parts:

MaterialUnitDesignatorNoteJLCPCB Part #
Octave Input LED PCB rev.1.0.01n/aJLCPCB
CPG151101S11-212SW1-12Kailh®︎ hot swap socket (White)
1N4148WS12D1-12PCBAC2128
JUSHUO_AFC01-S12FCC-001J3PCBA, FFC Connector (0.50mm pitch, 12 circuits)C262268
WS2812B-Mini-V312LED201-0212NeoPixel
  • Octave CPU PCB rev.6.1.3, Octave Input PCB rev.6.1.3 (PCBA)

  • Octave Input LED PCB rev.1.0.0 (Upgrade)

  • Octave Plate rev.1.0.3

  • Assembly

Software

History

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

CC BY-SA 4.0

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.