I have a Bittle with NyBoard V1_0 and cannot get my Arduino IDE to upload a sketch to it. First tried with the WriteInstinct.ino and then a blank/default sketch created by Arduino IDE new file. I tried with both the USB and the Bluetooth. In all cases, it's stuck at: avrdude: stk500_recv(): programmer is not responding.
I've stopped and restarted the Arduino IDE (even reinstalled it) and pressed the reset button on the board but it always fails with this error.
I noticed when I use the USB adapter, the yellow RX led always stays on, rather than blinking and then turning off as I think the instructions say. See attached picture.
With the Bluetooth adapter, it all seems OK except I still get the error: avrdude: stk500_recv(): programmer is not responding. I noticed that the blinking LED on bluetooth adapter stays on (stops blinking) while the Arduino IDE is trying (and failing) to upload, and then after 10 tries, the IDE gives up and the LED goes from solid on to blinking again, so it seems like there is some connection established causing the LED behavior to change.
What should I do to fix this problem? This is my first experience with Arduino and I don't have any other boards to test with. How do I know if my bootloader crashed and I need to burn a new bootloader?
Same Problem -- How to Fix?
In a Nutshell
I got exactly the same problem and the same symptoms (LEDs, messages, logs etc.). However, I did not change anything in the code.
History
Here is what I did:
Bought the Bittle (NyBoard V1_1)
Played around with remote and BlueTooth (mobile app)
Figured out that some "features" are not present in firmware, but mentioned in mobile app
Once, one joint did not work anymore (dead, not reacting anymore, although properly connected); happend approx. 2 days after starting to test it.
Wanted to flash an update, just to make sure that it's not a software issue.
Followed the docs (I am using Linux), was able to connect to the board with the DesktopApp! For this, I cloned the Git repository; I used commit 9019546e7a8b21 tagged with 1.1.6
Selected "Update the mode only" -- and this worked:
2024-01-11 08:23:13,083 ardSerial - INFO - portStrList is ['ttyUSB0'] 2024-01-11 08:23:14,376 ardSerial - INFO - lastSetting: ['Bittle', './release', '2.0', 'NyBoard_V1_2', 'Standard']. 2024-01-11 08:23:14,376 ardSerial - INFO - currentSetting: ['Bittle', './release', '2.0', 'NyBoard_V1_1', 'Standard']. ttyUSB0 ['./release/2.0/Bittle/NyBoard_V1/WriteInstinct.ino.hex', './release/2.0/Bittle/NyBoard_V1/OpenCatStandard.ino.hex'] 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 "/etc/avrdude.conf" User configuration file is "/home/nico/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : arduino Overriding Baud Rate : 115200 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 : Arduino Description : Arduino Hardware Version: 3 Firmware Version: 4.4 Vtarget : 0.3 V Varef : 0.3 V Oscillator : 28.800 kHz SCK period : 3.3 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: reading input file "./release/2.0/Bittle/NyBoard_V1/OpenCatStandard.ino.hex" avrdude: writing flash (32210 bytes): Writing | ################################################## | 100% 5.44s avrdude: 32210 bytes of flash written avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: safemode: Fuses OK (E:00, H:00, L:00) avrdude done. Thank you. Finish!
Then I immediately tried "Upgrade the firmware" -- and this one failed; the log is directly following the previous one:
2024-01-11 08:23:24,907 ardSerial - INFO - lastSetting: ['Bittle', './release', '2.0', 'NyBoard_V1_1', 'Standard']. 2024-01-11 08:23:24,907 ardSerial - INFO - currentSetting: ['Bittle', './release', '2.0', 'NyBoard_V1_1', 'Standard']. ttyUSB0 ['./release/2.0/Bittle/NyBoard_V1/WriteInstinct.ino.hex', './release/2.0/Bittle/NyBoard_V1/OpenCatStandard.ino.hex'] 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 "/etc/avrdude.conf" User configuration file is "/home/nico/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : arduino Overriding Baud Rate : 115200 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 avrdude done. Thank you.
Assumption
"Update the mode only" broke the board somehow...
Can this be possible? And if yes: How to fix it then?
Follow-Up-Steps
At this point I tried:
Resetting the NyBoard
Disconnecting and reconnecting the cable and the programmer
Reattempting flashing multiple times
Starting the Bittle without any stuff connected (does not work anymore; sticks in the bootloader, possibly?)
Installed ArduinoIDE, selected the board, opened the project from GitHub, tried to flash from there (same output and result)
Any recommendations?
What makes sense to test next?
Further Attempts...
I tried disconnecting and reconnecting the USB plug several times, sometimes faster, sometimes slower.
In most cases, no sound was generated and LED combination stayed the same (e.g. orange on always).
But from time to time, the reconnection attempts were "successful" in a way that the NyBoard played the sound as when connected for the first time (orange LED off, melody and two times a short melody, a third time and a fourth time after a while).
But no change in behaviour. Still cannot flash anything...