gwideman wrote: ↑
Mon Apr 02, 2018 12:43 pm
For what it's worth, yes the specs I have been describing would be essential for teaching Engineering 101. But I am not personally teaching such a class (though i do sometimes teach interest groups). My use of the phrase "Engineering 101" was to try to emphasize how fundamental and ubiquitous these specs are.
James, your info says "Engineer", though apparently not electrical. So whatever field you studied, think of the principles you learned first year, or perhaps already knew before uni, and those are the ones that you would not be able to apply. We're talking a level of "formality" that is at the level of the very first few things an interested person would know that a random person might not. Like F-stops on a camera. Or how to change the oil in a car.
Not having those specs prevents one from using even the basic first electrical principles one learns in high school, let alone EE 101. We're talking addition, subtraction, multiplication, division and ohm's law. Missing specs prevents determining if connected components will work without actually trying them out, and even that test only tells about those specific components, and not about a second unit.
I feel like I'm trying to make a case akin to "topics in science class are actually useful"... but plowing on...
I will give a couple of examples, but I emphasize that I am not asking for reports on whether these work. I am advocating that RPi docs facilitate performing the trivial calculations to make them work satisfactorily.
1. Scenario: Use a GPIO output to drive an LED and a digital input. What is the max current (and hence series resistor) that the GPIO can supply to the LED, while maintaining a sufficient digital voltage level for the digital input? Does it make a difference whether the LED is connected so that the GPIO powers it high, or powers it low?
2. Scenario: Use a GPIO output to turn on a transistor that controls a 1A load. Will this work with a random transistor you have lying around, or do you need to pay attention to the minimum beta of the transistor so as to guarantee full turn-on?
1. Various raw sensors can be used to detect simple presence/absence of some phenomenon. These sensors often do not work like switches, but instead they, for example, change their resistance. So they can be used with a resistor as a voltage divider, to produce a high-ish and low-ish voltage. To select values to work reliably into a GPIO, one needs to know VIL (Highest low threshold) and VIH (Lowest high threshold).
Again, of course you can assemble a test example and see if it "works". But (a) why does the user have to guess at this, and (b) a case that works tells nothing about whether a second unit will work, due to component variability. That variability is covered by the DC Electrical Characteristics.
To extrapolate these examples: a couple of years ago I investigated a poorly-conceived I/O adapter and level-shifter board that was produced as an accessory for a major-company SoC-based board that's loosely similar to RPi. The adapter was designed with receptacles to work with inexpensive Seeed Studio "Grove" series rudimentary sensors, actuators and peripherals, of which there were about 100, all of which have schematics. In short a sample of individual devices people might want to hook up to RPi. Because I had the DC electrical characteristics of the I/Os on the adapter board,, and for the modules, I was readily and quickly able to determine which modules would work reliably with the adapter board. Many would not.
Hopefully this gives you a sense of what those specs are useful for. And how out-of-step RPi is in not providing these specs for the I/Os that are touted as one of iRPi's most attractive features. Not to mention how dissonant this is with the educational mission.