Difference between revisions of "BLUE-PILL-HUB"

From Land Boards Wiki
Jump to navigation Jump to search
(34 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
== Features ==
 
== Features ==
  
* Carrier for the [[STM32|Blue Pill Board]]
+
* Carrier for the [[STM32|STM32 Blue Pill Board]]
 
** STM32F103 CPU
 
** STM32F103 CPU
 
* I2C Hub - [https://www.ti.com/lit/ds/symlink/pca9544a.pdf PCA9544A]
 
* I2C Hub - [https://www.ti.com/lit/ds/symlink/pca9544a.pdf PCA9544A]
Line 15: Line 15:
 
=== Blue Pill Module ===
 
=== Blue Pill Module ===
  
[[File:Bluepill_pinout-800px.png]]
+
[[File:STM32F103C8T6-Blue-Pill-Pin-Layout.gif]]
  
 
* [https://github.com/land-boards/lb-boards/blob/master/ODAS%20Cards/Blue-Pill-Hub/BluePillBoard/stm32f103c8t6_schematic.png Blue Pill module schematic]
 
* [https://github.com/land-boards/lb-boards/blob/master/ODAS%20Cards/Blue-Pill-Hub/BluePillBoard/stm32f103c8t6_schematic.png Blue Pill module schematic]
 +
* [https://www.onetransistor.eu/2020/01/stm32-bluepill-arduino-support.html Install official support for STM32 bluepill on Arduino IDE and start programming and uploading sketches with STM32CubeProgrammer]
 +
* [https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html Nice description of the Blue Pill Boards]
 +
* [https://www.electronicshub.org/getting-started-with-stm32f103c8t6-blue-pill/ Getting Started with STM32F103C8T6 Blue Pill]
 +
* [https://www.youtube.com/watch?v=XMB11p4eHiY Replace R10 with 1.5K resistor to fix STM32 USB D+ pull-up]
 +
* [https://www.electronicshub.org/working-with-interrupts-in-stm32f103c8t6/ Working with Interrupts in STM32F103C8T6 Blue Pill Board]
 +
 +
=== Black Pill Module ===
 +
 +
'''Not pin compatible with Blue Pill due to power pin locations'''
 +
 +
[[File:BlackPillBoard-720px.png]]
 +
 +
=== STM32F103 Arduino Pin Mapping ===
 +
 +
* Arduino pin  2 = B7
 +
* Arduino pin  3 = B6
 +
* Arduino pin  4 = B5
 +
* Arduino pin  5 = B4
 +
* Arduino pin  6 = B3
 +
* Arduino pin  7 = A15
 +
* Arduino pin  8 = A12
 +
* Arduino pin  9 = A11
 +
* Arduino pin 10 = A10
 +
* Arduino pin 11 = A9
 +
* Arduino pin 12 = A8
 +
* Arduino pin 13 = B15
 +
* Arduino pin 14 = B14
 +
* Arduino pin 15 = B13
 +
* Arduino pin 16 = null
 +
* Arduino pin 17 = C13, onboard led, input only.
 +
* Arduino pin 18 = C14
 +
* Arduino pin 19 = C15
 +
* Arduino pin 20 = A0
 +
* Arduino pin 21 = A1
 +
* Arduino pin 22 = A2
 +
* Arduino pin 23 = A3
 +
* Arduino pin 24 = A4
 +
* Arduino pin 25 = A5
 +
* Arduino pin 26 = A6
 +
* Arduino pin 27 = A7
 +
* Arduino pin 28 = B0
 +
* Arduino pin 29 = B1
 +
* Arduino pin 30 = B10
 +
* Arduino pin 31 = B11
  
 
== Connectors ==
 
== Connectors ==
Line 33: Line 77:
 
=== J7 - I2C ===
 
=== J7 - I2C ===
  
# SCL
+
* The I2C interface that goes to the I2C hub part
# SDA
+
 
 +
# SCL (PB6)
 +
# SDA (PB7)
 
# 3.3V
 
# 3.3V
 
# GND
 
# GND
  
 
=== P1 - 5V ===
 
=== P1 - 5V ===
 +
 +
* 2x4 header with 5V from H2 (Rev 4 card)
  
 
=== P2 - Vbattery ===
 
=== P2 - Vbattery ===
  
 +
* Battery power to the Blue Pill board
 
# GND
 
# GND
 
# Vbat
 
# Vbat
  
=== P3 - FTDI connector ===
+
=== P3 - FTDI connector (Rev X1-X3) ===
  
 
* To cable to FTDI wires swap pins 4 and 5 in cable
 
* To cable to FTDI wires swap pins 4 and 5 in cable
Line 56: Line 105:
 
# RX (to Blue Pill Tx) (PA9 pin on STM32)
 
# RX (to Blue Pill Tx) (PA9 pin on STM32)
 
# RESET*
 
# RESET*
 +
 +
[[File:FTDI_rot.jpg]]
 +
 +
=== P3 - FTDI Module (Rev 4 or higher) ===
 +
 +
* Cheap FT232 module pinout
  
 
[[File:FTDI_rot.jpg]]
 
[[File:FTDI_rot.jpg]]
Line 105: Line 160:
 
# I2C_INT (PB8)
 
# I2C_INT (PB8)
 
# I2C_SDA1 (PB7)
 
# I2C_SDA1 (PB7)
# I2C_SCL (PB6
+
# I2C_SCL (PB6)
 
# PB5
 
# PB5
 
# PB4
 
# PB4
Line 122: Line 177:
 
== Headers ==
 
== Headers ==
  
=== H1 - 3.3V ===
+
=== H1 - 3.3V (Rev X1-X3) ===
  
 
* Install to power 3.3V from regulator
 
* Install to power 3.3V from regulator
 +
 +
=== H1 - 3.3V source select ===
 +
 +
* 1-2 power from 5V to 3.3V regulator
 +
* 2-3 Power from Blue Pill board 3.3V regulator
  
 
=== H2 - 5V Jumper (Rev X1-X3) ===
 
=== H2 - 5V Jumper (Rev X1-X3) ===
Line 140: Line 200:
  
 
* Select the power to the I2C interface
 
* Select the power to the I2C interface
 +
* Install in one of the two positions to power external I2C interface from the board
 +
* Remove if power comes in from external I2C interface
  
 
# 3.3V
 
# 3.3V
Line 154: Line 216:
 
* 2-3 = 5V from FTDI (probably don't do this)
 
* 2-3 = 5V from FTDI (probably don't do this)
 
* H7 should not be installed if H8 is installed
 
* H7 should not be installed if H8 is installed
 +
 +
=== H9 - Hub Chip Address ===
 +
 +
* Select the address of the PCA9544A I2C hub
  
 
== Switches ==
 
== Switches ==
 +
 +
=== SW1 - Reset Switch ===
 +
 +
* Press to reset Blue Pill board
  
 
=== SW2 - Switch on/off J1, J4 power source ===
 
=== SW2 - Switch on/off J1, J4 power source ===
Line 171: Line 241:
  
 
* FTDI connection to Blue Pill Hub FTDI connector
 
* 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 download
 
* Set Switch (or jumper) on Blue Pill module set towards center of card to download
 +
 +
[[File:BluePill_Jumper.png]]
 +
 
* In Arduino IDE,
 
* In Arduino IDE,
 
** Tools
 
** Tools
Line 191: Line 266:
  
 
[[File:BPH-P711-720px.jpg]]
 
[[File:BPH-P711-720px.jpg]]
 +
 +
=== 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]]
  
 
== Rev 4 ==
 
== Rev 4 ==
  
* Change FTDI to Modole
+
* Change FTDI to Module
  
 
[[File:P1725-crop-720px.jpg]]
 
[[File:P1725-crop-720px.jpg]]
  
== Rev 3 Changes ==
+
== Rev 1 Board ==
 +
 
 +
[[File:BluePillHub-P682-cropped-720px.jpg]]
  
 
== Assembly Sheet ==
 
== Assembly Sheet ==

Revision as of 17:43, 4 October 2020

BluePillHub-P682-cropped-720px.jpg

Features

  • Carrier for the STM32 Blue Pill Board
    • STM32F103 CPU
  • I2C Hub - PCA9544A
    • 4-channel
    • Independent 3.3V/5V power for each channel
  • Separate interrupts for each channel
  • GVS connections for Blue Pill pins
  • Reset switch

Blue Pill Module

STM32F103C8T6-Blue-Pill-Pin-Layout.gif

Black Pill Module

Not pin compatible with Blue Pill due to power pin locations

BlackPillBoard-720px.png

STM32F103 Arduino Pin Mapping

  • Arduino pin 2 = B7
  • Arduino pin 3 = B6
  • Arduino pin 4 = B5
  • Arduino pin 5 = B4
  • Arduino pin 6 = B3
  • Arduino pin 7 = A15
  • Arduino pin 8 = A12
  • Arduino pin 9 = A11
  • Arduino pin 10 = A10
  • Arduino pin 11 = A9
  • Arduino pin 12 = A8
  • Arduino pin 13 = B15
  • Arduino pin 14 = B14
  • Arduino pin 15 = B13
  • Arduino pin 16 = null
  • Arduino pin 17 = C13, onboard led, input only.
  • Arduino pin 18 = C14
  • Arduino pin 19 = C15
  • Arduino pin 20 = A0
  • Arduino pin 21 = A1
  • Arduino pin 22 = A2
  • Arduino pin 23 = A3
  • Arduino pin 24 = A4
  • Arduino pin 25 = A5
  • Arduino pin 26 = A6
  • Arduino pin 27 = A7
  • Arduino pin 28 = B0
  • Arduino pin 29 = B1
  • Arduino pin 30 = B10
  • Arduino pin 31 = B11

Connectors

J1 - 5V power

  • DC jack
  • 5V
  • Center positive

J4 - 5V Power

  • 5mm terminal block

J7 - I2C

  • The I2C interface that goes to the I2C hub part
  1. SCL (PB6)
  2. SDA (PB7)
  3. 3.3V
  4. GND

P1 - 5V

  • 2x4 header with 5V from H2 (Rev 4 card)

P2 - Vbattery

  • Battery power to the Blue Pill board
  1. GND
  2. Vbat

P3 - FTDI connector (Rev X1-X3)

  • To cable to FTDI wires swap pins 4 and 5 in cable
  • FTDI card jumper has to be set to 3.3V since STM32 has 3.3V signal levels
  1. GND
  2. N/C
  3. VCC (to H8 pin 2)
  4. TX (to Blue Pill RX) (PA10 pin on STM32)
  5. RX (to Blue Pill Tx) (PA9 pin on STM32)
  6. RESET*

FTDI rot.jpg

P3 - FTDI Module (Rev 4 or higher)

  • Cheap FT232 module pinout

FTDI rot.jpg

P4, P5, P6, P7 - I2C Interfaces #0-#3

  1. INT*
  2. SCL
  3. SDA
  4. VCC
  5. GND

P8 - SPI

  1. PA6 (MISO)
  2. 3.3V
  3. PA5 (SCK)
  4. PA7 (MOSI)
  5. RES
  6. GND

P11/P12 - GVS Connector

  • Ground, Power, Signal pins
  1. n/c
  2. PC13
  3. PC14
  4. PC15
  5. PA0
  6. PA1
  7. PA2
  8. PA3
  9. PA4
  10. PA5/SCK1
  11. PA6/MISO1
  12. PA7/MOSI1
  13. PB0
  14. PB1
  15. PB10
  16. PB11

P12/P13 - GVS Connector

  • Ground, Power, Signal pins
  1. n/c
  2. PB9
  3. I2C_INT (PB8)
  4. I2C_SDA1 (PB7)
  5. I2C_SCL (PB6)
  6. PB5
  7. PB4
  8. PB3
  9. PA15
  10. PA12
  11. PA11
  12. RX
  13. TX
  14. PA8
  15. PB15
  16. PB14
  17. PB13
  18. PB12

Headers

H1 - 3.3V (Rev X1-X3)

  • Install to power 3.3V from regulator

H1 - 3.3V source select

  • 1-2 power from 5V to 3.3V regulator
  • 2-3 Power from Blue Pill board 3.3V regulator

H2 - 5V Jumper (Rev X1-X3)

  • Install to connect J4 and J1 5V

H2 - 5V Power Source (Rev 4 or higher)

  • T-shaped header
  • Up - Power 5V from BluePill Hub USB power
  • Left - Power 5V from DC Jack
  • Down - Power 5V from FTDI 5V

H3, H4, H5, H6 - I2C Power

  • Select the power to the I2C interface
  • Install in one of the two positions to power external I2C interface from the board
  • Remove if power comes in from external I2C interface
  1. 3.3V
  2. 5V

H7 - 3.3V from Blue Pill module 3.3V regulator

  • Install = power on-board 3.3V circuitry from regulator on Blue Pill module
    • H8 should not be installed if H7 is installed

H8 - Power from FTDI

  • 1-2 = 3.3V from FTDI (don't ever do this)
  • 2-3 = 5V from FTDI (probably don't do this)
  • H7 should not be installed if H8 is installed

H9 - Hub Chip Address

  • Select the address of the PCA9544A I2C hub

Switches

SW1 - Reset Switch

  • Press to reset Blue Pill board

SW2 - Switch on/off J1, J4 power source

Schematic

Drivers

Uploading Code

  • 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 download

BluePill Jumper.png

  • In Arduino IDE,
    • Tools
      • Board "Generic..."
      • Upload method: "Serial..."
      • Port: [the comm port]

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

Testing

BPH-P711-720px.jpg

Programming

SerialPropogramming (AN3155).PNG

Rev 4

  • Change FTDI to Module

P1725-crop-720px.jpg

Rev 1 Board

BluePillHub-P682-cropped-720px.jpg

Assembly Sheet