THIS HAS BEEN ARCHIVED I am leaving this here because it has a pretty decent readme with the thought process for desighning a handware that I will probably want to come back to. I printed half the dactyl and then realised i do not like how it feels.
inspiration:
The following are links to purchase hardware at microrobotics.org.za. If you are not located in South Africa you should use your own local electronics store.
- rpi pico
- pcf8575
- python library
- datasheet
- check this example firmware which uses a different i2c expander chip
- mcp23017 io expander (out of stock at time of planning)
- rj 45 connectors
- provides up to eight wires
- usb B printer cable
- EC11 rotary encoder
- M3 brass heat set inserts
- cherry mx brown switches (salvaged from another keyboard)
- minidox/corne/reviung inspired design
- 3x6 for main clusters
- 3/4 keys per hand for thumb cluster
- can therefore use 2 3x7 matrices and use the rj45 connector for scl/sda/vbus/gnd/v+
- rotary encoder on one half
- rgb leds (ws2812 rings from banggood)
- need 1 data pin (din), power and ground (check pico datasheet for whether to use vbus or vdd!)
- printed in transparent (translucent) PLA
- print time is estimated 18 hours per side (excluding bottom plate)
- will need to design inserts for the rj45 connectors and for the usb B adaptor as well as the pi pico holder
- loligag sled format
- wally plate gen
- will also need to design holder for led rings (probably on the base plate)
- holder for the pi pico and the io expander
- use this converter to mount an ec11 encoder in an mx socket.
I used this dactyl case generator that uses open cascade and generates much neater models (cleaner stls).
- see
run_config.json
for my config used to generate the case - installation was fairly simple:
- install docker desktop
- download the dactyl case generator repo
- run the
build_docker.bat
script. - in docker desktop open the DM-shell container in terminal and run
bash
- run
generate_configuration.py
- edit
src/run_config.json
(don't forget to save) - run
python3 dactyl_manuform.py
- open
things/DM_left.scad
and preview it in openSCAD - repeat steps 6-8 until happy with the case.
- compile the case files in openSCAD and export the stls
my tweaks were:
- 3x6 design with 3 keys on each thumb cluster
- remove oled clips (use
null
) - make screw posts larger to fit my inserts
- import into tinkercad to make holes for the connectors and attach mounts for the controller boards
- cleanup mesh in blender (some of the screw posts were sticking through the outside of the case).
I am currently working on a custom dactylesqu case inspired by the skeletyl. I want to try to close all the gaps without making it look spikey. Doing it from scratch will also make the connectors a bit more polished than my attempts at hacking together stls in tinkercad. I am using onShape for the time being and it is my first time actually using a real cad package so this might take a while.
IO expander:
- some example firmware using an IO expander
- more example firmware with pcf8575 (commented out)
- adafruit pcf8575 example
- adafruit circuit python module for the pcf8575
Pi Pico
- mostly just going to try KMK there are lots of examples
- do columns/rows and diodes first
- attach connectors and micros
- measure out the length of wire to connect rows and columns
- connect rows/cols to the micros and connectors
- hotglue any switches/components that are not fitting tightly