Which framework to use for coding RP2040

The Arduino IDE offers two environments for coding the Raspberry Pico, one based on open source Mbed the other on earlephihower which is derived from the official RP2040 C / C++ SDK.

I would like to know the pro's and cons's between using either of these implementations

Am trying both and often there is confusion re pin numbering / compatibility when trying to understand why example code is not working as documented.

Many thanks in advance.

earlephilhower's implementation is geared infinitely more for multicore applications, RTOS, advanced sdk commands, state machine controls etc.

Mbed is easy to use and familiar for arduino users, it boasts the general single core everything is safe for begginers methodology of arduino code, sacrificing the heaps of performance for ease of use.

If you are a beginner to coding in general use Mbed hence you won't be familiar with multicore aspects, like semaphores atomic executions, race conditions etc.

But if you know a fair bit of programming and want to improve on and use what
industry needs, I deffinitely reccomend arduino-pico from earlephilhower, and even bare pico-sdk but arduino-pico should be a nice starting point with good documentation and ability to use partial arduino libraries commands, whilst not sacrificing the use of commands from pico-sdk.

Thank you for speedy response - appreciated.

..."if you are a beginner to coding in general use Mbed"... My introduction to programming was in the 1970's using assembler (Intel 4004 and 8008 processors) and throughout my working life I have had exposure to progressively 'higher' languages (Cobol, Fortran,...) and some proprietary code used in early computer assisted bio-medical research equipment (74 series logic based) but never have I been employed as a 'programmer'.

Have 'experimented' (played) with Arduino boards for a few years but recently was asked if I could develop an application to run on a micro controller (Raspberry Pi Pico). I confirmed 'proof of concept' using a Raspberry Pi SBC running Linux but developing application to run on the Pico is a new learning curve.

Considered MicroPython (seemingly MUCH friendlier) but performance and overhead when compared to C/C++ was a deciding factor.

Tried several other IDE approaches but the Arduino IDE seems to hurt my brain less...

There is an interesting discussion (short) on Github that seems to be relevant that highlights a couple of points I would never have thought about, my ignorance to blame for sure! url if interested: - Comparison of arduino-pico to MBED-OS core (app size, RAM, features, etc.) · earlephilhower/arduino-pico · Discussion #246 · GitHub

Thanks again for your feedback.

Your question does not indicate a problem with the IDE 2.x (or 1.x for that matter) but has more generic nature. Hence I've moved your topic to a more suitable location on the forum.

Noted and sorry for 'newbie' mistake.
Enjoy your day.

I find the overhead and performance loss introduced by MBED to be excessive and depressing.
Micros() on a 120Mhz cpu should not take 4us to retrieve the value of a hw counter, for example.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.