This post is uncategorized
An overview & setup of the Arduino alternative "bluepill" STM32 ARM Microcontroller board
The "bluepill" is an ARM based Microcontroller, with awesome specs and strength, in this post I will talk about it's board the bluepill, soldering, get it to work
Arduino boards aren't just boards which magically works to blink an led, actually all the very famous arduinos are based upon one microcontroller, the ATMega328 Microcontroler, you can think of this as a processor and a computer, you can get a big or small computer with the same processor, both Arduino Nano and Pro Mini have the SMD version of the ATMega328, which maked it nearly impossible for a begginner or an expert without tools to change that part if it got burned or something, the Arduino UNO on the other hand, has the DIP28 version of the ATMega328 which makes is super-easy changing the Microcontroller part. The Board I am talking about in this post is having the STM32F103C Microcontroller, you might find that part in many places, but this board is like an Arduino board towards an ATMega328, This Microcontroller is always in SMD packaging, so swapping will actually be a problem, yet there are many clones to this Microcontroller which can also result in some problems.
Board dimensions and Components
The Bluepill board is the minimum system requirements for the Microcontroller STM32F103C, the board is actually bigger alittle bit than an arduino nano, and can be inserted to a breadboard easily, the dimensions of the board is around ~5cm x ~1.5cm, lastly the board is full of SMD components.
There is 2 LEDs on the bluepill, one for Power and the other is an extra one acting like pin 13 on a normal Arduino, the board has 2 crystals, 1 for the Microcontroller it self and the other for the builtin RTC in the STM32F103C, the bluepill have a micro Usb connector which can be used for USB data exchange, emulation and much more! the board has pin headers at the top, right and the bottom; the top headers actually designed to use jumpers with it, to choose some configs for the board, the right headers which are only 4 are used for debugging and lastly the bottom headers are 40 headers, 20 on the right and 20 on the left which are the signal pins, power pins, analog pins etc.....
Soldering the pin headers
Normally when you get this board yo'll probably get the board and pin headers not soldered, even you can get the piun headers not the same size of your board. When soldering anything like that, the board should be still and the pin headers should be inserted in some place like a breadboard for example, because they can melt the plastic around them and fall of the board, so you'll have to put the pin headers along with the board on the breadboard, you have two routes to accomplish this,the first is to attach the pin headers first (opfcorese cut it and place it if nesseccay) to the board then while holding the boardiwth the pin headres insert it into a breadbord or the inverse; place the pin headers in the breadboard first then insert the board into the pin headers.
Now it's soldering time, The most important thing you shall do while soldering is never solder all the 40 pins directly after each other, by maximum solder 15 or 20, because the board have an active component; the Microcontroller itself, although you can open the datasheet for example and see that the maximum temreature is for example 70, you shall not trust that, because as I said there are alot of clones of this microcontrollers, your boards'microcontroller might be a clone, these clones might have a lower maximum temreature so you would easliy reach that maximum temreature when you approximately solder the first 30 pins, so just stay in the safe side and don't solder all after each other.
Another important thing to be considered is you should solder the pin headers from the outside so your soldering iron hung up in the air and not bringing it to the board it self, you can see the youtube video to understand what I mean, becasue as the iron is so hot you can unintentionaly des older one of the SMD components on your board, resoldering them back is nearly impossible without expertise and tools.
Getting to work
To get the board to work, all what you have to do is just plug in any micro usb cable you have into thhe micro usb connector on the board, and you're done! you shall find the PWR (Power) LED on, might find the PC13 (Whatever your LED pin is, it is written under the LED) LED blinking
For me I chose to use the bluepill as my daily Microcontroller and nearly leaved the Arduino completely due to the Microccontrollers stength and Prephirals whaich are alot!
I made a table is google sheets having nearly all the specs of the bluepill and comarison between it and a normal ATMega328 based Arduino board. View in Google Sheets
Most important specs
- A USB functionality ( even if you have a clone )
- 64Kb/128Kb of flash storage ( it mat differ depending on your clone or so)
- 20Kb of RAM
- 27 Digital pins (though some documentation says 37)
- 3.3V logic (except for 18 pins)
- 72MHz or more clock speed
After a year or more of experience, I found advantages and disadvantages n this board and I would like to share it with you.
- Very large flash space
- very small size
- 20Kb of RAM is amazing for variables and projects which needs RAM
- USB functionality, can use the board as a mouse or joystick on any computer
- 3 Serial ports which can be used to interface GPS modules or ESP8266 modules easily
- Fast speed
Also I've noticed nearly all the disadvantages in this board which starts by:
- 3.3V logic level might be a problem as not everything that are 5V compatible can work with a 3.3V logic system
- Clones may be sometimes buggy or crash
- when you get the board you need an FTDI board to program it, because it is shipped without a bootloader
And with that I conclude this post's content, I hope I helped someone, soon will post a programming tutorial of this board, uptill then don't forget seeing the video, like, subscribe and maybe dropping me a comment if you have any suggestions or any thing, thanks :)