I started using the Arduino Pro mini long time ago. Due to it´s small size it´s ideal for finished projects so you can easily install it inside any enclosure or project. The power consumption is very low aswell and the onboard bundled options makes it for me the perfect candidate as a “brain” in many projects.
Nowadays you can find them for 2€ or less, which is incredible but truth. The new ones have even access to 8 Analog inputs increasing the standard limitation of 6 analog inputs.
Another cool feature to remember is that it´s short circuit protected, and reversed polarity too so it´s very safe to use in many scenarios… Working from anything between 3 and 12 volts DC.
There is only a small downside of using this board and its the fact that it lacks a USB connector to be programmed. You could say just use the Arduino Nano for this but truth is, the Nano goes for 9€ upwards and even if still cheap is 4 times the price of the Promini.
The good news is that there are plenty and cheap options to program it, even free if you have already an Arduino UNO lying around…
Note: you have to know which arduino pro mini you are using, either it is 5v 16mhz or 3.3v 8mhz. Use only 5 Volt and 16MHZ pro mini with the arduino uno.
Programing the Pro mini using an Arduino Uno/Mega:
If you have access already to an Arduino UNO or Mega Board, there is a very simple way to program not only a Promini but any other Arduino Board.
In order to do this you must use a board with a Socket for the main Atmel IC so it can be removed from the PCB, some newer boards come with a SMT IC which cannot be removed from the board.
Make sure you remove the IC carefully without bending the legs. A good tip for doing so it’s using a small flat head screw driver ir order to separate one side slightly then proceed with the other side so the IC comes out easily.
Safely put the Atmel chip in a piece of antistatic foam or bag for protection and make sure you don’t lose it.
Following the wiring below you should be good to go, note how the RX pin on the Micro goes to the TX of the UNO and vice versa. Also make sure to respect polarity and voltage inputs.
This image above only shows the disconnected IC in the UNO board, the wiring differs from the micro and mini boards but they all share same concept.
Uploading the Sketch:
Before the software can properly flash the code to the board, we must select the correct type. Since we are using a UNO but the “target” is a Promini, we will select the board in the Arduino IDE Software like if it was connected directly without the Arduino UNO in between.
A good way to test that our system is working correctly is loading the “Blink” example. In most cases the Arduino board will come preprogrammed with the Blink example, with a rate of 1000 milliseconds, I just change it to 100 milliseconds, this way as soon as the Sketch is “Flashed” to the Promini, the LED starts flashing faster. Once we are sure the “Brain bypass” is working we can proceed to upload our Sketch.
Programing using USB FTDI adapter:
Now this is the “simple” and easy way. If you plan to use the Promini in more occasions, it makes sense to invest in a USB FTDI adapter, which is basically the USB part that is missing from a standard Arduino. This Allows us to communicate with the internal Chip using a USB connector and our computer/Arduino IDE.
This little adapters are cheap and easy to get. Just make sure you choose the correct model for your Promini. The only two options will be 3.3V 8MHZ or 5V 16MHZ.
There are versions which include a small Jumper so both 3.3V and 5V versions can be programmed.
Respect the order in the PIN connections, but most times they are already organized in a row so it matches the Arduino Pro Mini pins.
Recently I have found this version which comes in a USB form factor, it may be easier to use for certain people.
I hope this bits of info was useful and you can now freely start populating the world of Arduino ProMinis :)
In fact the technique we have discussed here, its compatible with the complete set of boards you can find around. From a UNO to another UNO, from a MEGA to a Mini, etc. Some times you are working on a project and the board stops working… you think you have Fried your Arduino, but I have noticed that many times this is only affecting the USB section of the board, while the rest of the board is still functional, this procedure is a good way to troubleshoot if the board is damaged, the Atmel chip is damaged, or simply the USB FTDI is damaged, saving you time and money.