Giter Site home page Giter Site logo

mohoyt / lagom Goto Github PK

View Code? Open in Web Editor NEW
96.0 3.0 6.0 105.43 MB

Lagom is an easy to build 65% keyboard using a discrete microcontroller and only through hole components

License: Other

C 98.92% Makefile 1.08%
keyboard mechanical-keyboard pcb through-hole 65-percent

lagom's Introduction

lagom

Lagom is an easy to build 65% keyboard using only through hole components. It uses a separate microcontroller (like the Pro Micro, Elite C or something RP2040 based) to enable flexibility in firmware and connectivity and to further simplify the soldering experience (no more tricksy USB ports). Demultiplexers and a custom matrix are used to enable the size and features of the board with only the pinouts of a pro micro.

lagom

Lagom kits are available for sale at sthlmkb.com

License

Lagom is licensed under the Creative Commons Attribution-NonCommercial 4.0 International license. This design as it stands in this repository may be freely reproduced, modified, and manufactured for PERSONAL USE ONLY and may not be reproduced in physical form for public sale.

Features

  • Only through hole components for easy soldering
  • Separate microcontroller using Pro micro, Elite C, Nice! Nano or equivalent footprint. So micro USB, USB-C or Bluetooth are all options!
  • 2 rotary encoders
  • OLED screen
  • Optional underglow RGB lighting with a WS2812b light strip
  • Multiple layout options including ISO, ANSI, split space (2.25u + 1.25u + 2.75u), 7u space, split left shift (1.25u + 1u) and stepped capslock (layout)
  • Open and visible components (in the style of Plaid, Romac etc)
  • Simple, beautiful and flexible sandwich case out of FR4 (pcb material)

lagom layout

Components required

  • PCB
  • FR4 Switch plate
  • FR4 Base
  • Controller (I used a Pro Micro in the guide but anything that shares the footprint and pinout will be fine e.g. Elite C, Nice! Nano, or something RP2040 powered!)
  • Diodes 1N4148 (74)
  • 0.1μF Capacitor (2)
  • 16 pin IC socket (2)
  • IC (74HC138N) demultiplexer (2)
  • Switches (5 pin MX footprint) (up to 72 depending on layout)
  • Rotary encoders (2)
  • Rotary encoder knobs (2)
  • 0.91" OLED screen
  • 10mm M2 Standoffs (9 required if mounting the base to the plate)
  • 6mm x M2 screws for attaching the standoffs to the plate/base (2 per standoff so 18 total)
  • Acrylic cover for the components at the top (optional, not included)
  • Stabilisers (PCB mount) (5 x 2u or 3 x 2u + 6.25u or 3 x 2u + 7u depending on layout)
  • Rubber feet for the base

Build guide available here

lagom base

lagom

Known issues

None yet!

Where to buy

Lagom kits are available for sale exclusively at sthlmkb.com

lagom's People

Contributors

mohoyt avatar tonykakuuu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lagom's Issues

Generating Custom UF2 File for RP2040 Pro Micro

I am currently working on customizing the QMK firmware for a Lagom that utilizes the RP2040 style Pro Micro. However, I've encountered an issue where, after compiling the firmware, I only obtain a .hex file. For my keyboard, I require a .uf2 file which is compatible with the RP2040's bootloader.

Could someone guide me on the necessary changes or steps needed to compile the firmware specifically for generating a .uf2 file suitable for an RP2040 style Pro Micro? Any advice or direction on this matter would be greatly appreciated as I am unsure of the modifications needed to achieve this.

Thank you in advance for your help and time.

nice!nano

Hey,
How would I get a nice!nano working with this?

Vial Firmware fails to build

Running qmk flash -c -kb sthlmkb/lagom -km vial fails to build.

Generating: .build/obj_sthlmkb_lagom_vial/src/default_keyboard.h                                    [OK]
Compiling: keyboards/sthlmkb/lagom/matrix.c                                                        In file included from <command-line>:0:0:
./keyboards/sthlmkb/lagom/keymaps/vial/config.h:6:0: error: "ENCODERS_PAD_A" redefined [-Werror]
 #define ENCODERS_PAD_A { C6, F5 }
 ^
In file included from <command-line>:0:0:
./.build/obj_sthlmkb_lagom_vial/src/info_config.h:57:0: note: this is the location of the previous definition
 #    define ENCODERS_PAD_A { D4, F4 }
 ^
In file included from <command-line>:0:0:
./keyboards/sthlmkb/lagom/keymaps/vial/config.h:7:0: error: "ENCODERS_PAD_B" redefined [-Werror]
 #define ENCODERS_PAD_B { D4, F4 }
 ^
In file included from <command-line>:0:0:
./.build/obj_sthlmkb_lagom_vial/src/info_config.h:61:0: note: this is the location of the previous definition
 #    define ENCODERS_PAD_B { C6, F5 }
 ^
cc1: all warnings being treated as errors
 [ERRORS]
 | 
 | 
 | 
gmake[1]: *** [builddefs/common_rules.mk:361: .build/obj_sthlmkb_lagom_vial/matrix.o] Error 1
Make finished with errors
gmake: *** [Makefile:392: sthlmkb/lagom:vial:flash] Error 1

Commenting out the ENCODERS_PAD_A and B definition lets it at least build without errors but I'm not sure it works, as the keyboard is not recognized by VIAL.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.