In this post I will discuss about the Arduino PRO MINI. In the previous posts I have included the detailed introduction of the Arduino UNO, MEGA and NANO this post will be oriented around the Arduino PRO MINI only.
After reading this post the reader will learn about the basics of the Arduino PRO MINI, the reader will be able to differentiate the Arduino PRO MINI and other Arduino microcontroller boards.
Arduino PRO MINI Board:
Arduino PRO MINI microcontroller development board is the variant of the Arduino UNO microcontroller board with specific perks and quirks. The Arduino PRO MINI microcontroller development board is quite small in size as compared to the more common Arduino UNO but it is based ATEGA328P. That is the Arduino PRO MINI microcontroller development board is designed around the ATMEGA328P microcontroller IC so that most of the features of the Arduino UNO and Arduino PRO MINI are the same. The main difference lies in the hardware design of the board. The Arduino PRO MINI has one UART (Universal Asynchronous Receiver and Transmitter), one SPI (Serial Peripheral Interface) and one I2C (Inter-Integrated Circuit) computer bus. It should be noted here that all of the communication ports that are found on the Arduino UNO are also available on the Arduino PRO MINI microcontroller development board. Arduino PRO MINI has 14 digital Input / Output pins out of which 6 are PWM (Pulse Width Modulation) enabled and 8 Analog pins. An important difference between the Arduino UNO and Arduino PRO MINI as pointed out earlier is the Hardware design that is Arduino PRO MINI lacks the on board-programmer. In order to make the size smaller the designers has taken out the serial programmer from the Arduino PRO MINI. The programmer found on board in case of the Arduino UNO is basically the USB to serial data bridge which converts the USB data into the UART and SPI data. Thus it becomes handy to program the Arduino UNO with the help of your computer. Notice here that the Arduino PRO MINI has no USB interface on board which means it cannot be programmed through your laptop USB COMM PORT. However in order to make programming easier and handy the manufacturers have released a module that acts as the bridge between USB and UART. The detailed discussion on this module and programming of the Arduino PRO MINI will follow in the post later. The Arduino PRO MINI microcontroller board looks like the one shown in the following figure:
Notice in the above image that there is no USB connector and power jack on board. The Arduino PRO MINI is almost 1/6 of the size of the Arduino UNO board. Another point worth mentioning here is that the Arduino PRO MINI comes in two versions which are classified on the basis of their Operating voltage and their clock frequencies. One is 3V3 / 8 MHz version and the other is the 5V / 16MHz version. This post is designed for the earlier version but all the concepts and points are equally valid for the 5V / 16 MHZ version.
Arduino PRO MINI Pinout:
Before diving deep into the discussion let us first have a brief look at the pinout of the Arduino PRO MINI. As pointed earlier that the Arduino PRO MINI is based on the same microcontroller IC as that of the Arduino UNO that is ATMEGA328P thus it follows that the pinout and other features of both the boards are essentially the same. The Arduino PRO MINI has 14 digital input / output pins and 8 Analog input pins. Out of the 14 digital input / output pins 6 of them are the PWM enabled pins. The PWM phenomenon and the application of these pins will be discussed in the post later. The detailed diagram of the pinout of the Arduino PRO MINI is as shown in the following figure:
Notice form the pin description that the digital input / output pin 10, 11 ,12 and 13 act as the Serial Peripheral Interface and the digital input / output pin 0 and 1 acts as the Tx and Rx of the UART respectively and finally the pin number A5 and A4 act as the I2C computer bus. The functionality of these pins is determined by the programming of the Arduino PRO MINI. The FTDI written above is not any interface protocol but it is only used to program the Arduino PRO MINI. The USB to Serial UART bridge module as introduced in the previous section is connected to these pins.
Arduino PRO MINI Digital Input / Output Pins:
Let us now learn about the pins of the Arduino PRO MINI in some detail. The Arduino PRO MINI has total 14 digital Input / Output pins as shown in figure from DP 0 to DP 13. Notice here that the suffix Input / Output is added to the digital pins it is due to the fact that the digital pins of the Arduino PRO MINI can act either as input or an output and the digital pin being the input or the output is determined by the code. When the digital pin acts as the input it can read the digital sensors. For example a toggle switch can be connected to the digital input / output which reads the state of the switch and performs the defined task. In the similar way when it is programmed as the output the digital input / output pin can write the digital signal to the actuator for example it may give signal to the relay or the motor controller. Besides these notice also that the pins 3, 5, 6, 9, 10 and 11 have added functionality that is they can act as the PWM pins and it too is determined by the code. The discussion on the PWM pin is followed in the next section. Before concluding it is also important to notice that the digital pin 0 and 1 bears the UART these pins acts the transmitter and the receiver of the UART integrated on the microcontroller also the pin number 10, 11, 12 and 13 can act as the Serial Peripheral Interface. The discussion on the SPI (Serial Peripheral Interface) will be followed in the next section.
Arduino PRO MINI Analog Pins:
As mentioned previously that the Arduino PRO mini has 8 Analog inputs which means that eight different analog sensors can be interfaced to the Arduino PRO MINI and the Arduino PRO MINI can fetch the data from these 8 analog sensors simultaneously. Unlike the Digital Input / Output pins these Analog Pins are the input only that these pins can only receive the analog signals that is read the signals and cannot drive the signal outwards. Notice in the pinout description that the analog pin number A4 and A5 has added functionality that is these pins together implement the I2C (Inter-Integrated Circuit) computer bus. The functionality of these two pins is also determined by the coding of the Arduino PRO MINI. Note here that the Arduino UNO has only 6 analog input pins whereas the Arduino PRO MINI has two more analog inputs.
Arduino PRO MINI SPI Interface:
Arduino PRO MINI has a SPI interface. The SPI (Serial Peripheral Interface) is the synchronous serial computer bus used for the communication for the short distances. The SPI bus is found in almost all microcontrollers and other peripheral ICs. For example manufacturers have designed the EEPROM with SPI interfaces and a number of other peripherals are also available with SPI interface. The SPI computer bus uses four pins for implementing the protocol. One pin is called the MOSI (Master out Slave In) and is available on Arduino PRO MINI on pin number 11, the other is called the MISO (Master In Slave Out) and is available on the Arduino PRO MINI on pin number 12. These two signals are the data signals that is the data is delivered and retrieved to and from the Arduino PRO mini using MOSI and MISO. SCK called the serial clock which synchronizes the data transfer is available on the pin number 13 and finally the chip select (SS) is implemented using the pin number 10 on the Arduino PRO MINI microcontroller development board.
Arduino PRO MINI PWM Pins:
Let us now discuss the PWM pins of the Arduino PRO MINI in some detail. As mentioned in the previous section that the Arduino PRO MINI has 6 PWM pins which are numbered as 3, 5, 6, 9, 10 and 11. These digital pins can deliver the PWM signal as output. The PWM is the abbreviation of the Pulse Width Modulation and it is a phenomenon in which we adjust the width of the pulse according to the requirement of the applications. For example if one need to regulate the speed of the motor or the brightness of the lamp this can be achieved by varying the width of the PWM signal. The power delivered by the PWM signal is the average of the signal for which it is zero and for which it is maximum. If the width of the PWM signal for which the signal remains HIGH is greater than more power will be delivered and thus reducing the width will cause the reduction in the power delivered. The width of the PWM signal for which the signal remains HIGH during its time period is referred to as the Duty Cycle of the PWM signal. The PWM pins are also used to control the angular position of the Servo motors.
Arduino PRO MINI Schematics:
As pointed earlier that the microcontroller of the both the Arduino UNO and the Arduino PRO mini is the same that is the ATMEGA328P. The difference between the Arduino UNO and Arduino PRO MINI is essentially in the schematic of both the board. The Arduino PRO MINI lacks the programmer as in order to reduce the overall size of the board the designers have taken out the USB to serial data converters. The schematic of the Arduino PRO MINI is as show in the following image:
Arduino PRO MINI Applications:
Before discussing the programming language of the Arduino PRO MINI let us first know the applications of the Arduino PRO MINI for motivation. So basically the Arduino PRO MINI can be used in any system that requires the microcontroller. It is now the most commonly used microcontroller development board that is equally popular among the hobbyists and the engineering students. Some of the embedded systems in which the Arduino can be used are listed below:
- IR remote based Home Automation System.
- Bluetooth controlled Home Automation System.
- IoT enabled Home Automation System.
- RC car.
- Mobile lifter.
- Hurdle Avoiding Vehicle.
- Wall climbing vehicle.
- Autonomous vehicle.
- Robotic arm.
Arduino PRO MINI programming language:
One of the perks that make Arduino PRO MINI quite popular among the hobbyists and beginners is it’s easy to use programming language and programming. The programming language used by the Arduino PRO MINI is the C++. The Arduino PRO MINI IDE has a well-defined function for each task that is easy to remember. As an example the function that specifies the Arduino UNO digital Input / Output pin to work as input is:
Here in this function there are two arguments. First argument is the pin number which we want to make input or output and second argument specifies the property that is input or output to the pin number used. The detailed discussion on programming the Arduino PRO MINI will come later in the next posts.
That is all for now I hope this post would be helpful for you. In the next post I will come up with more interesting topics. Till then stay connected, keep reading and enjoy learning.