I was looking for a cheapest possible option to get arduino and wireless comms for a dimmable light and come across this ebay item when searching for Arduino Nano clone. It has no usb port so how can it be programmed?


I have discovered that there is a new device called "Arduino Pro Micro" which is similar to Pro Mini and Nano but have usb port in-built. The best thing is you can buy Pro Micro for under 4 euros! Excellent for a dimmable LED light...

  • 1
    \$\begingroup\$ You did say "wireless comms" - using an XBee (pair) will allow you to program the pro mini over-the-air. Some hacking/circuitry is needed to effect a reset when the TX/RX is used this way. I'll post it as a full answer if you think its relevant. \$\endgroup\$ – Ron J. Jan 18 '14 at 13:51
  • \$\begingroup\$ It certainly would be nice to be able reprogram over the air, not sure if xbee is a good option as I remember it's not that cheap. But if there are cheap xbee clones that would be great! \$\endgroup\$ – DominicM Jan 18 '14 at 14:40
  • \$\begingroup\$ What is the difference between NRF24L01 (2.4GHz RF) chip and XBee? NRF24L01 chips seem to be dirt cheap at 1 euro, XBee is at least 6 times more expensive... \$\endgroup\$ – DominicM Jan 18 '14 at 17:03
  • \$\begingroup\$ 1+ year on - for completeness. Your accepted answer is a good one but is not the correct one for what you asked. The cheapest way of USB programming is to use a bootloader that interfaces with a standard USB connection using std I/O pins. Some such allow the USB port to perform ICSP programming so no special hardware is needed even to load the bootloader. Details not at tip of brain at present but Gargoyle knows. I believe the "Arduino" "Trinket" uses this system and variants of its boot loader are available to extend this system to other AVR processors. \$\endgroup\$ – Russell McMahon May 27 '15 at 7:06
  • \$\begingroup\$ FTDI programmer is only a few euros so it work for me. You could use arduino as a programmer but that is a little messy to connect it an program it every time and keeping it setup for programming all the time is more expensive and not as convenient. FTDI programmer is a tool so it can be re-used again and again, I am not considering it as a cost as such. \$\endgroup\$ – DominicM May 27 '15 at 11:01

It's similar to an arduino but with the USB to UART converter chip removed to be cheaper. In order to program it you have to use an external converter and connect it to the Rx/Tx pins.
Please note that these boards don't use a crystal as a clock source but a 16MHz resonator which has higher tolerance (0.5%)

enter image description here

You'll need to get an external USB to serial board (or cable), like

enter image description here

Note that there are two "versions" of USB to serial boards. One version outputs Tx pin to Tx header and Rx pin to Rx header and the other version outputs Tx pin to Rx header and Rx pin to Tx header.

If your board outputs Tx pin to Rx header and Rx pin to Tx header (the signals are already crossed) then you should connect Rx of the USB board to Rx of Arduino, and Tx of the USB board to Tx of Arduino (like shown below)

enter image description here

If your board outputs Tx pin to Tx header and Rx pin to Rx header then you should connect Rx of the USB board to Tx of Arduino, and Tx of the USB board to Tx of Arduino (cross connect like shown below)

enter image description here

  • \$\begingroup\$ Exactly what I wanted to know! Thanks. Also edited the question as judging from the down votes maybe it sounded like a shopping question. \$\endgroup\$ – DominicM Jan 18 '14 at 0:36
  • \$\begingroup\$ I notice from the image it says mini Arduino Pro, it's a bit confusing. Is it the same as Nano? \$\endgroup\$ – DominicM Jan 18 '14 at 0:38
  • \$\begingroup\$ Arduino's web site provides Programming Tutortial [ Guide to the Arduino Mini](arduino.cc/en/Guide/ArduinoMini) it expands on alexan_e, detailed answer. Notice the CAP in-line between the DTR and RESET. Otherwise you will need to time pressing the Mini's reset button \$\endgroup\$ – mpflaga Jan 18 '14 at 2:38
  • \$\begingroup\$ I actually found a better option accidentally, see edit. \$\endgroup\$ – DominicM Jan 18 '14 at 3:47
  • 1
    \$\begingroup\$ @Matt You are correct, I download the images from the Internet and didn't notice the mistake. I'll fix it asap. \$\endgroup\$ – alexan_e Mar 9 '15 at 17:53

Nano vs Pro-Mini

What you have looks more like a Pro-mini than a Nano

enter image description here

Note the MOSI, MISO and SCK annotations in pale blue on pins 11,12,13.


As well as using the serial-port (via an off-board USB to serial adapter) to program the Arduino-Nano, you can also program the on-board Atmega168/ATmega328 using ICSP. You need a programmer but you can use another Arduino for this (using the Arduino as ISP sketch), a bus-pirate or other devices.

Arduino pins 11,12 & 13 are MOSI, MISO and SCK. You also connect reset ("RST"), VCC and GND.

enter image description here
Typical AVR ICSP connector

The Arduino IDE can be, relatively easily, made to recognise "Arduino as ISP" and "buspirate" as options for the "programmer" menu. The IDE uses avrdude to upload sketches, current versions of avrdude (as included in the current IDE) know all about the bus-pirate and several other devices that can be used as programmers.

  • \$\begingroup\$ Thanks. In the end I went with the easiest option by far, see edit. \$\endgroup\$ – DominicM Jan 18 '14 at 3:49
  • \$\begingroup\$ DANGER- the Pro Mini in the image with this answer is something other than the Pro Mini sold by Sparkfun 2/15... sparkfun.com/products/11113 AND THEY SEEM TO HAVE "flipped" THE CONNECTOR BETWEEN THE TWO VERSIONS! (What were they thinking?) Look closely at the labels on the pin positions in the images at the Sparkfun page and here. \$\endgroup\$ – user65773 Feb 2 '15 at 16:43

The Pro Mini comes in two flavors: 3.3V (running at 8MHz) and 5V (running at 16MHz) As far as I know there are no obvious markings to distinguish the two.

alexan_e 's answer above works for the 5V model. If you buy the 3.3V model (which is nice for interfacing other low voltage chips) then the wiring needs some adjustments. The USB interface boards provide a 5V out pin, and the Pro Mini has a RAW input pin. Those two need to be connected and you then get regulated 3.3V out on the Pro Mini's VCC pin.


protected by Community Jul 25 '15 at 11:39

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.