Skip to content

m60

m60

revision 1

M60 split 5x12 rev 1

revision 2 thanks to @yyhazy

M60 split 5x12 rev 2

an ortholinear keyboard set in lego 5x12 split with optional encoder and leds. this is a preonic inspired.

this is part of a bigger family of ortholinear keyboards in lego see for reference https://mlego.elena.space/

status: all ok both rev1 and rev2

  • gerbers designed
  • firmware
  • breadboard tested
  • gerbers printed
  • board tested

Features:

  • 5x12
  • 1 encoder, optional
  • led strip, optional
  • oled, optional, rev2 only
  • 5 pins
  • stm32f401 or 411 from we act https://github.com/WeActTC/MiniSTM32F4x1 rev1 or rp2040 rpico compatible pinouts rev 2
  • firmware qmk
  • uf2 support by default

render

  • rev 2 3d render

M60 5x12 pcb

pcb

  • rev 1

  • printed pcb

M60 5x12 pcb

  • kicad

M60 5x12 pcb

bom

rev 1
  • 1 STM32F401 we act pins
  • 60 signal diodes 1N4148 , do 35
  • 1 encoders
  • 2x 350Ω or 220Ω - these are for leds so you may have to compute the R to match your colours and desired brightness.
  • 2 leds
  • 1 40 pin DIL/DIP sockets whatever you prefer
  • led strip 3pins, optional
  • 5 pin MX switches 60
  • lego 16x32 plate for bottom, and bricks as you please
rev 2
  • 60 signal diodes 1N4148 , do 35
  • 1 encoders
  • 2x 350Ω or 220Ω - these are for leds so you may have to compute the R to match your colours and desired brightness.
  • 2 leds
  • 1 40 pin DIL/DIP sockets whatever you prefer
  • led strip 3pins, optional
  • 5 pin MX switches 60
  • lego 16x32 plate for bottom, and bricks as you please
  • rp2040 raspberry pico or compatible pinout

case

case information can be found here

assembly

this is a very rushed assembly guide but shall give you the main idea.

gerbers

gerbers ready to be printed at jlcpcb are available

full kicad project if you want to generate your own or modify is available here kicad symbols/footprints are in the m65 repo

firmware

rev1

stm32f401

simply use this firmware be sure tiny uf2 has the uf2 bootloader. to install it use https://github.com/adafruit/tinyuf2

   git clone --recurse-submodules -b mlego https://github.com/alinelena/qmk_firmware.git qmk-alin
   cd qmk-alin
   qmk compile -kb mlego/m60/rev1 -km default

   # or the old way
   make mlego/m60/rev1:default
rev2

rp2040 pico

simply use firmware

   git clone --recurse-submodules -b mlego https://github.com/alinelena/qmk_firmware.git qmk-alin
   cd qmk-alin
   qmk compile -kb mlego/m60/rev2 -km default

   # or the old way
   make mlego/m60/rev2:default

pins

rev1
  • columns: "A10", "A15", "B3", "B4", "B5", "B7", "B6", "A1", "A2", "A3", "A4", "A5"
  • rows: "A6", "A7", "B0", "B1", "B10"

Encoders

  • Pad_A: A0
  • Pad_B: A8

Leds

Leds Pin
NUM_LOCK B12
CAPS_LOCK C13
SCROLL_LOCK B13
RBG_DI B15
rev2
  • columns: "GP1", "GP6", "GP7", "GP8", "GP9", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP21"
  • rows: "GP19", "GP16", "GP17", "GP18", "GP20"

Encoders

  • Pad_A: GP4
  • Pad_B: GP5

Leds

Leds Pin
NUM_LOCK GP22
CAPS_LOCK GP25
SCROLL_LOCK GP27
RBG_DI GP0

Oled

  • SDA: GP2
  • SCL/SCK: GP3

other pics

M60 5x12