Getting started with Arduino Pro Mini

Arduino Pro mini, the smallest version of Arduino family but yet powerful enough compared to its size. We can opt for this little arduino in places where size and power requirements are little. Just like in werables, battery operated projects etc. But it’s little tricky to program this. It’s not a kind of plug and play like other arduino boards. We need to perform certain steps to get started with this.

Let’s first talks about its features. Arduino Pro mini comes in two versions based on voltage standards.

3.3V and 5V

Technical details of these boards are as follows

Microcontroller ATmega328 *
Board Power Supply 3.35 -12 V (3.3V model) or 5 – 12 V (5V model)
Circuit Operating Voltage 3.3V or 5V (depending on model)
Digital I/O Pins 14
PWM Pins 6
UART 1
SPI 1
I2C 1
Analog Input Pins 6
External Interrupts 2
DC Current per I/O Pin 40 mA
Flash Memory 32KB of which 2 KB used by bootloader *
SRAM 2 KB *
EEPROM 1 KB *
Clock Speed 8 MHz (3.3V versions) or 16 MHz (5V versions)

(*) Older boards were equipped with ATmega 168 with this specs:

– Flash memory: 16 KB

– SRAM: 1 KB

– EEPROM: 512 bytes

Technical details are quite impressive according to its physical dimensions. So moving on to How to code this little dev board.

Coding Arduinos is very easy as we have separate development environment for these boards. But in case of Arduino Pro mini, we can not program it as easily as other boards as it doesn’t have any USB jack or any logic converter IC inbuilt on the board. So lets see how we can code this.

There are two ways through which we can program this little board.

  1. Using USB to TTL converter
  2. Using another Arduino Board
  1. Programming Using USB to TTL converter

Arduino Pro mini has pins on the backside which are all together used for programming as well as for providing power to the board.

 

So here we can connect our USB to TTL converter to program this. The dongle which I’m using is Pl2303 USB to TTL convertor which looks something like this,

 

Shop:- You can buy this module from Amazon by clicking here.

Now this dongle requires driver for it’s working on our system. So you can download the related drivers according to your system from this website. Read the instructions and steps written in this website

http://www.ifamilysoftware.com/news37.html

After Installation of drivers, you are ready to upload code in your pro mini. First make connections of arduino pro mini and USB to TTL converter like this,

 

After this, open Arduino IDE on your system you will find the COM port for this dongle. You can even cross check this com port in you device manager in control panel.

 

After you find the right COM port and right board ( i.e. Arduino Pro Mini) you can try uploading basic Led Blinking code from example of Arduino. But before that, we need to understand bootloader of Arduino.

In any Arduino board, when we try uploading or try burning new program in the chip, it will first reset automatically and after that the code will start burning in the chip. Reason is, the bootloader code is written in such a way that when Arduino resets, it will first check whether to burn new code on this chip or not. If yes, than the new code will be written on the chip else it will continue executing the code previously written on the chip. Hence if we need to burn new code on arduino, we need to reset it else we won’t be able to upload the code.

Now in other Arduinos, they have inbuilt circuit for USB to TTL converter as well as for automatic resetting while uploading. So in that case we can just press the upload button and rest of the work is done by the circuitry. But in Arduino Pro mini we need to manually reset the board as to burn new code. Lets see when and how to reset this board to successfully upload the code.

When you are trying to upload the code, lets take an example of uploading Led blink example to Arduino Pro mini using this USB to TTL dongle. Now when the arduino IDE shows Uploading….after Compling sketch… observe Tx LED on the USB to TTL dongle that LED will blink 3 times. This is time in which we need to reset our board as to burn the code. So I’ll suggest you to press reset button on pro mini exactly after first blink of Tx LED on USB to TTL dongle.

Watch out this video clip in which I have shown when to press the reset button in slow motion.

 

With this, you can successfully upload any code to your pro mini board. Rest of interfacing with this board is same as other Arduino boards.

Programming Using another Arduino Board

Second method uses the same procedure as the previous one. The only difference is here we will use Arduino board rather than any other USB dongle. Here Arduino will work as USB to TTL converter. Lets see the circuit diagram for this method.

In the Arduino board through which we are programming our pro mini ( in my case its Arduino Mega), we have to connect it’s reset pin to gnd as to avoid automatic reset of this board. Reason for this is same as we have discussed above.

While uploading select Arduino Pro mini in the boards, and select the COM port on which Arduino board is connected to as shown the in fig below.

 

So when you press the upload button in Arduino IDE, first it will show compiling sketch after that it will show Uploading…. and the Rx LED of Arduino Board will blink 3 times which is same as that of USB to TTL dongle. Hence we need to press the reset button of pro mini board after first blink of Rx LED. Then only we will successfully be able to upload code to the board.

 

Now it’s upto you which method to be used for uploading code in pro mini as procedure for both are same. Personally I prefer USB to TTL dongle as its compact the Arduino Mega.

I have made a video on getting started with Arduino Pro Mini in Hindi Language only as there are a lot of video already available in English language. Still I’ll be sharing video by another YouTuber on the same topic and who has explained all the stuffs in simpler manner.

Video tutorial in English by EEEnthusiast

Leave a Reply

Your email address will not be published. Required fields are marked *