avrdude: stk500_recv(): programmer is not responding
Programmer is not responding Arduino |
Adapun masalah awalnya adalah saya tidak bisa progam arduino menggunakan USB Serial seperti FTDI 232 dan CH340. Saat upload progam, pemberitahuan yang muncul adalah tidak respon seperti :
avrdude: stk500_recv(): programmer is not responding
Penyebab stk500_recv(): programmer is not responding
Setelah beberapa pengujian dan melakukan pencarian permasalahan, ternyata prmasalahan terjadi karena tidak ada respon dari mikrokontroller Atmel ATmega328 setelah pengiriman data dari serial. Adapun pada hardwarenya terjadi jika:
- Koneksi RX TX terbalik.
- Ada Raangkaian lain yang terhubung pada pin TX RX
- Pin Reset tidak melalui Kapasior 0.1uF
- Belum Install Driver FTDI atau CH340
- Chip belum memiliki bootloader Arduino (chip baru) atau bootloader corrupt/rusak.
Dari beberapa penyebab diatas, saya memperbaikinya. Mulai dari Cek pin RX TX, menghilangkan rangkaian lain yang terhubuing ke pin RX TX, Memasang kapasitor 0.1uF, Install Driver FTDI232 atau Install Driver CH340 hingga melakukan bootloader.
Setelah saya melakukan itu semua, saya mencoba upload program via FTDI atau CH340. Muncul error:
stk500_recv(): programmer is not responding
Saya pun mencoba burn bootloader menggunakan Arduino Sebagai ISP dan juga menggunakan USBasp. Burn Bootloader Berhasil.
Secara teori, ketika kita sudah berhasil melakukan burn bootloader, maka kita akan bisa memprogam chip Atmega328 melalui USB to TTL seperti FTDI dan CH340.
Namun, kembali saat saya upload Progam menggunakan USB Serial seperti FTDI atau CH340 tidak berhasil. Error yang sama muncuil. Saya coba memperbaiki dengan 4 langkah di atas. Semua rangkaian benar. Tetap saja error.
Setelah dua hari melakukan trial and error, saya berhasil melakukan upload program menggunakan FTDI dan CH340. Dari trial and errir tersebut saya mengambil kesimpulan bahwa, bootloader yang saya upload tersebut ada yang corrupt atau rusak.
Cara Perbaiki avrdude: stk500_recv(): programmer is not responding
Sebelumnya pastikan 5 list penyebab error diatas telah diperbaiki.
Cara Perbaikinya bootloader rusak adalah hubungkan chip ATmega328 ke Arduino ISP atau USBasp, kemudian dengan bersamaan hubungkan USB Serial.
Chip ATmega328 + USBasp + FTDI
atau
Chip ATmega328 + USBasp + CH340
atau
Chip ATmega328 + ArduinoISP + FTDI
atau
Chip ATmega328 + ArduinoISP + CH340
Pastikan chip telah terpasang sistem mmum dan resistor 10K pull-up terhubung ke pin reset ATmega328
Untuk USB serial, baik FTDI atau CH340, jangan lupa menggunakan kapasitor keramik pada pin DTR dengan nilai 0.1uF atau pada badannya tertulis nilai 104.
5V -> 10K -> pin Reset Atmega328
Pin DTR -> Kapasitor 0.1uF -> Pin Reset Atmega328
Setelah itu, burn bootloader melalui Arduino ISP atau USBasp, kemudian setelah berasil, coba progam upload melalui FTDI atau CH340.
Jika tidak bisa, ulangi burn bootloader dan progam melalui FTDI atau CH340. Saat saya melakukan trial and error , saya mengulangi langkah sekitar 10 kali.
Beberapa kali saya ulangi bootloader, ternyata berhasil. Semoga bermanfaat