Working on Stream

  • Try running code on STM32H7
  • Try to port the Monotron BIOS
  • Maybe figure out pin assignments

Board details:

https://github.com/WeActTC/MiniSTM32H7xx

Upside-down pinout

GND 5v0         GND 3v3
E1  E0          E2  E3
B9  B8          E4  E5
B7  B6          E6  VB
B5  B4          C13 NR
B3  D7          C0  C1
D6  D5          C1  C3
D4  D3          GND V+
D2  D1          A0  A1
D0  C12         A2  A3
C11 C10         A4  A5
A15 A12         A6  A7
A11 A10         C4  C5
A9  A8          B0  B1
C9  C8          B2  E7
C7  C6          E8  E9
D15 D14         E10 E11
D13 D12         E12 E13
D11 D10         E14 E15
D9  D8          B10 B11
B15 B14         3v3 5v0
B13 B12         GND GND

Topside Pinout

            SWD
3v3 GND         5v0 GND
E3  E2          E0  E1
E5  E4          B8  B9
VB  E6          B6  B7
NR  C13         B4  B5
C1  C0          D7  B3
C3  C2          D5  D6
V+  GND         D3  D4
A1  A0          D1  D2
A3  A2          C12 D0
A5  A4          C10 C11
A7  A6          A12 A15
C5  C4          A10 A11
B1  B0          A8  A9
E7  B2          C8  C9
E9  E8          C6  C7
E11 E10         D14 D15
E13 E12         D12 D13
E15 E14         D10 D11
B11 B10         D8  D9
5v0 3v3         B14 B15
GND GND         B12 B13
        SD   USB

Of A and B, only pick one row (mostly)

Needed parts:

  • debug uart
    • Maybe USB? Maybe both?
  • SWD (maybe SWO?)
    • Internal SPI flash Seems to use SWO pin (PB3)
  • SPI bus 1 (regular), could be split
    • Display
    • Display SD Card (maybe, probably not)
    • WiFi Radio
  • SPI bus 2
    • WS2812 comms (can't be shared)
  • SDIO (on-board SD-Card)
  • Maybe SPI for on-board ext Flash
    • Maybe shared with "SPI Bus 1"?
  • Maybe QSPI for on-board ext Flash
  • GPIOs
    • 10 GPIOs for Row/Column
      • Next to eachother, one connector?
    • 4 for Display (CSn, D/C, SD CSn, Touch CSn)
    • 3 for ESP (Reset, Busy, CSn)
  • USB FS pins
  • I2C for QUIIC connector

What do I have?

  • 5 SPI ports?
  • 4 I2C ports
  • UARTS
    • 1 LPUART
    • 4 UARTs
    • 4 USARTs
  • 1 QSPI
  • 2 SDMMC
                      swd
 3v3    GND                  5v0     GND
xE3x   xE2x  - LED,QSPI      E0      E1
 E5     E4                   B8      B9
 VB     E6                  xB6x     B7   - QSPI
 NR    xC13x - Button       ?B4?     B5   - SPI1 (on-board flash)
 C1     C0                  ?D7?    ?B3?  - SPI1 (on-board flash)
 C3     C2                   D5     ?D6?  - SPI1 (on-board flash)
 V+     GND                  D3     xD4x  - SD Card
 A1     A0                   D1     xD2x  - SD Card
 A3     A2                  xC12x    D0   - SD Card
 A5     A4                  xC10x   xC11x - SD Card
 A7     A6                  xA12x    A15  - USB
 C5     C4                   A10    xA11x - USB
 B1     B0                   A8     xA9x  - USB
 E7    xB2x  - QSPI         xC8x    xC9x  - SD Card
 E9     E8                   C6      C7
!E11!  !E10! - On-TFT        D14     D15
!E13!  !E12! - On-TFT       xD12x   xD13x - QSPI
 E15   !E14! - On-TFT        D10    xD11x - QSPI
 B11    B10                  D8      D9
 5v0    3v3                  B14     B15
 GND    GND                  B12     B13
 ^^^    ^^^                  ^^^     ^^^
  X1     X2                   Y1      Y2
                SD   USB

Notes:

  • V+ is "VREF+"
  • NR is "NRST"
  • VB is "VBAT_Pin"
  • SB2 (for SD Card SW) is NOT soldered by default

PH0 PH1 - HFCLK PC14 PC15 - LFCLK A11 A12 A9 - USB FS PC8 PC9 PC10 - SD Card PC11 PC12 PD2 - SD Card PD4 - SD Card (option, switch) PD13 PE2 PD12 - QSPI PD11 PB2 PB6 - QSPI PB4 PD7 - On-Board SPI flash 1, 3, 6 PB3 PD6 - On-Board SPI flash PE14 PE13 PE12 - Used for On-Board TFT Display PE11 PE10 - Used for On-Board TFT Display PC13 - On-Board Button PE3 - On-Board LED PA13 PA14 - SWD Pins

Clock

  • PLL Source: HSE
  • DIVM1: /5
  • DIVM3: /5
  • DIVN1: x192
  • DIVN3: x192
  • DIVP1: /2
  • DIVQ3: /20
  • System Clock Mux: HSE
  • D1CPRE: /1
  • HPRE: /2
  • D1PPRE: /2
  • D2PPRE1: /2
  • D2PPRE2: /2
  • D3PPRE: /2
  • USB Clock Mux: PLL3Q
 col  |  A1     A0  | col
______+  A3     A2  +_______
 SPI6 |  A5     A4  |
______+  A7     A6  | row
 row  |  C5     C4  |
______+  B1     B0  +_______

10 pin Keyboard IOs here? ^

I2C:

  • 1: (PB7 or PB9) and PB8
  • 2: PB10 PB11
  • 3: N/A (SD and USB inhibit)
  • 4: (PB7 or PB9) and PB8

SPI2:

  • COPI (PC1, PC3, PB15)
  • CIPO (PC2, PB14)
  • SCK (PB10, PB13, PD3)

Misc notes:

  • MDIOS - remote config interface? For a host PC?
  • SWPMI - Single Wire Protocol... something

SPI1_MISO PB4 SPI1_SCK PB3 SPI1_MOSI PD7

SPI2_MOSI PB15 SPI2_MISO PB14 SPI2_SCK PB13

SPI6_SCK PA5 SPI6_MOSI PA7

I2C1_SCL PB8 I2C1_SDA PB7