diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson index 13835721d409..2c6784d3900f 100644 --- a/data/mappings/defaults.hjson +++ b/data/mappings/defaults.hjson @@ -64,6 +64,11 @@ "processor": "STM32F411", "bootloader": "stm32-dfu", "board": "BONSAI_C4" + }, + "helios": { + "processor": "RP2040", + "bootloader": "rp2040", + "board": "QMK_PM2040" } } } diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index f1a1bb87c083..a7e6a1125802 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -34,7 +34,7 @@ }, "development_board": { "type": "string", - "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4"] + "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios"] }, "pin_compatible": { "type": "string", diff --git a/docs/feature_converters.md b/docs/feature_converters.md index 0fa677f87326..d5511c3ec1da 100644 --- a/docs/feature_converters.md +++ b/docs/feature_converters.md @@ -18,8 +18,13 @@ Currently the following converters are available: | `promicro` | `stemcell` | | `promicro` | `bonsai_c4` | | `promicro` | `elite_pi` | +| `promicro` | `rp2040_ce` | +| `promicro` | `elite_pi` | +| `promicro` | `helios` | +| `elite_c` | `rp2040_ce` | | `elite_c` | `stemcell` | | `elite_c` | `elite_pi` | +| `elite_c` | `helios` | See below for more in depth information on each converter. @@ -81,6 +86,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co | [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | | [customMK Bonsai C4](https://shop.custommk.com/products/bonsai-c4-microcontroller-board) | `bonsai_c4` | | [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | +| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | Converter summary: @@ -93,7 +99,9 @@ Converter summary: | `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` | | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | | `bonsai_c4` | `-e CONVERT_TO=bonsai_c4` | `CONVERT_TO=bonsai_c4` | `#ifdef CONVERT_TO_BONSAI_C4` | +| `rp2040_ce` | `-e CONVERT_TO=rp2040_ce` | `CONVERT_TO=rp2040_ce` | `#ifdef CONVERT_TO_RP2040_CE` | | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | +| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | ### Proton C :id=proton_c @@ -165,6 +173,7 @@ If a board currently supported in QMK uses an [Elite-C](https://keeb.io/products |----------------------------------------------------------------------------------|-------------------| | [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` | | [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) | `elite_pi` | +| [0xCB Helios](https://keeb.supply/products/0xcb-helios) | `helios` | Converter summary: @@ -172,11 +181,25 @@ Converter summary: |-------------------|---------------------------------|------------------------------|-------------------------------------| | `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` | | `elite_pi` | `-e CONVERT_TO=elite_pi` | `CONVERT_TO=elite_pi` | `#ifdef CONVERT_TO_ELITE_PI` | +| `helios` | `-e CONVERT_TO=helios` | `CONVERT_TO=helios` | `#ifdef CONVERT_TO_HELIOS` | ### STeMCell :id=stemcell_elite Currently identical to [STeMCell](#stemcell) with support for the additional bottom row of pins. +### RP2040 Community Edition :id=rp2040_ce + +many rp2040 based boards like the splinky, sea-picro, helios, elite-pi, liatris and frood follow [this](https://user-images.githubusercontent.com/103112489/211809556-065e49f5-225e-4497-b922-987aec14e5d0.png) common pinout standard. + +It originated from the BastardKB Discord Server +(please add all boards following the standard here) ### Elite-Pi :id=elite_pi Currently identical to [Adafruit KB2040](#kb2040), with support for the additional bottom row of pins. + +### Helios :id=helios + +Follows the [RP2040 Community Edition](#rp2040_ce) standard, with from D+ and D- moved to the board center and GP10 and GP11 at the top (at the unused spots). +With support for the additional bottom row of pins, 2 extra top pins, a 5V level shifted extra pin (to drive RGB LEDs for example) and a user led. + +Please consult the [pinout](https://github.com/0xCB-dev/0xCB-Helios/blob/main/rev1.0/helios.webp) for further reference. diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index caf18002c019..f0613bb42b61 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -193,6 +193,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers: * [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) * [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) * [Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) +* [0xCB Helios](https://keeb.supply/products/0xcb-helios) ([Open Source](https://github.com/0xCB-dev/0xCB-Helios), DIY/PCBA/Shop) There are other, non-Pro Micro compatible boards out there. The most popular being: * [WeAct Blackpill F411](https://www.aliexpress.com/item/1005001456186625.html) (~$6 USD) diff --git a/platforms/chibios/converters/elite_c_to_elite_pi/pre_converter.mk b/platforms/chibios/converters/elite_c_to_elite_pi/pre_converter.mk new file mode 100644 index 000000000000..b38823fa5fea --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_elite_pi/pre_converter.mk @@ -0,0 +1,2 @@ +CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce +ACTIVE_CONVERTER:=rp2040_ce diff --git a/platforms/chibios/converters/elite_c_to_helios/pre_converter.mk b/platforms/chibios/converters/elite_c_to_helios/pre_converter.mk new file mode 100644 index 000000000000..b38823fa5fea --- /dev/null +++ b/platforms/chibios/converters/elite_c_to_helios/pre_converter.mk @@ -0,0 +1,2 @@ +CONVERTER:=platforms/chibios/converters/elite_c_to_rp2040_ce +ACTIVE_CONVERTER:=rp2040_ce diff --git a/platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h b/platforms/chibios/converters/elite_c_to_rp2040_ce/_pin_defs.h similarity index 96% rename from platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h rename to platforms/chibios/converters/elite_c_to_rp2040_ce/_pin_defs.h index 98dd37e279b3..b5fd88fc3673 100644 --- a/platforms/chibios/converters/elite_c_to_elite_pi/_pin_defs.h +++ b/platforms/chibios/converters/elite_c_to_rp2040_ce/_pin_defs.h @@ -1,4 +1,4 @@ -// Copyright 2022 QMK +// Copyright 2023 QMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/platforms/chibios/converters/elite_c_to_elite_pi/converter.mk b/platforms/chibios/converters/elite_c_to_rp2040_ce/converter.mk similarity index 71% rename from platforms/chibios/converters/elite_c_to_elite_pi/converter.mk rename to platforms/chibios/converters/elite_c_to_rp2040_ce/converter.mk index 590a0041892c..bfca20cd9932 100644 --- a/platforms/chibios/converters/elite_c_to_elite_pi/converter.mk +++ b/platforms/chibios/converters/elite_c_to_rp2040_ce/converter.mk @@ -1,4 +1,4 @@ -# Elite-Pi MCU settings for converting AVR projects +# rp2040_ce MCU settings for converting AVR projects MCU := RP2040 BOARD := QMK_PM2040 BOOTLOADER := rp2040 @@ -7,3 +7,4 @@ BOOTLOADER := rp2040 SERIAL_DRIVER ?= vendor WS2812_DRIVER ?= vendor BACKLIGHT_DRIVER ?= software +OPT_DEFS += -DUSB_VBUS_PIN=19U diff --git a/platforms/chibios/converters/promicro_to_elite_pi/pre_converter.mk b/platforms/chibios/converters/promicro_to_elite_pi/pre_converter.mk new file mode 100644 index 000000000000..7b3130a5e98c --- /dev/null +++ b/platforms/chibios/converters/promicro_to_elite_pi/pre_converter.mk @@ -0,0 +1,2 @@ +CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce +ACTIVE_CONVERTER:=rp2040_ce diff --git a/platforms/chibios/converters/promicro_to_helios/pre_converter.mk b/platforms/chibios/converters/promicro_to_helios/pre_converter.mk new file mode 100644 index 000000000000..7b3130a5e98c --- /dev/null +++ b/platforms/chibios/converters/promicro_to_helios/pre_converter.mk @@ -0,0 +1,2 @@ +CONVERTER:=platforms/chibios/converters/promicro_to_rp2040_ce +ACTIVE_CONVERTER:=rp2040_ce diff --git a/platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h b/platforms/chibios/converters/promicro_to_rp2040_ce/_pin_defs.h similarity index 95% rename from platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h rename to platforms/chibios/converters/promicro_to_rp2040_ce/_pin_defs.h index 1372bef79e8d..0109f884d4b0 100644 --- a/platforms/chibios/converters/promicro_to_elite_pi/_pin_defs.h +++ b/platforms/chibios/converters/promicro_to_rp2040_ce/_pin_defs.h @@ -1,4 +1,4 @@ -// Copyright 2022 QMK +// Copyright 2023 QMK // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/platforms/chibios/converters/promicro_to_elite_pi/converter.mk b/platforms/chibios/converters/promicro_to_rp2040_ce/converter.mk similarity index 71% rename from platforms/chibios/converters/promicro_to_elite_pi/converter.mk rename to platforms/chibios/converters/promicro_to_rp2040_ce/converter.mk index 590a0041892c..bfca20cd9932 100644 --- a/platforms/chibios/converters/promicro_to_elite_pi/converter.mk +++ b/platforms/chibios/converters/promicro_to_rp2040_ce/converter.mk @@ -1,4 +1,4 @@ -# Elite-Pi MCU settings for converting AVR projects +# rp2040_ce MCU settings for converting AVR projects MCU := RP2040 BOARD := QMK_PM2040 BOOTLOADER := rp2040 @@ -7,3 +7,4 @@ BOOTLOADER := rp2040 SERIAL_DRIVER ?= vendor WS2812_DRIVER ?= vendor BACKLIGHT_DRIVER ?= software +OPT_DEFS += -DUSB_VBUS_PIN=19U