Arduino Pro Mini

model: Arduino Pro Mini

Fundino Pro mini pinout (serial pins to the left, from top and down)

GND
GND
5V
RX
TX
DTR

back to microcontrollers page.

Links

Fundino Pro Mini, Sparkfun: installing an Arduino bootloader,

local links

MicroFTX,

History / work log

2021-09-12: I re-created this page on my self-hosted web server.

2016-04-10: Next up is the MicroFTX adapter. When connected it shows up as:

Apr 10 21:42:09 kg-core1 kernel: ugen3.5: <FTDI> at usbus3
Apr 10 21:42:09 kg-core1 kernel: uftdi1: <FT230X Basic UART> on usbus3

in /var/log/messages. Find the port

root@kg-core1# sysctl dev.uftdi.1.ttyname
dev.uftdi.1.ttyname: U1

list it:

root@kg-core1# ls -l /dev/*U1*                                                                                      
crw-rw----  1 uucp  operator  0xc8 Apr 10 21:42 /dev/cuaU1
crw-rw----  1 uucp  operator  0xc9 Apr 10 21:42 /dev/cuaU1.init
crw-rw----  1 uucp  operator  0xca Apr 10 21:42 /dev/cuaU1.lock
crw-rw----  1 root  operator  0xc5 Apr 10 21:42 /dev/ttyU1
crw-rw----  1 root  operator  0xc6 Apr 10 21:42 /dev/ttyU1.init
crw-rw----  1 root  operator  0xc7 Apr 10 21:42 /dev/ttyU1.lock

nice. So, port U1 it is. Leads are wired to the MicroFTX like this: brown - RTS, red - V, white - RX, green - TX, black - GND. I connect the MicroFTX to the Fundino Pro mini, and as soon as power is on it starts blinking. Fire up Arduino IDE, check that it uses "Arduino Pro or Pro Mini (5V, 16 Mhz)" and port /dev/cuaU1 and test if it works - yes, it does. Finally!

2016-04-10: the PL2303HX has a usb A plug at one end, and four wires (black, red, with, green) with female dupont connectors at the other end. The lead itself is about 50 cm long. Delivers 5V at 500 mA, and RX / TX 3.3V. No layout or description of pins, bu Adafruit has a similar cable USB to TTL Serial cable (product 954) and that one describes the pins as: black - ground, red - power, white - RX (into USB port), green - TX (out of USB port). The description also says that due to missing DTR / RTS wire (signal is supported on the PL2303HX chip) this cable is no good for Arduino programming. I connect it to my FreeBSD workstation:

tingo@kg-core1$ uname -a
FreeBSD kg-core1.kg4.no 9.3-STABLE FreeBSD 9.3-STABLE #2 r296426: Sun Mar  6 14:16:23 CET 2016     root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

and it shows up as

Apr 10 20:20:11 kg-core1 kernel: ugen3.5: <Prolific Technology Inc.> at usbus3
Apr 10 20:20:11 kg-core1 kernel: uplcom0: <Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00, addr 5> on usbus3

in /var/log/messages. Find the port

root@kg-core1# sysctl dev.uplcom.0.ttyname
dev.uplcom.0.ttyname: U1

list it

root@kg-core1# ls -l /dev/*U1*
crw-rw----  1 uucp  operator  0xc9 Apr 10 20:20 /dev/cuaU1
crw-rw----  1 uucp  operator  0xca Apr 10 20:20 /dev/cuaU1.init
crw-rw----  1 uucp  operator  0xcb Apr 10 20:20 /dev/cuaU1.lock
crw-rw----  1 root  operator  0xc6 Apr 10 20:20 /dev/ttyU1
crw-rw----  1 root  operator  0xc7 Apr 10 20:20 /dev/ttyU1.init
crw-rw----  1 root  operator  0xc8 Apr 10 20:20 /dev/ttyU1.lock

cool. Connecting it to the Fundino Pro mini works, but (as expected) programming doesn't work.

2016-04-09: At kjell.com I bought 1 x USB til seriell PL2303HX (87898) NOK 99.90 and 1 x strømforsyning til koplingsplate 5V og 3.3V (36255) NOK 49.90.

2016-03-26: program the firmware:

tingo@kg-core1$ avrdude -p m328p -P /dev/cuaU0 -c avrusb500 -v -e -U flash:w:/usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex -U lock:w:0x0F:m

avrdude: Version 6.1, compiled on Mar 25 2016 at 13:44:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/home/tingo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cuaU0
         Using Programmer              : avrusb500
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel AVR ISP V2 programmer from tuxgraphics
         Programmer Model: AVRISP
         Hardware Version: 2
         Firmware Version Master : 2.02
         Vtarget         : 5.0 V
         SCK period      : 1.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5
avrdude: erasing chip
avrdude: reading input file "/usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex"
avrdude: input file /usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: writing flash (32670 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 32670 bytes of flash written
avrdude: verifying flash memory against /usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex:
avrdude: load data flash data from input file /usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex:
avrdude: input file /usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex auto detected as Intel Hex
avrdude: input file /usr/local/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex contains 32670 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 32670 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.05s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5
avrdude: safemode: Fuses OK (E:05, H:DA, L:FF)

avrdude done.  Thank you.

that worked too, the red LED starts to blink again. verify

tingo@kg-core1$ avrdude -p m328p -P /dev/cuaU0 -c avrusb500                                                         
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK (E:05, H:DA, L:FF)

avrdude done.  Thank you.

ok.

2016-03-26: the boards file (/usr/local/arduino/hardware/arduino/boards.txt) has this entry on the Arduino Pro Mini:

pro5v328.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328

pro5v328.upload.protocol=arduino
pro5v328.upload.maximum_size=30720
pro5v328.upload.speed=57600

pro5v328.bootloader.low_fuses=0xFF
pro5v328.bootloader.high_fuses=0xDA
pro5v328.bootloader.extended_fuses=0x05
pro5v328.bootloader.path=atmega
pro5v328.bootloader.file=ATmegaBOOT_168_atmega328.hex
pro5v328.bootloader.unlock_bits=0x3F
pro5v328.bootloader.lock_bits=0x0F

pro5v328.build.mcu=atmega328p
pro5v328.build.f_cpu=16000000L
pro5v328.build.core=arduino
pro5v328.build.variant=standard

hmm, so fuses (low, high, extended) looks ok. Can I write the fuses again?

tingo@kg-core1$ avrdude -p m328p -P /dev/cuaU0 -c avrusb500 -v -e -U efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m

avrdude: Version 6.1, compiled on Mar 25 2016 at 13:44:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/home/tingo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cuaU0
         Using Programmer              : avrusb500
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel AVR ISP V2 programmer from tuxgraphics
         Programmer Model: AVRISP
         Hardware Version: 2
         Firmware Version Master : 2.02
         Vtarget         : 5.0 V
         SCK period      : 1.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5
avrdude: erasing chip
avrdude: reading input file "0x05"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x05:
avrdude: load data efuse data from input file 0x05:
avrdude: input file 0x05 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xDA"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xDA:
avrdude: load data hfuse data from input file 0xDA:
avrdude: input file 0xDA contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5
avrdude: safemode: Fuses OK (E:05, H:DA, L:FF)

avrdude done.  Thank you.

yes, that worked.

2016-03-25: this night I tested with an old favorite: my avrusb500 from tuxgraphics. I connected up the pins from the avrusb500 to the respective pins on the Funduino Pro Mini: GND, Reset, D11 (MOSI), D12 (MISO), D13 (SCK). I took 5V from a CP2102 usb-to-ttl converter. Then I ran avrdude:

tingo@kg-core1$ avrdude -p m328p -P /dev/cuaU0 -c avrusb500

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK (E:05, H:DA, L:FF)

avrdude done.  Thank you.

allright.

2014-11-24: testing with a different usb-to-ttl adapter. SKU 1254000 (bag label: 89501) a USB to TTL / COM Converter module, CP2102 chipset. This one has pins (6: gnd, rxd, txd, 5V, rst, 3.3V), and comes with a jumper cable (4 leads). A red led lights up when it is plugged into a usb connector. I connect it up, unfortunately it doesn't work either. Perhaps I need the RST line as well? I connect it to the DTR pin on the Pro Mini. Nope, that doesn't help either.

2014-11-24: testing Funduino Pro Mini. I use I'm using a PL2303HX cable from FastTech (SKU 1453501), with cable layout: black - GND, red - VCC, green - TXD, white - RXD. The cable shows up as ttyUSB0 on my Linux laptop. It runs:

tingo@kg-u35jc:~$ lsb_release -a
LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:cxx-3.0-amd64:cxx-3.0-noarch:cxx-3.1-amd64:cxx-3.1-noarch:cxx-3.2-amd64:cxx-3.2-noarch:cxx-4.0-amd64:cxx-4.0-noarch:desktop-3.1-amd64:desktop-3.1-noarch:desktop-3.2-amd64:desktop-3.2-noarch:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.0-amd64:graphics-3.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-3.2-amd64:printing-3.2-noarch:printing-4.0-amd64:printing-4.0-noarch:qt4-3.1-amd64:qt4-3.1-noarch
Distributor ID:    Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:    precise
tingo@kg-u35jc:~$ uname -a
Linux kg-u35jc 3.2.0-70-generic #105-Ubuntu SMP Wed Sep 24 19:49:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

When the cable is connected to the Pro Mini, the blue LED lights up, and the red LED blinks. Unfortunately, I can't program the Pro Mini, not even if I press the Reset button manually.

2014-11-15: In a package from FastTech I also had ordered 3 x SKU 1380906, which is a Funduino Pro Mini, which has a ATmega328P-AU, 5V, 16 MHz. The pinout with the top side up (serial pins to the left) are (from the top down):

GND
GND
5V
RX
TX
DTR