STM32F103VBT6 to STM32F405RG migration

The official pyboard running MicroPython.
This is the reference design and main target board for MicroPython.
You can buy one at the store.
Target audience: Users with a pyboard.
Post Reply
fma
Posts: 158
Joined: Wed Jan 01, 2014 5:38 pm
Location: France

STM32F103VBT6 to STM32F405RG migration

Post by fma » Thu Jun 26, 2014 7:20 am

Hi!

I own an Helios ventilation unit, which as very poor firmware. It is buggy, it has useless features, and missing important ones. More, the model I bought will never has a KNX gateway (unlike all other models)... And Helios support is inefficient, at least the french one.

So, I plan to re-write the firmware. But I don't have skills to develop in C (especially with STM32, which is much more complicated than AVR), and I would love to switch to micropython.

The electronic currently uses a LQFP100 STM32F103VBT6 chip. I had a look at the pinout, and it looks like it is really close to the LQFP100 STM32F405RG one! The only differences I found are :

Code: Select all

Pin   F103     F405
19    VSSA     VDD
20    VREF-    VSSA
49    VSS_1    VCAP_1
73    NC       VCAP_2
So, the idea is to remove the F103 and solder a F405. What I will need to do is:

- reroute pin 19 to other VDD signals (if needed)
- keep pin 20 connected, as VREF- should be routed to VSS on previous board (need to check)
- reroute pin 49 and insert a 2,2µF capacitor (to ground)
- insert a capacitor on pin 73, as for pin 49

What do you think? Am I missing import points?

Then, micropython firmware part. I guess I will have to compile a new firmware, in order to support additionnal pin (original pyboard only uses a LQFP64 chip). Is it something easy to do, by changing/adding a few #define in the code? Or does it need to add some code to support additionnal timers/ADC and so?

Last: will it be possible to enable all alternate features to match the ones needed on the vent unit board? I dscribed them here:

https://www.logre.eu/wiki/Firmware_VMC_ ... 9sum.C3.A9

Thanks for your help.

PS : do you know a dev board using a LQFP100 STM32F405RG chip?
Frédéric

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

Re: STM32F103VBT6 to STM32F405RG migration

Post by dhylands » Thu Jun 26, 2014 8:10 am

I looked at adapthing this: (which uses a '103) https://www.tindie.com/products/bobrici ... 2f103rbt6/

The board files are here: https://oshpark.com/shared_projects/2g2CvgcO I was thinking that using a 405 would make for a neat variant of a micropython board.

The STM32F4 Discovery board uses the '407 in a 100 pin package.

You can check https://github.com/micropython/micropyt ... 4xx-af.csv to see the functions available on each port/pin in the STM32F4 family and verify that one of the alternate functions matches each function you need.

fma
Posts: 158
Joined: Wed Jan 01, 2014 5:38 pm
Location: France

Re: STM32F103VBT6 to STM32F405RG migration

Post by fma » Thu Jun 26, 2014 8:16 am

Is it possible to choose the AFs from micropython, or does it need C-level mods?
Frédéric

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

Re: STM32F103VBT6 to STM32F405RG migration

Post by dhylands » Thu Jun 26, 2014 8:21 am

Right now it needs C mods (in general). For functions which are currently supported in micropython (GPIO, ADC, I2C, SPI) the C side is already taken care of.

Actually, using stm.mem8/16/32 you can read/write any register, so in theory you could do it all from python.

fma
Posts: 158
Joined: Wed Jan 01, 2014 5:38 pm
Location: France

Re: STM32F103VBT6 to STM32F405RG migration

Post by fma » Thu Jun 26, 2014 8:40 am

I didn't know this feature! Nice :D
Frédéric

Post Reply