WiFi, lots of built in hardware (temp + humidity, light, microphone, buzzer, buttons, LEDs, etc), and CircuitPython means you can program it with a USB cable and a plain old text editor.
More bucks than the "smallest ESP-whatever" dev board, but handy for learning.
It may be more bucks, but it's still cheap for the amount of documentation you get. Plus, you only need one, and then you can graduate to the cheap ESP32 boards.
Here is what I see, a board that one solders header pins into that can then be plugged into a solderless breadboard where jumper wires are used to attach it to other interesting peripherals.
To me, this seems like the new preferred way of doing "Arduino" which no longer refers to a hardware standard so much as it is an integrated development environment connected to the device of through USB and programmed in a somewhat C++'ish dialect of a computer language.
Typical curriculum for learning is to use pre-existing "sketches" (programs) with pre-existing board or processor specific "libraries" to implement behaviors from the simple (blink an LED) to the complex.
An alternative curriculum/universe are the mBed boards which are supported by ARM (and are pretty much all ARM based boards rather than a variety of architectures like Arduino currently supports).
So my questions would be what are you trying to learn, and what constitutes "fully featured" in your mind?
In my experience some people use these kinds of setups to learn programming and some use them to learn embedded systems. The the programming aspect typically links together one or more assembled "break out" boards with a perihperal of interest and the programming learning is how to code something that combines that breakout boards library with some behavioral code to achieve some goal. Leaning embedded systems often involves actually building one's own "break out" board and writing the libraries that provide a programming API that can drive that board.
EDIT: As it turns out, the third method that these things are used is with a variant of Python which is nominally "Micropython" (official project), "CircuitPython", the Adafruit variant, or "Ardupy", the Seeed Studio variant.
That makes programming things even simpler. You don't even need any software on your computer (just a terminal program to talk to the board).
So getting this from CrowdSupply with the 'triple shield' and you're good to go.
So knowing what you want to learn, and what your level of investment is, helps give a better answer to the question.
[1] https://www.smart-prototyping.com/Qwiic.html
Disclaimer: I have never used these and don't know how good they are.
If you look at the Crowdsupply page, for $32 + shipping you can get the Pico and a set of 'shields'. The interesting one for you would be the "Grove" shield.
"Grove" is a connector / pinout standard that was created and supported by Seeed Studio (see: https://www.mouser.com/new/seeed-studio/seeed-studio-grove/ for a video on the infrastructure and ideas behind Grove (also see the Seeed wiki here: https://www.mouser.com/new/seeed-studio/seeed-studio-grove/)
There are a LOT of different boards you can get with sensors and what not on Grove and programming them in Micropython is supported because that is what Seeed uses (calling it Ardupy).
You will have to solder the pins on the Pico and the Grove shield, but after that you can just plug them together with cables.
Grove typically uses either a GPIO (on/off), and analog I/O, or an I^2C per board. You will need to know enough about those to match up the boards with the right connector on the shield. And then its just programming.
One of the things I've used when I've helped people learn about this stuff is to use the Grove temperature and humidty sensor and the NodeD1 (this is an early ESP8266 design that also runs micro python). A Python program that reads the sensor and then does an http GET on a web server with a CGI that records temperature and humidity. Control flow looks like this:
while true:
temp = read_temp()
humid = read_humid()
http.get("http://192.168.1.5/environment.cgi?t=" . temp . "?h=" . humid)
sleep(10)
The same web server has a page that uses D3 to plot temperature and humidity over time. Very simple and easy to do.(and yes you learn to read the temperature and humidity over i2c, and set the chip up to connect to the wifi hotspot)
AFAICT basically nobody is using python to program these things, just C. Building my own breakout board is crazy. But my friend did build an Arduino from scratch on a breadboard from AVR, etc. Don't see the point- that's all work that doesn't bring me closer to driving my 3D printer.
https://pycom.io/product/fipy/
Pycom also has various extension boards that plug right in with things like NFC/RFID, GPS, light/pressure/humidity sensors, etc.
Oh, and how could I forget to mention that it can run python directly on the microcontroller (micropython) so you don't need to know C to mess with it. And it does that thing where it mounts as a filesystem and you can just drag python files over to it and it'll automatically reboot into running them.
Highly recommend this little device.
As a MicroPython contributor I can't/won't use PyCom's fork because any code I develop for it cannot be accepted upstream.
I do like their hardware, it's a shame they chose to make their software licensing incompatible.
It wouldn't hurt to look for a completed project where someone has posted a tutorial on how they did it, and duplicate it. Then you can take small steps towards adapting it in a creative way, e.g., by writing new code for it, or adding more hardware goodies.
Like programming itself, you have to let hardware hacking grow on you. Maybe it will and maybe it won't. If it does, then it can be a fascinating rabbit hole to go down.
Funny reading this advice after all the Copilot drama.
Maybe life was a little bit simpler in some ways back then. Things that are now being hashed out regarding usage rights in the software world, were taken for granted in the early hobby and scientific communities.
My understanding of the Copilot issue is that it's hard to know the legality of using the code provided by the tool.
Here's what I'd recommend - pick up a cheap dev board! Shouldn't cost you more than $10 and a USB cable, and you can get to hacking straight away. It's easier than you think, I promise!
I’m only using a fraction of their power though.