11 ms·
I got some hands-on time with the Pico and made a video for it [1], with a tiny project I decided to try out with MicroPython. It was the first time I'd ever t
by geerlingguy 6y ago
I got some hands-on time with the Pico and made a video for it [1], with a tiny project I decided to try out with MicroPython.
It was the first time I'd ever tried MicroPython, and I have to say I'm a huge fan. As a dev who came from PHP/Javascript into Java and Python (heh, not quite the same thing but that's how life was), I find MicroPython a lot more intuitive than the Arduino language or raw C.
I also learned that Adafruit maintains their own flavor, CircuitPython [2].
Definitely worth trying out if you haven't, and know any Python!
[1] https://www.youtube.com/watch?v=dUCgYXF01Do https://www.youtube.com/watch?v=dUCgYXF01Do
[2] https://circuitpython.org https://circuitpython.org
- djaychela 6y agoI did some micropython for a video series I made [1], and I have to say, it took me right back to the days of owning a ZX Spectrum - accecssing a REPL directly over a USB serial connection was very much like these machines, although I know it's not something that everyone thinks is a good idea... I like the idea that the main interface to the device is to program it in some way or another, and I'm sure that was what led my generation to be as computer-literate as they are. I'm going to order a Pico today! [1] - https://realpython.com/courses/getting-started-micropython/ https://realpython.com/courses/getting-started-micropython/
- deleted 6y ago[deleted]
- amelius 6y ago> it took me right back to the days of owning a ZX Spectrum Is there any kit that includes a screen (with a case) and a small keyboard, and a manual for (say) less than $100? It would be great if there was a self-contained kit that you could give to a child, so that it can have that same "home computer" experience as in the old days. I.e., something like this, but with a modern form factor: https://en.wikipedia.org/wiki/TRS-80#/media/File:TRS-80_Model_3_01.jpg https://en.wikipedia.org/wiki/TRS-80#/media/File:TRS-80_Mode...
- mrkstu 6y agoRaspberry Pi 400 is almost that- more like a Commodore 64 in that it doesn't include a monitor.
- amelius 6y agoYes, it should be sub $100, and include a monitor.
- tobijkl 6y agoBuy a Raspberry Pi and take a look at your local recycling center. You can find some quite decent monitors (even HDMI), keyboards, and mice in their electronic scrap bin for free.
- amelius 6y agoI want to give something that is easy to move around and doesn't have lots of cables.
- derefr 6y agoAn old laptop locked down to run a BASIC REPL in kiosk mode?
- camehere3saydis 6y ago@amelius: there's a bunch of RPi-based laptops, but at those price points you might as well go with a T60. https://magpi.raspberrypi.org/articles/the-best-raspberry-pi-laptop-kits https://magpi.raspberrypi.org/articles/the-best-raspberry-pi... A 7" display + case + mini Bluetooth keyboard could be a good middle ground, too.
- JansjoFromIkea 6y agoI think the one thing RE: used laptops that always has to be accounted for is it requires a fair bit of technical knowledge and some learned experience of what a good used device should have. I'm related to a few teachers and used laptops were always an issue because they couldn't afford to take the punt of getting used ones so they had to pay a premium from established resellers instead at which point you're approaching budget new laptop price territory. Pi 400 really should have some obvious clear low cost screen upgrade option though. Possibly even just an app that it could stream to out of the box? Obviously wouldn't be perfect but if you assume there's a not unreasaonable chance they already have some Android device it could suffice.
- dheera 6y agoPersonally I really like the following boards for general projects: - FeatherS2 (runs CircuitPython): https://unexpectedmaker.com/shop/feathers2-esp32-s2 https://unexpectedmaker.com/shop/feathers2-esp32-s2 - TinyPICO (runs MicroPython): https://www.tinypico.com/ https://www.tinypico.com/ They're both designed by the same dude. I'm not affiliated with them, I've just tried dozens of microcontroller boards and these two are easily the winners in my book for versatility in hobby projects. These boards are absolutely jam-packed with features (capacitive touch sensing, RGB indicator LED, Li-Po battery management, ...) but moreover support Bluetooth and Wi-Fi. That's a major problem with the Pi Pico. You'll end up with a mess easily 2-3 times the physical size of the Pico to get Wi-Fi on it in the form of HAT-like boards, whereas the above microcontrollers have everything on-board. By the way, CircuitPython is for the most part a real pleasure to use. If you slap an Adafruit display on them, with about 4 lines of code you can have the Python interpreter's STDOUT go straight to the display. The boards also emulate a USB drive that exposes all the Python code so you can program them with literally zero additional software.
- tooltower 6y agoWhat do you think of Wemos D1 in comparison? They also seem to have onboard WiFi and Bluetooth, and support micropython. I don't know too much about its battery management, though. The microusb port seems like a good thing?
- dheera 6y agoI used a Wemos D1 ESP8266 in this project [0]. Plenty good for the project at hand. I heard they have an ESP32 version now? For one-off personal projects I'd probably still reach for a TinyPICO or FeatherS2 though because of the additional features they have, and that they have a Discord server you can ask questions to, but if you're deploying a dozen of them in your garden and want to save money then yeah, the Wemos would probably be a good bet. Support and documentation is a little sparse though, in comparison. [0] https://github.com/dheera/shadow-clock https://github.com/dheera/shadow-clock
- 6y ago
- miguelrochefort 6y agoIf anyone wants to play with MicroPython, check out Wasp-OS for the PineTime and the Colmi P8 smart watches (~$20). I've learned a lot about embedded development since I got them.
- jononor 6y agoWhaat, I can get a <100 USD usable out-of-the-box that I can program in Python? Quite interesting!
- lostlogin 6y agoThe ESP32 and ESP8266 can use micropython. They are very inexpensive and are often sub US$5. https://docs.micropython.org/en/latest/esp32/tutorial/intro.html https://docs.micropython.org/en/latest/esp32/tutorial/intro.... https://docs.micropython.org/en/latest/esp8266/tutorial/intro.html https://docs.micropython.org/en/latest/esp8266/tutorial/intr...
- deleted 6y ago[deleted]
- pjmlp 6y agoWhat many miss nowadays, is that most modern microcontrollers are more powerful than 8 bit home micros. Python seems to be growing into the new BASIC.
- Abishek_Muthian 6y agoHi Jeff, Can a thermocouple be used with the built-in temperature sensor of RP2040?
- guenthert 6y agoI didn't down-vote you, but I suspect you've been down-voted because your question doesn't make much sense. A thermocouple is a temperature sensor, in that it transforms a temperature difference into a potential difference (voltage). You might be able to use the built-in ADC to digitize that voltage, but you likely need a sensitive low-noise, low-offset amplifier. For high temperatures (high temperature differences) and low accuracy requirements, you might use the built-in semiconductor temperature sensor as (not quite so) cold-junction reference. Does that answer your question?
- Abishek_Muthian 6y agoIt does, thanks. I wanted to know if the temperature sensor could function like MAX6675 by connecting k-type thermocouple to a terminal; Should have checked the datasheet prior or made the question clearer.
- rasz 6y agoYou dont connect thermocouples to "temperature sensors", you connect them to ADCs after appropriate amplification. MAX6675 has build in opamp, adc and full microprocessor under the hood doing signal conditioning, digitization, linearization, translation, and cold joint temperature compensation. TLDR: No, you wont be able to connect thermocouple directly to the Pico. You will have to design/copy frontend for it.
- Abishek_Muthian 6y agoI assumed/misunderstood RP2040 also had - > build in opamp, adc and full microprocessor under the hood doing signal conditioning, digitization, linearization, translation, and cold joint temperature compensation. I stand corrected, thank you.
- ksec 6y agoI guess mRuby missed the train again.
- nousermane 6y agoGreat video. And thank you so much for your continuing work measuring power consumption! So, this board takes 90mA in full-speed run mode. That's not better than Raspberry Pi Zero (despite pico having 2000 times less RAM, and 10-20 times slower CPU). So why would one use this over Zero? Am I missing something?
- unnouinceput 6y agoProbably because of smaller size and better integration. Also, while I am not sure, I suspect the price is better, only if by 10%.
- _def 6y agoCosts of development/maintenance of the use case as well as the unit itself.
- wiremine 6y agoIt's apples and oranges a bit: instead of linux you're going to need a bare metal or RTOS like FreeRTOS. Linux is not always the right platform. That said, your point about power is well taken. I haven't looked at the Pico. What is the power draw in sleep mode?
- deleted 6y ago[deleted]
- worik 6y agoWatch the video 0.006W from memory. But do not trust me. Watch the video.
- PragmaticPulp 6y agoGenerally, if you can get away without using a full Linux SoC then it’s better to use a microcontroller platform like this. Microcontrollers allow much lower system complexity, more predictable timing and real-time response times, and nearly instant boot times. Virtually every USB port can supply at least 100mA, so for most applications there’s no difference between using 9mA or 90mA. That said, if you’re making a battery project you’ll almost certainly be able to stretch the microcontroller further. Micros generally have fantastic support for low power sleep modes.
- deleted 6y ago[deleted]
- naikrovek 6y agoMicroPython is also a lot slower than Arduino style C++. Like, a LOT. So much slower that I am sort of amazed that MicroPython has any traction at all. An 80MHz microcontroller running C can go about as fast as a 800MHz microcontroller running MicroPython, if the benchmarks a friend showed me are accurate. An 80Mhz microcontroller is a lot cheaper than an 800 MHz microcontroller, though the difference is getting smaller.
- chrisshroba 6y agoI'm not particularly surprised. Many hobbyists just need their microcontroller to periodically poll some sensor data, or actuate a servo when a button is pressed, etc., and the convenience of programming in Python trumps a 10x speed improvement.
- rixed 6y agoIt may not always trumps a 10x shorter battery lifespan, though.
- syntaxing 6y agoI think hardware cost is secondary for hobby projects compared to learning curve cost. C is very intimidating (and annoying sometimes) compared to Micropython. It definitely promotes bad coding hygiene but I don’t really care if I just want something quick and dirty for my own small project.
- Yeroc 6y agoThanks for your video. This no doubt foreshadows the Raspberry Foundation eventually moving away from the Broadcom SoCs to their own custom SoC for future Raspberry Pi iterations as well.
- mmastrac 6y agoThis makes a ton of sense. The GPU IP will be the tricky part. Will they build or buy?
- alexhutcheson 6y agoIf they're sticking with ARM I would bet on them using an ARM Mali GPU, since they would almost certainly be licensing the microarchitecture from ARM anyway.