3 ms·
Can you help me understand this comment a bit better? Here is what I see, a board that one solders header pins into that can then be plugged into a solderless
by ChuckMcM 5y ago
Can you help me understand this comment a bit better?
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.
- mysterydip 5y agoI'm interested in low level programming, not electrical engineering. While I understand the logical stacks, registers, pins in and out, I'm not great at soldering. I can stick components on a breadboard, I don't have the knowledge of what resistors I need with an LED, etc. Basically I want to test sensors and motors without needing to lay out the physical circuit correctly or adding to troubleshooting. So either a development board of some kind, or a modular plug-in system.
- smoldesu 5y agoMost people will use some combination of breadboarding/GPIO-wizardry to achieve what you're describing. I don't think there's an "elegant" solution to something like that.
- MrsPeaches 5y agoIs something like this [1] the kind of thing you are looking for? [1] https://www.smart-prototyping.com/Qwiic.html https://www.smart-prototyping.com/Qwiic.html Disclaimer: I have never used these and don't know how good they are.
- ChuckMcM 5y agoCool! That is a great way to start. 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/ 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/ 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)
- dekhn 5y agoOne of the best things about ESP32 is that the ARduino layer is just a compatibility layer. I ported Zork to FreeRTOS and booted it natively as a FreeRTOS app on the ESP32, that was massively educational. 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.
- hungryforcodes 5y agoDefinitely not just C. Also most certainly people are using Javascript to program these boards. Espruino is a NodeJS like environment which is extremely featureful and supports alot of peripherals. https://espruino.com/ https://espruino.com/
- matt_trentini 5y agoI run a MicroPython meetup and many of the members use the ESP32. Due to it's rich feature set and low price it's basically the gateway drug to MicroPython...