I've been thinking about a significant new version of the lalboard for a while now. My goals for the new version include:
- Use actual fabbed PCBs
- The DIY vinyl-cut "PCBs" were great during the early prototyping phases, but are not suitable for broader use. It's a very fiddly, time consuming process. Using actual PCBs will make the keyboard significantly easier to make, hopefully removing that as a barrier to entry.
- Easier to print
- Less fiddly custom printing settings needed. It should be mostly printable with stock .2mm layer height print settings.
- Don't rely on friction for the screw mounts - this requires lots of tweaking of the exact size and printing parameters to get a reasonable amount of friction between the screw and the base.
- More modular
- Allow the pcb to be removed from the cluster without having to desolder every LED/PT, for ease of maintenance, upgrades, repairs, etc.
- The LEDs/PTs will be soldered to the PCB first, and then the PCB with all components is inserted onto the bottom of the cluster, and held in place by a screw.
- Allow the pcb to be removed from the cluster without having to desolder every LED/PT, for ease of maintenance, upgrades, repairs, etc.
- Add a supported "upgrade path" to a static base.
- After using my original laboard with the adjustable screw mounts for a while, and getting everything exactly in the positions/angles that I want, I upgraded to a static, non-adjustable mount. However, The existing clusters/pcbs/etc. couldn't really be used with the new static mounts, so I basically had to build a new keyboard from scratch, with all new clusters, etc. So the new version will be designed such that all of the clusters/etc. can be used with either the adjustable screw mounts, or a static mount.
- Parameterized static mount
- It should be possible to take measurements of an existing screw-mount setup, enter that data and generate a matching static mount.
- Also, I don't think I ever published the details of the static mount I made for the first version.
- One option I'm considering is putting fiducial markers on the clusters, and using photogrammetry to determine the relative positions of each cluster. I know meshroom supports CCTag fiducial markers, so it may be possible to, e.g. have a set of special central down keys that can be swapped out in each cluster that have a CCTag printed(??)/applied on them.
- Beefier keys
- Some of the keys are a bit prone to breaking over time. The worst is the tall, thin mode key on the thumb. But I've broken some of the other thumb keys and even the short normal cluster keys.
- The cutout for the magnet on the key stem is a particular weak point that is prone to failure, because there's not much material left at the widest point of the cutout.
- It should be possible to make the keys wider, and maybe a tiny bit thicker, to help reduce failures.
- Use the same form factor of LED as for the photodiode.
- The LEDs and photodiodes that are used in the design come in 2 slightly different packages (PT908/PT928 and IR908/IR928), with different dimensions. I think there were some supply constraints with which types of which part I could get when I was originally working on the design, but digikey seems to stock both types of both components now.
- Switching the LED from the thicker package to the thinner package frees up some space allowing the key stem to be wider (see "Beefier keys" point, above).
- It also simplifies the design a bit, since you only need 1 type of "hole" for the optical components, and things are more symmetrical.
- Use something better/cheaper than the teensy 2.*
- I love the teensy 2, but it is... a bit long in the tooth. And possibly not long for this world. And the $20+ price point is a bit high by today's standards.
- I mostly chose it because I had already used it years ago to replace the MCU in my datahand, and knew it would be significantly easier to modify that firmware to work with the lalboard, rather than writing a new firmware from scratch, or adapting another unfamiliar open source firmware to the lalboard.
- Now that ESP32 has native USB support with the ESP32-S2 variants, I'm currently leaning towards using an ESP32-S2 dev board (e.g. the saola board)
- Firmware that is easier to hack on
- The existing lalboard firmware is written in hand-coded AVR assembly. That was a ton of fun to write, but is a huge barrier to entry for anyone trying to modify the firmware.
- I'm currently thinking I'll just write a new firmware from scratch in C for the ESP32-S2, but I'm open to suggestions if there are other open source firmwares out there that may be a good fit. (Update: the current plan now is to modify QMK for use with the esp32-s2)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
looks super promising and can't wait to try the v2 design when it's ready.
Are you sure? yes | no