From baf289112460d73e889a8a442a932bc4198ccc05 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Fri, 7 Jul 2023 15:13:53 +0100 Subject: [PATCH] Update `dactyl_promicro` readme (#21144) --- .../dactyl_promicro/keymaps/default/keymap.c | 19 +++- keyboards/handwired/dactyl_promicro/readme.md | 95 ++++--------------- 2 files changed, 34 insertions(+), 80 deletions(-) diff --git a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c index ed2d1440c83..1dd2f478410 100644 --- a/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c +++ b/keyboards/handwired/dactyl_promicro/keymaps/default/keymap.c @@ -1,5 +1,22 @@ -#include QMK_KEYBOARD_H +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H #define _QWERTY 0 #define _LOWER 1 diff --git a/keyboards/handwired/dactyl_promicro/readme.md b/keyboards/handwired/dactyl_promicro/readme.md index a426319b4e5..63fd3a8df6d 100644 --- a/keyboards/handwired/dactyl_promicro/readme.md +++ b/keyboards/handwired/dactyl_promicro/readme.md @@ -1,93 +1,30 @@ -# Dactyl with Arduino Pro Micro +# Dactyl (Pro Micro) -See https://github.com/adereth/dactyl-keyboard for the original Version. +![Dactyl](https://i.imgur.com/a7uY1eSh.png) -This Dactyl uses the Arduino Pro Mirco (2x). -Wiring is a 6x6 Matrix like the [Dactyl Manuform](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform) +A split body, concave shaped key well, columnar keyboard with a 6 key thumb cluster that takes inspiration from the Kinesis Advantage keyboard range. This rendition of the *Dactyl* requires two micro controllers rather than the [original implementation](/keyboards/handwired/dactyl/) of a micro controller and I/O expander. +* Keyboard Maintainer: [Matt Adereth](https://github.com/adereth) +* Hardware Supported: Pro Micro controller, or clones of +* Hardware Availability: [GitHub](https://github.com/adereth/dactyl-keyboard) -## Build the Firmware: +Make example for this keyboard (after setting up your build environment): - - Build the firmware with `make handwired/dactyl_promicro:`, for example `make handwired/dactyl:default` - - This will result in a hex file called `handwired_dactyl_promicro_.hex`, e.g. - `handwired_dactyl_promicro_default.hex` + make handwired/dactyl_promicro:default -How to setup your build enviroment can be found here: [Installing Build Tools](https://docs.qmk.fm/#/getting_started_build_tools) +Flashing example for this keyboard: -## Required Hardware + make handwired/dactyl_promicro:default:flash -Apart from diodes and key switches for the keyboard matrix in each half, you -will need: - -* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each. -* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable - -Alternatively, you can use any sort of cable and socket that has at least 3 -wires. If you want to use I2C to communicate between halves, you will need a -cable with at least 4 wires and 2x 4.7kΩ pull-up resistors +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). ## Optional Hardware + A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`. -## Wiring +## Bootloader -The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e. -PD0 on the ATmega32u4) between the two Pro Micros. +Enter the bootloader in 2 ways: -Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro -and modify the `matrix.c` accordingly. - -The wiring for serial: - -![serial wiring](https://i.imgur.com/C3D1GAQ.png) - -The wiring for i2c: - -![i2c wiring](https://i.imgur.com/Hbzhc6E.png) - -The pull-up resistors may be placed on either half. It is also possible -to use 4 resistors and have the pull-ups in both halves, but this is -unnecessary in simple use cases. - -You can change your configuration between serial and i2c by modifying your `config.h` file. - -## Notes on Software Configuration - -the keymaps in here are for the 4x5 layout of the keyboard only. - -## Flashing - -To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing). - -Under Windows the most convenient way is installing the [QMK Drivers](https://github.com/qmk/qmk_driver_installer/releases) and use the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases). - - -## Choosing which board to plug the USB cable into (choosing Master) - -### Setting the right or left hand as master - -If you always plug the usb cable into the right board, add an extra flag to your `config.h` -``` - #define MASTER_RIGHT -``` - -OR - -``` - #define MASTER_LEFT -``` - - -Notes on Using Pro Micro 3.3V ------------------------------ - -Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects -the frequency on the 3.3V board. - -Also, if the slave board is producing weird characters in certain columns, -update the following line in `matrix.c` to the following: - -``` -// _delay_us(30); // without this wait read unstable value. -_delay_us(300); // without this wait read unstable value. -``` +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available