From 923bfa12a3859e65a5f62c8e7b726692fd9a6e14 Mon Sep 17 00:00:00 2001 From: user Date: Sat, 4 May 2024 16:27:23 +0200 Subject: Custom keyboard v2 - Thumb cluster prototype iterations, done --- .../Thumb cluster CAD based on Dygma Defy.png | Bin 0 -> 150353 bytes Custom keyboard V2/Thumb cluster itterations.jpg | Bin 0 -> 1045160 bytes Custom keyboard V2/index.md | 18 +++++++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 Custom keyboard V2/Thumb cluster CAD based on Dygma Defy.png create mode 100644 Custom keyboard V2/Thumb cluster itterations.jpg diff --git a/Custom keyboard V2/Thumb cluster CAD based on Dygma Defy.png b/Custom keyboard V2/Thumb cluster CAD based on Dygma Defy.png new file mode 100644 index 0000000..913d95b Binary files /dev/null and b/Custom keyboard V2/Thumb cluster CAD based on Dygma Defy.png differ diff --git a/Custom keyboard V2/Thumb cluster itterations.jpg b/Custom keyboard V2/Thumb cluster itterations.jpg new file mode 100644 index 0000000..916e463 Binary files /dev/null and b/Custom keyboard V2/Thumb cluster itterations.jpg differ diff --git a/Custom keyboard V2/index.md b/Custom keyboard V2/index.md index 2fb0336..d01e060 100755 --- a/Custom keyboard V2/index.md +++ b/Custom keyboard V2/index.md @@ -189,7 +189,7 @@ I should have cut more corners, to test the core concept, before spending time, Using this tutorial: [makerhacks.com ─ Use the MCP23017 GPIO Port Expander to Add 16 IO Pins](https://www.makerhacks.com/mcp23017/) -i was able to make the [MicroPython](https://en.wikipedia.org/wiki/MicroPython) example work, but issues arise. +i was able to make the [MicroPython](https://en.wikipedia.org/wiki/MicroPython) example work, but issues arise. It keeps throwing the exception: `[Errno 5] EIO`, furthermore `i2c.scan()` is not consistent with what it returns. All this is despite forgoing the breadboard, in favor of directly soldered connections :/ @@ -228,11 +228,11 @@ while 1: > [github.com ─ dhylands / rshell](https://github.com/dhylands/rshell) Can be used to make it easier, to work > with [MicroPython](https://en.wikipedia.org/wiki/MicroPython) -The issues persisted, and i decided to move from MicroPython to C++ using the +The issues persisted, and i decided to move from MicroPython to C++ using the [Adafruit library](https://github.com/adafruit/Adafruit─MCP23017─Arduino─Library) And since the [github.com ─ earlephilhower/arduino─pico](https://github.com/earlephilhower/arduino─pico) functions [`bool SetSDA` and `bool SetSCL`](https://arduino─pico.readthedocs.io/en/latest/wire.html) -didn't work to change I²C 0 pins, +didn't work to change I²C 0 pins, i change to the default pins `GP4` for `SDA` and `GP4` for `SCL` denoted by the Raspberry PI Pico pinout. ![Raspberry Pi Pico pinout](https://www.raspberrypi.com/documentation/microcontrollers/images/pico-pinout.svg) @@ -241,7 +241,7 @@ Still the issues persisted, still working sporadically for a bit, and then stopp I then tried using pull─up resistors with a value of `4.7KΩ`. Still didn't work consistently. I then searched around, and came across this forum post: [forum.arduino.cc ─ Problems with MCP23017 ─ Solved](https://forum.arduino.cc/t/problems─with─mcp23017─solved/21997) -And i followed the wiring described therein. Namely, tie `A0`, `A1` and `A2` to ground, +And i followed the wiring described therein. Namely, tie `A0`, `A1` and `A2` to ground, `Reset` to `3.3v` using a `1KΩ` pull-up resistor, and finally tie `SDA` and `SCL` to 3.3v using a `1KΩ` pull-up resistor (see the following ascii art diagram) @@ -314,4 +314,12 @@ void loop() { mcp.digitalWrite(LED_PIN, LOW); delay(250); } -``` \ No newline at end of file +``` + +## Thumb cluster prototype iterations + +I've iterated on the thumb cluster design (based on the amazing work by the [Dygma Defy](https://dygma.com/pages/defy) team) +and I've reached a design that works for me. + +![Thumb cluster CAD based on Dygma Defy](Thumb cluster CAD based on Dygma Defy.png) +![Thumb cluster itterations](Thumb cluster itterations.jpg) \ No newline at end of file -- cgit 1.4.1