Являюсь счастливым владельцем Nyan cat. Установил на Ubuntu Arduino IDE, загрузил pomodoro. При попытке загрузить обновленную прошивку начал получать ошибку. Код (C++): Connecting to programmer: .avrdude: Send: . [1b] avrdude: Send: S [53] avrdude: ser_recv(): programmer is not responding avrdude: butterfly_recv(): programmer is not responding Повторил еще раз медленно с помощью примера Basic->Blink. Удостоверился, что /dev/tty/ACM0 виден. Нажал на плате на reset, посмотрел на плате горит ON, потом секунд 7 поморгала L, потом немного RX. Дальше я посчитал, что плата готова и нажал Upload. Немного помаргала RX и дальше горели ON и L. Ошибка в логах та же. Попытка поменять Baud Rate с 57600 на 1200 не помогла. Опечалился, поставил IDE под Windows. В диспетчере устройств COM4 Leonardo определяется. При попытке загрузить blink получаю ошибку: Q: Можно ли восстановить загружаемость прошивок? Нужно ли искать кого-то с программатором? NOTE: на коте по прежнему осталась первоначальная прошивка с NYAN cat soundtrack-ом.
Возможны ли какие-то другие причины такой ошибки? Update: Хозяйке на заметку https://www.arduino.cc/en/Guide/Troubleshooting#toc1
Удалось починить. Вкратце: а) запустить загрузку -> б) нажать reset на плате -> в) пока плата не загрузилась еще раз запустить загрузку по новому порту В деталях: В настройках Arduino IDE выставить дополнительное логгирование для build и для upload (у меня ангилйская версия) Скомпилировать пример Blink в Arduino IDE (кнопка Verify). В логах посмотреть полный путь до Blink.ino.hex Скопировать Blink.ino.hex (из /tmp/arduino_<набор букв-цифр>/Blink.ino.hex) в другую директорию (например, домашнюю). Нужно так как после закрытия arduino IDE этот файл будет удалён Посмотреть на каком COM порту находится Arduino Leonardo. ls /dev/ttyACM*. Эта команда позволит мониторить какие используются порты, и обновлять вывод каждую секунду. Код (C++): watch -n1 "ls /dev/ttyACM*" у меня В Windows просто в диспетчере устройств. COM4 (Leonardo) Запустить загрузку. Пути нужно указать свои. У меня команда выглядит так. Код (Text): sudo /home/ricko/arduino-1.8.3/hardware/tools/avr/bin/avrdude -C/home/ricko/arduino-1.8.3/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P/dev/ttyACM1 -b57600 -D -V -Uflash:w:/home/ricko/arduino-1.8.3/Blink.ino.hex:i В этот момент мы видим Код (Text): Connecting to programmer: .avrdude: Send: . [1b] avrdude: Send: S [53] avrdude: ser_recv(): programmer is not responding avrdude: butterfly_recv(): programmer is not responding Нажимаем кнопку reset на плате Leonardo(Iskra Neo) (находится на нижней плате под подбородком у Nyan) В это время на плате начинает моргать первый светодиод "L" около 7 секунд. В списке устройств (ls /dev/ttyACM*) у устройства назначается новый COM порт (/dev/ttyACM2). Пока моргает запускаем прошивку повторно, которая вылечит плату. Не забыв поменять ttyACM1 на ttyACM2. У меня команда выглядит так Код (Text): sudo /home/ricko/arduino-1.8.3/hardware/tools/avr/bin/avrdude -C/home/ricko/arduino-1.8.3/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P/dev/ttyACM2 -b57600 -D -V -Uflash:w:/home/ricko/arduino-1.8.3/Blink.ino.hex:i Прошивка завершается успешно. PROFIT 1!! полный лог в log.txt