Difference between revisions of "STM32World"

From Stm32World Wiki
Jump to navigation Jump to search
 
(78 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:STM32]][[Category:STM32World]][[Category:Work in progress]]{{metadesc|STM32World Development Boards Home}}
 
[[Category:STM32]][[Category:STM32World]][[Category:Work in progress]]{{metadesc|STM32World Development Boards Home}}
 
[[File:mcu board 3d.png|thumb|200px]]
 
[[File:mcu board 3d.png|thumb|200px]]
Stm32World is a series of development boards designed for rapid development and prototyping.
+
[[STM32World]] is a series of development boards designed for rapid development and prototyping.
  
The idea is to have MCU boards available with multiple MCU's (possibly including non [[ST]] ones such as the ones from [[GigaDevice]].
+
The idea is to have MCU boards available with multiple MCU's (possibly including non [[ST]] ones such as the ones from [[GigaDevice]]).
  
The boards will be stackable but rather than trying to cram every single imaginable device into every board, these will be deliberately kept simple.  A CAN transceiver board will include a CAN transceiver and nothing else.
+
The boards will be stackable but rather than trying to cram every single imaginable peripheral device into every board, these will be deliberately kept simple.  A CAN transceiver board will include a CAN transceiver and nothing else.
  
 
As much as possible, peripheral board will be designed in such a way that they will not conflict with each other, even though this might not be possible to achieve 100 %.
 
As much as possible, peripheral board will be designed in such a way that they will not conflict with each other, even though this might not be possible to achieve 100 %.
Line 11: Line 11:
 
All files for hardware and software is available at [https://github.com/STM32World STM32World Github Repository]
 
All files for hardware and software is available at [https://github.com/STM32World STM32World Github Repository]
  
== Physical Dimensions ==
+
== Why? ==
 +
 
 +
There are a gazillion [[STM32]] development boards available on the market.  A very reasonable question would be: "Why create another one?"
 +
 
 +
In general development boards fall into two different categories:
 +
 
 +
# Simple boards such as the common [[Blue Pill]] and [[Black Pill]] boards
 +
# Complex boards such as most of [[ST]]'s Nucleo and Discovery boards
 +
 
 +
The problem with the simple boards is that you have a very limited selection of [[MCU]]s and you end up with a ratnest of jumper wires.
 +
 
 +
The problem with the complex boards is that they are too opinionated.  I have a [[STM32F405]] based discovery board and that one includes a complex audio part, which I have never needed nor used.
 +
 
 +
== [[STM32World Form Factor|Form Factor]] ==
  
 
[[STM32World]] boards are meant to be stackable.
 
[[STM32World]] boards are meant to be stackable.
Line 17: Line 30:
 
All boards are 3" x 2".  In many cases this is much bigger than needed but PCB's are cheap and having the boards at that size makes layout much easier.
 
All boards are 3" x 2".  In many cases this is much bigger than needed but PCB's are cheap and having the boards at that size makes layout much easier.
  
[[File:STM32World Board Dimensions.png|600px]]
+
<div class="res-img">
 +
[[File:STM32World Board Dimensions.png|800px]]
 +
</div>
 +
 
 +
The choice of imperial size of the PCB's themselves were mainly made due to the header being 100 mil spaced pins.
  
== Board Ideas ==
+
== Planned Boards ==
  
 
{| class=wikitable
 
{| class=wikitable
 
|-
 
|-
 +
!
 
! Name
 
! Name
 
! Type
 
! Type
 
! Description  
 
! Description  
 +
! Status
 
|-
 
|-
| [[File:MCUSTM32F103 3D Top View.png|200px]]
+
| [[File:MCUSTM32F405 3D Top View.png|200px]]
 
| [[MCUSTM32F405]]  
 
| [[MCUSTM32F405]]  
 
| MCU
 
| MCU
 
| MCU Board using the [[STM32F405]] [[MCU]]
 
| MCU Board using the [[STM32F405]] [[MCU]]
 +
| Prototype
 
|-
 
|-
| [[File:MCUSTM32F103 3D Top View.png|200px]]
+
| [[File:PRGSTL 3D Top View.png|200px]]
| [[MCUSTM32F103]]  
+
| [[PRGSTL]]
| MCU
+
| Programmer
| MCU Board using the [[STM32F103]] [[MCU]]
+
| Board designed like a [[ST-Link|ST-Link/V2.1]] or a [[Black Magic Probe]] device
 +
| Prototype
 
|-
 
|-
| [[File:MCUSTM32F103 3D Top View.png|200px]]
+
| [[File:MEMW25Q128 3D Top View rendering.png|200px]]
| [[MCUGD32F405]]
+
| [[MEMW25Q128]]
| MCU
+
| Storage
| MCU Board using the [[GD32F405]] [[MCU]]
+
| [[W25Qxx|W25Q128]] SPI Serial Flash
 +
| Prototype
 
|-
 
|-
| [[PRGST]]
+
| [[File:MEM24CXX Rendering Top.png|200px]]
| Programmer
+
| [[MEM24CXX]]
| Board acting like a st-link device
+
| Storage
 +
| [[24Cxx I²C EEPROM]]
 +
| Prototype
 
|-
 
|-
| PRGBM
+
| [[File:proto_top_rendering.png|200px]]
| Programmer
+
| [[PROTO]]
| Board acting like a black magic device
+
| Prototyping
 +
| Prototyping board
 +
| Prototype
 
|-
 
|-
| IOAW9523
+
| [[File:CAN Rendering - top view.png|200px]]
| I/O
+
| [[CANTRANS]]
| [[I²C]] [[AW9523B GPIO Expander|AW9523]] based GPIO Expander
+
| Tranceiver
 +
| Dual CAN Transceiver
 +
| Prototype
 
|-
 
|-
| DWS2812
+
| [[File:DWS2812 Top Rendering.png|200px]]
 +
| [[DWS2812]]
 
| Display
 
| Display
 
| [[WS2812B]] RGB LED Array
 
| [[WS2812B]] RGB LED Array
 +
| Under development
 
|}
 
|}
  
== Pin Use ==
+
== Board Ideas ==
 
 
The [[STM32]] processors are not 100 % flexible in mapping I/O pins, so certain peripherals can only be mapped to certain pins.  Because of that, some of our board will conflict with each other.
 
  
 
{| class=wikitable
 
{| class=wikitable
 
|-
 
|-
! Pin
+
!
! [[MCUSTM32F405]]
+
! Name
! Remarks
+
! Type
 +
! Description
 +
! Status
 
|-
 
|-
| PA0
+
| [[File:MCUSTM32F411 3D Top View.png|200px]]
|
+
| [[MCUSTM32F411]]
|  
+
| MCU
 +
| MCU Board using the [[STM32F411]] [[MCU]]
 +
| Under development
 
|-
 
|-
| PA1
+
| [[File:MCUSTM32F446 3D rendering - top view.png|200px]]
|  
+
| [[MCUSTM32F446]]
 +
| MCU
 +
| MCU Board using the [[STM32F446]] [[MCU]]
 +
| Ready for prototype
 
|-
 
|-
| PA2
+
| [[File:MCUSTM32F103 3D Top View.png|200px]]
|  
+
| [[MCUSTM32F103]]
 +
| MCU
 +
| MCU Board using the [[STM32F103]] [[MCU]]
 +
| Under development
 
|-
 
|-
| PA3
+
| [[File:MCUSTM32F405 3D Top View.png|200px]]
|  
+
| [[MCUGD32F405]]
 +
| MCU
 +
| MCU Board using the [[GD32F405]] [[MCU]]
 +
| Under development
 
|-
 
|-
| PA4
+
|[[File:IOAW9523 3D Top View rendering.png|200px]]
|
+
| [[IOAW9523]]
|-
+
| I/O
| PA5
+
| [[I²C]] [[AW9523B GPIO Expander|AW9523]] based GPIO Expander and LED driver
|
+
| Under development
|-
 
| PA6
 
|
 
|-
 
| PA7
 
|
 
|-
 
| PA8
 
|
 
|-
 
| PA9
 
|
 
|-
 
| PA10
 
|
 
|-
 
| PA11
 
| D-
 
|
 
|-
 
| PA12
 
| D+
 
|
 
|-
 
| PA13
 
|
 
|-
 
| PA14
 
|
 
|-
 
| PA15
 
|
 
|-
 
| PB0
 
|
 
|-
 
| PB1
 
|
 
|-
 
| PB2
 
|
 
|-
 
| PB3
 
|
 
|-
 
| PB4
 
|  
 
|-
 
| PB5
 
|  
 
|-
 
| PB6
 
|
 
|-
 
| PB7
 
|
 
|-
 
| PB8
 
|
 
|-
 
| PB9
 
|
 
|-
 
| PB10
 
|
 
|-
 
| PB11
 
|
 
|-
 
| PB12
 
|
 
|-
 
| PB13
 
|
 
|-
 
| PB14
 
|
 
|-
 
| PB15
 
|
 
|-
 
| PC0
 
|
 
|-
 
| PC1
 
|  
 
 
|-
 
|-
| PC2
 
 
|  
 
|  
 +
| [[HID01]]
 +
| Display/Keyboard
 +
| Display and touch keyboard
 +
| Under development
 
|-
 
|-
| PC3
 
|
 
|-
 
| PC4
 
|
 
|-
 
| PC5
 
|
 
|-
 
| PC6
 
|
 
|-
 
| PC7
 
|
 
|-
 
| PC8
 
|
 
|-
 
| PC9
 
|
 
|-
 
| PC10
 
|
 
|-
 
| PC11
 
|
 
|-
 
| PC12
 
|
 
|-
 
| PC13
 
|
 
|-
 
| PC14
 
|
 
|-
 
| PC15
 
 
|  
 
|  
 +
| [[SEC01]]
 +
| Security
 +
| Security and Encryption
 +
| Under development
 
|}
 
|}
 +
 +
== Pin Use ==
 +
 +
The [[STM32]] processors are not 100 % flexible in mapping I/O pins, so certain peripherals can only be mapped to certain pins.  Because of that, some of our board will conflict with each other.
 +
 +
{{STM32World Pinout}}
 +
 +
== Gallery ==
 +
 +
<gallery>
 +
File:3 STM32World Modules - backside.jpg
 +
File:3 STM32World Modules stacked 2.jpg
 +
File:3 STM32World Modules stacked.jpg
 +
File:3 STM32World Modules with headers.jpg
 +
File:3 STM32World Modules.jpg
 +
File:MCUSTM32F405 and MEMW25Q128.jpg
 +
File:MCUSTM32F405 angle.jpg
 +
File:MCUSTM32F405 Bot.jpg
 +
File:MCUSTM32F405 Top.jpg
 +
File:MCUSTM32F405 with headers.jpg
 +
File:MEMW25Q128 Bot.jpg
 +
File:MEMW25Q128 wiith headers.jpg
 +
File:MEMW25Q128 Top.jpg
 +
File:PRGSTL and MCUSTM32F405.jpg
 +
File:PRGSTL Bot.jpg
 +
File:PRGSTL Side.jpg
 +
File:PRGSTL Top.jpg
 +
File:PRGSTL with headers.jpg
 +
</gallery>

Latest revision as of 01:15, 4 June 2024

Mcu board 3d.png

STM32World is a series of development boards designed for rapid development and prototyping.

The idea is to have MCU boards available with multiple MCU's (possibly including non ST ones such as the ones from GigaDevice).

The boards will be stackable but rather than trying to cram every single imaginable peripheral device into every board, these will be deliberately kept simple. A CAN transceiver board will include a CAN transceiver and nothing else.

As much as possible, peripheral board will be designed in such a way that they will not conflict with each other, even though this might not be possible to achieve 100 %.

All files for hardware and software is available at STM32World Github Repository

Why?

There are a gazillion STM32 development boards available on the market. A very reasonable question would be: "Why create another one?"

In general development boards fall into two different categories:

  1. Simple boards such as the common Blue Pill and Black Pill boards
  2. Complex boards such as most of ST's Nucleo and Discovery boards

The problem with the simple boards is that you have a very limited selection of MCUs and you end up with a ratnest of jumper wires.

The problem with the complex boards is that they are too opinionated. I have a STM32F405 based discovery board and that one includes a complex audio part, which I have never needed nor used.

Form Factor

STM32World boards are meant to be stackable.

All boards are 3" x 2". In many cases this is much bigger than needed but PCB's are cheap and having the boards at that size makes layout much easier.

STM32World Board Dimensions.png

The choice of imperial size of the PCB's themselves were mainly made due to the header being 100 mil spaced pins.

Planned Boards

Name Type Description Status
MCUSTM32F405 3D Top View.png MCUSTM32F405 MCU MCU Board using the STM32F405 MCU Prototype
PRGSTL 3D Top View.png PRGSTL Programmer Board designed like a ST-Link/V2.1 or a Black Magic Probe device Prototype
MEMW25Q128 3D Top View rendering.png MEMW25Q128 Storage W25Q128 SPI Serial Flash Prototype
MEM24CXX Rendering Top.png MEM24CXX Storage 24Cxx I²C EEPROM Prototype
Proto top rendering.png PROTO Prototyping Prototyping board Prototype
CAN Rendering - top view.png CANTRANS Tranceiver Dual CAN Transceiver Prototype
DWS2812 Top Rendering.png DWS2812 Display WS2812B RGB LED Array Under development

Board Ideas

Name Type Description Status
MCUSTM32F411 3D Top View.png MCUSTM32F411 MCU MCU Board using the STM32F411 MCU Under development
MCUSTM32F446 3D rendering - top view.png MCUSTM32F446 MCU MCU Board using the STM32F446 MCU Ready for prototype
MCUSTM32F103 3D Top View.png MCUSTM32F103 MCU MCU Board using the STM32F103 MCU Under development
MCUSTM32F405 3D Top View.png MCUGD32F405 MCU MCU Board using the GD32F405 MCU Under development
IOAW9523 3D Top View rendering.png IOAW9523 I/O I²C AW9523 based GPIO Expander and LED driver Under development
HID01 Display/Keyboard Display and touch keyboard Under development
SEC01 Security Security and Encryption Under development

Pin Use

The STM32 processors are not 100 % flexible in mapping I/O pins, so certain peripherals can only be mapped to certain pins. Because of that, some of our board will conflict with each other.


Desc Name No No Name Desc
Battery Supply[1] VB 1 2 GND Ground
Boot0 BO0 3 4 NRST Reset
ADC IN10 PC0 5 6 PC1
PC2 7 8 PC3
PA0 9 10 PA1
USART2_TX PA2 11 12 PA3 USART2_RX
PA4 13 14 PA5
PA6 15 16 PA7
PC4 17 18 PC5
PB0 19 20 PB1
PB2 21 22 U0
PB10 23 24 PB11
PB12 25 26 PB13
PB14 27 28 PB15
PC6 29 30 PC7
PC8 31 32 PC9
U1 33 34 U2
U3 35 36 U4
Regulated 3.3V 3.3V 37 38 GND Ground
5V 39 40 GND Ground
Desc Name No No Name Desc
Ground GND 80 79 VA Analogue Supply[2]
U6 78 77 U5
PC15 76 75 U7
PC13 74 73 PC14
U10 72 71 U9
PB9 70 69 PB8
USART1_RX_Alt PB7 68 67 PB6 USART1_TX_Alt
PB5 66 65 PB4
PB3 64 63 PD2
U8 62 61 PC12
PC11 60 59 PC10
U12 58 57 U11
PA15 56 55 PA14 SWCLK
SWDIO PA13 54 53 PA12
PA11 52 51 PA10 USART1_RX
USART1_TX PA9 50 49 PA8
U14 48 47 U13
U16 46 45 U15
Ground GND 44 43 3.3V Regulated 3.3V
Ground GND 42 41 5V
  1. On some boards tied to 3.3V
  2. On some boards tied to 3.3V

Gallery