On Sun, 25 Aug 2024 21:29:30 -0400, avi.e.gross wrote: > If everyone will pardon my curiosity, who and what purposes are these > smaller environments for and do many people use them? > > I mean the price of a typical minimal laptop is not a big deal today. So > are these for some sort of embedded uses? > > I read about them ages ago but wonder ...
Typically they are used for I/O with the physical world. Some, like the Arduino Nano Sense, have a number of sensors on the board including a 9 axis inertial, temperature, humidity, barometric, microphone, light intensity, and color sensors. MIT chose this for their TinyML course because it was one-stop shopping. Using TinyML, a really cut down version of TensorFlow, gesture, wake word, image recognition, and other tasks were move entirely to the edge device. Others, like the Pico series, bring out the I/O pins but have little onboard. Many pins are multi-purpose and are used for SPI or I2C protocols, PWM, A/D measurements, and plain vanilla digital. The Raspberry Pi series lives in both worlds. Particularly with the new Pi 5, it's usable as a desktop Linux system, if somewhat limited, while bringing out the PIO pins. It's really a different world than a typical laptop. Years (decades?) ago you could subvert the parallel port controller to provide digital I/O but who has seen a parallel port lately? There are many families and devices available that are used for any number of projects that need to interact with the real world. The earliest variants were usually programmed in assembler since 2k of EPROM and 128 bytes of RAM was typical. As they improved C was sued. Now there's enough flash and SRAM to support MicroPython or CircuitPython and they are fast enough for most purposes. There are specialized drivers but if you know Python the bulk of the logic will be very familiar. For example I have a desktop Python app that pulls weather data from NOAA's web API. The Pico W has Wifi, so if I wanted to compare NOAA's temperature, humidity, and barometric pressure to the values I read from a local sensor, the API requests and parsing the JSON reply would be almost identical to the desktop code. Conversely I could use the Pico W as a web server to make its sensor reading available. -- https://mail.python.org/mailman/listinfo/python-list