Notifications
Clear all

make a new video on Raspberry Pi Pico RP2040?

58 Posts
11 Users
23 Likes
2,987 Views
(@yurkshirelad)
Member
Joined: 3 years ago
Posts: 493
 

Have the Pi folks mentioned any plans to release a Pico development board (i.e. with pins), so I could use it without soldering pins onto one? Or is there something I could use to let me play around with the Pico without soldering?


   
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Has anyone with experience with the WiFi version of the RP2040 AND the ESP8266/ESP32 and is willing to make an objective comparison.  From the numbers, it doesn't really seem to stand out even above the ESP8266 and not even close to the ESP32 both of which have been around for 9 and 7 years and are quite stable, documented and a fraction of the price and readily available from thousands of vendors.  Is it merely the bright shinny kid on the block.  or some anti-Chinese thing?  The hype seems way out line with its capabilities... or am I simply missing something?

Thanks.

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7012
 

@inq I have 'played' with all of those. They all work, almost identical code. Cost is below $10 for any of them depending on the source (except Amazon, they are more than double the price)

Obviously, the older boards have more libraries and might be less buggy, but they are close to the end of life as well. I have multiples of all 3 of those boards in different configurations. 

I think trying to choose one over the other is like picking one language over another. They all have their uses for different use cases. I prefer to have all 3 families in my toolbox.

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
(@davee)
Member
Joined: 3 years ago
Posts: 1696
 

Hi @yurkshirelad,

re: Have the Pi folks mentioned any plans to release a Pico development board (i.e. with pins), so I could use it without soldering pins onto one?

  Notwithstanding @Inq's pertinent query,

            ..and I am neither recommending or disparaging the Picos.

if you want a Pico with pre-soldered pins, that is an option

e.g.

image

 

Just make sure you order the right one ... in the UK it is about £1 extra.

There are also 3rd party 'specialised boards' .. though these might need a bit of searching for..

e.g.

image

Or have I missed the point of the question?

Best wishes, Dave


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7012
 

@yurkshirelad About half my PICOS have pins, most places that sell them offer no pins, headers you can solder on, or pre-soldered pins. I just jumped on Pimorono in the UK and where is what they are offering. Here is a pic of the RaspberryPI PICO purchase screen where you put in country, wireless or not, headers or not. We have 2 official sellers in Canada.

Screenshot 2023 07 14 at 21.27.31
Screenshot 2023 07 14 at 21.27.00
Screenshot 2023 07 14 at 21.26.45
Screenshot 2023 07 14 at 21.36.20

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Posted by: @zander

Obviously, the older boards have more libraries and might be less buggy, but they are close to the end of life as well. I have multiples of all 3 of those boards in different configurations.

Can you point me to some article that says "end of life" or equivalent.  I can't imagine a company killing a product while it is still the best on the available market.  The ESP32 was meant  to be a ESP8266 killer, but as pointed out, they still make more of the latter.  It's dirt cheap.  It was originally designed to use ONLY as a WiFi addition so other electronics based companies could add that feature to their product.  It did not achieve that design goal.  It was merely a hacker that said..."Let's see if we can add it to an Arduino board."  Then some other hacker said, "Why do that?, Why add an 80MHz 32bit product as a peripheral to a 16Mhz 8bit processor... I'll just make Arduino IDE work with it directly."

Posted by: @zander

I think trying to choose one over the other is like picking one language over another. They all have their uses for different use cases. I prefer to have all 3 families in my toolbox.

That doesn't really help in making a decision.  I'm looking for something quantitative.  I read it has a built-in Math co-processor.  I wonder if an RP can crunch numbers... say double precision, trigonometry numbers orders of magnitude faster than a ESP device?  Is the WiFi more stable?  The problem with that question... it hasn't been around long enough to establish a reliability record.  The ESP8266 although not rock-solid, it is way up in the 99.9%+ category.  I routinely see re-boots on the order of a week or more.  I understand the ESP32 is even more solid and has been doing it for seven years.

Doing a little more research right now.  Nothing in this chart stands out.  The ESP32 beats it on all categories, the ESP8266 loses some, but not really by that much.

image

Found this thread on Reddit.  I need to study it more, but the first post and video was pretty damming to an RP2040. - https://www.reddit.com/r/esp32/comments/seuyxv/how_fast_is_the_rp2040_rp2040_versus_esp32/

It alone would keep me using Espressif based boards. 

Price - It looks like the RP2040W is finally becoming readily available and coming down in price.  On Amazon:

$33 RP2040 with WiFi

image

$17 ESP32

image

 

And before you start griping about Amazon, Ron, I know they're more expensive, but this is a relative comparison.  If I were to open the comparison to the whole world, the ESP32 would totally destroy the RP2040.  You can get them in China... the RP2040 only has one source and it's in an expensive country.

I just found this on AliExpress.  I've never bought from them.  Don't know if this is for real.

$9.23 Shipped for 10 - Yes, less than $1US a piece!

image

So, I'm still asking and I not trying to be argumentative or RP bashing.  I just can't understand why a company would bring so little to the market unless they're trading solely on their name, country of origin or ignorance of users.  Surely there is some reason for using them that is better!???

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
byron
(@byron)
No Title
Joined: 5 years ago
Posts: 1122
 

@inq

A comparison is nuanced and nothing definitive.   I'm not sure what you mean by hype, all the boards have been 'marketed' and promoted, and, of course, joining in a lucrative market is to be expected even if its just another 'me to' board.

In your research you have may have come across these links I give you, but here they are in case it helps your deliberations

https://forums.raspberrypi.com/viewtopic.php?t=349875

https://www.haraldkreuzer.net/en/news/raspberry-pi-pico-w-an-alternative-to-the-ESP32

As for my experience, I have ESP8266, ESP32, rpi pico W boards, and some other boards based on the rpi 2040 chip such as the arduino nano 2040 board.  

I have found that I have had some unexpected reliability 'occurrences' when I run my programs on the ESP boards where I did not identify a cause, though this could well be down to my programming abilities and knowledge of the nuances of the particular board in use.  But I see you say  " The ESP8266 although not rock-solid, it is way up in the 99.9%+ category.  I routinely see re-boots on the order of a week or more.  I understand the ESP32 is even more solid and has been doing it for seven years.".  The "routine reboots"  is enough to steer me away from bothering with my ESP8266 boards. 

My more recent projects have used rpi pico w boards and they have proved rock solid for about a year.  One project uses a pico to simply send sensor data via wifi from my workshop to my house, and activates a relay to switch on the heating in the workshop when necessary.  A complimentary pico in the house is connected to a display and has manual override buttons to show / activate the workshop readings.   Another project, again is  attached to a display, to monitor the house sensor readings.   These projects have been running without a hitch for about a year, and come back up reliably through the several power cuts we have  experienced.  (naturally the 'attach to wifi' code has to cater for the fact that the router will not be immediately available and will take a few minutes to come up after a power outage).  The fact I have got them to work with 100% reliability (so far 🙂 ) puts them at the forefront when considering which board to use for future projects.

The rpi pico 'PIO' with its 8 little state machines that run independently to the main CPU is quite interesting for future robotics project I have in mind, but I've not experimented much with them, and the assembly language intrusions to make it all work is rather a fog to me at the moment.  But that does bring to mind the excellent documentation and the SDK that rpi provides for the pico, and it gives confidence that one can make it sing and dance as one wants eventually.

I will probably also use my ESP32 boards, in particular my TinyPico and Feather EPS32-S3 boards for some projects, but I seem to reach for the rpi pico for my first experiments of a new project, like connecting a board to the DS3231 realtime clock board to entirely remove the power to a board for a 'sleep' with the circuit as designed by @davee a couple of months ago.

However, I don't think you will find a definitive reason to use the rpi pico w over an ESP32 board, especially as you have a more in depth knowledge of these boards than most hobby programmers have unless you can see  reason to make use of the PIO state machines of the pico 


   
Inq reacted
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7012
 

@inq The reason I said 'end of life' is Corporations full of engineers need to keep the engineers busy so I am expecting more new products. RaspberryPI always posts the end of life date but I have not see the PICO date yet.

Why do you again say I might gripe about Amazon? I have so many orders there I can't archive any more.

Reddit is full of trolls, I don't look at it.

I have bought NO PICO's from Amazon, they have all been bought from official sources at official prices.

If I use your logic, there would be no need for a Ford or Dodge since we have GM. Each of the 3 boards has different strengths and weaknesses. You mentioned some math compute intensive tasks, then the RP2040 might be best as it has hardware accelerators for that, both integer and floating point (see pic last line)

The reason I didn't provide quantitative answers is I don't know or care, they are all tools in my toolbag and I don't see one being 'better' than another, they are just different.

Good luck in your hunt for whatever you think you are missing or need, I can't help.

Screenshot 2023 07 15 at 08.50.56

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

@byron,

Again, I want to affirm... I'm not looking to do RP2040W bashing.  I could really benefit from your experience here.  

My quest here - I do run into some limitations on my InqPortal/ESP8266 system.  Namely, SSL.  I've never really considered it a problem being inside ones firewall, but I'm seeing more and more issues with browsers requiring SSL even within the private 192.168.x.x network.  Another feature I want to leverage... if a browser browses to an SSL site, the JavaScript downloaded to the device can access the sensors in it and feed that data to the ESP hosted MPU.  Without SSL, the browser rightly blocks access to a devices sensors.  SSL on an ESP8266 brings it to its knees.  It might as well be a Model T Ford.    

To address @zander statement.  On driving a Ford vs a Chevy or a Dodge.  If I'm looking to port a library of 25,000 lines 10's of thousands of hours that rides a crap Ford, I'm not going to waste my time shoving it into a crap Chevy.  I'm looking for a Lamborghini.  If the RP2040 is merely  20% faster, it'll unlikely be able to handle SSL any better than a ESP8266. 

Byron,

The second link is new to me and more reliable than the one I had posted.  I would like to find one comparing to the new ESP32 chips.  I must admit, I'm not sure which one is the most powerful ESP32 anymore as their end-of-life seems quite dynamic with new chips every other day.  They keep switching back and forth between single core and dual core processors, now to/from a RISK-V design.  All very confusing.  After Ron mentioned it one day, I dug through my collection of ESP32... I've four different versions (one being the CAM) but none are the new RISC-V designs.

I did catch your first link before and I noted that much of the assumed bias wasn't more evident.  It looked to be a good, objective discussion.  I would like to ask you about a few plusses and minuses that were mentioned.  The minuses could easily be attributed to ... it just came out yesterday.

  • One comment mentioned it was really difficult to set up.  Does it integrate into the Arduino IDE at least as easy as the ESP8266/ESP32 boards environment these days?
  • Do you run SSL encryption on your RP2040W.  What kind of hit does it take.  On an ESP8266, I've driven 100 browsers instance hitting it via AJAX calling.  Turn on SSL... I can only do ONE!
  • Does it have any built-in watch-dog processing (software or hardware)?  ESP8266 has both.
  • Although, I'm pretty used to the printf style of debugging, I've read comments indicating there might be real debugging available on it.  Does it have breakpoint, step-by-step and watch variable type debugging?  That alone might be a deciding feature.

Posted by: @byron

The "routine reboots"  is enough to steer me away from bothering with my ESP8266 boards. 

I probably over played that and should describe the apples versus oranges comparison you're seeing comparing my test to what you've observed in your project.  My test was part of my acid-testing of the InqPortal library.  That test was pumping out about 200KB/sec, non-stop via WebSockets to 4 separate browsers on 4 different devices... laptop, desktop, phone, tablet.  All within my house.  A lock up in those conditions is not surprising.  In addition, during that week, we (household) might be hammering the same WiFi network with multiple 4K movies streaming.  Wire Shark was showing tons of web contentions.  The fact that it didn't re-boot on a minute basis I find staggeringly good.  Windows, MacOS or Linux don't even handle that kind of relative loading or for that matter my TV went belly-up more often than the ESP8266 during that test.  🤣 

I think between your comments and your links, I really need to get an RP2040W and the latest ESP32-?? and really beat them up.

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Ron
 Ron
(@zander)
Father of a miniature Wookie
Joined: 3 years ago
Posts: 7012
 

@inq I have not done the kind of testing you have, I don't even know how, in fact I don't even understand some of the words. Not my thing.

As far as the esp32 family, I too am confused. My assumption is the S3 is the latest and greatest but I need to research that. At the moment at least I have no need for the kind of performance you are talking about.

AFAIK the PICO has significant debug ability, here is what I found from a quick google

https://www.digikey.ca/en/maker/projects/raspberry-pi-pico-and-rp2040-cc-part-2-debugging-with-vs-code/470abc7efb07432b82c95f6f67f184c0

https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html

https://www.raspberrypi.com/news/debugging-embedded-software-with-raspberry-pi-pico/

 

 

First computer 1959. Retired from my own computer company 2004.
Hardware - Expert in 1401, and 360, fairly knowledge in PC plus numerous MPU's and MCU's
Major Languages - Machine language, 360 Macro Assembler, Intel Assembler, PL/I and PL1, Pascal, Basic, C plus numerous job control and scripting languages.
Sure you can learn to be a programmer, it will take the same amount of time for me to learn to be a Doctor.


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Posted by: @zander

As far as the esp32 family, I too am confused. My assumption is the S3 is the latest and greatest but I need to research that. At the moment at least I have no need for the kind of performance you are talking about.

Yes, I need to do some research there also.  It seems like the latest is not the greatest.  I think I recall that the RISC-V version didn't run on the Arduino IDE... at least at first.  This gives me pause that making a library compatible with multiple versions might be problematic.  Maybe the RP2040 will be better behaved in that backward compatibility.  

Ultimate performance may not be that important, but SSL encryption/decryption does take a lot of cycles.  Maybe with dual core and careful programming of web server on one core leaving the meat of the project for the other core will make RP2040W or ESP32 (dual core) shine.

Thanks for the debug links.  Just read that in @byron's link this morning.  Didn't think that kind debugging was possible on these MPU's.

Time to put an Amazon order together... RP2040W and ESP32-?? 😊 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Posted by: @zander

AFAIK the PICO has significant debug ability, here is what I found from a quick google

> https://www.digikey.ca/en/maker/projects/raspberry-pi-pico-and-rp2040-cc-part-2-debugging-with-vs-code/470abc7efb07432b82c95f6f67f184c0 <

> https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html <

> https://www.raspberrypi.com/news/debugging-embedded-software-with-raspberry-pi-pico/

Skimming those... and another Google search.  It sounds like it takes special secondary hardware and doesn't feedback through the USB connection.  It's also not clear if it works within Arduino IDE or requires doing in VS or some other IDE.

Has anyone here actually done this kind of debugging on any MPU?

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
byron
(@byron)
No Title
Joined: 5 years ago
Posts: 1122
 

@inq

to answer or confuse with relation to some of your questions:

1. does the rpi pico w work with the arduino IDE?  Big fat NO for my older mac (intel based).. too many problems, BUT its probably OK for other macs and windows PC's.   As I've not connect a pico to the Arduino IDE for a while   I thought I would give it a go with an unused pico w I had.  I updated to the latest Arduino IDE 2.1.1, done the necessary to the preferences and board manager and loaded a blinky sketch and all looks good.  Loading another sketch however provokes issues probably just related to my old imac.  The Arduino IDE resets the port that its attached to when loading a new sketch which should be OK, but my mac then looses the port and complains about the 'drive' being unloaded without being ejected.   On my mac too many unloaded ports without being ejected, regardless of whether this is done by the Arduino IDE or just by me simply unplugging a drive without ejecting, or loading too many new micropython or circuit pythons onto boards, where the load process will auto unload the drive after installation will, usually after a few goes, effect the mouse and other things that use the usb ports.  The only way to recover is to reboot my mac.  I don't have a problem with ESP32's nor with my rpi picos running micropython once the board has had the micropython installed.

2. SSL on pico?  I've never used it.  I only run things in my local home area, and the nearest neighbour is well out of wifi reach.  It runs with micropython OK and I've seen posts about using SSL certificates on the mp forums so no problem running it with Arduino I would think.

3. Watchdog?  It has a hardware watchdog timer that is set via your code.  Does that make it a hardware or a software timer? - whatever, there is one.

4. Debugging.  As you've probably seen there is a separate debugging accessory one can buy (with its own rp 2040 chip). Its very cheap.   Its attached to the pico via its own pins and is then attached to another computer via usb for debugging purposes.  As I mainly use micropython I've never had cause or need to use a debugger.  Here is a link that shows the debugger being used on a pice and connected to a rpi linux computer to do the debugging.  I think it can also be used to debug other microprocessors as well as the pico

https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Let the games begin:

(3) Raspberry Pi Pico W w/ headers $32.09 with tax, delivery July 19th.

(3) ESP32-S3 N16R8 w/ headers $22.99 with tax, delivery July 19st.

If I'm reading this right... it has 16MB of flash and 8MB of PSRAM.  Got to figure what that is compared to the 512KB of SRAM.  

 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 

Posted by: @byron

@inq

to answer or confuse with relation to some of your questions:

Thank you.  I appreciate your help.  I've never taken the leap into Python.  Although I poking at Mhz as a comparisons, I'm more interested in what is more main-stream.  Don't know if that is still native C++ or has it swung to Python.  Maybe, I'll need to add that to my hardware games.  😉  I've got the impression, you're hard-core Python.  I'll know who to ping.  😎 

 

VBR,

Inq

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Page 2 / 4