keychron_qmk_firmware/keyboards/handwired/bluepill/readme.md

61 lines
3.0 KiB
Markdown
Raw Normal View History

Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
# BluePill handwired
Keyboards using a BluePill controller (generic Chinese STM32F103C8T6) and based on the [KC64 of Xydane](https://github.com/Xydane/qmk_firmware).
Keyboard Maintainer: [FPazos](https://github.com/fpazos), but I hope to leave the project in better hands.
Hardware Supported: Bluepill STM32F103C8T6
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
Hardware Availability: Everywhere
Make example for BluePill70 (after setting up your build environment):
make handwired/bluepill/bluepill70:default
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
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).
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
Read everything before using it.
## Introduction
First of all thanks to [Xydane](https://github.com/Xydane) at [GeekHack](https://geekhack.org/) for his advice and his repository, without it you couldn't be reading this.
That's was an attempt to create a firmware using an STM32F103C8T6, and in a "future", also developing a revision for split keyboards. But...
As I'm mainly a web developer I didn't even get to debug the controller, not to speak about ChibiOS. So I just structured everything, created a working 70% layout and leave the project to someone with more knowledge and patience.
## Resistor fix
If you want to use the Bluepill USB port, it's very likely that you need to solder a 1.8 kΩ between PA12 and 3.3V. That depends on the PC's motherboard but I needed, more info [here](https://wiki.stm32duino.com/index.php?title=Blue_Pill).
## No bootloader
Neither Xydane or I used the bootloader, the code for it is commented and you can use it if you want. I didn't achieve to run it and just used a serial programmer (FTDI, ST-LINK).
## Adding layouts and revisions
If you want to create new layouts just add them to the keymaps folder. If you prefer to develop a more complex revision just copy the bluepill70 folder, rename it and create a new keymap in /keymap.c (I tried to divide the project even more but it didn't worked).
## Pinout
That's the pinout;
A5 A15 A10 A9 A8 B15 B14 B13 B12 B11 B10 B1 B0 A7 A6
B9 ESC| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| F11| F12| PSC| PGU| PGD
B8 GRA| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ' | ¡ | BCKS | DEL
B7 TAB| Q | W | E | R | T | Y | U | I | O | P | ` | + | | HOM
B6 CAP| A | S | D | F | G | H | J | K | L | Ñ | ´ | Ç | ENTER | END
B5 LSI| < | Z | X | C | V | B | N | M | , | . | - | RSHIF | UP | FNT
A4 LCT| WIN| ALT| ESPACE | ALG| FN | RCT| LEF| DOW| RIG
And the wiring:
ISO
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
![Wiring](https://i.imgur.com/ZCaxVzs.jpg)
ANSI
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
![Wiring](https://i.imgur.com/dBUJCdD.jpg)
It also uses:
Add Bluepill (stm32f103) handwired keyboard (#4126) * Main folder Main folder with some changes like the base layout and matrix for uploading in a future to the qmk repositorie * First Commit Firsts non previously commited changes: -Changed to keyboards/handwired -Basic credit to Xydane -70% Layout * Modified file structure for several keyboards As I don't want to create several folders and overcrowd the main folders I made a few modifications to being able of configure several keyboards as revisions of the main keyboard. Added a second variant. Compiling tests went right but I haven't tried it on the controller. * Starting leds * Started dual color leds PWM functions and configs I started to create the PWM functions and configs based on internet examples, it doesn't compile yet * Backtraced a bit to establish and try debug before continuing the pwm Just this, algo some doc as a new pinout image, space cadet modification to try if it works and little more * Deleted unuseful stuff After trying the reestructure to being compatible with several keyboards and that it worked I deleted the other keyboard. Added space cadet shift to ISO. Finally I couldn't debug everything and I'm getting quite frustrated to continue much more than just adding pwm leds * Changed again Iso fix for Space Cadet * Renamed keyboard, future pull I just renamed the keyboard and made some simplifying changes in order to make a pull request sometime soon. I'm too frustrated, tired and knowledge limited to achive using the PWM for leds, I didn't even get to use the debug mode... I intend to end basic led color change using layers (if I can), document everything properly and make a pull request so other users can continue/use this project. * Writed Readme.md file I also corrected a previous compilation problem and ordered a bit the keymaps * Corrected readme * Try to add layer activated light * Revert "Try to add layer activated light" This reverts commit 205af820d845dab08988f329b9f062f558060220. * Progress to fork Coming back to work, upcoming pull * Linked image Corrected readme * Some cleanning Added images to readme, som cleaning, burning after commit. * Almost finished (working) Finally * Finished bluepill firmware Just finished and tried layer dependant led colors. Going for merge * Deleted innecesary stuff and trailing spaces Just as commit title said. * Coding conventions Just modified some files to respect coding conventions * Deleted XXXXXX define Checking some other PR seen this improvement * Changes suggested on PR Firs doing the easy changes * More changes for the PR -I also deleted one unused function for led toggling on matrix.c (Now it uses layer dependent baklight, algo on of on start) -Deleted commented function on keymaps. Right now only needs testing and all pragma replaces. * Almost every pragma change on PR That's almost finished, only waiting for reply due to compiling errors * Revert "Almost every pragma change on PR" This reverts commit 07f23aa862b370cdf0ae37d6f2130c9e9856f491. * Revert last commit I moddified by mistake a file from another keyboard * Solved last pragma Compiles fine. Now I only need to test it, I say you if it works to include it in the main repository.
2018-10-23 00:45:46 +06:00
PC13: Caps Lock led.
Backlight dual color leds, my version is for common anode that's more common, for leds with common anode just replace the palSetPad with palClearPad and viceversa.
PA1: Backlight color A.
PA0: Backlight color B.