Page 1 of 1

STM32F103VBT6 to STM32F405RG migration

Posted: Thu Jun 26, 2014 7:20 am
by fma
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?

Re: STM32F103VBT6 to STM32F405RG migration

Posted: Thu Jun 26, 2014 8:10 am
by dhylands
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.

Re: STM32F103VBT6 to STM32F405RG migration

Posted: Thu Jun 26, 2014 8:16 am
by fma
Is it possible to choose the AFs from micropython, or does it need C-level mods?

Re: STM32F103VBT6 to STM32F405RG migration

Posted: Thu Jun 26, 2014 8:21 am
by dhylands
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.

Re: STM32F103VBT6 to STM32F405RG migration

Posted: Thu Jun 26, 2014 8:40 am
by fma
I didn't know this feature! Nice :D