Let me be more specific.
So there is data in this microcontroller,
there's lots of information floating around.
This information is represented as binary numbers, a series of zeros and ones.
A bit is a single binary number.
A single zero one that's a single digit.
A single binary digit is a bit.
Now, these numbers can be very large, right?
So, every data path, every microcontroller,
it has a certain, what you call a bit width.
The size of a standard piece of data in that microcontroller.
So common numbers would be like a 32-bit datapath for Microcontroller.
That means that most of the data inside that microcontroller is
gonna be represented as a 32 bit number.
A 32 bit sequence of zeroes and ones.
And that says a lot about the microcontroller.
It tells you something about the accuracy,
about how much data you can process at a time.
Because you are processing data in 32-bit chunks.
It tells you how big the registers are.
So we haven't said what a register is, but a registers basically just a storage
element, it stores data, it stores one number, essentially.
And so I, you have 32-bit registers, right?
To store 32-bit numbers, it also means, the buses that carry the data,
are generally 32-bits, 32 wires, running along the circuit, right?
So the bit width tells you a lot about the data path, and
generally high bit width means roughly more powerful.
It means you're handling more data at a time.
So if you take a 32-bit datapath compared to an 8-bit datapath,
you can handle 32-bit numbers instead of 8-bit numbers, so
you have more accuracy with the 32-bit number.
Also you can do generally more number crunching.
You can do more complicated things because you have 32-bits of data rather than 8.
So and actually between 8-bit and 32 bit is a common cut off so
if you look in Arduino, and Arduino is an 8-bit datapath, which is small.
And Raspberry Pie is a 32-bit datapath and there's a big cut off between those two.
For instance, just very roughly if using an operating system and
we will get to operating systems.
Operating systems, you can use an operating system on a 32-bit datapath,
but it's a very hard thing to have an operating system on an 8-bit datapath.
Right? So if you're thinking about your system,
well I need an operating system,
then you probably are not going to go with an 8-bit microcontroller.
You're probably gonna need a 32-bit microcontroller so
at a very high level the bitwidth is something you need to know and
that's gonna be on the front page of the data sheet, somewhere around there.
Input/Output Pins.
These are actually very important.
They're often a bottleneck.
So these chips, you've probably heard of Moore's Law.
Basically it says that chips get denser and denser every year.
They have more and more transistors on them every year,
so theoretically more powerful.
More power hungry too, but more powerful.
Now, even though the density is increasing at that rate, the number of pins,
meaning the number of connections to the outside world,
the wires that go to the outside that increases at a much more slow rate.
Okay?
So, you get more density on chip, but
the number of pins is barely increasing over time, slowly increasing over time.
So pins can be precious.
So, cuz remember the microcontroller is the center of the system.
It's connected to all the other components,
telling them receiving data from different sensors sending data to actuators,
talking to other integrated circuits on the device.
So the microcontroller,
it needs to be connected to other components in the design.
And so the number of input/output pins is really important and
you need to decide on that.
I find that's a big decision maker as far as what microcontroller I use because if I
know I need my microcontroller to connect to the following five devices and
these devices have x number of pins, I add that up and
I say wait I need a microcontroller that has at least five x pins, right?
So that rules out a lot of parts right off the bat.