Lucky me! I’m also interested on how STM32 Blue Pill perform at deep sleep mode in term of power consumption. Comparing ATmega and STM32 microcontrollers is a bit like comparing apples and oranges. On a recent trip there, I bought a STM32-based development board that is commonly referred as STM32 Blue Pill for CNY15 (slightly over than USD2). The board that I bought has the 1.5kΩ resistor. STM32 seems to offer a workable solution for ADC applications that I don’t need an external ADC as compare to Arduino (because it is not accurate enough) and ESP32 (because its non-linear ADC performance). What STM32 is it? ST’s website requires you go through a registration and email verification process before you could download the STM32CubeProgrammer, I have difficulty in email verification process as it doesn’t work well on Safari (or with the ad blocker) and eventually I have to use Firefox to download STM32CubeProgrammer. Your email address will not be published. To get the STM32duino, you have to get it from ST’s github https://github.com/stm32duino, instead of many sites told you to get it from STM32duino.com. All you need to know. Do you know a way or a page to do so? Also, probably the most notable difference and the main reason why people use the ESP32 is for its support for 2.4GHz WiFi and BLE. So I ordered STM32 and received ESP32 (package was labeled STM32!) Raspberry Pi Pico Vs Esp32. There are other sellers, but their devboards are not pin compatible with the F103C8 and they are running $11. The delay(100) prior STM32 going into deep sleep is necessary for serial monitor to finish the printing before STM32 shutdown. Yes, \"almost 2018\", update. Despite the hiccup that I faced to set it up, the STM32 Blue Pill is an amazing microcontroller for a price of US$2. Raspberry pi Pico compare with Arduino uno, ESP8266, and ESP32. Shootout: Raspberry Pi Pico vs ESP32(-S2) and STM32 Blackpill. If you use PlatformIO to create a new project, it will generate the platformio.ini configuration that looks like this for STM32 Blue Pill using the STM32duino(ST STM32) core: If for some reason you would like to use Roger Clark’s Arduino STM32 implementation, you will need to add the board_build.core = maple into the platformio.ini to manually override the default Arduino Core platform. Wire your STM32 (e.g. Here's a high level comparison of Xtensa vs arm: https://nullcon.net/website/archives/pdf/goa-2018/carel-nullcon-arm-vs-xtensa-exploitation-%28final%29.pdf, If you want to get into the details of specs and performance, find the datasheet for the processor on the STM32 board you ordered and compare it to this: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf. It is a 3.3V microcontroller, but some of its pins are 5V tolerant. These modules are a great alternative to Arduino NANO or Pro Micro, and a lot more powerful. Blue Pill and other STM32 microcontrollers have an onboard Real Time Clock. If you are using PlatformIO for programming STM32 Blue Pill, you will need to configure the platformio.ini to use serial as the upload protocol. This highly depends on what STM32 you ordered... STM32 ranges from Cortex M0 to Cortex M7. So which one to use, my suggestion is to use STM32duino as it seems now officially backed by ST, and it try to fully compliant with Arduino’s APIs. STM32 Blue Pill ARM development board first look: from Arduino to bare metal programming. A while back, I completed a port of the open source OnStep Telescope Controller firmware to the STM32 Blue Pill ARM Cortex M3 32-bit MCU. Another design fault is also related to USB, although it only affect data communication via USB port which will not happen unless you have manually installed the USB bootloader. If the board is reset again while the Boot0 is still at 1, the code will be erased, so once development is complete, both Boot0 and Boot1 need to be set to 0 so that the code is run immediately after power on or restart. The clock rate matters too. They are using an ATECC608A IC to accomplish this on the I2c bus. AN2834 Application Note: How to get the best ADC accuracy in STM32 microcontrollers, STMicrelectronics p.s. To do this we need to use a Serial FTDI board. ESP32 has the disadvantage of being a secret shitcore from Tensilica shrouded in mystery. If you never use PlatformIO for Arduino programming, the following two videos from Robin Reiter on YouTube provides a quick installation guide for setup PlatformIO. There are plenty of dsp libraries for the STM32 line. The ESP32 has one obvious advantage of having two cores (240 MHz clk). The board operates on 3.3v logic levels but its GPIO pins have been tested to be 5v tolerant. Press question mark to learn the rest of the keyboard shortcuts, https://nullcon.net/website/archives/pdf/goa-2018/carel-nullcon-arm-vs-xtensa-exploitation-%28final%29.pdf, https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf. I have upgraded PIO to the latest version and updated all platform files. In either case, you will need to install STM32CubeProgrammer from ST. STM32CubeProgrammer provides the communication between your IDE environment with STM32 board. Launch PlatformIO, and click on PlatformIO home icon and click on ‘Platforms’ and search for ‘ST STM32’ as shown in the photo to install the STM32duino core. With all that said, when it comes to making a purchase decision, beginner would start purchase with STM32, as it can be reused for more complex projects in the future. To take things a bit further, there are many variants of both. There are basically the same thing. At a very general level, they are both fruits, in this case they are both microcontrollers. The downloaded zipped file contains 3 installer files, one each for Windows (.exe), Linux(.linux) and Mac (.app). A lot more expensive of course. I have a couple of those USB to TTL converter as a programmer with a CH340 chip (those with FTDI chip doesn’t work on my old MacBook Pro), but if you don’t have one, here is a link that provide a list of similar products. STM32CubeProgrammer for Linux and Mac essentially is a Java application. In order to test deep sleep, an external library called STM32 Low Power is required, so configure the lib_deps (library dependencies) on platformio.ini so that it will be installed as project-based dependency (one reason I like PlatformIO over Arduino is its dependency management). I assumed that the power-indication LED consumed the same current as the blinking LED. Youtube Video » raspberry pi pico vs esp32 . your code is likely waiting for serial to start. However I doubt if any of these processes is quicker than just picking up a cheap Serial->USB or JTAG/SWD->USB bridge from your local reseller. One thing to notice is that even the STM32F103C8T6 price at LCSC is significantly lower than what you find from DigiKey, Mouser, Arrow or any other international component e-commerce platform. Interesting to see as noted @Hamish with the link he posted, STMicro acquiring Atollic IDE that was classified in this review as the most efficient. Apparently some of the early boards have a wrong value of R10 resistor (on the back of the Blue Pill board) on the USB D+ pin. A direct comparison of the Atmega and STM32 would not make much sense. There are plenty of dsp libraries for the STM32 line. The module operates at 3.3V but its SPI pins are 5V tolerable. Obviously, the sophisticated STM32 equipment costs more than an Arduino and is thus more versatile. How noise it is giving that it running at 72MHz clock frequency? So depend on your computer, you might need to install Java engine if your computer doesn’t have it yet or running an older version that is not compatible with STM32CubeProgrammer. Maybe try out a simple FFT with both and do a simple benchmark? But I am guessing a Cortex M7 with CMSIS DSP functions is going to be lot faster than an ESP32 in every way. Specifically STM32 Blue Pill in the market is based on STM32F103C8T6 which has a Cortex-M3 ARM CPU that runs at 72 MHz, with 20 kB of RAM and 64kB of flash memory.