{"id":4289,"date":"2019-12-27T14:00:38","date_gmt":"2019-12-27T13:00:38","guid":{"rendered":"https:\/\/msalamon.pl\/?p=4289"},"modified":"2025-12-27T18:29:47","modified_gmt":"2025-12-27T17:29:47","slug":"bluepill-killer-something-new-is-coming-the-blackpill-with-stm32f4","status":"publish","type":"post","link":"https:\/\/msalamon.pl\/en\/bluepill-killer-something-new-is-coming-the-blackpill-with-stm32f4\/","title":{"rendered":"BluePill killer? Something new is coming: the BlackPill with STM32F4."},"content":{"rendered":"\n<p>A new board has hit the market! It is a newer and more powerful version of everyone\u2019s favorite low-cost platform with <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=uart_dma2&amp;utm_content=Text\">STM32F103<\/a>, i.e., the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=uart_dma2&amp;utm_content=Text\">BluePill<\/a>. The new PCB is unofficially called <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> due to its black color scheme. The predecessor also owed its name to its color.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h1 class=\"wp-block-heading\">Two versions of BlackPill<\/h1>\n\n\n\n<p>The new boards can be found in two variants:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>with <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f401ccu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">STM32F401CCU6<\/a><\/li>\n\n\n\n<li>with <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">STM32F411CEU6<\/a><\/li>\n<\/ul>\n\n\n\n<p>They differ mainly in the amount of FLASH and RAM. A full comparison is in the table below.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants.png\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"300\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-200x300.png\" alt=\"\" class=\"wp-image-1323\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-200x300.png 200w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-683x1024.png 683w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-768x1152.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-16x24.png 16w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-24x36.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants-53x80.png 53w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_variants.png 1000w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Both <strong>boards can be purchased in my store.<\/strong> As of the day of writing this post, <strong>I am the first store in Poland to have <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPills<\/a> \ud83d\ude42<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=blackpill&amp;utm_content=blackpill\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"341\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-1024x341.jpg\" alt=\"\" class=\"wp-image-1326\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-1024x341.jpg 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-300x100.jpg 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-768x256.jpg 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-24x8.jpg 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-36x12.jpg 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-160x53.jpg 160w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Additionally, the <strong>F411 features the<\/strong> <strong>SDIO<\/strong> interface, which is very interesting. It lets you handle SD cards very easily.<br>Compared to the old <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> you can find several differences on the board itself. Let\u2019s start with the top layer.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-1024x1024.jpg\" alt=\"\" class=\"wp-image-1324\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-1024x1024.jpg 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-300x300.jpg 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-150x150.jpg 150w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-768x768.jpg 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-1536x1536.jpg 1536w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-24x24.jpg 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-36x36.jpg 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison-80x80.jpg 80w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>As you can see, the concept of the whole board is similar. The USB port, SWD pins, and board connectors are in the same place.&nbsp;<\/p>\n\n\n\n<p>Unfortunately\u2026 <strong>The pinouts on the header connectors are not identical. Keep this in mind in projects where you\u2019d like to swap the boards without any modification. You risk a short circuit, for example due to the GND pin being changed to 5V next to the USB connector!<\/strong><\/p>\n\n\n\n<p>Basically, you need to pay attention to all the pins on the left side of the board (in the photo). Some are swapped, some shifted by one position. The manufacturer could have already done some gymnastics and made a pin-compatible board\u2026 It certainly was possible.<\/p>\n\n\n\n<p>However, at first glance the USB connector stands out. On the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> we have USB\u2011C. Is that a good choice? In my opinion, yes! Electronics must move forward, and I\u2019m glad that first phones, and now other electronics are being equipped with USB\u2011C. If you don\u2019t have a USB\u2011C cable yet, sooner or later you\u2019ll need one.&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/sklep.msalamon.pl\/produkt\/przewod-usb-c-3-1-1m-zasilajacy\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">You can buy such a cable in my store<\/a>. <strong>However, you need to keep in mind what kind of cable you\u2019re buying.<\/strong> Not every cheap cable has data lines. Fortunately, mine do \ud83d\ude42<\/p>\n\n\n\n<p>Going up, we find differences in handling the microcontroller\u2019s control pins. The BOOT0 and BOOT1 pins on the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> were on jumpers. Now not only is only BOOT0 available, but it\u2019s also on a button. Why?<\/p>\n\n\n\n<p>BOOT1 on the F4 was moved and integrated with pin PB2. To enter the bootloader, the microcontroller samples both pins right after reset. Therefore, there is no need to permanently tie these pins to constantly enter the built\u2011in bootloader. This solution saved a lot of space for additional passive components needed for USB operation and the 3.3 V regulator.<\/p>\n\n\n\n<p>In the very center we of course have the microcontroller. Just like on the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a>, it is a 48\u2011pin version but without protruding leads, which makes it take up slightly less space. The difference in the MCU itself is obvious. Instead of the STM32F103 we have the STM32F401 or STM32F411 here.<\/p>\n\n\n\n<p>You\u2019ll find more differences in the resonators\/oscillators. On the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> the Chinese decided to mount really small oscillators. Interestingly, the HSE oscillator is 25 MHz rather than 8 MHz as before. The second is the classic watch LSE at 32,768 Hz.<\/p>\n\n\n\n<p>Thanks to the use of such tiny oscillators, apart from LEDs the remaining part of the PCB also fits a user button. The <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> unfortunately didn\u2019t have that, and it would often come in handy.<\/p>\n\n\n\n<p>Let\u2019s move to the bottom side of the boards.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-1024x1024.jpg\" alt=\"\" class=\"wp-image-1325\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-1024x1024.jpg 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-300x300.jpg 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-150x150.jpg 150w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-768x768.jpg 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-1536x1536.jpg 1536w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-24x24.jpg 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-36x36.jpg 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2-80x80.jpg 80w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/blackpill_comparison2.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>On this side the difference is big. On the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> you won\u2019t find a single component. The manufacturer opted for single\u2011sided assembly, which certainly reduced production costs.<\/p>\n\n\n\n<p><a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> has many necessary passives required for operation and a 3.3 V regulator.<\/p>\n\n\n\n<p>I\u2019d like to draw attention to component U3 on the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> board. This is a footprint for SPI Flash memory. Someone came up with a great idea, because with F4 family microcontrollers you can build a pretty decent device with a display or data logging. Flash memory will certainly come in handy for graphics. I like this use of the bottom side of the PCB.<\/p>\n\n\n\n<p>You can preview the connection of this memory in the schematic. Thanks to one of the members of our wonderful STM32 Polska group, we have the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BlackPill<\/a> schematic translated from Chinese to English. Thank you!<\/p>\n\n\n\n<p><a href=\"http:\/\/msalamon.pl\/download\/1327\/\">&gt;&gt;BlackPill schematic&lt;&lt;<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">First attempt<\/h2>\n\n\n\n<p>It would be good to check whether this board works at all. In <a href=\"http:\/\/msalamon.pl\/dlaczego-nie-robie-wpisow-na-bazie-plytki-bluepill\/\">the article about the BluePill<\/a> I complained a bit that you can often find counterfeit ST chips in them. I haven\u2019t heard of F4 counterfeits yet, so maybe there\u2019s a chance they\u2019ll all work correctly.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"220\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-300x220.png\" alt=\"\" class=\"wp-image-1330\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-300x220.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-768x562.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-24x18.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-36x26.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection-109x80.png 109w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_vcom_connection.png 781w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"192\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal-300x192.png\" alt=\"\" class=\"wp-image-1331\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal-300x192.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal-24x15.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal-36x23.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal-125x80.png 125w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected_terminal.png 688w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Connecting to USB causes the system to recognize a VCOM device. That\u2019s good \ud83d\ude42<br>Since it enumerates as a serial port, maybe it prints something at startup?<br>As you can see, the board introduces itself, also giving the symbol of the 3.3 V regulator in case you ever burn it. We also have the option to use the KEY button on the board. The program recognizes a short, double, and long press. Unfortunately, there\u2019s no description of what they do, so I have to check.<\/p>\n\n\n\n<p>Each of these presses changes the way the built\u2011in LED blinks. Short or long blinking, or breathing. A simple demo.<\/p>\n\n\n\n<p>I bet the preloaded firmware contains an Arduino\u2011compatible bootloader. Everything has to have such a bootloader now. Unfortunately, I didn\u2019t check that, because that\u2019s not what this blog is about \ud83d\ude42 However, I did dump this firmware. <a href=\"http:\/\/msalamon.pl\/download\/1332\/\">You can download it here.<\/a><\/p>\n\n\n\n<p>But every STM32 has its own bootloader that we can access through a fairly large number of interfaces. I\u2019ll check what it\u2019s like to connect over USB.<\/p>\n\n\n\n<p>I mentioned earlier that BOOT1 has taken over pin PB2. Let\u2019s see how to set these pins to enter the bootloader.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options.png\"><img loading=\"lazy\" decoding=\"async\" width=\"894\" height=\"250\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options.png\" alt=\"\" class=\"wp-image-1334\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options.png 894w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options-300x84.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options-768x215.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options-24x7.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options-36x10.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options-160x45.png 160w\" sizes=\"auto, (max-width: 894px) 100vw, 894px\" \/><\/a><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic.png\"><img loading=\"lazy\" decoding=\"async\" width=\"259\" height=\"300\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic-259x300.png\" alt=\"\" class=\"wp-image-1335\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic-259x300.png 259w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic-21x24.png 21w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic-31x36.png 31w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic-69x80.png 69w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_boot_options_schematic.png 556w\" sizes=\"auto, (max-width: 259px) 100vw, 259px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>We&nbsp; need&nbsp; to enter&nbsp; System&nbsp; memory, so&nbsp; BOOT0&nbsp; has to be tied&nbsp; to&nbsp; power,&nbsp; and BOOT1&nbsp; to&nbsp; ground. First,&nbsp; let&nbsp; me&nbsp; check&nbsp; the&nbsp; schematic&nbsp; to&nbsp; see&nbsp; whether&nbsp; something&nbsp; isn\u2019t&nbsp; selected&nbsp; by&nbsp; default.By default BOOT0 is pulled to ground, but via the button you can easily tie it to one. BOOT1 is pulled down to ground, so that\u2019s perfect. After reset it\u2019s enough to briefly hold the BOOT0 button to put the chip into the bootloader.<\/p>\n\n\n\n<p>I tried, but the chip wouldn\u2019t enter DFU\u2026 Only placing a jumper to ground on PB2 helped. Perhaps that pull\u2011down is too weak, or something else affects it.<\/p>\n\n\n\n<p>When the STM32 enters DFU, you can connect to it with the interface selected in STM32CubeProgrammer. I chose USB. It connected successfully!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"195\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-300x195.png\" alt=\"\" class=\"wp-image-1336\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-300x195.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-1024x666.png 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-768x500.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-24x16.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-36x23.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected-123x80.png 123w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_usb_boot_system_memory_connected.png 1202w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>At this point I dumped the factory firmware. When connected via USB, there\u2019s no information about the size of FLASH that our microcontroller has. I wonder why that is\u2026 I\u2019ll try with an ST\u2011Link.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"195\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-300x195.png\" alt=\"\" class=\"wp-image-1337\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-300x195.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-1024x666.png 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-768x500.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-24x16.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-36x23.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection-123x80.png 123w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_stlink_connection.png 1202w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>ST\u2011Link has detected the FLASH size and it is 512 kB for the STM32F411CE.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test programming<\/h2>\n\n\n\n<p>It would be good to create a quick project in Cube and blink the LED that is on the PCB. I\u2019ll use STM32CubeIDE v1.1.0 together with the HAL F4 v1.24.2 libraries.<\/p>\n\n\n\n<p>The clock tab looks very simple. We are not dealing with a complex tree, which in my opinion is a plus for a beginner.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks.png\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"163\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-300x163.png\" alt=\"\" class=\"wp-image-1338\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-300x163.png 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-1024x555.png 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-768x416.png 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-1536x832.png 1536w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-24x13.png 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-36x20.png 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks-148x80.png 148w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_clocks.png 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>In the main view on the left you will of course find expandable trees with peripherals. Compared to the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> there are a few more here.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"142\" height=\"300\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1-142x300.png\" alt=\"\" class=\"wp-image-1341\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1-142x300.png 142w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1-11x24.png 11w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1-17x36.png 17w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1-38x80.png 38w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/black_pill_cube_periphs1-1.png 402w\" sizes=\"auto, (max-width: 142px) 100vw, 142px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>We can see what I listed earlier in the comparison table. A ton of interesting interfaces, including SDIO. In addition, we have something called Middleware. These are libraries prepared by ST that can be easily added to a project. Here you\u2019ll find, among others, FATFS for SD cards and USB support. Super useful libraries.<\/p>\n\n\n\n<p>Alright, but I just wanted to blink an LED \ud83d\ude42 Allow me to skip the whole matter of programming a blinking LED. You can find that, for example, in my e\u2011book, which you will receive by joining my newsletter (content in Polish).<\/p>\n\n\n\n<p>Compared to the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a> there is no Flash lock here. You don\u2019t need to change anything with a programmer or erase anything to start working with the board. Everything works right away. Great!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>I really liked this board. It was my first try, but it\u2019s a much better experience than with the <a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f103c8t6-dev-board-2\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">BluePill<\/a>. Fingers crossed that this mini\u2011euphoria remains. More posts using the new boards will probably appear.<\/p>\n\n\n\n<p>The only downside is combining an ST\u2011Link and using a breadboard. I can\u2019t get around that. You can use DFU to avoid connecting an ST\u2011Link, but then you won\u2019t have a debugger.<\/p>\n\n\n\n<p><a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=article&amp;utm_campaign=blackpill&amp;utm_content=Text\">You can buy the boards in my store.<\/a> I will be incredibly grateful for your purchase and support of my work!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/sklep.msalamon.pl\/produkt\/stm32f411ceu6-dev-board\/?utm_source=blog&amp;utm_medium=banner&amp;utm_campaign=blackpill&amp;utm_content=blackpill\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"341\" src=\"http:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-1024x341.jpg\" alt=\"\" class=\"wp-image-1326\" srcset=\"https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-1024x341.jpg 1024w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-300x100.jpg 300w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-768x256.jpg 768w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-24x8.jpg 24w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-36x12.jpg 36w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner-160x53.jpg 160w, https:\/\/msalamon.pl\/wp-content\/uploads\/2019\/12\/BlackPill-baner.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;4289&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;0&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;BluePill killer? Something new is coming: the BlackPill with STM32F4.&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 0px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>A new board has hit the market! It is a newer and more powerful version of everyone\u2019s favorite low-cost platform with STM32F103, i.e., the BluePill. The new PCB is unofficially called BlackPill due to its black color scheme. The predecessor also owed its name to its color.<\/p>\n","protected":false},"author":1,"featured_media":3360,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[160],"tags":[175,176,174],"class_list":["post-4289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-stm32","tag-electronics","tag-programming","tag-stm32"],"_links":{"self":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/comments?post=4289"}],"version-history":[{"count":3,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4289\/revisions"}],"predecessor-version":[{"id":4390,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/posts\/4289\/revisions\/4390"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/media\/3360"}],"wp:attachment":[{"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/media?parent=4289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/categories?post=4289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msalamon.pl\/en\/wp-json\/wp\/v2\/tags?post=4289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}