[STM32L432 - NUCLEO 32]

Discussion and questions about boards that can run MicroPython but don't have a dedicated forum.
Target audience: Everyone interested in running MicroPython on other hardware.
mroussel
Posts: 7
Joined: Fri Nov 23, 2018 6:08 pm
Location: Montreal, Quebec, Canada

[STM32L432 - NUCLEO 32]

Post by mroussel » Fri Nov 23, 2018 7:41 pm

I have not found any ports to this Nucleo board STM32L432KC and i googled all over

the board in question:https://www.st.com/content/st_com/en/pr ... 432kc.html

is there something that is blocking or incompatible with micropython?

128k flash / 64 k ram / cpu clock @ 80MHz

what am i missing ?
this looks like a perfect fit for micropython so why no ports exist?

i am willing to do the port , i need to understand the possible pitfalls?

martin

User avatar
dhylands
Posts: 3821
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: [STM32L432 - NUCLEO 32]

Post by dhylands » Fri Nov 23, 2018 8:34 pm

While you should be able to make micropython fit in 128K, it will be rather tight and you'll need to turn off lots of features including the filesystem to make things fit.

mroussel
Posts: 7
Joined: Fri Nov 23, 2018 6:08 pm
Location: Montreal, Quebec, Canada

Re: [STM32L432 - NUCLEO 32]

Post by mroussel » Fri Nov 23, 2018 10:18 pm

David , (thanks for quick response)

good news after re checking the spec. I see that we have
256 KB Flash
64 KB SRAM

so double the flash as stated above

so then , correct me if I am wrong, this is a possible candidate for mPY?

I remember reading the porting guide somewhere , but that was a long time ago , can someone point me in the right direction

or if someone as done the port already please point me there

thanks

martin

User avatar
boochow
Posts: 30
Joined: Sat Dec 16, 2017 9:36 am

Re: [STM32L432 - NUCLEO 32]

Post by boochow » Tue Nov 27, 2018 5:22 pm

This tiny board is cute. I got one for me today and have been trying to port uPy.
I made board configuration files and tried to build it then found that STM32L432 lacks some commonly used peripherals TIM3 and SPI2 so it seems that we have to modify some stm32 port sources.

User avatar
boochow
Posts: 30
Joined: Sat Dec 16, 2017 9:36 am

Re: [STM32L432 - NUCLEO 32]

Post by boochow » Thu Nov 29, 2018 3:20 pm

Finally, I have succeeded to got REPL.
I referred the F091 settings to determine which feature to be enabled and the file size of firmware.bin became 235024 bytes (with no flash file system).

Code: Select all

MicroPython v1.9.4-691-g4f25a8b-dirty on 2018-11-30; NUCLEO-L432KC with STM32L432KC
Type "help()" for more information.
>>> help('modules')
__main__          heapq             re                ujson
_onewire          io                select            umachine
array             json              struct            uos
binascii          lcd160cr          sys               urandom
builtins          lcd160cr_test     time              ure
cmath             machine           ubinascii         uselect
collections       math              ucollections      ustruct
dht               micropython       uctypes           utime
errno             onewire           uerrno            utimeq
framebuf          os                uhashlib          uzlib
gc                pyb               uheapq            zlib
hashlib           random            uio
Plus any modules on the filesystem
>>> import gc
>>> gc.mem_free()
39536
>>>

shaoziyang
Posts: 363
Joined: Sun Apr 17, 2016 1:55 pm

Re: [STM32L432 - NUCLEO 32]

Post by shaoziyang » Fri Nov 30, 2018 1:02 am

It is great!

mroussel
Posts: 7
Joined: Fri Nov 23, 2018 6:08 pm
Location: Montreal, Quebec, Canada

Re: [STM32L432 - NUCLEO 32]

Post by mroussel » Fri Nov 30, 2018 4:45 am

Great indeed

(I am new to the micropython code base)

Boochow
your bin is 235024 bytes out of 256K of flash so that leaves ~ 21 K free in on board flash

21k is not much to add a file system (data + driver)

Boochow do you think a flash file system DRIVER could be added with the place left in on board flash?

We could add a quad spi serial eeprom lets say 2 GB for the file system data

picture showing what i propose
small.png
small.png (128.94 KiB) Viewed 9225 times
It would be a PCB that would slip on to the pins on top side of nucleo-32 l432
and would reserve pins PA2-PA3-PA6-PA7-PB0-PB1 for QSPI interface , the rest of the pins would stay as is

does MPY support QSPI?

Do you use DFU or STlink to load firmware?

Does the REPL use the STlink Virtual com port?

regards

Martin

mroussel
Posts: 7
Joined: Fri Nov 23, 2018 6:08 pm
Location: Montreal, Quebec, Canada

Re: [STM32L432 - NUCLEO 32]

Post by mroussel » Fri Nov 30, 2018 4:52 am

the STM32L432 - NUCLEO 32 board goes for ~25$

FYI just found this (no price announced)
have a look at this board coming soon it is a micro-MONSTER
viewtopic.php?f=19&t=4957&hilit=qspi

User avatar
boochow
Posts: 30
Joined: Sat Dec 16, 2017 9:36 am

Re: [STM32L432 - NUCLEO 32]

Post by boochow » Fri Nov 30, 2018 11:56 am

mroussel wrote:
Fri Nov 30, 2018 4:45 am
Boochow do you think a flash file system DRIVER could be added with the place left in on board flash?

does MPY support QSPI?

Do you use DFU or STlink to load firmware?

Does the REPL use the STlink Virtual com port?
mroussel,

Enabling VfsFat module results 248952 bytes of firmware.bin, which fits in the L432's flash.

I don't know about QSPI but it seems that STM32 port provides accessing QSPI-connected internal flash but no support for QSPI peripheral.
Maybe you can use SPI to connect SD card for an external storage.
Or, you can add your own module for block device using QSPI connected serial EEPROM.

I am using STMicro's ST-Link Utility to flash the firmware.

REPL is routed to USART2, which is connected to STLink VCP.

User avatar
boochow
Posts: 30
Joined: Sat Dec 16, 2017 9:36 am

Re: [STM32L432 - NUCLEO 32]

Post by boochow » Sat Dec 01, 2018 2:44 am


Post Reply