Likely not, and yes. Search for "Arduiono + what ever You think of" and You'll get plenty of projects being done.
Those two controller will allow You to do plenty of mistakes and learn a lot.
All of the hardware You are mentioning can be handled by any of those controllers.
robainscough:
Are there some resources that outlines Arduino PCB usage cases with details on what a specific PCB was used?
Not exactly what you're asking for, but if you go to the Project Hub home page: https://create.arduino.cc/projecthub
You'll see a dropdown menu in the top right area of the window, which will say "All products". That allows you to select any Arduino board and see all the projects that used that board.
robainscough:
Like Arduino product list overview?
Again, probably not exactly what you're asking for, but there are overviews for every Arduino board on their product pages in the Arduino Store:
The Uno and closely-related “Nano” (original, not “every”) are by far the most popular boards, and they sound suitable for what you have in mind. Mega is bigger (more pins) but not faster. Zero/m0/etc is faster, with the familiar Uno pinout. Due is faster and bigger. MKR boards tend to be Wireless IoT oriented with various sorts of radios.
There are also many non-arduino boards that can be used with the IDE. Some may be equivalents to existing Arduino's - Sparkfun for example make some. Others are more capable e.g. Teensy or the Arduino Feather range. Then there's the various ESPXXX chips that tend to be cheap and come with wifi.
Excellent! Many thanks to all for the information, much appreciated!
I have the Nano, Micro, Uno, Mega, Leonardo ... I think the Micro/Leonardo will be my primary usage for what I'm trying to do ... I need to figure out power requirements. Any issues with these boards overheating?
robainscough:
I have the Nano, Micro, Uno, Mega, Leonardo ... I think the Micro/Leonardo will be my primary usage for what I'm trying to do
The Micro and Leonardo are significantly different from he Uno, Mega and nano because they use the Atmega 32U4 microprocessor which includes the ability for USB communication. On the Uno, Mega and nano the USB communication is handled be a second microprocessor.
This means that the Micro and Leonardo have the ability to emulate a keyboard or a mouse, But it also means that you can run into problems uploading programs to them if they are in the mouse or keyboard mode.
If you are just learning I suggest you start with the Uno, nano or Mega as they are the most common.
I also think that your first task should be to gain some experience with the Uno (etc) because that will greatly help you to understand the abilities and limitations and the usefulness of the differences between the various boards.
robainscough:
Any issues with these boards overheating?
The main "overheating" issue is if you make the mistake of thinking that the on-board regulator is useful for anything but testing out the bare board with nothing but a few indicator LEDs connected.
A very real danger is that the obsolete tutorials on the Arduino site and others misleadingly imply that the largely ornamental "barrel jack" and "Vin" connections to the on-board regulator allow a usable source of 5 V power. This is absolutely not the case. It is essentially only for demonstration use of the bare board back in the very beginning of the Arduino project when "9V" transformer-rectifier-capacitor power packs were common and this was a practical way to power a lone Arduino board. And even then it was limited because an unloaded 9 V transformer-rectifier-capacitor supply would generally provide over 12 V which the regulator could barely handle.
If you are asking this question, it is highly likely that you will wish to connect something else. In which case, the answer is regulated 5 V.
This is because the on-board regulator is essentially capable of powering only the microcontroller itself and no more than a couple of indicator LEDs. The on-board regulator might be able to power a few other things if it had a heatsink, but on the (older) Arduinos, it does not.
Powering via the "barrel jack" or "Vin" connections is asking for trouble. The "5V" pin is not by any means an output pin, if anything a "reference" pin but most certainly the preferred pin to which to supply a regulated 5 V.
boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
byte (8 bit) - unsigned number from 0 to 255
char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
word (16 bit) - unsigned number from 0 to 65535
unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
unsigned long (32 bit) - unsigned number from 0 to 4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later. Sparkfun.
You select the 'type' best suited for your variables.
ex:
your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. int temperature;
if your variable needs to be within -64 to +64 a 'char' will do nicely. char joystick;
if your variable is used for ASCII then you need type 'char', char myText[] = {"Raspberry Pie Smells"};
if your variable enables some code then boolean can be used. boolean enableFlag = false;
millis() returns the time in ms since rebooting, unsigned long currentTime = millis();
etc.
You mentioned OLED screens. As soon as you start playing with screens you suddenly want a LOT more RAM. That's why I use Teensys. You can get them with a lot of RAM and they are about the size of your thumb.