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