3 ms·
> the 40-pin GPIO header handled through a Raspberry Pi RP2040 microcontroller. This part would be a reason why: very low GPIO throughput since you're limited
by moffkalast 2y ago
> the 40-pin GPIO header handled through a Raspberry Pi RP2040 microcontroller.
This part would be a reason why: very low GPIO throughput since you're limited to what can be shoved through serial and it all has to be must be manually processed by the extremely slow RP2040. The main upside with something like a Pi 4 is that it has zero overhead access to it via kernel api, so you can pipe hilarious amounts of data through its pins or address i2c devices directly from python with existing libraries for almost every sensor, etc.
The Pi 5 using it through a PCIe southbridge is quite a lot worse, especially since it broke all compatibility and it still can't even drive even a simple WS2812 led strip yet a year after release. They've thrown away the last 10 years of community support and development since the layout was standardized with the Pi 2.
- mritun 2y agoRO2040 isn’t slow - it’s literally one of the fastest on the market. It’s a dual core microcontroller that can easily run both cores at 133-250+ MHz. https://github.com/Wren6991/PicoDVI https://github.com/Wren6991/PicoDVI The GPIO on RPi is not very useful for precision work and you’re limited to using SPI (usually to talk to an auxiliary microcontroller). The GPIO on RP2040 is so good that you can use it as 24 channel 100Msps logic analyzer in a pinch. https://github.com/gusmanb/logicanalyzer https://github.com/gusmanb/logicanalyzer
- girvo 2y agoYeah anyone calling the RP2040 slow for GPIO hasn't used it in anger. The PIO is amazing.
- squarefoot 2y agoSmaller CPU aside, how do its GPIOs compare performance-wise to the older PRU contained in TI Sitara CPUs used in BeagleBoards? Many complained about the small number of channels on TI processors (only 4 if memory serves) therefore I wonder if it could be considered a successor where very fast digital I/O is needed but power and memory to run Linux is not because it's being hosted and run on a bigger nearby CPU.