Skip to content

Add handwired/positron/12pad keyboard - #26362

Draft
juarendra wants to merge 4 commits into
qmk:masterfrom
juarendra:add-positron-12pad
Draft

Add handwired/positron/12pad keyboard#26362
juarendra wants to merge 4 commits into
qmk:masterfrom
juarendra:add-positron-12pad

Conversation

@juarendra

Copy link
Copy Markdown

Description

Adds the Positron Electronic 12pad: an open-source 12-key hotswap macropad with a rotary encoder, per-key RGB (WS2812), sold in Indonesia.

Types of Changes

  • Core
  • Bugfix
  • New feature (keyboard addition)
  • Enhancement/optimization
  • Documentation

Checklist

  • My code follows the code style of this project: C
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Comment thread keyboards/positron/12pad/chconf.h Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this file.

Comment thread keyboards/positron/12pad/rules.mk Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this file.

Comment thread keyboards/positron/12pad/config.h Outdated
Comment on lines +17 to +19

#define WEAR_LEVELING_LOGICAL_SIZE 4096
#define WEAR_LEVELING_BACKING_SIZE 8192

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define WEAR_LEVELING_LOGICAL_SIZE 4096
#define WEAR_LEVELING_BACKING_SIZE 8192

Comment thread keyboards/positron/12pad/config.h Outdated
Comment on lines +1 to +15
/* Copyright 2024 Juarendra Ramadhani <jrjuarendra@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*/

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/* Copyright 2024 Juarendra Ramadhani <jrjuarendra@gmail.com>
*
* 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 <http://www.gnu.org/licenses/>.
*/
// Copyright 2026 juarendra
// SPDX-License-Identifier: GPL-2.0-or-later

Comment thread keyboards/positron/12pad/readme.md Outdated
Comment on lines +13 to +16
VIA-enabled firmware:

qmk compile -kb positron/12pad -km via

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
VIA-enabled firmware:
qmk compile -kb positron/12pad -km via

Comment thread keyboards/positron/12pad/readme.md Outdated
* Hardware Supported: WeAct Blackpill STM32F401 (USB Type-C)
* Hardware Availability: [Positron Electronic](https://github.com/juarendra/12pad-QMK-VIA)

Making the firmware (after copying this folder to `qmk_firmware/keyboards/positron/12pad`):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Making the firmware (after copying this folder to `qmk_firmware/keyboards/positron/12pad`):
Make example for this keyboard (after setting up your build environment):

Comment thread keyboards/positron/12pad/readme.md Outdated
Comment on lines +29 to +39
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases), `qmk flash`, or `dfu-util` directly:

dfu-util -a 0 -d 0483:df11 -s 0x08000000:leave -D positron_12pad_via.bin

## VIA

The device is auto-detected by [VIA](https://usevia.app/) once the definition is merged upstream.
For manual sideload use
[`12pad_via_definitions.json`](../../../12pad_via_definitions.json) via the Design tab.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Flash with [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases), `qmk flash`, or `dfu-util` directly:
dfu-util -a 0 -d 0483:df11 -s 0x08000000:leave -D positron_12pad_via.bin
## VIA
The device is auto-detected by [VIA](https://usevia.app/) once the definition is merged upstream.
For manual sideload use
[`12pad_via_definitions.json`](../../../12pad_via_definitions.json) via the Design tab.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

Comment thread keyboards/handwired/positron/12pad/keyboard.json
Comment thread keyboards/handwired/positron/12pad/keyboard.json
@zvecr zvecr added the awaiting_pr Relies on another PR to be merged first label Jul 24, 2026
@zvecr
zvecr marked this pull request as draft July 24, 2026 17:33
@zvecr

zvecr commented Jul 24, 2026

Copy link
Copy Markdown
Member

Your hardware repo does not contain files for a PCB. Is this handwired?

@juarendra

Copy link
Copy Markdown
Author

Yes, this is handwired — the 12 hotswap sockets and the encoder are wired point-to-point to a WeAct Blackpill F401 dev board. Wiring diagram: https://github.com/juarendra/12pad-QMK-VIA/blob/main/DOC/WIRING%20MACROPAD%2012PAD%20BY%20POSITRON%20ELEKTRONIK.drawio.pdf

I've applied all the review suggestions in ecfdf72:

  • removed chconf.h and rules.mk
  • moved MIDI to features.midi and wear leveling to eeprom.wear_leveling.backing_size in keyboard.json
  • SPDX license header in config.h
  • simplified readme.md

Happy to move the keyboard under keyboards/handwired/ if that's the preferred location — just let me know.

@juarendra
juarendra requested a review from zvecr July 24, 2026 18:40
@zvecr

zvecr commented Jul 24, 2026

Copy link
Copy Markdown
Member

Happy to move the keyboard under keyboards/handwired/ if that's the preferred location — just let me know.

Yes, this must be moved.

juarendra added a commit to juarendra/12pad-QMK-VIA that referenced this pull request Jul 24, 2026
QMK review requires handwired boards under keyboards/handwired/
(qmk/qmk_firmware#26362). Update CI and docs paths accordingly.

BREAKING CHANGE: build target is now handwired/positron/12pad;
binaries are named handwired_positron_12pad_<keymap>.bin.
@juarendra
juarendra force-pushed the add-positron-12pad branch from 754c497 to 1e400b5 Compare July 24, 2026 19:04
@juarendra juarendra changed the title Add positron/12pad keyboard Add handwired/positron/12pad keyboard Jul 24, 2026
@juarendra

Copy link
Copy Markdown
Author

Done — moved to keyboards/handwired/positron/12pad in 1e400b5, readme build targets updated to match.

@juarendra
juarendra marked this pull request as ready for review July 25, 2026 00:21
@zvecr
zvecr marked this pull request as draft July 25, 2026 12:17
@juarendra
juarendra marked this pull request as ready for review July 26, 2026 15:00
@zvecr
zvecr marked this pull request as draft July 26, 2026 15:49
@zvecr

zvecr commented Jul 26, 2026

Copy link
Copy Markdown
Member

Please stop converting this from draft. We will require the PR to pid.codes to be merged first, and it being draft stops this PR from being accidentally processed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting_pr Relies on another PR to be merged first keyboard keymap

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants