SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
#197869
I just got a 3.3V pro micro that I was going to connect to a Si7021 to log humidity. I being silly, soldered on the power and i2c headers and connected the Si7021 to the pro micro, then hooked it up to my laptop. I then tried to program the example code. I followed the readme to add support to my arduino IDE (1.8.5).

When I hit the "program" button on the IDE it gave me a lot of
Code: Select all
 
 ***failed;  
 ...
  ***failed;  
 avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 71 (addresses 0x1ec8 - 0x1f47) failed to write
  ***failed;  
  ...
   ***failed;  
with:
Code: Select all
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: verification error, first mismatch at byte 0x01b8
         0x24 != 0x11
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch
at the end.

I did realize that I had DSView open in another work-space while training all this.

I now can't get the programmer to program the pro micro with any of multiple errors including the one above and
Code: Select all
avrdude: Expected signature for ATmega32U4 is 1E 95 87
         Double check chip, or use -F to override this check.
avrdude: error: programmer did not respond to command: leave prog mode
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: error: programmer did not respond to command: exit bootloader
or
Code: Select all
Couldn't find a Board on the selected port. Check that you have the correct port selected.  If it is correct, try pressing the board's reset button after initiating the upload.
or
Code: Select all
processing.app.debug.RunnerException
	at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:160)
	at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
	at processing.app.SketchController.upload(SketchController.java:713)
	at processing.app.SketchController.exportApplet(SketchController.java:686)
	at processing.app.Editor$DefaultExportHandler.run(Editor.java:2168)
	at java.lang.Thread.run(Thread.java:748)
Caused by: processing.app.SerialException: Error touching serial port '/dev/ttyACM0'.
	at processing.app.Serial.touchForCDCReset(Serial.java:107)
	at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:144)
	... 5 more
Caused by: jssc.SerialPortException: Port name - /dev/ttyACM0; Method name - openPort(); Exception type - Port busy.
	at jssc.SerialPort.openPort(SerialPort.java:164)
	at processing.app.Serial.touchForCDCReset(Serial.java:101)
	... 6 more
depending on when in relation to resetting the board (with the reset "button")
By paulvha
#197878
Thinking along.... the error seems to be caused by not able to open /dev/ttyACM0. (busy) Then it can not communicate with your board. unplug the USB cable, reboot the system. Then plug in the USBcable, make sure the right access permissions are on /dev/ttyACM0 : sudo chmod 666 /dev/ttyACM0. Next in tools, set the board & set port correct and try to get board info.
#197884
Board info shows this:
Code: Select all
BN: Unknown board
VID: 1B4F
PID: 9204
SN: Upload any sketch to obtain it
There is another type of error that has shown up:

Code: Select all
Sketch uses 8008 bytes (27%) of program storage space. Maximum is 28672 bytes.
Global variables use 450 bytes (17%) of dynamic memory, leaving 2110 bytes for local variables. Maximum is 2560 bytes.
Found programmer: Id = "CATERIN"; type = E
    Software Version = 
.C; Hardware Version = A.T
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: error: programmer did not respond to command: leave prog mode
avrdude: error: programmer did not respond to command: exit bootloader
avrdude: error: programmer did not respond to command: exit bootloader
#197938
Now I have yet another useless error code. I think I'm going to have to return these.
Code: Select all

Sketch uses 8008 bytes (27%) of program storage space. Maximum is 28672 bytes.
Global variables use 450 bytes (17%) of dynamic memory, leaving 2110 bytes for local variables. Maximum is 2560 bytes.

    Device code: 0x0d
    Device code: 0x43
    Device code: 0x41
    Device code: 0x54
    Device code: 0x45
    Device code: 0x52
    Device code: 0x49
    Device code: 0x4e
    Device code: 0xfb
    Device code: 0x0d
    Device code: 0x3f
    Device code: 0xff
    Device code: 0xff
    Device code: 0x0d
avrdude: butterfly_recv(): programmer is not responding
    Device code: 0x0d
#197940
after reading this page https://learn.sparkfun.com/tutorials/pr ... -reinstall I am quite certan the boot loader mods sparkfun made don't work

I got board info to show up as
Code: Select all
BN: Unknown board
VID: 1B4F
PID: 9203
SN: Upload any sketch to obtain it
for about half a second if I reset the board by shorting the reset pin to ground twice and within half a second do "board info"
By edsut
#200676
I have a similar problem with a Pro Micro 5V/16MHz (tried 2 different boards and a few different USB cables).
The IDE sees the device on COM'nn' when I first start up, but then during the download it apparently attempts to toggle DTR (or whatever causes the board to reset) and then tries to download to COM'nn+1'. But every time it comes back saying that the port COM'nn+1' doesn't exist.

I understand that in bootloader mode a different COM port pops up and apparently there is only a 750msec window of time for the IDE to start the transfer (using the bootloader). It appears that the IDE just do that quick enough.

Anyway, the only way I've been able to get around this is to use the avrdude command that the IDE tries to execute to do the download, but from a CMD window...
I set the COM port to the 'nn+1' setting, then I double-tap the Rst pin to Gnd so that the bootloader stays active for 8 seconds. As soon as I double tap, I issue the avrdude command (in the CMD window) and things work fine, the application downloads and runs correctly. Unfortunately, though I have to do that every time now, so there must be a better way!

Any one seen this?
Ed
By paynterf
#200766
Yes, I am having a similar problem with a Pro Micro 5V/16MHz, in Win 10 Arduino 1.8.7 (and same thing with VS2017/Visual Micro). I can see the port the Micro is using via Device Manager, and I see it change from one number to another when the upload completes. In my last trial, the Pro Micro started out on Port 13. When the upload starts, the Micro resets and comes back as Com9, then at the end of the upload it resets again and comes back as Com13 again. The serial monitor for Com13 shows the port opens, but there is no communication with the Micro (print statements don't show up).

The weird thing about this is, I actually had this board working just yesterday with my VS2017/VM setup, using the 'Leonardo' board selection. Then I had to go and screw it up by downloading and installing the Sparkfun custom board info for the Pro Micro :-(. When I went through the custom board installation process, I found that the url to the latest board info didn't work, but an older one published by Sparkfun here:

https://learn.sparkfun.com/tutorials/pr ... ng-windows

now I can't get the board to program either by selecting the newly installed Pro Micro board or by selecting the already-existing (and working just a day or so ago) 'Leonardo' board.

Grrrrr

Frank