I will contact via the Arduboy site contact link soon — I’m happy to wait and see if/when @crait weighs in. I did try on Windows 10 with the same results > USB connected chime, green light blinks, USB disconnected chime, Arduboy reboots, loads Space Cab, and upload fails. Below is the copied errors for more info:
Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "Arduino Leonardo"
Sketch uses 7000 bytes (24%) of program storage space. Maximum is 28672 bytes.
Global variables use 1216 bytes (47%) of dynamic memory, leaving 1344 bytes for local variables. Maximum is 2560 bytes.
Forcing reset using 1200bps open/close on port COM3
PORTS {COM3, } / {} => {}
PORTS {} / {COM3, } => {COM3, }
Found upload port: COM3
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avrdude -CC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM3 -b57600 -D -Uflash:w:C:\Users\ni\AppData\Local\Temp\arduino_build_882802/HelloWorld.ino.hex:i
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM3
Using Programmer : avr109
Overriding Baud Rate : 57600
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
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 9000 9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 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 : butterfly
Description : Atmel AppNote AVR109 Boot Loader
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Yeah I didn’t really think it was the cause for sure but this does sound like a corrupted bootloader, and it does sound like the tool was the last thing used…
@polymoth you’ll want to use the contact form. I’m going to probably have you send it in so I can figure out what’s wrong and repair it for you.
Thanks Mr. Blinky, I did try the Blink example and got the same results. After reset Arduboy is detected, green light flashes, boots into Space Cab, and upload fails.
Do you have an Android phone? I usually reflash my Arduboy with my phone and so far never had any issues doing so. Even for the known to have issues.
Using Arduboy Mate app on Google store, you can plug in your Arduboy to your phone with a OTG cable, then have any .hex file in your phone of a small sketch. Turn on your Arduboy while plugged in your phone and try to upload a sketch. Chances are it will say that it failed, let the Arduboy plugged in and press the reset button on your Arduboy, yellow light should start blinking in the Arduboy and the sketch your tried to upload earlier will be uploaded. If even that method doesn’t work, I fear it’s more a hardware failure.
I used that same technique for flashing a game after Space Cab many times and it never failed me.
I’ve looked into this pretty deeply, there is really no reason this shouldnt work. As best as I can tell there is something on the users system that is causing a problem with the bootloader being enumerated when the Arduboy resets.
But, then why does it happen on multiple computers?
@polymoth I’d love it if you could send this Arduboy for me for testing…
I disagree. When the Arduino IDE tries to start bootloader mode and the program changes the magic key value then the program will just reset / restart and same COM port will pop up again.
The program (sketch) doesn’t change the USB VIDPID on power-on or reset. it only changes when you successfully enter the bootloader mode. which it doesnt.
The most obvious: the magic key value is over written and prevents entering bootloader mode.
I think the solution lies in pressing the Arduboys reset button. When you press the small reset button Arduboy enters bootloader for about 8 seconds and then exits to run the game again.
To verify that youe arduboy can enter bootloader mode, open device manager on Windows and when you press the reset button you will see an ‘Arduino Leonardo bootloader’ COM port appear under ports. and dissapear after about 8 seconds.
When you have confirmed this. Start Arduino IDE and make sure you have the verbose option for upload enabled under preference and press the upload button. When you see the com ports logging press the reset button on Arduboy. If it still doesnt upload, try a few more times.
You can press the tiny reset button with a sim tool, toothpick, refillable pencil tip or other thin but non sharp object.
So you’re saying that when you turn off and on your Arduboy it get’s assigned a new COM port? I doubt that (unless you’re on an old OS or your OS is broken :D) You’d run out of COM ports quite fast then.
You do get a new COM port assigned when you connect it to a different USB port or USB hub