5 ms·
Why? Why should I need/buy one? RaspberryPI is a relatively good "PC" for cheap, uses little power and is fast enough for most usecases at home. RaspberryPi z
by ajsnigrutin 6y ago
Why? Why should I need/buy one?
RaspberryPI is a relatively good "PC" for cheap, uses little power and is fast enough for most usecases at home.
RaspberryPi zero is a bit slower, but a lot smaller.... and harder to buy.
Neither of them have any good alternatives on the market (yes i know many other similar boards exist, but software support is really shitty for those "alternative" boards, especially after a few years).
Why PI Pico? What killer feature does it have, compared to esp32 (which has wifi), arduino (which as a gajillion libraries and support), or some other microcontroller (bbc micro, STM,...)?
EDIT: not trying to shit on their effort, but genuinely looking for an answer to "why this, and not something else (arduino, esp,...)?"
- pulse7 6y agoUses much less power and comes from Raspberry PI Foundation.
- deleted 6y ago[deleted]
- alin23 6y agoPIO state machines programmable in Python sound pretty neat: > You'll note there's no I2S peripheral, or SDIO, or camera, what's up with that? Well instead of having specific hardware support for serial-data-like peripherals like these, the RP2040 comes with the PIO state machine system which is a unique and powerful way to create custom hardware logic and data processing blocks that run on their own without taking up a CPU. For example, NeoPixels - often we bitbang the timing-specific protocol for these LEDs. For the RP2040, we instead use a PIO object that reads in the data buffer and clocks out the right bitstream with perfect accuracy. Same with I2S audio in or out, LED matrix displays, 8-bit or SPI based TFTs, even VGA! In MicroPython and CircuitPython you can create PIO control commands to script the peripheral and load it in at runtime. There are 2 PIO peripherals with 4 state machines each. [1] Two M0 cores with M4 speeds and priced lower than usual M0-based boards also sounds exciting: > The RP2040 is a powerful chip, which has the clock speed of our M4 (SAMD51), and two cores that are equivalent to our M0 (SAMD21). [1] And official support for MicroPython and USB host and guest for $4 is something rare and could potentially lure some tinkerers into embedded programming. I personally plan to create an USB ambient light sensor for controlling Lunar [2] with it. It is a very affordable and widely available board which could potentially allow people to reproduce the sensor even in places where I can't ship a pre-assembled board. [1] https://www.adafruit.com/product/4864 https://www.adafruit.com/product/4864 [2] https://lunar.fyi https://lunar.fyi
- JustSomeNobody 6y agoFor anyone who's ever had to bitbang a protocol (say, RS232), after you've done it once, the "Oh, cool" factor wears off[0], so what they've done here sounds really nice. [0] It's not hard, it's easy. But who wants to do that?
- throwaway81523 6y agoIt actually sounds sort of difficult on those PIOs. All the timing stuff, start and stop bits, parity, flow control, ideally a FIFO, etc. You only have 32 words of instruction memory in each PIO. I wish they had made the PIOs more capable. It's not like they take a lot of die area compared to 264k of ram etc. The Beaglebone PRU's are closer to the right thing.
- nicoburns 6y agoPresumably for any well-known protocol you'll be able to use a ready-made implementation. Which basically turns them into super-flexible IO modules.
- afandian 6y agoI2S was a blocker for me (ESP32 has a dedicated I2S peripheral). Then I saw this: https://shop.pimoroni.com/products/pico-audio-pack https://shop.pimoroni.com/products/pico-audio-pack So they obviously have a working I2S implementation working (it's not a hard protocol, but great to be shipping with real proofs of concept)
- rasz 6y agoIO accelerators allow it to bitbang DVI 720@30 https://github.com/Wren6991/picodvi https://github.com/Wren6991/picodvi This means you should be be able to bitbang a ton of slower stuff with ease. 1Gbit (RGMII) ethernet, IDE PATA, SCSI, all kinds of parallel camera and display interfaces.