m60
m60¶
revision 1
revision 2 thanks to @yyhazy
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
pcb¶
-
rev 1
-
printed pcb
- kicad
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