Git Product home page Git Product logo

chrischrislolo / keezyboost40 Goto Github PK

View Code? Open in Web Editor NEW
166.0 6.0 9.0 9.26 MB

4x10 ortholinear with an LCD in the middle. Uses the Raspberry Pi Pico, as well as Rust firmware

Home Page: https://shop.beekeeb.com/product/pre-soldered-keezyboost40/

License: Creative Commons Attribution Share Alike 4.0 International

Python 30.30% Rust 69.70%
raspberry-pi-pico rp2040 rust 3d-printing 4x10 keyberon keyboard mechanical-keyboard ortholinear pcb

keezyboost40's Introduction

keezyboost40

A 4x10 low profile ortholinear keyboard with an lcd screen in the center. Uses the Raspberry Pi Pico as well as firmware written in Rust (though QMK works too*)

Features

  • Low Profile
    • Keyboard is around 16.5mm thick, keys and keycaps included
  • 1.8" LCD Screen
    • Ample real estate for animations, UI, games(?), etc.
  • Uses the Raspberry Pi Pico
    • 2MB of flash storage
      • Lots of room for programming with MicroPython, or room for graphics and code
  • Parts readily available
    • Only SMD parts required are diodes and kailh choc hotswap sockets
  • Supports QMK or Rust firmware
    • QMK hex can be found in firmware file
    • Uses Keyberon as the firmware base, allowing for a "modular" firmware that can easily be built upon
    • More details can be found in DESIGN.md

Display demo here:

keezyboost40 display demo

Status

Prototypes are functional, though firmware is still WIP! v0.0 needs a jumper cable from the Pico to the reset pin in the TFT, but works perfectly fine with the Raspberry Pi Pico aside from that. v0.1 fixes this issue (currently in the master branch), though hasn't been produced and tested yet.

I need to fix a bug with the animation slowing down, though I suspect it'll mostly involve tinkering with RTOS timings

PCB

You can generate the gerbers from source in the pcb directory, and send off imediately to PCBWay or the like. PCBWay has helped sponsor this project, and has provided a fast, easy service while ordering from them. I was also suprised how well my board came out desipte being quite oddly shaped, so I recommend checking them out for your next project!

BOM

The following is the materials you will want/need to make your own keezyboost40. Note that anything amount after a + denotes the rough amount of spares you may want to have when ordering the parts. Anything involving the acrylic screen is optional. Even the LCD is optional if you prefer more of a lumberjack-y vibe :)

Part Count Notes
PCB 1 duh
Kailh Choc Hotswap Switches 40+10
LL4148 SMD Diodes 40+10 This board uses SMD diodes exclusively. I found though-hole diodes often easily slipped around in a way such that the board was no longer able to fit inside the case
1.8" ST7735 TFT 1 Generally speaking, you want the one with the Red PCB. Do NOT use the one from Adafruit, as the pin order on that one is different
Raspberry Pi Pico 1 Try to get the original or a very similar clone with castellated pins. From casual testing, other RP2040 boards may not work (for example, the Pico clones from WeAct can't seem to properly drive the LCD with 3.3V logic)
Rubber Feet 6+2 Any should generally work, though I'm using ~2.5mm thick ones, as they give more space for screw heads, as well as the magnetic connector I'm using
3D Printed Case 1 You could use PCB printing services like PCBWay to make one in resin, though I haven't confirmed if they'd be durable enough to survive in transit
M2 Nuts 10+5 6 nuts to hold the PCB to the case, and another 4 to hold the acrylic screen to the PCB. I'm using nylon nuts, though any should work. I recommend you grab this with a hex spacer kit, as you get all the M2 parts you need in a single purchase!
M2 8mm Double Female spacer 4+2 Spacers to keep the acrylic from the pcb
M2 12mm Screw 4+2 Screws for the acrylic screen
M2 6mm Screw 6+3 Screws for the PCB and case. Be careful of the size of the screw head! the flatter the better!
Acrylic Screen 1 You can cut one out using the svgs in the outlines folder

Design

See DESIGN.md for small insights about the design choices that went into this board.

Directory Structure

  • case You can find the files you need in this folder to print out a case for the keyboard
  • drafts Stores any KLE or intermediate information used in making the case
  • firmware Used to store any firmware relating to the keyboard. Merges to the QMK repo planned.
  • outlines Outlines used for the acrylic screen. Use these to cut your own!
  • pcb Kicad project relating to the project

keezyboost40's People

Contributors

chrischrislolo avatar l4u 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  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

keezyboost40's Issues

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.