geekhack

geekhack Projects => Making Stuff Together! => Topic started by: fpazos on Tue, 23 October 2018, 14:22:34

Title: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Tue, 23 October 2018, 14:22:34
Hi guys!!

I have been working the last months on a QMK version that uses a chinese/generic "bluepill" STM32F103C8T6. Thanks to Xydane (here in GH) who oriented me very well and showed me it's repository, I was able to keep working on it.

That's quite a powerful and cheap microcontroller for a keyboard (around 2$), I made a 70% layout and if someone is interested in creating more layouts, or adding functionanilities is welcome.
Maybe when the QMK pronton-c is finished has a similar firmware (probably better hahahaha) due to it is an ARM microcontroller too.

I made it to be easy to add more layouts and revisions. It has dual color backlight based on layers and capslock light.

I haven't used it on a real keyboard and, pluged into my laptop, somewhere in the top row (printscreen or start) make it hang the computer, but really I'm not very versed on C programming and microcontrollers, it has been everything about error/try.

I hope you enjoy it and improve it/use it.

https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/bluepill (https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/bluepill)

Original post from Xydane:
https://geekhack.org/index.php?topic=93537.0;topicseen (https://geekhack.org/index.php?topic=93537.0;topicseen)
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: DiodeHead on Thu, 25 October 2018, 01:15:24
Thanks, I also have a blue pill in my current project, so this would be a perfect start for the software side of things :)
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: upas on Thu, 08 November 2018, 08:38:20
So I've been trying to get a blue pill working on my own build - I'm running into some issues and thought maybe you could help.

I have successfuly flashed the stm32dunio bootloader and had it recognized by my computer.
But when I flash the compiled blue pill .bin file from your handwire, it isn't recognized by the computer.

Should I be flashing the hex file? Is that the issue?

And if not, do you have any suggestions?
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Thu, 08 November 2018, 09:11:16
Hi upas!

I'm sorry to say I'm not very helpful about this matter. I used a ftdi serial programmer. If you compare the code with the one at https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h (https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h) you will realize that this file don't exists on my version. You should try to add it but unfortunately as I weren't able to use it I didn't keep trying, if you achieve something pull it to the main repository. Thanks!
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: angelbirth on Tue, 13 November 2018, 10:34:05
So I've been trying to get a blue pill working on my own build - I'm running into some issues and thought maybe you could help.

I have successfuly flashed the stm32dunio bootloader and had it recognized by my computer.
But when I flash the compiled blue pill .bin file from your handwire, it isn't recognized by the computer.

Should I be flashing the hex file? Is that the issue?

And if not, do you have any suggestions?
ah, you should try resetting the board (or unplug-replug) after flashing

Sent from my AUM-AL20 using Tapatalk

Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: upas on Thu, 06 December 2018, 21:02:00
Hi upas!

I'm sorry to say I'm not very helpful about this matter. I used a ftdi serial programmer. If you compare the code with the one at https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h (https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h) you will realize that this file don't exists on my version. You should try to add it but unfortunately as I weren't able to use it I didn't keep trying, if you achieve something pull it to the main repository. Thanks!

Just wanted to give an update on this matter -  I had the wrong ARM toolchain installed. The default Ubuntu one is wrong! So I downloaded the proper one off of the ARM website itself, and everything was fine.
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Fri, 07 December 2018, 02:01:35
Just wanted to give an update on this matter -  I had the wrong ARM toolchain installed. The default Ubuntu one is wrong! So I downloaded the proper one off of the ARM website itself, and everything was fine.
Good to know it. Maybe I'll give it a second opportunity as it would be interesting and ARM will be the future of microcontrollers.
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: angelbirth on Mon, 10 December 2018, 00:49:23
Hi upas!

I'm sorry to say I'm not very helpful about this matter. I used a ftdi serial programmer. If you compare the code with the one at https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h (https://github.com/fpazos/qmk_firmware/blob/master/keyboards/chibios_test/stm32_f103_onekey/bootloader_defs.h) you will realize that this file don't exists on my version. You should try to add it but unfortunately as I weren't able to use it I didn't keep trying, if you achieve something pull it to the main repository. Thanks!

Just wanted to give an update on this matter -  I had the wrong ARM toolchain installed. The default Ubuntu one is wrong! So I downloaded the proper one off of the ARM website itself, and everything was fine.

can the toolchain from ppa:team-gcc-arm-embedded (https://launchpad.net/~team-gcc-arm-embedded) be used?
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: xmagusx on Fri, 04 January 2019, 06:53:01
As a heads up, many of these bluepill boards have an incorrect resistor on R10, which can affect USB connectivity.

https://wiki.stm32duino.com/index.php?title=Blue_Pill#Known_issues

Replacing it with a 0603 size 1.5k resistor seems to resolve the issue.

http://amitesh-singh.github.io/stm32/2017/10/09/correcting-usbpullup-resistor.html
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Fri, 04 January 2019, 08:18:22
As a heads up, many of these bluepill boards have an incorrect resistor on R10, which can affect USB connectivity.
That's completely true. You can also solve it soldering a 1.8 kΩ between PA12 and 3.3V as I stated in the readme.
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: leon_titan on Thu, 26 December 2019, 23:33:11
I want to use a STM32 microcontroller for my keyboard, and I wonder that is the chibios is necessary or i can use the qmk firmware  directly?
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Fri, 27 December 2019, 02:16:14
Chibios is obligatory as it regulates almost everything. It regulates the execution cicles for arm chipsets

Enviado desde mi Redmi Note 7 mediante Tapatalk

Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: leon_titan on Tue, 07 January 2020, 22:36:27
I want to build my keyboard with another stm32 microcontroller which is L4 or L4+ series. so where should I start with to change the code?

Do you have qq or wechat? so we can communicate more efficiently.
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: fpazos on Wed, 08 January 2020, 00:38:53
Sorry. I haven't.
You should start changing the I/O and the chipset description and see if it works. I'm not too proficiency at electronics but I think it should work with these changes the same code as it can compile to different chipsets

Enviado desde mi Redmi Note 7 mediante Tapatalk

Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: dlyi on Sun, 05 April 2020, 04:26:22
Hi guys,
I am a newcomer for QMK for bluepill(STM32F103). Recently we will kick off a QMK keyboard project using STM32F103. Is there any keyboard using the same MCU with QMK I can purchase for further study and tests?
Many thanks for any reply.
Title: Re: QMK for bluepill (STM32F103C8T6)
Post by: Ozol on Mon, 16 November 2020, 00:06:42
So I've been trying to get a blue pill working on my own build - I'm running into some issues and thought maybe you could help.

I have successfuly flashed the stm32dunio bootloader and had it recognized by my computer.
But when I flash the compiled blue pill .bin file from your handwire, it isn't recognized by the computer.

Should I be flashing the hex file? Is that the issue?

And if not, do you have any suggestions?

I faced the same problem yesterday, you can check the .hex file in the .build folder.

Though it may be too late, I still wanna get this problem solved.