Skip to content

CAN, I2C, Serial, PWM - should I start project with Arduino? #683

Closed
@SuperBoss9

Description

@SuperBoss9

Hello EveryOne!

Due to absence of the official forum according to STM32Duino I have to ask here.

I'm going to start a project at STM32F103RB chip (and use for tests Nucleo STM32F103RB board) that will use broadly the following things:

  1. PWM out to 4 pins. It is good to be able to set frequence of the PWM.
  2. Voltage measurement at 6 pins.
  3. Management of 2 relays.
  4. I2C communication with EEPROM chip.
  5. CAN communication (using STM32 on board feature) with a vehicle network.
  6. Encoders, buttons and LEDs as usually.
  7. Waste mathematics in a loop.
  8. Serial listener and parser for commands understanding.

It will be good to use RTOS because it can help in development. But ordinary scheduler and interrupts can be also used.

The question is - should I start my development using STM32Duino or try again for MBED?

PS. I spent almost two month trying to select the best framework for this development. I have experience in Arduino (AVR, ESP8266). But decided to try MBED. After 2 months with MBED I can say that I'm ready to return back to Arduino (PlatformIO + STM32Duino) because:
a. Absence of normal String class in MBED => Constant hassle with char[], c_str, string etc.
b. Any action requires a lot of efforts + strange behaviour of some components.
c. Lack of memory (103RB has 20 RAM that should be enough). MBED core (OS 5) takes a lot of memory even for empty program. I run of memory not implementing even 1/30 of all functions I need.
d. Long compilation time. MBED compiles everything. Under PIO it takes minutes, under Mbed Studio it takes tens of seconds. Arduino with STM32Duino compiles instantly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    question ❓Usually converted as a discussion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions