11 ms·
Raspberry Pi Enters Microcontroller Game with $4 Pico
- SamBam 6y agoThis looks great. In seems from a rough glance at the feature set that there are plenty of boards that do more for not much more money, but my guess is that this is designed mostly for the beginner/educational set, where everything can be nicely standardized and not the Cambrian Explosion of the *duino boards. Is that about right? Speaking of education, does anyone have a favorite mechanical device (toy car, robot, etc) that is compatible with a microcontroller that can be used for teaching little kids? (Month 10 of learning-from-home dragging on here...)
- Bigpet 6y agoSeems to be clocked a lot higher than the lower cost arduino models. And has a little more memory. So it might be worse suited to battery-powered applications, unless you do some power managment. Not that I know what you would necessarily do with more of that compute.
- giantg2 6y ago"but my guess is that this is designed mostly for the beginner/educational set, where everything can be nicely standardized and not the Cambrian Explosion of the *duino boards" That was my take on it. I first saw it and thought of my adurino nanos. Then reading the specs, I wondered why not use an ESP32 with wireless etc. I think they are only $3 more. Standardization was all I was left with.
- regularfry 6y agoIt's also a nice and relatively straightforward first step into custom silicon, which is probably going to turn out to be quite an important strategic move for them.
- giantg2 6y agoI wouldn't have thought so, but I guess it could. I thought their whole point was to use existing chips that were low cost to promote education. Jumping into custom chips seems like an odd move for that, unless they want to monetize.
- regularfry 6y agoThey've got scale now. I think that's the difference.
- detaro 6y agothe PIO part as far as I know does not have a match in anything else in that market segment. I was sceptical too at first, but it seems like this actually does add something new to the market. More examples will be around, but e.g. the first demo going around driving two DVI screens is already pretty neat for what's possible, and other devices would struggle with.
- matthewfelgate 6y agoDo you have a link to the demo with two DVI screens?
- detaro 6y agohttps://github.com/Wren6991/picodvi https://github.com/Wren6991/picodvi
- davemp 6y agoPIO feels like a lateral progression from the arm+fpga socs that have been floating around for awhile. So you could already get socs with even more powerful configurable logic behind their IO. Most FPGAs support partial reconfiguration so they can be reconfigured dynamically as well. PIO is still pretty cool from an ease of use and cost perspective though.
- DanBC 6y agoHave a look at kits for BBC Micro:Bit. EG, this one gives you a nice breakout board and a few sensors and switches. It also gives you an instruction book. You'll also need to buy the actual Micro:Bit too. This kit has a website for more projects here: https://tinkercademy.com/microbit/ https://tinkercademy.com/microbit/ You program the micro:bit in MakeCode in a webbrowser. That also has an emulated device so you can see what it's like without having the actual board. And you can program the Micro:Bit with Python. It looks spendy, and it is, but the colour-coding of the cables and the keyways of the sensor PCBs make it friendly for children. There are lots of kits for micro:bit https://www.elecfreaks.com/micro-bit/kits.html https://www.elecfreaks.com/micro-bit/kits.html You may want to wait for Version 2 to be released. https://www.element14.com/community/docs/DOC-95670/l/introducing-the-bbc-microbit-v2 https://www.element14.com/community/docs/DOC-95670/l/introdu...
- slezyr 6y ago> You may want to wait for Version 2 to be released You can already buy it from Ali Express.
- tachyonbeam 6y agoI'm happy to see an ARM-based microcontroller, but I my two questions would be: 1. Why didn't they use the same GPIO header as a full-sized Raspberry Pi? That would allow people to reuse some of the same headers. Seems like a missed opportunity there? 2. Since it has no WiFi and it costs more, this compares unfavorably with the good old ESP8266 in some important respects. Why would you pick the Pico? EDIT: I'm being downvoted to hell. I'm sure that the new Pico will find buyers, in fact, I wouldn't be surprised if it sells out based on brand recognition alone. I'm just trying to ask some legitimate questions as to what this has to offer over the competition in the microcontroller space, which is a crowded market, and how it fits into the existing RPi ecosystem.
- jascii 6y ago1. That would make the device larger and wouldn't provide compatibility anyhow. 2. The street price of ESP8266 seems to be $6.49, which is more then $4.00. I imagine the rpi board uses less current, and the programable logic in the gpio's gives some interesting opportunities.
- sargun 6y agoOr, the ESP32-C3, which is <$2.
- alexhutcheson 6y agoThat's just the chip, not the board.
- sargun 6y agoThe dev board (WROOM) is an additional $2.
- alexhutcheson 6y agoLink? The dev boards I’m familiar with are $10. Not that I really care for hobby purposes - I’m not buying 100s of them.
- epx 6y agoMy dream board would be a full Raspberry with an Arduino-like µC included on the same board, for easy I/O.
- alpaca128 6y agoThat's an interesting idea. I think this could work great in the Pi Zero format - compact, wifi + mass storage if needed and with the right wiring you could even flash the controller remotely via wifi. Could be a nice mix for projects where the size of another PCB would be problematic. The target audience would probably be smaller and I doubt the RPi Foundation would be interested considering their focus on education, but I would probably buy one.
- vorpalhex 6y agoThere are several DIY drone boards that have this kind of setup. Usually it is an arduino mounted to a Raspberry pi with an i2c channel for communication, but they seem to be getting more and more popular.
- pjc50 6y agoI think this was (one of) the things the RP2040 was designed to do; they know that a lot of people strap an Arduino to the Pi as an IO expander or to handle real-time elements, so they've built their own. They already did a peripheral chip for the RPi. Now they have their own microcontroller. I suspect in a few revisions they'll have their own host processor to replace the Broadcom one ... It's a great achievement for a very small team.
- analog31 6y ago>>> a lot of people strap an Arduino to the Pi as an IO expander or to handle real-time elements,= Including me. I actually prefer this to the GPIO, though it adds one more component. An advantage is that I can move my hardware projects between RPi and other computers in the house including my nice comfy and fast desktop workstation. With a bit of care, my Python support software runs the same on RPi and Windows with no code changes. Also, if you keep things within the Arduino ecosystem, it's easy to upgrade or downgrade your microcontroller as needed, with only minor changes to your embedded code. What I'd like to know is if the development environment for this board is as nice (or better, can always hope) than the Arduino environment.
- wiremine 6y agoRelated conversation from yesterday: https://news.ycombinator.com/item?id=25856291 https://news.ycombinator.com/item?id=25856291
- roland35 6y agoHackaday has good reviews of similar small microcontroller boards. - STM32 "Blue Pill": cheap, uses common STM32 ARM parts, but generally available on places like ebay/alibaba - ESP32: has wifi and bluetooth, less good documentation but great performance/$ - Raspberry Pico!
- ashtonkem 6y agoThere is some great open source stuff for the ESP32, including ESPHome[0]. These are pretty popular for adding functionality to Home Assistant where off the shelf parts aren’t available. The ability to go on low power standby until some condition is met appears to be one of the best selling points. 0 - https://esphome.io/ https://esphome.io/
- fermienrico 6y ago> less good documentation but great performance/$ Truth couldn't be far from that. Its completely the opposite - ESP32 toolchain and docs are superb: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/ https://docs.espressif.com/projects/esp-idf/en/latest/esp32/ And there is ESP32.net: http://esp32.net/ http://esp32.net/
- roland35 6y agomaybe it has changed since I last checked it out then! I had problems getting started - but it was probably just me.
- nayuki 6y agoMore info and related products: https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/ https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-n...
- deleted 6y ago[deleted]
- jascii 6y agoDoes anyone know if you can keep the GPIO "programmable logic" part powered on while putting the cores in low power mode? That could make for some interesting applications.
- ramary 6y agoYeah that would be really cool, can imagine this being useful for very simple if this then that logic in dealing with peripherals. e.g. handling a broader range of sensor input and peripheral interrupts without having to turn the core on to do processing.
- jsmith45 6y agoThere are two low power modes. Technically either should be able to let the PIO continue to run. I'll explain all three power modes. NORMAL: You get to select what is clocked here, except for the CPU. CPU will turn off clocking of some of its components if you are running a sleep instruction like WFE/WFI. SLEEP: If both processors are in a sleep state, and no active DMA requests are running it automatically switches to this mode. You can once again configure what components are clocked here. So you could leave say just RTC and PIO powered up. This is less of a true low power mode, and more of just a way to automatically switch to a different set of clocked components if the bus is idle, so as to further reduce power consumption. DORMANT: Ring and crystal oscillators stopped, zero dynamic power used in default configurations. Only a pin or RTC interrupt can wake the system from this state. Note that any externally supplied clocks will continue to be routed, and PLLs will run if not powered down. Thus technically this mode can be used to fully stop the CPUs while letting other accessories run from an external clock. The nominal intended usage is to continue to let the real time clock run, but the PIO could be run too/instead.
- jascii 6y agoThank you for the clear and concise explanation!
- beervirus 6y agoThis is pretty tempting. I don't know exactly how stripped-down MicroPython is yet, but I'm guessing it's going to be a lot easier for me to deal with than learning C like I'd have to with a lot of microcontrollers.
- geerlingguy 6y agoYes! And CircuitPython from Adafruit. I have been turned off from some Arduino projects in the past due to the C/C++ requirements, but MicroPython apparently runs on many microcontrollers and makes it pretty simple if you know basic Python. Once you get a design working, if you need the efficiency and power gains from C, then you can drop down to that level. But with the Pico having a 133 MHz processor, the overhead for many projects isn't too bad, and it's still going to be a lot more efficient than running something equivalent on a Pi Zero.
- pjmlp 6y agoMy first PC was a 386 SX running at 20 MHz, capable of running plenty of high level languages, when not doing games. Most modern microcontrollers are quite alright for something like Python indeed.
- gchadwick 6y agoWhilst there are certainly other boards with more features/higher specs at similar prices I think the pico has a few things going for it 1. It's at cheap ebay/aliexpress prices but is a first party board supported by the chip manufacturer, not a third party clone. 2. The full raspberry pi ecosystem has a good range of hardware and software, the pico will hopefully see the same. 3. The internal architecture has some fun features. The DMA engine supports chaining DMA channels and one set of DMA operations can program and trigger another channel. Plus you can trigger transactions on when they're needed by the endpoint or on a timer. You can program in complex behaviours with this and just set it off and go without needing further CPU control. More unique than the DMA is the PIO, 8 programmable state machines that have FIFOs and port access. This allows you to add support for protocols you don't have hardware for. This avoids bit banging and gives precise real-time control. You can do things like drive VGA and there's even an HDMI demo (possibly a bit too hacky to be used in production though). I've just had one arrive today, going to spend the weekend seeing what I can do with just DMA and PIO whilst the CPU sits idle, maybe dealing with the occasional interrupt.
- vorpalhex 6y agoIs there a good guide that you recommend on the PIO or DMA features?
- gchadwick 6y agoI've just been reading the datasheet here: https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.pdf https://datasheets.raspberrypi.org/rp2040/rp2040_datasheet.p... It does have some examples and the Pico SDK has various PIO programs you can look at for inspiration. The getting started page links to a few projects including the HDMI/DVI: https://www.raspberrypi.org/documentation/pico/getting-started/ https://www.raspberrypi.org/documentation/pico/getting-start...
- tyingq 6y agoNote that the HDMI/DVI code overclocks the Cortex M0 from its normal 133Mhz to 252Mhz. So it's a cool hack, but I think it would have wonky behavior. https://github.com/Wren6991/picodvi/blob/34bc82555860de4b35ed87e9383536660f91fcef/software/apps/terminal/main.c#L37 https://github.com/Wren6991/picodvi/blob/34bc82555860de4b35e...
- bchip 6y agoI wish they would of added wifi and bluetooth to the board. This could of replaced esp32s.
- VoxPelli 6y agoEg Arduino will launch a board with that, the core here is the new chip, not the Pico board, lots of manufacturers will build boards with the chip
- geerlingguy 6y agoNote that Arduino is coming out with a new Nano board for the same chip (new RP2040) with 16MB of flash and wireless built in. No word on pricing yet, though: https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/ https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-t...
- jack_riminton 6y agoWireless is the key feature for me opens up so many more possibilities
- matthewfelgate 6y agoWireless is key for me for my hobbyist projects.
- fermienrico 6y agoBy "Wireless", which specific protocol do you mean?
- jack_riminton 6y agoI don't
- alpaca128 6y agoThat's great news, the 2MB flash are not quite enough for some projects and this could fit the bill for me.
- swsieber 6y agoThere's an interesting thread over on reddit about supporting Rust on this - apparently the multi-core architecure is different enough from a normal CPU to cause issues: https://www.reddit.com/r/rust/comments/l1uwyu/would_it_be_possible_to_run_rust_on_the_new/ https://www.reddit.com/r/rust/comments/l1uwyu/would_it_be_po... Though in the mean time running code on just one of the cores shouldn't take a lot of work.
- Tempest1981 6y agoI built a small project using a Raspberry Pi Zero. Wanted to use it in my car. One frustration is that it takes 30+ seconds to boot and show signs of life on power-on. Wondering how much faster I can make this, or a Pico? Before I lose all the benefits of Linux.
- chadaustin 6y agoThe AVR/Arduino boards boot instantly which is one of their big advantages here. I imagine the Pico will be the same.
- wamburu 6y agoHave you tried TinyCore http://tinycorelinux.net http://tinycorelinux.net ? Might be faster.
- regularfry 6y agoYou want to take a look at buildroot-based approaches. They're not quite instant-on, but they're tolerable. https://github.com/showmewebcam/showmewebcam https://github.com/showmewebcam/showmewebcam is a good example.
- rasz 6y agoYou could go bare metal ARM on Zero and boot in under a second.
- Unklejoe 6y agoDoes anyone know if the chip can be purchased from distributors like Mouser or Digikey? If not, will it be eventually? This is the first thing I look at before deciding to invest in learning a new chip. I specifically look for something that is guaranteed to be available for a long time and not change.
- zargon 6y agoThis is the first thing I wanted to know too. From raspberrypi.org: > Are you planning to make RP2040 available to customers? > We hope to make RP2040 broadly available in the second quarter of 2021.
- ElectroNomad 6y agoCan anyone suggest BLE-only microcontroller? I wanted to build a smart-lock, but all the boards either also have Wi-Fi on-board (that eats a lot of power) or don’t have anything at all.
- montecarl 6y agoI've just started to get into microcontrollers, but I have been playing with boards based on the NRF52840[0]. I'm using them to build an air quality monitor to measure CO2[1], volatile organic compounds[2], temperature and humidity. I'd recommend the Adafruit NRF52840 Feather[3] or if you want a smaller version (that doesn't include a LiPo battery charger) get the ItsyBitsy nRF52840 Express[4]. I haven't used the Arduino or CircuitPython programming environments, I've just been using Arm GCC and Nordic's SDK. [0] https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840 https://www.nordicsemi.com/Products/Low-power-short-range-wi... [1] https://www.adafruit.com/product/4867 https://www.adafruit.com/product/4867 [2] https://www.adafruit.com/product/3709 https://www.adafruit.com/product/3709 [3] https://www.adafruit.com/product/4062 https://www.adafruit.com/product/4062 [4] https://www.adafruit.com/product/4481 https://www.adafruit.com/product/4481
- tpolzer 6y agoThe nrf52840 has a reasonable programming interface, good power consumption and can be bought as a USB breakout dongle for 10$.
- war1025 6y agoWould this be a good stepping stone for someone wanting to learn more about microcontroller type stuff? I bought an Arduino starter pack a few years ago, and it was neat, but I never ended up doing much with it beyond the first week or so. I guess this would maybe suffer the same fate. What projects do people do with microcontrollers that don't just end up being silly gimmicks?
- mumblemumble 6y agoThe single most useful thing I've built with a hobbyist board is a pomodoro timer. I also built my own wifi speaker using a Raspberry Pi Zero W and an open source implementation of the AirPort protocol, but we've stopped using it because it was flaky and needed regular reboots. Bluetooth turned out to be (barely) less annoying.
- emilecantin 6y agoI've done a few "smart-home"-type projects. One of them is an e-ink display outside my office door that either displays today's date, or a warning sign stating that I'm in a meeting. The warning is triggered by a switch on another microcontroller that sits on my desk (an M5 Stack, so it has a nice enclosure & screen).
- war1025 6y agoSo flipping my original question around a little, how did you get into learning these things? I've always wished I had taken a hardware course or two while in University. I can't seem to think of anything practical enough to keep my motivation while I deal with learning about all the actual hardware bits.
- emilecantin 6y agoHonestly, I just used ESPHome for all of this (https://esphome.io/ https://esphome.io/). I mean, I've written code for microcontrollers before, but it's hard to beat something where all the building blocks are already done for you; leaving you only the job or assembling them in the product you want. If you know "normal" programming (I do web dev), it's relatively easy to get an Arduino and start copy-and-pasting example code until you've got something cool. The syntax itself isn't too complex, and most of the really hard stuff already has a library built for it. Arduino code can also be used on the ESP8266 / ESP32, which is an amazing, <$2 (shipped!) microcontroller that's Wifi-enabled.
- deleted 6y ago[deleted]
- leoncvlt 6y agoAll right, let's say you know absolutely nothing about the world of microcontrollers but you think this looks cool and cheap. What webpages or resources would you recommend to get started and learn more? Do you first to need to get into electronics and circuits? But before that, get a foundation on how electricity works? And even before that, get a good grasp on how to create the universe?