MCPcopy Index your code
hub / github.com/Maka8295/Lucca-58HE

github.com/Maka8295/Lucca-58HE @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,338 symbols 15,943 edges 1,687 files 334 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Lucca 58HE

The Lucca 58HE is a 58 key hall effect split keyboard!

This keyboard is still very much a work in progress!! Kicad files for PCBs and switch plate, 3d files for case all available. Currently working under KMK!

IMG_6700

Features

  • Fully addressable per-key RGB
  • 10-point RGB Underglow on each half
  • Full USB-C support
  • Hardware support for both SPI and UART communication between halves
  • OLED screens
  • Rapid Trigger
  • 3D Printed Case
  • Compatible with standard HE Switches, I reccomend Gateron Jades

IMG_6701

Bill of Materials

  • Multiplexer - ADG732BSUZ
  • MCU - Waveshare RP2040 Zero
  • OLED - SSD1306 128x32
  • HE Sensor - DRV5053VAQDBZR
  • LPF Resistor 1.5k Ohm 0805 package
  • I2C / SPI pull-up resistor 4.7k Ohm 0805 package
  • 0 Ohm Resistors for UART mode 0805 package
  • Filter caps 100nF 0805 package
  • SK6803 MINI-E (you can use SK6812 instead but dont use both under glow and per key as current draw is too high)
  • M2.5, 3mm brass stand offs
  • M2.5, 12mm screws with flat tops
  • M2.5 x 6 x 0.4mm washers
  • M2.5 nuts 1.8mm thick
  • My 3d Printed case!

How To Install

  • ...

To do

  • OLED code implementation
  • implement auto calibration
  • QMK port
  • New HE sensor?

NEW STATUS UPDATE:

Am currently typing this update from the Lucca58HE! So its fully up and running now! There is definitely a slight latency with UART on the slave half of the keyboard. The PCB supports SPI which could potentialy have latency reductions. It might also be possible to get UART latency down too, especially once im using QMK.

OLD STATUS UPDATES:

Left half of the keyboard is now perfectly functioning under KMK! changing the actuation from from 0 to 3.5mm is possible, but some weirdness means theres a deadzone towards the end of the keystroke, it can be fixed by increasing the distance between the switch plate and PCB so not a big deal. Could probably be avoided with different HE sensors?

Working with QMK has proved a lot more difficult than i thought, so im going to get it working with KMK and circuitpython first, and then worry about QMK support after!

Hall effect sensors are currently resulting in a resolution of 0.00706mm, so things are looking very promising. My choice of HE sensor results in a voltage range of ~0 to ~0.4v, so using a different HE sensor with a greater sensitivity (not to be confused with resolution) could result in even greater resolution of distance traveled, as the 12bit ADC on the RP2040 references the internal 3.3v. Am going on family holiday soon so progress will slow down a lot, may not be able to finish the project until the new year...

IMG_6613

IMG_6614

Core symbols most depended-on inside this repo

sleep
called by 1256
kmk_firmware-main/kmk/extensions/display/__init__.py
get
called by 204
kmk_firmware-main/kmk/keys.py
call
called by 203
kmk_firmware-main/kmk/scheduler.py
show
called by 188
kmk_firmware-main/kmk/extensions/rgb.py
send
called by 105
kmk_firmware-main/kmk/hid.py
make_key
called by 85
kmk_firmware-main/kmk/keys.py
go
called by 84
kmk_firmware-main/kmk/kmk_keyboard.py
write
called by 76
adafruit-circuitpython-bundle-9.x-mpy-20240723/examples/pioasm/pioasm_txuart.py

Shape

Method 1,111
Function 874
Class 299
Route 54

Languages

Python94%
TypeScript6%

Modules by API surface

adafruit-circuitpython-bundle-9.x-mpy-20240723/examples/bno055/bno055_webgl_demo/static/js/jquery_2.1.4.min.js64 symbols
kmk_firmware-main/kmk/extensions/rgb.py56 symbols
kmk_firmware-main/kmk/keys.py49 symbols
kmk_firmware-main/tests/test_kmk_keys.py47 symbols
adafruit-circuitpython-bundle-9.x-mpy-20240723/examples/bno055/bno055_webgl_demo/static/js/three.min.js43 symbols
kmk_firmware-main/kmk/modules/pimoroni_trackball.py39 symbols
kmk_firmware-main/kmk/extensions/led.py36 symbols
kmk_firmware-main/kmk/modules/macros.py35 symbols
kmk_firmware-main/kmk/kmk_keyboard.py34 symbols
kmk_firmware-main/tests/test_macros.py33 symbols
kmk_firmware-main/kmk/hid.py33 symbols
kmk_firmware-main/kmk/modules/encoder.py32 symbols

For agents

$ claude mcp add Lucca-58HE \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact