5 ms·
The raspberry pico is much nicer to work with, if you're looking for an alternative. It has dual core if you need it, and the fun little IO coprocessors if you
by procaryote 10mo ago
The raspberry pico is much nicer to work with, if you're looking for an alternative. It has dual core if you need it, and the fun little IO coprocessors if you want to get really low level. The pico2 even has a risc-v mode
The process of getting a binary onto the board is just dragging a file, and on linux at least you can script it with picotool
- schappim 10mo agoTo "yes, and..." you, the whole RP2040 microcontroller line is great and I would encourage folks to support the smaller maker/OSHW companies on Tindie[1] who use it. [1] https://www.tindie.com/search/?q=rp2040 https://www.tindie.com/search/?q=rp2040
- jack_tripper 10mo ago>It has dual core if you need it, and the fun little IO coprocessors I think you're missing the point of what made arduino so popular. It's not the HW itself, it's that you can plug in whatever display, sensor or motor driver out there, and there's ready made templates in the IDE that gets you running immediately, without you having to know anything about how the HW or SW works under the hood. The lack of dual cores or "fun IO coprocessor" whatever fun is in that context, was never an issue for the arduino. There's a virtually unlimited number microcontrollers and boards out there for tinkering or production, that are more powerful and have more features, but they all have a higher technical barrier to entry than the standard Arduino out of the box. I don't wanna have to read datasheets and erratas just to learn how to use a second core, deal with shared memory between cores, or how to configure the GPIO of the "fun IO coprocessor" just to get a LED blinking to work. That's not what fun is to a lot of people. Fun is getting the motor spinning until my coffee finishes brewing and that's where the Arduino ecosystem USP was versus other more powerful platforms.
- crote 10mo agoThe RP2xxx also comes with excellent documentation and libraries. If anything, with the drag-n-drop flashing it is even easier to work with than an Arduino.
- jack_tripper 10mo ago>The RP2xxx also comes with excellent documentation and libraries Are they more in number and easier to use than the Arduino libraries? >If anything, with the drag-n-drop flashing it is even easier to work with than an Arduino. Why do you think the Arduino is more difficult than "drag-n-drop flashing" by comparison? Do you think one click is more difficult?
- gadyke 10mo ago> Are they more in number and easier to use than the Arduino libraries? It's not either/or, beyond what's in the native SDK RP2 boards also benefit from the Arduino ecosystem via the excellent and well maintained https://github.com/earlephilhower/arduino-pico https://github.com/earlephilhower/arduino-pico
- crote 10mo ago> Are they more in number and easier to use than the Arduino libraries? I haven't done a direct comparison, but considering that the hobbyist ecosystem (which is the main source of those libs) is shifting over, it is just a matter of time. > Why do you think the Arduino is more difficult than "drag-n-drop flashing" by comparison? Because you need to install an IDE and mess around with things like serial drivers - and it gets a lot more complicated if you ever have to flash a bootloader. It's not hard, but it's definitely not as trivial as the RP2xxx's drag-n-drop.
- jameshart 10mo agoFrom a practical end user perspective, being able to buy a device, and download and install binaries onto it to make it perform a specific purpose by plugging it in and dragging the file over, is considerably easier than installing an IDE, and downloading compiling and installing from source. Look at how Ben Eater built and set up the SIDKPico to serve as a SID audio chip in his 8 bit breadboard computer here: https://www.youtube.com/watch?v=nooPmXxO6K0 https://www.youtube.com/watch?v=nooPmXxO6K0
- 1718627440 10mo ago> I don't wanna have to read datasheets and erratas I recently started programming Arduino for profit and you need to do exactly that, because the libraries range from somewhat buggy to completely broken. They so often just write into random other registers and if it works it is only do to the chip already working without any configuration and the library not breaking things too badly.
- szundi 10mo agoIf you go mainstream with your requirements, you don’t step on these though
- 1718627440 10mo agoThis is from a child comment that is dead, but I still wanted to answer: > szundi > If you go mainstream with your requirements, you don’t step on these though Absolutely not. I am talking about things like the example in the README, which actually doesn't do anything, because they forgot the shift to make it write into the right field. Or they added "support" in 2012 for the only chip which is still sold, but forgot to update the register addresses, so now you have code for a newer chip, which uses the register addresses of the old chip. This does not work with either chip. And this is all with the libraries "officially" "provided" by Arduino.
- vrighter 10mo agoif you rely on hobbyist libraries, you will eventually have to read datasheets. They usually only contain the barest minimum possible that one can still call "working". Usually most of the functionality of the device you're using is just not supported. At which point it's datasheet time. And before long, you'll find yourself reading datasheets first and doing your utmost to avoid the "ready made templates"
- procaryote 10mo agoI get the impression that pico with micropython does this pretty well. You can ignore the second core and PIO if you don't want them. They won't hurt you.
- crote 10mo agoThe flipside of this is that the RP2xxx has rather poor hard IP, and the PIO is not quite powerful enough to make up for it. They are great for basic hobbyist projects, but they just can't compare to something like an STM32 for more complicated applications. They are a pleasure to work with and I think that they are great MCUs, but every time I try to use them for nontrivial applications I end up being disappointed.
- schappim 10mo agoSTM32 is great! > nontrivial applications Out of curiosity, where do you find that you’re hitting the limits of what it can handle?
- crote 10mo agoTo give a very basic example: its times can't do input capture. This means you have no easy way to do high-accuracy pulse time measurement. Compare the two datasheets, and the STM33's timers literally have orders of magnitude more features. Only having two UARTs can be limiting - and PIO is a no-go if you want offloaded parity checking and flow control. The PIO doesn't have an easy external clock input. No CAN or Ethernet makes usage in larger systems tricky. There's no USB Type-C comms support. Its ADC is anemic (only 4 channels, with 36 io pins?). There are no analog comparators. It doesn't have capacitive touch sensing. There's no EEPROM. None of them are direct dealbreakers and you can work around most of them using external hardware - but why would you want to do so if you could also grab a MCU which has it fully integrated already?
- rasz 10mo ago>This means you have no easy way to do high-accuracy pulse time measurement is 2.5ns (https://github.com/gusmanb/logicanalyzer https://github.com/gusmanb/logicanalyzer) to 3.3ns (https://github.com/schlae/pico-dram-tester https://github.com/schlae/pico-dram-tester) resolution not enough for you?
- crote 10mo ago
- dvh 10mo agoHow long does raspberry pico run on CR2032? I'm asking because used Arduino ide to program STM32L011 and it would run for months or even years.
- DrewADesign 10mo agoI believe you need 5v to run the regular $4 pi pico board. The chip only requires 3.2v though so maybe it’s not a hard requirement? There are probably other lighter weight RP2040 boards but I don’t think months or years-long low power usage was an intended goal— it’s $4 (still!) with 40 GPIO pins and PIO and it runs micropython for people scared of/chafed by C— it’s a prototyping/hobby tool.
- galleywest200 10mo agoPi Pico has a lower power mode that sleeps when not in use that draws well under 5v, but you the programmer have to activate it. I think it is called “lightsleep” but may be wrong.
- DrewADesign 10mo agoHuh, interesting. I haven’t played around with one in a few years.
- 05 10mo agoIt has sleep current of 200microamps, so no longer than 40 days…
- bigfishrunning 10mo agoThe STM32L011 in no way requires the arduino IDE; your code would likely compile with GCC just fine. The pico would probably work if you redesigned your project, but your hardware very likely doesn't need to change, just the software you're using.
- markb139 10mo ago“ The process of getting a binary onto the board is just dragging a file, and on linux at least you can script it with picotool” Even easier if you setup debugging using another pico, debug probe or even a Pi (not sure if this works on the 5)
- quailfarmer 10mo ago+1, if only for the documentation. If you haven’t, skim through it: https://pip.raspberrypi.com/documents/RP-008373-DS-2-rp2350-datasheet.pdf https://pip.raspberrypi.com/documents/RP-008373-DS-2-rp2350-... it’s truly unlike any reference manual I’ve ever read. I will happily pay a few extra cents at modest volumes for a chance to get the detailed technical details and opinions from the design team.
- scottbez1 10mo agoFlashing can be easy, sure. Compiling that binary, including library management, is not, unless you’re using something like micropython. CMake is not hobbyist/student-friendly as an introductory system. (Arduino isn’t either, but platformio with Arduino framework IS! RPi refuses to support platformio sadly) Arduino took over for 3 reasons: a thoughtful and relatively low cost (at the time) development board that included easy one-click flashing, a dead-simple cross-platform packaging of the avr-gcc toolchain, and a simple HAL that enabled libraries to flourish. Only the first item, and a bit of the second), is really outdated at this point (with clones and ESP32 taking over the predominant hardware) but the framework is still extremely prominent and active even if many don’t realize it. ESPHome for example still will generally use the Arduino HAL/Framework enabling a wide library ecosystem, even though it’s using platformio under the hood for the toolchain. Even folks who “don’t use Arduino any more” and use platformio instead are often still leveraging the HAL for library support, myself included. Advanced users might be using raw esp-idf but the esp-idf HAL has had a number of breaking API changes over the years that make library support more annoying unless you truly need advanced features or more performance.
- procaryote 10mo agoCMake doesn't spark joy, but it's not something you need to touch constantly. I figured out how to set up a basic cmake file and now I mostly need to touch it to set a project name, add or remove modules etc. It was a while since I used arduino, but I remember having a harder time setting up a workflow that didn't need me to touch the arduino IDE.