Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:iot-open:hardware2:arduino [2023/11/21 20:57] pczekalskien:iot-open:hardware2:arduino [2024/05/27 11:31] (current) ktokarz
Line 1: Line 1:
 +<pagebreak>
 ====== Arduino General Overview ====== ====== Arduino General Overview ======
 +{{:en:iot-open:czapka_b.png?50| General audience classification icon }}{{:en:iot-open:czapka_e.png?50| General audience classification icon }}\\
 No doubt, Arduino became the most widespread name in the development boards world, particularly among enthusiasts, educators, amateurs, and hobbyists, driving de-facto the embedded systems market for years.  No doubt, Arduino became the most widespread name in the development boards world, particularly among enthusiasts, educators, amateurs, and hobbyists, driving de-facto the embedded systems market for years. 
  
Line 19: Line 20:
 == Hardware == == Hardware ==
 The Arduino boards work by reacting on signals at **inputs** that are received from various sensors, and after executing a **set of instructions**, an **output** is generated to respond to the environment. The input signal can be generated by pressing a button, receiving the radio or light signal, hearing the sound, perceiving an image of the situation using a camera resulting from the environmental sensor measurement, and many others. The output actions in the environment use output elements like actuators, blinking LEDs, audio devices, and others. The set of instructions executed to handle both sensors and actuators is created using the **Arduino programming language** based on an open-source programming framework called **Wiring** and the **Arduino Software** (IDE) based on **Processing**. The Arduino boards work by reacting on signals at **inputs** that are received from various sensors, and after executing a **set of instructions**, an **output** is generated to respond to the environment. The input signal can be generated by pressing a button, receiving the radio or light signal, hearing the sound, perceiving an image of the situation using a camera resulting from the environmental sensor measurement, and many others. The output actions in the environment use output elements like actuators, blinking LEDs, audio devices, and others. The set of instructions executed to handle both sensors and actuators is created using the **Arduino programming language** based on an open-source programming framework called **Wiring** and the **Arduino Software** (IDE) based on **Processing**.
-The microcontroller or System on Chip is the most crucial element in the IoT and embedded devices built nowadays. It is not common to add peripheral elements external to the microcontroller, so the choice of this element influences almost all hardware parameters and the set of peripherals of the board. Because many versions of Arduino boards are available, only their selection is presented in the following chapters.+The microcontroller or System on Chip is the most crucial element in the IoT and embedded devices built nowadays. It is not common to add peripheral elements external to the microcontroller, so the choice of this element influences almost all hardware parameters and the set of peripherals of the board. Because many versions of Arduino boards are available, only their selection based on the AVR family of microcontrollers is presented in the following chapters.
  
-== Processor ==+== AVR microcontrollers ==
 The initial, still very popular version of the Arduino board - Arduino Uno, is based on the ATmega328P microcontroller. The same chip is used in, e.g. Arduino Nano and Pro Mini. Arduino Leonardo or Micro is based on ATmega32u4, which has a built-in USB interface. The Arduino Mega board is created with an extended microcontroller ATmega2560, which has many more interface pins. The initial, still very popular version of the Arduino board - Arduino Uno, is based on the ATmega328P microcontroller. The same chip is used in, e.g. Arduino Nano and Pro Mini. Arduino Leonardo or Micro is based on ATmega32u4, which has a built-in USB interface. The Arduino Mega board is created with an extended microcontroller ATmega2560, which has many more interface pins.
  
Line 35: Line 36:
 <table Memory> <table Memory>
 <caption>The Comparison of Basic Arduino Boards by Microcontroller Type and Memory Size</caption> <caption>The Comparison of Basic Arduino Boards by Microcontroller Type and Memory Size</caption>
-^                                    ^ <fs xx-small>Uno</fs>         ^ <fs xx-small>Leonardo</fs>    <fs xx-small>Micro</fs>       ^ <fs xx-small>Mega</fs>        <fs xx-small>Nano</fs>        <fs xx-small>Pro Mini</fs>    ^ +^                                    ^ Uno         ^ Leonardo    ^ Micro       ^ Mega        ^ Nano        ^ Pro Mini    ^ 
-<fs xx-small>Microcontroller</fs>  <fs xx-small>ATmega328p</fs>  <fs xx-small>ATmega32u4</fs>  <fs xx-small>ATmega32u4</fs>  <fs xx-small>ATmega2650</fs>  <fs xx-small>ATmega328p</fs>  <fs xx-small>ATmega328p</fs>  | +| Microcontroller  | ATmega328p  | ATmega32u4  | ATmega32u4  | ATmega2650  | ATmega328p  | ATmega328p 
-<fs xx-small>Flash (kB)</fs>       | <fs xx-small>32</fs>          <fs xx-small>32</fs>          <fs xx-small>32</fs>          <fs xx-small>256</fs>         | <fs xx-small>32</fs>          <fs xx-small>32</fs>          | +| Flash (kB)       | 32          | 32          | 32          | 256         | 32          | 32          | 
-<fs xx-small>SRAM (kB)</fs>        <fs xx-small>2</fs>           | <fs xx-small>2</fs>           | <fs xx-small>2.5</fs>         | <fs xx-small>8</fs>           | <fs xx-small>2</fs>           | <fs xx-small>2</fs>           | +| SRAM (kB)        | 2           | 2           | 2.5         | 8           | 2           | 2           | 
-<fs xx-small>EEPROM (kB)</fs>      <fs xx-small>1</fs>           | <fs xx-small>1</fs>           | <fs xx-small>1</fs>           | <fs xx-small>4</fs>           | <fs xx-small>1</fs>           | <fs xx-small>1</fs>           |+| EEPROM (kB)      | 1           | 1           | 1           | 4           | 1           | 1           |
 </table>  </table> 
  
Line 56: Line 57:
 <table Timers> <table Timers>
 <caption>The Comparison of Arduino Boards by Interfaces and Timers Available</caption> <caption>The Comparison of Arduino Boards by Interfaces and Timers Available</caption>
-^                                    ^ <fs xx-small>Uno</fs>      <fs xx-small>Leonardo</fs>  <fs xx-small>Micro</fs>    <fs xx-small>Mega</fs>     ^ <fs xx-small>Nano</fs>    <fs xx-small>Pro Mini</fs>  ^ +^                                    ^ Uno      ^ Leonardo  ^ Micro    ^ Mega     ^ Nano    ^ Pro Mini  ^ 
-<fs xx-small>USB</fs>              |  <fs xx-small>1 USB B</fs> <fs xx-small>1 Micro</fs>   | <fs xx-small>1 Micro</fs>  <fs xx-small>1 USB B</fs>  <fs xx-small>1 Mini</fs>  <fs xx-small></fs>         | +| USB              |  1 USB B | 1 Micro   | 1 Micro  | 1 USB B  | 1 Mini  | –         | 
-<fs xx-small>UART</fs>             | <fs xx-small>1</fs>        <fs xx-small>1</fs>         | <fs xx-small>1</fs>        <fs xx-small>4</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         | +| UART             | 1        | 1         | 1        | 4        | 1       | 1         | 
-<fs xx-small>I2C</fs>              <fs xx-small>1</fs>        <fs xx-small>1</fs>         | <fs xx-small>1</fs>        <fs xx-small>1</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         | +| I2C              | 1        | 1         | 1        | 1        | 1       | 1         | 
-<fs xx-small>SPI</fs>              <fs xx-small>1</fs>        <fs xx-small>1</fs>         | <fs xx-small>1</fs>        <fs xx-small>1</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         | +| SPI              | 1        | 1         | 1        | 1        | 1       | 1         | 
-<fs xx-small>8-bit Timer</fs>      <fs xx-small>1</fs>        <fs xx-small>1</fs>         | <fs xx-small>1</fs>        <fs xx-small>2</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         | +| 8-bit Timer      | 1        | 1         | 1        | 2        | 1       | 1         | 
-<fs xx-small>16-bit Timer</fs>     | <fs xx-small>2</fs>        <fs xx-small>2</fs>         | <fs xx-small>2</fs>        <fs xx-small>4</fs>        <fs xx-small>2</fs>       | <fs xx-small>2</fs>         | +| 16-bit Timer     | 2        | 2         | 2        | 4        | 2       | 2         | 
-<fs xx-small>Watchdog Timer</fs>   | <fs xx-small>1</fs>        <fs xx-small>1</fs>         | <fs xx-small>1</fs>        <fs xx-small>1</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         | +| Watchdog Timer   | 1        | 1         | 1        | 1        | 1       | 1         | 
-<fs xx-small>Real-time clock</fs>  <fs xx-small>1</fs>        <fs xx-small>-</fs>         | <fs xx-small>-</fs>        <fs xx-small>1</fs>        <fs xx-small>1</fs>       | <fs xx-small>1</fs>         |+| Real-time clock  | 1        | -         | -        | 1        | 1       | 1         |
 </table>  </table> 
  
Line 85: Line 86:
 <table DigitalIO> <table DigitalIO>
 <caption>The Comparison of Basic Arduino Boards by the Number of Pins in Hardware Interfaces</caption> <caption>The Comparison of Basic Arduino Boards by the Number of Pins in Hardware Interfaces</caption>
-^   <fs xx-small>Uno</fs> <fs xx-small>Leonardo</fs> <fs xx-small>Micro</fs> <fs xx-small>Mega</fs> <fs xx-small>Nano</fs> <fs xx-small>Pro Mini</fs> +^   ^ Uno ^ Leonardo ^ Micro ^ Mega ^ Nano ^ Pro Mini ^ 
-|<fs xx-small> Digital I/O</fs> |  <fs xx-small>14</fs> <fs xx-small>20</fs> <fs xx-small>20</fs> <fs xx-small>54</fs> <fs xx-small>22</fs> <fs xx-small>14</fs> +| Digital I/O |  14 | 20 | 20 | 54 | 22 | 14 | 
-<fs xx-small>PWM</fs> |  <fs xx-small>6</fs> <fs xx-small>7</fs> <fs xx-small>7</fs> <fs xx-small>12</fs> <fs xx-small>6</fs> <fs xx-small>6</fs> +| PWM |  6 | 7 | 7 | 12 | 6 | 6 | 
-<fs xx-small>Analog pins</fs> |  <fs xx-small>6</fs> <fs xx-small>12</fs> <fs xx-small>12</fs> <fs xx-small>16</fs> <fs xx-small>8</fs> <fs xx-small>6</fs> |+| Analog pins |  6 | 12 | 12 | 16 | 8 | 6 |
 </table>  </table> 
  
en/iot-open/hardware2/arduino.1700600255.txt.gz · Last modified: 2023/11/21 20:57 by pczekalski
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0