diff --git a/keyboards/handwired/onekey/weact_f446re/board.h b/keyboards/handwired/onekey/weact_f446re/board.h new file mode 100644 index 0000000000..98ff13cb3d --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 8000000U diff --git a/keyboards/handwired/onekey/weact_f446re/config.h b/keyboards/handwired/onekey/weact_f446re/config.h new file mode 100644 index 0000000000..4401623e85 --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/config.h @@ -0,0 +1,8 @@ +// Copyright 2021 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_PIN A0 + +#define SOLENOID_PINS { B12, B13, B14, B15 } +#define SOLENOID_PINS_ACTIVE_STATE { high, high, low } diff --git a/keyboards/handwired/onekey/weact_f446re/halconf.h b/keyboards/handwired/onekey/weact_f446re/halconf.h new file mode 100644 index 0000000000..e3fd1cf6e1 --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_SPI TRUE +#define HAL_USE_I2C TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/handwired/onekey/weact_f446re/keyboard.json b/keyboards/handwired/onekey/weact_f446re/keyboard.json new file mode 100644 index 0000000000..26de66e198 --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/keyboard.json @@ -0,0 +1,19 @@ +{ + "keyboard_name": "Onekey Nucleo F446RE", + "processor": "STM32F446", + "bootloader": "stm32-dfu", + "matrix_pins": { + "cols": ["A2"], + "rows": ["A1"] + }, + "backlight": { + "pin": "B8" + }, + "ws2812": { + "pin": "A0" + }, + "apa102": { + "data_pin": "A0", + "clock_pin": "B13" + } +} diff --git a/keyboards/handwired/onekey/weact_f446re/mcuconf.h b/keyboards/handwired/onekey/weact_f446re/mcuconf.h new file mode 100644 index 0000000000..701d61d31d --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/mcuconf.h @@ -0,0 +1,23 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 4 + +#undef STM32_PLLSAIM_VALUE +#define STM32_PLLSAIM_VALUE 4 + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE diff --git a/keyboards/handwired/onekey/weact_f446re/readme.md b/keyboards/handwired/onekey/weact_f446re/readme.md new file mode 100644 index 0000000000..c7d13cb973 --- /dev/null +++ b/keyboards/handwired/onekey/weact_f446re/readme.md @@ -0,0 +1,5 @@ +# STM32 Nucleo-L432 onekey + +To trigger keypress, short together pins *A1* and *A2*. + +You'll also need to connect `VIN`, `GND`, USB `D+` to `PA12`/`D2`, and USB `D-` to `PA11`/`D10`.