• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    C
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MicroPython board definition for the WeAct STM32F411CEU6 board

WeAct STM32F411CEU6

MicroPython board definition files for the WeAct V1.3 STM32F411CEU6 dev board.

board

Build the firmware

Clone the board definitions to your MicroPython ports/stm32/boards folder.

cd micropython/ports/stm32/boards
git clone https://github.com/mcauser/WEACT_F411CEU6.git

cd ..
make BOARD=WEACT_F411CEU6

Flashing via DFU

This board can be flashed using DFU. To put the board in DFU mode, disconnect USB, connect A9 to A10 and reconnect USB. Press and hold BOOT0. Press and release RESET. Wait 0.5 seconds. Release BOOT0.

List attached DFU capable devices to check you are in DFU mode.

dfu-util -l

Found DFU: [0483:df11] ver=2200, devnum=12, cfg=1, intf=0, path="20-2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="328A37623437"
Found DFU: [0483:df11] ver=2200, devnum=12, cfg=1, intf=0, path="20-2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="328A37623437"
Found DFU: [0483:df11] ver=2200, devnum=12, cfg=1, intf=0, path="20-2", alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e", serial="328A37623437"
Found DFU: [0483:df11] ver=2200, devnum=12, cfg=1, intf=0, path="20-2", alt=0, name="@Internal Flash  /0x08000000/04*016Kg,01*064Kg,03*128Kg", serial="328A37623437"

Now you can flash the board using USB with the command:

make BOARD=WEACT_F411CEU6 deploy

Once the upload is complete, disconnect USB, remove jumper between A9 and A10, then reconnect USB.

Alternatively, you can use the MicroPython command pyb.bootloader() to get into DFU mode without needing to use the switch.

Currently, you need to unplug and replug the board in order to switch from DFU mode back to regular mode.

Accessing the board

Once built and deployed, you can access the MicroPython REPL (the Python prompt) via USB serial.

screen /dev/tty.usbmodem1422 115200
# or
screen /dev/ttyACM0 115200

Flash

In mpconfigboard.h you can configure the board to use F411CE internal flash or if you add a SPI flash chip to the bottom of the board you can use it instead.

If you use internal, there's only around 45kb free. With external you can have 4-16 MB.

// Use internal flash (512 KByte):
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1)

// Or use external SPI flash:
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (0)

Tested with:

  • Winbond W25Q32 (4 MByte)
  • Winbond W25Q64 (8 MByte)
  • Winbond W25Q128 (16 MByte)

Define the size that matches your flash chip.

// Winbond W25Q32 (4 MByte)
#define MICROPY_HW_SPIFLASH_SIZE_BITS (32 * 1024 * 1024)

// Or Winbond W25Q64 (8 MByte)
#define MICROPY_HW_SPIFLASH_SIZE_BITS (64 * 1024 * 1024)

// Or Winbond W25Q128 (16 MByte)
#define MICROPY_HW_SPIFLASH_SIZE_BITS (128 * 1024 * 1024)

If you use the wrong one, say 8 MB but you only have a 4 MB chip, it will appear as an 8 MB volume and let you write more than 4 MB, but you absolutely will get data corruption.

You can also use external SPI flash modules. Most modules have WP/IO2 and HOLD/RESET/IO3 pulled high, so you can't use Quad SPI mode, only SPI.

spi flash

Specifications

  • STM32F411CEU6 ARM Cortex M4
  • 100MHz, 125 DMIPS / 1.25 DMIPS / MHz
  • 1.7V - 3.6V operating voltage
  • 25MHz system crystal
  • 32.768KHz RTC crystal
  • 2.54mm pitch pins
  • JTAG/SWD header
  • 512 KByte Flash, 128 KByte SRAM
  • 5x SPI, 3x USART, 5x I2S, 3x I2C
  • 1x SDIO
  • 1x USB 2.0 FS
  • (Unpopulated) Winbond W25Q32 32Mbit SPI Flash
  • 1x ADC (12-bit / 16-channel)
  • 6x general timers, 2x advanced timers
  • USB-C for power and comms
  • Red power LED
  • Blue user LED (PC13) active low
  • 1x button for bootloader selection
  • Reset button, 1x user buttons KEY (PA0)
  • 2x20 side pins + 1x4 ISP pins
  • no mounting holes
  • Dimensions: 52.81mm x 20.78mm

Exposed Port Pins

  • PA0-PA12, PA15
  • PB0-PB10, PB12-PB15
  • PC13-C15

Peripherals

SPI Flash (U3) Unpopulated

  • 1 PA4 CS
  • 2 PA6 MISO
  • 3 3V3 WP
  • 4 GND GND
  • 5 PA7 MOSI
  • 6 PA5 SCK
  • 7 3V3 HOLD
  • 8 3V3 VCC

SWD debug (P3)

  • 1 GND GND
  • 2 PA14 SWCLK
  • 3 PA13 SWDIO
  • 4 3V3 VCC

USB-C (J1)

  • 1 GND
  • 2 VBUS 5V
  • 3 PA11 USB_DN
  • 4 PA12 USB_DP

User LED

  • PC13 Blue LED

Links

Related boards

License

Licensed under the MIT License.

More Repositories

1

awesome-micropython

A curated list of awesome MicroPython libraries, frameworks, software and resources.
HTML
913
star
2

micropython-waveshare-epaper

MicroPython drivers for Waveshare e-paper modules
Python
253
star
3

micropython-max7219

MicroPython driver for MAX7219 8x8 LED matrix modules, cascadable and with framebuf
Python
146
star
4

micropython-tm1637

MicroPython driver for TM1637 quad 7-segment LED modules
Python
136
star
5

BLACK_F407VE

MicroPython board definition for the MCUDev Black STM32F407VET6 board
C
100
star
6

Fritzing-Part-WeMos-D1-Mini

Fritzing Part: WeMos D1 Mini
Shell
77
star
7

micropython-tinyrtc-i2c

MicroPython driver for TinyRTC I2C modules with DS1307 RTC and AT24C32N EEPROM
Python
59
star
8

micropython-pcd8544

MicroPython driver for Nokia 5110 PCD8544 84x48 LCD modules
Python
55
star
9

MCUDEV_DEVEBOX_F407VGT6

MicroPython board definition for the MCUDev DevEBox STM32F407VGT6 board
C
53
star
10

MCUDEV_DEVEBOX_H7XX_M

MicroPython board definition for the MCUDev DevEBox STM32H7XX_M boards
C
52
star
11

MicroPython-ESP8266-DHT-Nokia-5110

MicroPython example using a DHT12, AM2320 and a Nokia 5110 with an ESP8266
Python
43
star
12

BLUE_PILL_F103C8

MicroPython board definition for the Blue Pill STM32F103C8T6 board
C
41
star
13

micropython-mcp23017

MicroPython driver for MCP23017 16-bit I/O Expander
Python
39
star
14

Fritzing-Part-WeMos-D1-mini-Shields

Fritzing Part: WeMos D1 Mini Shields
Shell
34
star
15

MicroPython-ESP8266-Nokia-5110-Conways-Game-of-Life

Conway's Game of Life on a Nokia 5110 with WeMos D1 mini running MicroPython ESP8266
Python
29
star
16

YX8018-solar-led-driver

YX8018 LED driver in Bunnings Lytworx solar garden LED lights
29
star
17

micropython-mlx90614

MicroPython driver for the MLX90614 IR temperature sensor
Python
27
star
18

BLACK_F407ZE

MicroPython board definition for the MCUDev Black STM32F407ZET6 board
C
26
star
19

i2cdetect

Arduino library for scanning I2C bus for devices
C++
24
star
20

micropython-pcf8574

MicroPython driver for PCF8574 8-Bit I2C I/O Expander with Interrupt
Python
24
star
21

BLACK_F407ZG

MicroPython board definition for the MCUDev Black STM32F407ZGT6 board
C
24
star
22

WeMos-D1-mini-Nokia-5110-PCD8544

Arduino examples
24
star
23

micropython-ssd1327

MicroPython driver for SSD1327 128x128 4-bit greyscale OLED displays
Python
23
star
24

micropython-am2320

MicroPython driver for the Aosong AM2320 temperature and humidity sensor
Python
23
star
25

ESP8266-WiFi-Signal-Strength-Graph-Nokia-5110

Arduino
23
star
26

micropython-tm1638

MicroPython driver for TM1638 dual quad 7-segment LED modules with switches
Python
22
star
27

Raspberry-Pi-ITead-Studio-GPS-NEO-6M

Experiments with my ITead Studio RPI GPS Add On
22
star
28

micropython-74hc595

MicroPython driver for 74HC595 shift registers
Python
21
star
29

micropython-ys-irtm

MicroPython examples for YS-IRTM 5V NEC Infrared UART transceivers
20
star
30

Fritzing-Part-WiFi-Witty-Gizwits-ESP-12F

Fritzing Part: WiFi Witty Gizwits ESP-12F
Shell
20
star
31

VCC_GND_F407VE

MicroPython board definition for the VCC GND STM32F407VET6 mini board
C
18
star
32

MCUDEV_DEVEBOX_F407VET6

MicroPython board definition for the MCUDev DevEBox STM32F407VET6 board
C
16
star
33

micropython-dht12

MicroPython driver for the Aosong DHT12 temperature and humidity sensor
Python
15
star
34

Grove-Eagle

Eagle source files for Grove modules
Eagle
13
star
35

BLUE_BUTTON_F103RET6

MicroPython board definition for the Blue Button STM32F103RET6 board
C
13
star
36

esp8266-useless-throwie

ESP8266 Useless Throwie
HTML
13
star
37

micropython-mpr121

MicroPython driver for MPR121 capacitive touch keypads and breakout boards
Python
13
star
38

micropython-tm1640

MicroPython driver for TM1740 8x8 LED matrix modules
Python
12
star
39

micropython-pcf8575

MicroPython driver for PCF8575 16-Bit I2C I/O Expander with Interrupt
Python
11
star
40

micropython-tca9548a

MicroPython examples using TCA9548A I2C multiplexer
11
star
41

MicroPython-ESP8266-Nokia-5110-Bitcoin

MicroPython library for displaying bitcoin price index on a Nokia 5110 display with PCD8544 driver
Python
10
star
42

microbit-tm1637

MicroPython for micro:bit library for quad 7-segment LED modules using TM1637 LED driver
Python
9
star
43

micropython-ys-rf34t

MicroPython examples using YS-RF34T 433MHz ASK/OOK UART transceivers
7
star
44

Fritzing-Part-Micro-Python-pyboard

Fritzing part: MicroPython pyboard
Shell
7
star
45

WeMos-D1-mini-OLED-Shield-64x48-SSD1306

C
7
star
46

micropython-ttp223

MicroPython examples using TTP223 capacitive touch module
6
star
47

micropython-my9221

MicroPython driver for MY9221 10-segment LED bar graph modules
Python
6
star
48

micropython-hx1230

MicroPython library for HX1230 96x68 LCD modules
Python
5
star
49

XL7105-SY-B-Breakout

Breakout board for the XL7105-SY-B 2.4GHz RF transceiver module
5
star
50

micropython-p9813

MicroPython driver for P9813 chainable RGB LEDs
Python
4
star
51

Fritzing-Part-DFRobot-DFPlayer-Mini

Fritzing Part: DFRobot DFPlayer Mini
Shell
4
star
52

MicroPython-ESP8266-Nokia-5110-Quad-7-segment

MicroPython library for emulating quad 7-segment LED displays on a Nokia 5110 with PCD8544 driver
Python
3
star
53

RadioHead

Mirror of Mike McCauley's RadioHead library
C++
3
star
54

deshipu-micropython-oled

Python
3
star
55

micropython-sht31

MicroPython driver for the SHT31 Temperature and Humidity Sensor
2
star
56

micropython-lm75a

MicroPython driver for the LM75A digital temperature sensor
Python
2
star
57

VCC_GND_F407ZG

MicroPython board definition for the VCC GND STM32F407ZGT6 mini board
C
2
star
58

micropython-tinypico-lol-rgb-shield

A MicroPython library for the TinyPICO LOL RGB Shield
Python
2
star
59

microbit-dht12

MicroPython for micro:bit library for the Aosong DHT12 temperature and humidity sensor
Python
2
star
60

deshipu-micropython-pca9685

Python
2
star
61

micropython-hz1050

MicroPython driver for HZ-1050 UART and Wiegand 125Khz RFID Reader
2
star
62

A7139-Breakout

Breakout board for the A7139 433MHz RF transceiver module
2
star
63

deshipu-micropython-bno055

Python
2
star
64

14-segment-led-alphanumeric

1
star
65

deshipu-micropython-ht16k33

Python
1
star
66

micropython-nrf905

MicroPython driver for Nordic nRF905 Sub-1GHz RF transceiver modules
1
star
67

coldfusion-munin

Munin plugins for ColdFusion
ColdFusion
1
star
68

deshipu-micropython-max31855

Python
1
star
69

circuitpython-feathers2neo-rgb-matrix

CircuitPython library for FeatherS2 Neo RGB Matrix
Python
1
star
70

deshipu-micropython-sdcard

Python
1
star
71

LC12S-Breakout

Breakout board for the LC12S 2.4GHz UART transceiver module
1
star
72

micropython-rda5807m

MicroPython driver for RDA5807M stereo FM radio modules
1
star
73

micropython-max44009

MicroPython driver for the MAX44009 ambient light sensor
Python
1
star
74

micropython-pcd8544-c

C
1
star
75

deshipu-micropython-ili9341

Python
1
star