Difference between revisions of "STM32"

From Land Boards Wiki
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
== Features ==
 
== Features ==
  
* Blue Pill and Black Pill Board Features
+
* [[STM32 Blue Pill]] Board
 +
* [[STM32 Black Pill]] Board
  
=== Blue Pill Board Features ===
+
== Blue Pill vs Black Pill Pinout ==
 
 
Used on [[BLUE-PILL-HUB]] card
 
 
 
* STM32F103
 
** 72 MHz CPU sclocl
 
** 64KB Flash (most have 128KB)
 
** 20 KB SRAM
 
** 3.3V regulator
 
** 16 MHz crystal
 
** 1 of x12-bit, A/D converter
 
** 7-channel DMA controller
 
** SPI, I2C, UART interfaces
 
** 7 timers
 
* MicroUSB
 
* Reset button
 
* Download jumper
 
** Replaced with a slide switch
 
* Power LED
 
* PC 13 LED
 
* SWD connector
 
* RTC crystal
 
* '''Warning: The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time.'''
 
 
 
 
 
[[File:STM32F103C8T6-Blue-Pill-Pin-Layout.gif]]
 
 
 
=== Black Pill Board Features ===
 
 
 
'''Not pin compatible with Blue Pill due to power pin locations'''
 
 
 
Can't be used on [[BLUE-PILL-HUB]] card without modifications
 
 
 
* [[STM32F4XX|STM32F401CCU6 or STM32F411CCU6 CPU]]
 
** 84/100 MHz
 
** 256/512 KB Flash
 
** 64/128 KB SRAM
 
** 3.3V regulator
 
** 2x12-bit, A/D converter
 
** 7-channel DMA controller
 
** SPI, I2C, UART interfaces
 
** 7 timers
 
* SPI ROM footprint
 
** Fits an [https://www.mouser.com/ProductDetail/Winbond/W25Q32JVSSIQ/?qs=qSfuJ%252Bfl/d4PGZSN0WxfCA== W25Q32JVSSIQ]
 
** 32 Mbit SPI Flash ROM,
 
* USB-C
 
* Reset button
 
* Power LED
 
* PC 13 LED
 
* SWD connector
 
* '''Warning: The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time.'''
 
 
 
[[File:BlackPillBoard-720px.png]]
 
 
 
* [https://stm32-base.org/boards/STM32F401CCU6-WeAct-Black-Pill-V1.2.html WeAct Black Pill V1.2] - Helpful page
 
 
 
==== Black Pill Reserved Pins ====
 
 
 
* PA0 - On-board USER KEY - needs INPUT_PULLUP
 
* PC13 - On-board LED
 
* PB2 - BOOT1
 
** Pulling this pin down by external hardware causes the board to boot to serial
 
** Can be ignored by unplugging USB (power) while holding both reset and BOOT1 buttons on the Black Pill card
 
** Release reset button first
 
* PA11 - USB-M
 
* PA12 - USB-P
 
* PA9 - Serial TX1
 
* PA10 - Serial RX1
 
 
 
=== Blue Pill vs Black Pill Pinout ===
 
  
 
* '''Warning: The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time.'''
 
* '''Warning: The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time.'''
Line 82: Line 14:
  
 
[[File:Blue-vs-Black-Pill-Pin-Layout.png]]
 
[[File:Blue-vs-Black-Pill-Pin-Layout.png]]
 
== Arduino IDE ==
 
 
* [https://github.com/rogerclarkmelbourne/Arduino_STM32 Hardware files to support STM32 boards, on Arduino IDE 1.8.x including LeafLabs Maple and other generic STM32F103 boards]
 
** [https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki Arduino STM32 Wiki]
 
** [https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation Installation]
 
* [https://www.instructables.com/id/Programming-STM32-Blue-Pill-Via-USB/ Arduino Alternative - STM32 Blue Pill Programming Via USB]
 
 
=== Uploading Code to Blue Pill ===
 
 
* FTDI connection to Blue Pill Hub FTDI connector
 
** FTDI TX (to Blue Pill RX) (PA10 pin on STM32)
 
** FTDI RX (to Blue Pill Tx) (PA9 pin on STM32)
 
* Set Switch (or jumper) on Blue Pill module set towards center of card to upload card to board
 
 
[[File:BluePill_Jumper.png]]
 
 
* In Arduino IDE,
 
** Tools
 
*** Board "Generic..."
 
*** Upload method: "Serial..."
 
*** Port: [the comm port]
 
 
[[File:ArduinoIDE_Tools_Menu.png]]
 
 
* Upload code
 
** Takes a while
 
* Set Switch (or jumper) on Blue Pill module set towards edge of card to run
 
* Press reset button
 
 
== Black Pill Programming ==
 
 
=== DFU Programming ===
 
 
* Steps from [https://www.sgbotic.com/index.php?dispatch=pages.view&page_id=49 Programming|Program STM32 Black Pill (STM32F401 / F411) with Arduino IDE (Windows OS)]
 
** Add the URL to Additional Board Manager URLs text box:
 
*** https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
 
** Go to Tools > Board > Boards Manager
 
** Search for STM32, select latest version and click Install.
 
** Download and install STM32CubeProg from ST.com: [https://www.st.com/en/development-tools/stm32cubeprog.html]
 
** Start the STM32CubeProg
 
** From the Tools > Board > STM32 Board, select Generic STM32F4 series
 
** Select Tools > Board Part Number > BlackPill F411CE
 
** Under USB Support, select CDC (generic "Serial" supersede U(S)ART)
 
** Under Upload method, select SMT32CubeProgrammer(DFU)
 
** Use the onboard BOOT0 and NRST button to put the board into bootloader mode:
 
*** press and hold the BOOT0 button
 
*** press and release NRST (reset) button to power cycle the processor
 
*** release BOOT0 button
 
** Upload sketch
 
 
[[File:Arduino-Programming-Tools-Dropdown.png]]
 
 
=== Other Programming ===
 
 
* ST-LINK V2
 
* [https://www.st.com/en/development-tools/flasher-stm32.html FLASHER-STM32] - STM32 Flash loader demonstrator (UM0462)
 
* From [https://www.st.com/content/ccc/resource/technical/document/application_note/51/5f/03/1e/bd/9b/45/be/CD00264342.pdf/files/CD00264342.pdf/jcr:content/translations/en.CD00264342.pdf AN3155]
 
[[File:SerialPropogramming (AN3155).PNG]]
 
 
== Blue Pill Card Boot Jumpers ==
 
 
[[File:BootJumpers.PNG]]
 
 
=== Annotated ===
 
 
[[File:STM32-Annotated.jpg]]
 
 
== Mechanicals ==
 
 
=== Blue Pill Mechanicals ===
 
 
[[File:STM32-Mechanicals-2.jpg]]
 
 
=== Black Pill Mechanicals ===
 
 
[[File:original-dimensions-STM32F401CCU6_WeAct_Black_Pill_V1.2.png]]
 
 
== Schematic  ==
 
 
=== Blue Pill Card Schematic ===
 
 
[[File:STM32-Schematic.jpg]]
 
 
=== Black Pill Card Schematic ===
 
 
[https://github.com/land-boards/lb-boards/blob/master/Arduino%20Cards/Black-Pill-Hub/Documents/BlackPillBoard/MiniF4x1Cx_V30%20SchDoc.pdf Schematic]
 

Latest revision as of 12:04, 6 February 2021

BluePill-P642-cropped-720px.jpg

Features

Blue Pill vs Black Pill Pinout

  • Warning: The +5V pins on this board are directly connected to the +5V pin of the USB connector. There is no protection in place. Do not power this board through USB and an external power supply at the same time.
  • Upper right pin is GND on Blue pill card, but is 5V on Black pill card
  • Reset is on a different pin
  • Some IO pins are om different spots

Blue-vs-Black-Pill-Pin-Layout.png