
The Raspberry Pi Pico WAS Overrated! But here is why that changed!
video description
Date: 2022-07-24
Related videos
Comments and reviews: 15
education
it is a no brainer when this thing costs the same as a china clone arduino uno/nano that is already ancient, but has much more capability
if speed isnt a problem, u could literally do anything with micropython, when c would have you kill yourself
i could write ur 8 lines in c with just 1 line in python
python list are so flexible literally anyone can master digital processing with the least lines of codes and most straight forward way possible
c arrays and processing them are just so ugly when compared to python
u could get ur programs and projects done faster in python, yeah python is slow, but this thing runs 125mhz/133mhz and has dual cores, u can even stock overclock it to 180mhz with just a single line of code, though it is only fair that u r trading power consumption for so many benefits
not to mention arduino is overrated, u r not learning the microcontroller, u r learning the arduino and the libraries where everything is already done for u,
if u dont want to learn anything new, that's not my problem, at least i can further hone my skills and optimizations in python
not like python is useless, python is a big player in machine learning, and engineers dont just do circuits, we do digital stuff too, this isnt the 90s
and the pico is certainly a great place and the cheapest place to start for a MODERN microcontroller project
reply
it is a no brainer when this thing costs the same as a china clone arduino uno/nano that is already ancient, but has much more capability
if speed isnt a problem, u could literally do anything with micropython, when c would have you kill yourself
i could write ur 8 lines in c with just 1 line in python
python list are so flexible literally anyone can master digital processing with the least lines of codes and most straight forward way possible
c arrays and processing them are just so ugly when compared to python
u could get ur programs and projects done faster in python, yeah python is slow, but this thing runs 125mhz/133mhz and has dual cores, u can even stock overclock it to 180mhz with just a single line of code, though it is only fair that u r trading power consumption for so many benefits
not to mention arduino is overrated, u r not learning the microcontroller, u r learning the arduino and the libraries where everything is already done for u,
if u dont want to learn anything new, that's not my problem, at least i can further hone my skills and optimizations in python
not like python is useless, python is a big player in machine learning, and engineers dont just do circuits, we do digital stuff too, this isnt the 90s
and the pico is certainly a great place and the cheapest place to start for a MODERN microcontroller project
reply
Botond
My final thesis was on a pico, I programed it in C++ with exception handling, other than the low level, like the I/O, everything else is the basic C++, you can use classes and whatever the standard library offers. Can even dynamically allocate memory with the same syntax.
ADC is trully not the best, but swithing to PWM mode, external reference (I needed one anyway for my DAC) and softvare help to reduce gain error it was acceptable.
The best is the big RAM and the speed (can even be overclocked to 300 Mhz or 450Mhz if you don't use the flash, it can do something like 68Mhz SPI signal so even my big 240 320 16bit color display changed basically instantly. No clue how the display processed it as on oscilloscope the clock looked like I'm charging a capacitor, the PCB was not designed with high frequency in mind.
Also the price, the ESP32 I managed to buy without waiting for China was 15 euro, while this thing was 4-5 euro and Arduinos are also cost more.
reply
My final thesis was on a pico, I programed it in C++ with exception handling, other than the low level, like the I/O, everything else is the basic C++, you can use classes and whatever the standard library offers. Can even dynamically allocate memory with the same syntax.
ADC is trully not the best, but swithing to PWM mode, external reference (I needed one anyway for my DAC) and softvare help to reduce gain error it was acceptable.
The best is the big RAM and the speed (can even be overclocked to 300 Mhz or 450Mhz if you don't use the flash, it can do something like 68Mhz SPI signal so even my big 240 320 16bit color display changed basically instantly. No clue how the display processed it as on oscilloscope the clock looked like I'm charging a capacitor, the PCB was not designed with high frequency in mind.
Also the price, the ESP32 I managed to buy without waiting for China was 15 euro, while this thing was 4-5 euro and Arduinos are also cost more.
reply
Louis
The original 8-bit Arduino boards were a great idea. 10 years ago. You've long since been able to get more capable microcontrollers that have 32-bit word sizes, much fast, much larger flash, much larger RAM capacity, much richer I/O systems. In this day, why waste even one more neuron on a CPU architecture that's got no future when you can take advantage of the opportunity to become familiar and skilled with a modern, 32-bit, ARM architecture? That will serve you much better into the future.
The same thoughts also apply to using the Arduino IDE vs a more modern development stack based on Visual Studio Code and PlatformIO. Sure, the Arduino IDE is easier for a complete neophyte to learn, but it's a dead-end solution. If you invest the time to learn VSCode and that tool stack, you'll have developed skill that are going to directly applicable in a job somewhere.
reply
The original 8-bit Arduino boards were a great idea. 10 years ago. You've long since been able to get more capable microcontrollers that have 32-bit word sizes, much fast, much larger flash, much larger RAM capacity, much richer I/O systems. In this day, why waste even one more neuron on a CPU architecture that's got no future when you can take advantage of the opportunity to become familiar and skilled with a modern, 32-bit, ARM architecture? That will serve you much better into the future.
The same thoughts also apply to using the Arduino IDE vs a more modern development stack based on Visual Studio Code and PlatformIO. Sure, the Arduino IDE is easier for a complete neophyte to learn, but it's a dead-end solution. If you invest the time to learn VSCode and that tool stack, you'll have developed skill that are going to directly applicable in a job somewhere.
reply
darkfire2703
The PIO is a major advantage if you need / want to generate accurate IO timings. When programming MCUs with C/C++ you lose a lot of timing control since the generated asm code depends on the compiler. On top of that there are pretty unpredictable delays due to memory latency and so on in many bigger modern MCUs. If you add Arduino to that with its overhead and very slow pin IO functions, you can pretty much forget to produce any accutate signals.
With PIO you have a small but powerful set of instructions with exact timings that can be executed independently of the rest of the code. I programmed pretty much perfectly accurate WS2812 signals with PIO using only a hand full of instructions. Coding the same thing using asm on the main rp2040 worked as well, but was much less accurate and also obviously blocked a whole core
reply
The PIO is a major advantage if you need / want to generate accurate IO timings. When programming MCUs with C/C++ you lose a lot of timing control since the generated asm code depends on the compiler. On top of that there are pretty unpredictable delays due to memory latency and so on in many bigger modern MCUs. If you add Arduino to that with its overhead and very slow pin IO functions, you can pretty much forget to produce any accutate signals.
With PIO you have a small but powerful set of instructions with exact timings that can be executed independently of the rest of the code. I programmed pretty much perfectly accurate WS2812 signals with PIO using only a hand full of instructions. Coding the same thing using asm on the main rp2040 worked as well, but was much less accurate and also obviously blocked a whole core
reply
Sergiusz
I jumped to Pico at the very beginning and I'm happy with that. Initially Micropython was good to do some light projects where thankfully it allowed me to avoid Arduino IDE.
For more advanced stuff I like PIO, dual cores, ultra fast I/O lines, ability to map I/O to different ports, easy SWD debug with 4 breakpoints, dirt cheap debugger (another Pico) and well documented C SDK.
I use it to interface hardware from 70s and 80s which makes it very versatile and cheap solution.
One big drawback for me is lack of 5V tolerant inputs and need to use voltage converters everywhere.
reply
I jumped to Pico at the very beginning and I'm happy with that. Initially Micropython was good to do some light projects where thankfully it allowed me to avoid Arduino IDE.
For more advanced stuff I like PIO, dual cores, ultra fast I/O lines, ability to map I/O to different ports, easy SWD debug with 4 breakpoints, dirt cheap debugger (another Pico) and well documented C SDK.
I use it to interface hardware from 70s and 80s which makes it very versatile and cheap solution.
One big drawback for me is lack of 5V tolerant inputs and need to use voltage converters everywhere.
reply
Kuroi
Cool stuff. and the raw chip is still very much in stock (Digikey has 10K's at 1 each. Ever look into PICs? It would be more of a bare metal type thing than a popular dev-board. I usually shy away from microcontrollers on a common dev-board because I think a lot of people who use them think that the microcontroller is the dev-board and not the chip on it. I see all sorts of (finished) projects where the whole dev-board is shoved in, instead of properly designing the actual microcontroller into the project. (Admittedly harder to do when there is only a BGA or QFN package available)
reply
Cool stuff. and the raw chip is still very much in stock (Digikey has 10K's at 1 each. Ever look into PICs? It would be more of a bare metal type thing than a popular dev-board. I usually shy away from microcontrollers on a common dev-board because I think a lot of people who use them think that the microcontroller is the dev-board and not the chip on it. I see all sorts of (finished) projects where the whole dev-board is shoved in, instead of properly designing the actual microcontroller into the project. (Admittedly harder to do when there is only a BGA or QFN package available)
reply
Ku
I used a RP4 for a project. I couldn't find any official easy-to-use CPP library for the GPIO: s in cpp. There are some libraries which might work for older RP but not for RP4.
I think they want you to use python. which I didn't want to use.
Pin numbering and GPIO names are confusing also.
No DAC, so no analog converter in the RP4.
And you have to be careful if you damage any GPIO, you will damage a board that is not so cheap.
But in the other hand, if you want to use a small linux pc and avoid using Windows Micro OFT I think RP4 is the best choice.
reply
I used a RP4 for a project. I couldn't find any official easy-to-use CPP library for the GPIO: s in cpp. There are some libraries which might work for older RP but not for RP4.
I think they want you to use python. which I didn't want to use.
Pin numbering and GPIO names are confusing also.
No DAC, so no analog converter in the RP4.
And you have to be careful if you damage any GPIO, you will damage a board that is not so cheap.
But in the other hand, if you want to use a small linux pc and avoid using Windows Micro OFT I think RP4 is the best choice.
reply
That's
I do genuinely believe the PIO's are THE single biggest benefit to a pico that really does put it into a different class and can really really add additional features that blow the arduino/esp boards out the water. Your VGA example I think proves that. but kinda as you point out, PIO is a very advanced feature that the average hobbyist is unlikely to fully benefit from.
But given how commercial customers can now buy RP2040 chips standalone to integrate into things I think it bodes well for the 2040 ecosystem as a whole.
reply
I do genuinely believe the PIO's are THE single biggest benefit to a pico that really does put it into a different class and can really really add additional features that blow the arduino/esp boards out the water. Your VGA example I think proves that. but kinda as you point out, PIO is a very advanced feature that the average hobbyist is unlikely to fully benefit from.
But given how commercial customers can now buy RP2040 chips standalone to integrate into things I think it bodes well for the 2040 ecosystem as a whole.
reply
Herwin
I'm surprised you didn't mention Circuitpython, after having worked professionally with both, micropython is a pain to use and extend with libraries compared to Circuitpython.
And Circuitpython deviates a lot less from the standard libraries given in CPython.
The pico seems a bit like a dud compared to other solutions like the esp32s2 where the toolchain is slightly worse but the feature set is an order of magnitude above.
The pico's documentation is leagues ahead of the competition tho, you gotta give it that.
reply
I'm surprised you didn't mention Circuitpython, after having worked professionally with both, micropython is a pain to use and extend with libraries compared to Circuitpython.
And Circuitpython deviates a lot less from the standard libraries given in CPython.
The pico seems a bit like a dud compared to other solutions like the esp32s2 where the toolchain is slightly worse but the feature set is an order of magnitude above.
The pico's documentation is leagues ahead of the competition tho, you gotta give it that.
reply
Kirby
I've always thought the weakness of the arduino was the 10 bit dac. I have wanted to use a microcontroller to read and record sensor inputs instead of NI DAQ equipment as a low cost solution, but a 10 bit dac doesn't have enough resolution. A 12 bit dac should be enough for my needs, but if the reference voltage adds noise to the data I'm not sure it would be an acceptable solution. I'm a mechanical engineer so while I've fiddled with arduinos and the electronics of 3D printers, I don't have the knowledge base of an EE.
reply
I've always thought the weakness of the arduino was the 10 bit dac. I have wanted to use a microcontroller to read and record sensor inputs instead of NI DAQ equipment as a low cost solution, but a 10 bit dac doesn't have enough resolution. A 12 bit dac should be enough for my needs, but if the reference voltage adds noise to the data I'm not sure it would be an acceptable solution. I'm a mechanical engineer so while I've fiddled with arduinos and the electronics of 3D printers, I don't have the knowledge base of an EE.
reply
Daniel
It's allways good to see some updates on already reviewed hardrware. reciently, in aliexpress i've been offered a lot the LGT8F328P, wich promises to be a cheaper but more powerful alternative to arduino nano, have you tested them? could be worth another arduino alternative video. Also, being compatible is nice, since all prices are going up (last batch of arduino i bought was arround 2 /piece shippingt included, and now they are arround 5 + shipping, and you can get one with usb 3. 0 (finally) for arround 3.
reply
It's allways good to see some updates on already reviewed hardrware. reciently, in aliexpress i've been offered a lot the LGT8F328P, wich promises to be a cheaper but more powerful alternative to arduino nano, have you tested them? could be worth another arduino alternative video. Also, being compatible is nice, since all prices are going up (last batch of arduino i bought was arround 2 /piece shippingt included, and now they are arround 5 + shipping, and you can get one with usb 3. 0 (finally) for arround 3.
reply
Infinite
Very strange reason to give the Raspberry Pi Pico a thumbs down before and call it overrated just because YOU don't like MicroPython. I use both for different projects and IMHO it is worse to use Arduino IDE instead of MicroPython with Thonny IDE for the Pico. Much more overlay and bloated. Use the right thing where you need to, and if you don't have experience with it, learn it!
reply
Very strange reason to give the Raspberry Pi Pico a thumbs down before and call it overrated just because YOU don't like MicroPython. I use both for different projects and IMHO it is worse to use Arduino IDE instead of MicroPython with Thonny IDE for the Pico. Much more overlay and bloated. Use the right thing where you need to, and if you don't have experience with it, learn it!
reply
Haseeb
Pico is really good and advance but, I think average hobbist has no use for it and utilizing that with arduino ide is even harder. Pico with arduino ide was also super buggy and I think now it is improved but still. If for serious development, I think stm32 is still better and no one would ever consider Pico because stm32 environment is just better and more documentation.
reply
Pico is really good and advance but, I think average hobbist has no use for it and utilizing that with arduino ide is even harder. Pico with arduino ide was also super buggy and I think now it is improved but still. If for serious development, I think stm32 is still better and no one would ever consider Pico because stm32 environment is just better and more documentation.
reply
Mr.
In Canada these RasPi boards are prohibitively expensive. Defeating their purpose of existing. The advert was the 5 CPU but everywhere you looked it was 35 at the cheapest and probably fake. An authentic board goes for 50 or more. Now you are hitting the price of a cheap desktop motherboard with way more functionality.
reply
In Canada these RasPi boards are prohibitively expensive. Defeating their purpose of existing. The advert was the 5 CPU but everywhere you looked it was 35 at the cheapest and probably fake. An authentic board goes for 50 or more. Now you are hitting the price of a cheap desktop motherboard with way more functionality.
reply
Stabby666
What's really impressive is that someone ported Doom to run on the standard Pico - just need some resistors and a few jumper wires to connect a VGA monitor, and keyboard input, and audio output: ) I was not interested in it when Python was the only option, but now C++ can access PIOs it's really powerful.
reply
What's really impressive is that someone ported Doom to run on the standard Pico - just need some resistors and a few jumper wires to connect a VGA monitor, and keyboard input, and audio output: ) I was not interested in it when Python was the only option, but now C++ can access PIOs it's really powerful.
reply
Add a review, comment
Other channel videos















