STM32?



  • So.. I accidentally bought something from Aliexpress that I thought was a cheap Arduino Nano.

    But it's not.

    It's an STM32F103C8T6. It has an arm chip.

    Is it useable with MySensors? Does it emulate an Arduino Nano? Of so, it looks like it has more memory, so could that be useful? It's cheaper too, and it has lots of 3v lines.

    I just found this page where someone talks about their adventures with this board. Hmm...


  • Admin



  • Cool!

    • Cheaper
    • Faster
    • More memory
    • More storage
    • 5v and lots of 3V lines

    Any downsides? How stable is the 3V line? Does it use more power?


  • Mod

    I think it is missing serial pins, so if you don't need serial communications you should be ok. Of course the older 328p has much wider support, but eventually in time more people will buy the STM32


  • Admin

    @gohan

    It does contain serial interfaces, and more than one.. In many aspects, cortex m0, m3 etc, are way superior compared to the atmega 328...


  • Mod

    Well I probably confused with another Arduino board 😌



  • @alowhum I use the same board as dev board and it works well, I had no problems with it using STM32's own libraries.
    It has I2C, SPI, UART, even USB and 5V-tolerant inputs and so on.
    I like it. :)


  • Mod

    but for a battery powered sleeping node it is better a mini pro that hasn't the usb chip that drains power, right?


  • Hardware Contributor

    @gohan
    This ST32 board doesn't have any usb chip, and doesn't need one, because the mcu already includes this feature.



  • This board just keeps getting better and better.

    Is there a way to try out this new functionality? I coincidentally could really use a 3.3 volt Arduino with micro-USB port.

    I don't like that the Pro Mini doesn't have a micro usb port for powering it. The Digispark Pro does have it, but I don't know if MySensors supports it. More importantly, it's twice as expensive.


  • Mod

    @alowhum a bit off topic, but I've bought a few micro usb connectors to be able to use the ubiquitous phone chargers to power Pro Minis.

    To try out the new functionality, order a few STM32. Then use the master MySensors branch from github. https://github.com/mysensors/MySensors/pull/795 will probably have been merged by the time your boards arrive :) If they haven't you can use tekka's branch.


  • Hardware Contributor

    Also, little sidenote, it's low power mcu i think, maybe not pico like 328p. And i don't know about the mysensors sleep functions (not implemented yet i think).
    But that said, it's a nice competitive alternative, like others ARM mcus which are very versatile :yum: (a bit more advanced than simple 8bit 328p) .

    Big thx to @tekka for his work on this nice addition, you rock :+1:

    Digispark pro may run mysensors, for very simple, no big memory task as it's using a smaller mcu than 328p for instance (i don't remember if attiny85 implementation has already been released).



  • Cool! I'll try that with the one I have already. In my sketches I try to make a non-sleep option, so the lack of sleep should not be a problem. Heh, funny sentence.

    Will I also need to install the STM32 library?


  • Hardware Contributor

    @alowhum
    this is starting to be a problem for me..the lack of sleep :smile:

    yes, i think you need to follow the howto you linked (for installing the core files)



  • @gohan Regarding of battery powered system...

    From STM32CubeMX power consumption calculator, it has the following current requirements:

    In RUN mode:

    • at 72MHz bus frequency, it needs 27 mA
    • at 16MHz and HSI PLL, it needs 6.8 mA
    • at 8 MHz and HSI, it needs 4 mA
    • at 1 MHz and HSI, it needs 900 μA
    • at 125 kHz and HSI, it needs 480 μA

    In STANDBY mode with all clocks off, it needs 2 μA


    In SLEEP mode:

    • at 125 kHz bus frequency and HSI, it needs 410 μA
    • at 1 MHz bus freq. and HSI, it needs 440 uA
    • at 8 MHz, it needs 600 μA

    Enabling the following peripherals, additional consumptions are (as for example):

    • GPIOA needs 833.75 nA
    • GPIOD needs 816.25 nA
    • I2C needs 1.25 μA
    • SPI1 needs 590 nA
    • TIMER1 needs 2.92 μA
    • TIMER2 needs 4.06 μA
    • TIMER4 needs 3.99 μA
    • USART1 needs 1.49 μA
    • USART3 needs 1.53 μA
    • USB needs 2.22 μA
    • Window watchdog needs 312.5 nA
    • Independent watchdog needs 1.71 μA
    • ADC1 needs 162.19 μA

    These are just some examples, not all possibilities and frequencies are listed here...

    There are also lower power STM32 series anyway.


  • Mod

    I'm curious because I saw these boards few months ago but I figured that community support was still in the early stages so I kind of didn't pay much attention to them and I preferred old but tested technology 😁



  • The patch has just been added to the Mysensors Development branch, so it's easier to try out.

    I've created a guide on how to get started on the SMT32Duino forum.



  • Heh, the STM32 doesn't have a digital pin 2 it seems. Where is the NRF supposed to connect to instead?


  • Mod



  • That's odd. I thought I had it just figured out. I'm about to test this at the top of a sketch:

    #define MY_RF24_CE_PIN PB0
    #define MY_RF24_CS_PIN PA4
    #define MY_RF24_MOSI_PIN PA7
    #define MY_RF24_MISO_PIN PA6
    #define MY_RF24_SCK_PIN PA5
    #define MY_RF24_IRQ_PIN PB10

    The fun thing is all the pins are almost in a row. Almost. And if the IRQ is A3, then one more pin would line up..

    According to this image the IRQ is pin PB10 though:
    http://wiki.stm32duino.com/images/a/ae/Bluepillpinout.gif


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.