Comments
I have installed a fresh copy of the IDE but continue to get this error when opening the Boards Manager.
I have followed instructions on the forum to rectify the problem but nothing works.
I am running Windows 10.
I can access this URL from my browser.
I am able to install some of the boards that are listed in the Boards Manager, but most give errors when trying to install.

Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$0(ContributionManagerUI.java:151)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$0(ContributionManagerUI.java:147)
... 1 more
Caused by: java.net.SocketException: Address family not supported by protocol family: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:83)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
... 5 more
Hi, If you open the preferences menu, you can navigate to the .Arduino15 folder clicking on the preferences path. Then open the folder staging/packages and try to delete all the archive you have there. Please let me know if the problem persist.
Hi.
Thanks for the reply.
Deleted the folder, same problem.
GENIUS!
This worked.
I am surprised that many more people do not have this problem. I do not have anything special in my environment.
This is what I had to do – nothing else:-
- Open command prompt (windows start button, type cmd in search)
- Click top left of command prompt, click properties, enable quick edit mode
- Copy: setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
- Right click on command prompt, should paste
- Hit enter. That easy!
mrohner, sicsim, FredericoLeite105, DENISGOMASKO, and akdimitri reacted with thumbs down emoji
DarkStar18, remotegard, and FusionSource reacted with heart emoji
@clivepengelly
from the linked article it seems that the problem is caused by a spyware:
Try to check whether the spy program called «RelevantKnowledge» is installed. Its
uninstallation helped me to solve the problem.
You may probably want to check if you have this program installed too.
BTW happy that you solved it!
I do have this relevant knowledge thing running. What is it and where does it come from?
I download a lot of development and test software.
Please help the problem still exist for me
I have done:
setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
on command prompt. I am getting «Success: specified value was saved«.
I also checked for the relevant knowledge spy.
I also tried Arduino 1.6.8.
I also deleted archives in arduino15 file.
I’m still getting the error:
Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
... 5 more
Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
... 5 more
Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
... 5 more
Error downloading http://downloads.arduino.cc/packages/package_index.json
java.lang.RuntimeException: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:151)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.Exception: Error downloading http://downloads.arduino.cc/packages/package_index.json
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:113)
at cc.arduino.contributions.packages.ContributionInstaller.download(ContributionInstaller.java:330)
at cc.arduino.contributions.packages.ContributionInstaller.downloadIndexAndSignature(ContributionInstaller.java:305)
at cc.arduino.contributions.packages.ContributionInstaller.updateIndex(ContributionInstaller.java:283)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$19(ContributionManagerUI.java:147)
... 1 more
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:126)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:589)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1148)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:170)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:111)
... 5 more
Hey Problem solved,I just tried remove as much software which was seeing to be unknown to me
and then deleted the arduino and reinstalled and then restarted my pc . now it is working fine.
Its worked ………..
you r a GENIUS>…………
it’s a problem of Internet connectivity in PC or laptop.
i have this problem too,
I have followed instructions on the forum to rectify the problem but nothing works.
I am running Windows 10.
I can access this URL from my browser.
I’ve opened the folder staging/packages and deleted all the archive that i had.
I’ve tried this one: setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
but its still had an error. i don’t know what to do!
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
DENISGOMASKO, amrithmmh, rozenc, and alisalmabadi reacted with laugh emoji
friesandacoke, PierreLecomte, HamzaHajeir, Hammarstrom, kheshava043, amrithmmh, BlaT2512, rozenc, antoanyanev, Combinacijus, and 2 more reacted with hooray emoji
AnnaLobo, aakshjn, amrithmmh, rozenc, antoanyanev, alisalmabadi, and ChibaniMohamed reacted with heart emoji
ChibaniMohamed reacted with rocket emoji
This setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
results in an error:
ERROR: Invalid syntax. Default option is not allowed more than ‘2’ time(s).
Type «SETX /?» for usage.
@ShotgunBurger perfect for me. I just deleted that file and «voilà».
It back to work.
I could solved this issue by correcting java configuration and change the proxy seeting of java network to correct solution. try these step in windows
1- search configure java from start menu
2- In general tab open network setting and correct it (i changed it to direct connection — no proxy )
arduino work and download rapidly any things
@ShotgunBurger That was what I needed. Perfect. Thanks!
To add, most will need to unhide hidden files and folders before they can see the appdata folders.
Hi,
I am also facing the same error while managing the Arduino libraries. I have tried all above solution but this didn’t worked for me.
For me, getting this error due to internet connectivity. I have switch to another internet network and tried again and this Works..!.
Hopefully this issue will resolve for you also.
I think it might be down today. Tried to access the URL from my phone and home connection. No dice.
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
This one worked for me also…. Thanks Much…
Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
java.lang.RuntimeException: java.lang.Exception: Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:176)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.Exception: Error downloading https://github.com/esp8266/Arduino/releases/download/2.3.0/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:131)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:69)
at cc.arduino.contributions.packages.ContributionInstaller.install(ContributionInstaller.java:110)
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:173)
... 1 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:593)
at sun.security.ssl.InputRecord.read(InputRecord.java:532)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.MeteredStream.read(MeteredStream.java:134)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3375)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3368)
at cc.arduino.utils.network.FileDownloader.downloadFile(FileDownloader.java:209)
at cc.arduino.utils.network.FileDownloader.download(FileDownloader.java:128)
at cc.arduino.contributions.DownloadableContributionsDownloader.download(DownloadableContributionsDownloader.java:129)
... 4 more
Just copy company’s proxy setting to ArduinoIDE>preference>NetworkTab. It works. You can use library manager and board manager.
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
Thank you very much!!!
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
This worked for me. Cheers
@clivepengelly Wow, open the Command and paste «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true» WORK perfectly. Thank you so much for solving my problem. <3
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
thanks !! so lady
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
thaaaaanks the only thing that worked o/
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
this worked for me
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
None of these fixed the problem.I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
This is indeed the correct solution.
Thanks alot mate
open arduino ide
File > Preferences
copy paste to the input box of (Additional boards manager urls):
https://arduino.esp8266.com/stable/package_esp8266com_index.json
click on arduino folder url link at the bottom. and leave it aside.
click ok in preferences screen.
open cmd and copy paste this:
«setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
open ide again, and wait a minute.
looking on the content folder from before, when something has changed,
wait some seconds to finish,
and then,
delete all from the folder except from the preferences.txt
open:
Tools > Board > Board Manager
see if the loader in the bottom finish working
They recommend deleting the file package_index.json that is stored in package_index.json or package_index.json.tmp
I had this issue — I am running Windows 10, Arduino IDE 1.8.3
I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true»
I tried a fresh install of the Arduino IDE
I tried resetting my PPPoE Connection via my modem to my ISP
I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot
I tried by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and delete all of them and nothing happend
None of these fixed the problem.
but when i try to uninstall java and reinstall it and plus to configure java path on Advance System Settings, it’s good (in condition i reinstall arduino, i delete file in arduino>file>preferences folder)
Goodluck guyss
It worked for me!! Try this definately
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again and again.
Whats my mistake?
Re Install your Java from computer :
1. Uninstall java from (add remove program (search))
2. Install Java from https://www.java.com/en/download/
…
On Wed, Oct 9, 2019 at 6:13 PM Ksol13 ***@***.***> wrote:
I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again
and again.
Whats my mistake?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5188?email_source=notifications&email_token=ANDDKZKHDJTW5BMYAHEAL5TQNW4F3A5CNFSM4CLEBVB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAXRACY#issuecomment-539955211>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ANDDKZMX7HBWYN5E4RB3NZTQNW4F3ANCNFSM4CLEBVBQ>
.
I have the same problem.
But if i try to delete «package_index.json.tmp», a new file comes up again and again.
Whats my mistake?
Same here, tried all method stated above, the file just keep comes up again when try to open board manager. Are you able to solve it yet?
@yihanglim I’ve perhaps a related problem.
When I try to use Board_Manager, I run into an java.lang.RuntimeException:
java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onUpdatePressed$1(ContributionManagerUI.java:150)
at java.lang.Thread.run(Thread.java:748)
Note: this BM action updates file(s) from «http://downloads.arduino.cc/packages/package_index.json»
After this, BM exception, Arduino cannot be restarted as long the «package_index.json» exists.
Removing this re-iterates the problem as soon as I (need to) update board manager.
Note: I run Linux, the problem initiated on my old Arduino 1.8.5 (which was fine) and now persists with the latest 1.8.12. The same happens on a cleanly installed machine. Hence, something seems to be wrong with «package_index.json».
You could try deleting all files that seem related to package_index.json, not just package_index.json.tmp.
@KTibow : same result. Clearing the .Arduino15 directory will refill it with newly downloaded files as soon when I try to use BoardManager.
Further testing, show that (my problem) is related to the signature file «package_index.json.sig», as soon as I remove that file and/or change the original contents of «package_index.json» (which causes an unmatched signature), I can restart Arduino with the per BoardManager newly updated json file.
Problem remains of course that whenever I try to use BoardManager, this file is renewed and again re-iterate the start of the problem (java null-exception at/with BoardManager).
I also compared «package_index.json» with te preserved old one (dated january 2020) and found that new file now of contains the following extra packages: arduino-beta, Arduino megaAVR Boards 1.8.6 (in addition tot 1.8.5), Arduino nRF528x Boards (Mbed OS), avr-gcc 7.3.0-atmel3.6.1-arduino7 (in addition to 7.3.0-atmel3.6.1-arduino5.
I see #10333 reporting this (exception) and continue to contribute there.
@ptrooms after spending whole night of troubleshooting, I couldn’t find a solution. This version used to work fine for a few days before and suddenly this issue occurred out of nothing. So I uninstalled 1.8.12 and installed the hourly builds (last upated 3 June 2020 22:13:17 GMT) . So far everything runs alright.
@yihanglim , yes metoo. Currently I’m using the nightly version also. See the other threads for more details. Time for a good nap of sleep.
We had a problem on our package_index.json that caused the error and prevented the IDE to start.
Now the package_index has been fixed, but to recover a working installation you must delete once again the package_index.json with the cache folder and restart the IDE as usual.
Windows:
- remove file C:UsersYourUsernameAppDataLocalArduino15package_index.json
- remove folder C:UsersYourUsernameAppDataLocalArduino15cache
Mac:
- remove file /Users/YourUsername/Library/Arduino15/package_index.json
- remove folder /Users/YourUsername/Library/Arduino15/cache
Linux:
- remove file /home/YourUsername/.arduino15/package_index.json
- remove folder /home/YourUsername/.arduino15/cache
Please note that the problem that prevents the IDE to start has already been fixed and it’s ready for the next release, that’s the reason why the Nightly/Beta Builds are not affected, and also the reason why we did not detect this problem earlier, sorry about that!
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
This one worked for me also…. Thanks Much…
so reliefed
If everything here doesn’t work for you, download the package manually and place it in C:Users< USER >AppDataLocalArduino15stagingpackages. Then go back to the IDE and install again.
I had this issue — I am running Windows 10, Arduino IDE 1.8.3 I tried the CMD Prompt «setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true» I tried a fresh install of the Arduino IDE I tried resetting my PPPoE Connection via my modem to my ISP I tried using WiFi, Ethernet and tethering to my cell phone’s ISP via personal hotspot None of these fixed the problem.
I fixed my issue by going to «ThisPC>(C:)>Users>xxxx>AppData>Local>Arduino15» and deleting the file «package_index.json.tmp»
Now it works fine.
hi , it worked for me too
thanksssss
arduino
locked as resolved and limited conversation to collaborators
Jan 26, 2023
СОДЕРЖАНИЕ ►
- Произошла ошибка при загрузке скетча в Ардуино
- programmer is not responding
- a function-definition is not allowed arduino ошибка
- expected initializer before ‘}’ token arduino ошибка
- ‘что-то’ was not declared in this scope arduino ошибка
- No such file or directory arduino ошибка
- Compilation error: Missing FQBN (Fully Qualified Board Name)
Ошибки компиляции Arduino IDE возникают при проверке или загрузке скетча в плату, если код программы содержит ошибки, компилятор не может найти библиотеки или переменные. На самом деле, сообщение об ошибке при загрузке скетча связано с невнимательностью самого программиста. Рассмотрим в этой статье все возможные ошибки компиляции для платы Ардуино UNO R3, NANO, MEGA и пути их решения.
Произошла ошибка при загрузке скетча Ардуино
Самые простые ошибки возникают у новичков, кто только начинает разбираться с языком программирования Ардуино и делает первые попытки загрузить скетч. Если вы не нашли решение своей проблемы в статье, то напишите свой вопрос в комментариях к этой записи и мы поможем решить вашу проблему с загрузкой (бесплатно!).
avrdude: stk500_recv(): programmer is not responding
Что делать в этом случае? Первым делом обратите внимание какую плату вы используете и к какому порту она подключена (смотри на скриншоте в правом нижнем углу). Необходимо сообщить Arduino IDE, какая плата используется и к какому порту она подключена. Если вы загружаете скетч в Ардуино Nano V3, но при этом в настройках указана плата Uno или Mega 2560, то вы увидите ошибку, как на скриншоте ниже.

Такая же ошибка будет возникать, если вы не укажите порт к которому подключена плата (это может быть любой COM-порт, кроме COM1). В обоих случаях вы получите сообщение — плата не отвечает (programmer is not responding). Для исправления ошибки надо на панели инструментов Arduino IDE в меню «Сервис» выбрать нужную плату и там же, через «Сервис» → «Последовательный порт» выбрать порт «COM7».
a function-definition is not allowed here before ‘{‘ token
Это значит, что в скетче вы забыли где-то закрыть фигурную скобку. Синтаксические ошибки IDE тоже распространены и связаны они просто с невнимательностью. Такие проблемы легко решаются, так как Arduino IDE даст вам подсказку, стараясь отметить номер строки, где обнаружена ошибка. На скриншоте видно, что строка с ошибкой подсвечена, а в нижнем левом углу приложения указан номер строки.

expected initializer before ‘}’ token / expected ‘;’ before ‘}’ token
Сообщение expected initializer before ‘}’ token говорит о том, что вы, наоборот где-то забыли открыть фигурную скобку. Arduino IDE даст вам подсказку, но если скетч довольно большой, то вам придется набраться терпения, чтобы найти неточность в коде. Ошибка при компиляции программы: expected ‘;’ before ‘}’ token говорит о том, что вы забыли поставить точку с запятой в конце командной строки.
‘что-то’ was not declared in this scope
Что за ошибка? Arduino IDE обнаружила в скетче слова, не являющиеся служебными или не были объявлены, как переменные. Например, вы забыли продекларировать переменную или задали переменную ‘DATA’, а затем по невнимательности используете ‘DAT’, которая не была продекларирована. Ошибка was not declared in this scope возникает при появлении в скетче случайных или лишних символов.

Например, на скриншоте выделено, что программист забыл продекларировать переменную ‘x’, а также неправильно написал функцию ‘analogRead’. Такая ошибка может возникнуть, если вы забудете поставить комментарий, написали функцию с ошибкой и т.д. Все ошибки также будут подсвечены, а при нескольких ошибках в скетче, сначала будет предложено исправить первую ошибку, расположенную выше.
exit status 1 ошибка компиляции для платы Arduino
Данная ошибка возникает, если вы подключаете в скетче библиотеку, которую не установили в папку libraries. Например, не установлена библиотека ИК приемника Ардуино: fatal error: IRremote.h: No such file or directory. Как исправить ошибку? Скачайте нужную библиотеку и распакуйте архив в папку C:Program FilesArduinolibraries. Если библиотека установлена, то попробуйте скачать и заменить библиотеку на новую.

Довольно часто у новичков выходит exit status 1 ошибка компиляции для платы arduino uno /genuino uno. Причин данного сообщения при загрузке скетча в плату Arduino Mega или Uno может быть огромное множество. Но все их легко исправить, достаточно внимательно перепроверить код программы. Если в этом обзоре вы не нашли решение своей проблемы, то напишите свой вопрос в комментариях к этой статье.
missing fqbn (fully qualified board name)
Ошибка возникает, если не была выбрана плата. Обратите внимание, что тип платы необходимо выбрать, даже если вы не загружаете, а, например, делаете компиляцию скетча. В Arduino IDE 2 вы можете использовать меню выбора:
— список плат, которые подключены и были идентифицированы Arduino IDE.
— или выбрать плату и порт вручную, без подключения микроконтроллера.
Что делать?
С такой проблемой сталкиваются довольно
часто. Причем даже те, кто уже имел неплохой опыт программирования ардуино.
Понятное дело, что первое, что приходит на ум
заказчику – ошибка в моей программе, за что поначалу мне было немного обидно.
Существует две наиболее частые ситуации:
- Arduino IDE ругается, что не может найти указанный файл (No such file or directory). Это говорит о том, что нужно установить какую-то библиотеку. А со своими программами я всегда поставляю все необходимые библиотеки.
- Загрузка скетча подвисает, а потом выдает ошибку:
avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe4 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe4 avrdude: stk500_recv(): programmer is not responding

1я ситуация разобрана здесь.
Вторая ситуация связана либо с тем, что плата выбрано неверно, либо выбранная плата имеет в себе старый загрузчик, который не желает работать на той скорости, на которой хочет IDE.
Дело в том, что Arduino IDE предполагает, что все современные Nano и UNO должны работать со скоростью
15200 бит в секунду. А китайские клоны до сих пор довольно часто работают со
скоростью в 2 раза меньше – 57600.
Решить эту проблему можно двумя способами:
- Обновить загрузчик на плате
- Добавить плату со старым загрузчиком в конфигурацию Arduino IDE
Лично мне кажется, что второй способ – более
универсальный и простой. Поэтому его и опишу.
Итак, зайдите на компьютере в папку, в которую
установлена Arduino IDE. Лично у меня это, как
и большинства, “C:Program Files (x86)Arduino”, если Вы на Windows.
Теперь откройте папку hardwarearduinoavr и
найдите файл boards.txt
В этом файле и находятся все платы, которые Вы выбираете через меню «Инструменты > Плата…»

Откройте этот файл в текстовом редакторе,
например, в блокноте.
Найдите в нем строчку uno.upload.speed

Мы видим, что скорость загрузки равно 115200.
Но у нас плата, которая хочет 57600!
Можно, конечно, поменять на 115200 на 57600,
но тогда, к сожалению, мы не сможет загружать скетчи на плату с новым загрузчиком.
Выход, получается, один – добавить плату,
скажем, UNO2,
на случай скорости 57600.
Предлагаю просто вставить себе мои настройки и сохранить файл:
uno2.name=Uno 57600 uno2.vid.0=0x2341 uno2.pid.0=0x0043 uno2.vid.1=0x2341 uno2.pid.1=0x0001 uno2.vid.2=0x2A03 uno2.pid.2=0x0043 uno2.vid.3=0x2341 uno2.pid.3=0x0243 uno2.upload.tool=avrdude uno2.upload.protocol=arduino uno2.upload.maximum_size=32256 uno2.upload.maximum_data_size=2048 uno2.upload.speed=57600 uno2.bootloader.tool=avrdude uno2.bootloader.low_fuses=0xFF uno2.bootloader.high_fuses=0xDE uno2.bootloader.extended_fuses=0xFD uno2.bootloader.unlock_bits=0x3F uno2.bootloader.lock_bits=0x0F uno2.bootloader.file=optiboot/optiboot_atmega328.hex uno2.build.mcu=atmega328p uno2.build.f_cpu=16000000L uno2.build.board=AVR_UNO uno2.build.core=arduino uno2.build.variant=standard ############################################################## nano2.name=Nano 57600 nano2.upload.tool=avrdude nano2.upload.protocol=arduino nano2.bootloader.tool=avrdude nano2.bootloader.unlock_bits=0x3F nano2.bootloader.lock_bits=0x0F nano2.build.f_cpu=16000000L nano2.build.board=AVR_NANO nano2.build.core=arduino nano2.build.variant=eightanaloginputs ## Arduino Nano w/ ATmega328P ## -------------------------- nano2.menu.cpu.atmega328=ATmega328P nano2.menu.cpu.atmega328.upload.maximum_size=30720 nano2.menu.cpu.atmega328.upload.maximum_data_size=2048 nano2.menu.cpu.atmega328.upload.speed=57600 nano2.menu.cpu.atmega328.bootloader.low_fuses=0xFF nano2.menu.cpu.atmega328.bootloader.high_fuses=0xDA nano2.menu.cpu.atmega328.bootloader.extended_fuses=0xFD nano2.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
Теперь у вас две платы UNO и две Nano:

Удачи!
Форум Вопросы и темы по программированию Arduino, ESP8266, STM32, Digispark и пр.
| 4 сентября, 2019 — 19:58 | |
|---|---|
|
мененжер плат .. нет esp8266 Будущее за микроконтроллерами |
uels![]() Зарегистрирован: 4.09.2019 |
| 4 сентября, 2019 — 19:58 | #1 |
|---|---|
|
в ютубе предложили на ваш форум |
uels![]() Зарегистрирован: 4.09.2019 |
| 4 сентября, 2019 — 20:02 | #2 |
|---|---|
|
прошу посмотреть на прямую через программу — TEAM VIEWER |
uels![]() Зарегистрирован: 4.09.2019 |
| 5 сентября, 2019 — 08:18 | #3 |
|---|---|
Сделали все правильно? Будущее за микроконтроллерами |
Admin![]() Зарегистрирован: 3.07.2018 |
| 5 сентября, 2019 — 08:18 | #4 |
|---|---|
Приложите скриншот проще и у меня нет времени чтобы ставить и подключаться к вам по TEAM VIEWER. Да и смысл в этом. Будущее за микроконтроллерами |
Admin![]() Зарегистрирован: 3.07.2018 |
| 5 сентября, 2019 — 08:21 | #5 |
|---|---|
|
У вас ошибка даже в названии темы. Будущее за микроконтроллерами |
Admin![]() Зарегистрирован: 3.07.2018 |
| 5 сентября, 2019 — 08:39 | #6 |
|---|---|
|
спасибо — нашел буква не та была — z— написал вместо s — json |
uels![]() Зарегистрирован: 4.09.2019 |
| 5 сентября, 2019 — 08:44 | #7 |
|---|---|
Я знаю правду! Но вам не скажу! =))) |
Степка-3003![]() Зарегистрирован: 5.09.2019 |
| 5 сентября, 2019 — 09:12 | #9 |
|---|---|
|
КОПИРОВАТЬ СООБЩЕНИЯ ОБ ОШИБКИ .— В ПРОГРАММЕ .ТАКОЙ ОГРОМНЫЙ ТЕКСТ ПОЛУЧАЕТСЯ |
uels![]() Зарегистрирован: 4.09.2019 |
| 5 сентября, 2019 — 09:14 | #10 |
|---|---|
|
ЛИШНЕЕ УДАЛИЛ Плата generic (платформа esp8266, пакет esp8266) неизвестнаОшибка компиляции для платы Generic ESP8266 Module. |
uels![]() Зарегистрирован: 4.09.2019 |
| 5 сентября, 2019 — 09:16 | #11 |
|---|---|
У вас какая плата? Будущее за микроконтроллерами |
Admin![]() Зарегистрирован: 3.07.2018 |
{{#setlogo:ArduinoCommunityLogo.png}}
Проверка/Оформление/Редактирование: Мякишев Е.А.
Исправление проблем с Arduino[1]
Почему у меня не получается загрузить на Arduino свои программы?
На загрузку программы на Arduino влияет сразу несколько вещей, и если хотя бы одна из них дает сбой, загрузка будет неуспешной. Вот некоторые из этих факторов: драйверы платы, плата и порт, выбранные в IDE Arduino, физическое подключение к плате, прошивка 8U2 (на Uno и Mega2560), загрузчик на главном микроконтроллере платы, фьюз-настройки микроконтроллера и т.д. Ниже – несколько решений каждой из этих проблем:
IDE Arduino
- Убедитесь, что выбрали правильную плату в меню Инструменты > Плата (Tools > Board). То есть если вы работаете с Arduino Uno, то выбрать нужно именно ее. Кроме того, новые версии плат Arduino Duemilanove идут с процессором ATmega328, а старые – с ATmega168. Чтобы определить, каким именно процессором оснащена ваша плата, найдите ее микроконтроллер (самый большой чип на плате) и прочтите написанный на нем текст. Более подробно о меню «Плата» читайте в статье об IDE Arduino.
- Теперь проверьте, правильный ли выбран порт в меню Инструменты > Порт (Tools > Serial Port). Если порт не отображается, попробуйте перезапустить IDE, но плата при этом должна быть подключена к компьютеру. На Mac последовательный порт должен выглядеть примерно так – /dev/tty.usbmodem621 (для Uno или Mega 2560) или /dev/tty.usbserial-A02f8e (для старых плат на базе FTDI). На Linux – /dev/ttyACM0 или вроде того (для Uno или Mega2560) или /dev/ttyUSB0 или вроде того (для старых версий). На Windows это будет COM-порт, а какой именно – нужно будет посмотреть в «Менеджере устройств» (под секцией с портами). Если последовательного порта у Arduino не видно, читайте раздел ниже, посвященный драйверам.
Драйверы
Драйверы – это средства, с помощью которых ПО, установленное на вашем компьютере (т.е. IDE Arduino), «общается» с оборудованием, подключенным к вашему компьютеру (т.е. с платой Arduino). В случае Arduino драйверы отвечают за создание виртуального последовательного порта (или виртуального COM-порта). У плат Arduino Uno и Mega 2560 (у которых последовательная передача данных трансформируется в USB-сигнал при помощи контроллера ATmega8U2) для этого используются стандартные драйверы (USB CDC), идущие в комплекте с ОС. У других плат Arduino (где преобразование последовательного сигнала в USB-сигнал осуществляется при помощи FDTI-чипа) для этого используются FDTI-драйверы.
Самый простой способ проверить, правильные ли драйверы установлены для вашей платы – это открыть в IDE Arduino меню Инструменты > Порт (Tools > Serial Port). Причем это надо сделать два раза: первый – когда Arduino будет подключена к компьютеру, и второй – когда не будет. Затем нужно сравнить результаты. Когда Arduino не будет подключена к компьютеру, в меню «Порт» должны появиться дополнительные пункты, имеющие отношение к отключенной Arduino. Какое название будет присвоено последовательному порту Arduino – не важно.
- Если вы используете Uno или Mega 2560, то на Windows (особенно на 64-битной версии) вам, возможно, придется зайти в «Менеджер устройств» и обновить драйверы. Просто кликните по девайсу правой кнопкой мыши (плата должна быть подключена к компьютеру), а затем снова укажите Windows соответствующий файл с расширением *.inf. Он должен находиться в директории IDE Arduino в папке drivers (но не в подпапке FTDI USB Drivers).
- Если, устанавливая на Windows XP драйверы к Uno или Mega 2560, вы получаете ошибку The system cannot find the file specified («Система не может найти указанный файл»), попробуйте это решение (т.е. добавьте ключ RunOnce в «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion»).
- На Linux платы Uno и Mega 2560 отображаются как /dev/ttyACM0. Однако стандартной версией библиотеки RXTX, которую Arduino использует для последовательной передачи данных, это не поддерживается. Впрочем, Linux-версия IDE Arduino содержит пропатченную версию RXTX-библиотеки, которая умеет искать эти /dev/ttyACM* девайсы. Кроме того, есть еще пакет для Ubuntu (для 11.04), в котором тоже есть поддержка этих девайсов. Если же, однако, вы используете RXTX-пакет из своего дистрибутива, то для того, чтобы в IDE Arduino появился нужный последовательный порт, вам, возможно, придется сделать симлинк от /dev/ttyACM0 к /dev/ttyUSB0 (к примеру).
Запустите:
sudo usermod -a -G tty yourUserName sudo usermod -a -G dialout yourUserName
Чтобы изменения вступили в силу, разлогиньтесь и снова залогиньтесь.
Доступ к последовательному порту
- Если, когда вы работаете на Windows, IDE Arduino не запускается или тормозит, или если у нее медленно открывается меню «Инструменты», то вам, возможно, надо будет отключить в «Менеджере устройств» последовательные Bluetooth-порты или другие сетевые порты. Дело в том, что IDE Arduino при запуске и открытии меню «Инструменты» сканирует все последовательные (COM) порты на вашем компьютере, и это иногда влечет за собой большие задержки и даже вылеты программы.
- Убедитесь, что у вас не запущены другие программы для сканирования последовательных портов – вроде ПО для мобильных USB-модемов, синхронизирующих приложений для КПК, драйверов Bluetooth-USB, виртуальных эмуляторов и т.д.
- Убедитесь, что ваш фаервол не блокирует доступ к последовательному порту. Среди таких фаерволов числится, например, ZoneAlarm.
- Вам нужно будет выйти из Processing, vvvv и т.д., если вы используете их для чтения данных при USB— или последовательной передаче данных на плату Arduino.
- На Linux можно попробовать запустить IDE Arduino через root – хотя бы временно, чтобы посмотреть, доступны ли для загрузки какие-нибудь обновления с фиксами.
Физическое соединение
- Во-первых, убедитесь, что плата включена (если горит зеленый светодиод – значит, включена) и подсоединена к компьютеру.
- На Arduino Uno и Mega 2560 могут быть проблемы с подключением к Mac через USB-хаб. Если в меню Инструменты > Порт (Tools > Serial Port) ничего не появляется, попробуйте подключить плату к компьютеру напрямую и перезапустить IDE Arduino.
- Во время загрузки отключите 0-ой и 1-ый цифровой контакты, т.к. они тоже используются для последовательной коммуникации с компьютером (их можно будет снова включить, когда код будет загружен).
- Попробуйте загрузить код на плату, когда к ней не подключено вообще ничего (кроме USB-кабеля, разумеется).
- Убедитесь, что плата не касается ничего металлического или токопроводящего.
- Попробуйте другой USB-кабель. Иногда они не работают.
Автоматический сброс
- Если ваша плата не поддерживает автоматический сброс, то его необходимо делать вручную за пару секунд до загрузки кода (автоматический сброс поддерживают модели Diecimila, Duemilanove и Nano, а также LilyPad, Pro и Pro Mini с 6-контактной гребенкой).
- Впрочем, имейте в виду, что на некоторые Diecimila был случайно записан неправильный загрузчик, и вам перед загрузкой придется нажимать на кнопку сброса вручную (см. вопрос о долгой загрузке Diecimila ниже).
- Кроме того, на некоторых компьютерах кнопку сброса, возможно нужно будет нажать после того, как вы нажмете кнопку загрузки в IDE Arduino. Попробуйте разные интервалы – до 10 секунд и более.
- Если вы получили ошибку [VP 1] Device is not responding correctly, попробуйте загрузиться снова, т.е. сбросьте плату и еще раз нажмите в IDE Arduino кнопку загрузки.
Загрузчик
- Убедитесь, что на вашу Arduino записан загрузчик. Чтобы проверить это, сбросьте плату. В ответ на это действие должен заморгать L-светодиод (тот, который подключен к 13-ому контакту). Если не заморгал, то загрузчика на вашей плате может не быть.
Если ничего из вышеописанного не помогает, попробуйте спросить совета на форуме. Перед публикацией поста убедитесь, что ответили в нем на следующие вопросы:
- Какая у вас операционная система?
- Какая у вас модель Arduino? Если это Mini, LilyPad или другая плата, требующая дополнительной проводки, если возможно, приложите фото всей этой системы.
- Проблемы с загрузкой были всегда? Или появились спустя какое-то время после нормальной работы? Если да, то что вы делали с платой перед тем, когда она перестала работать? Какое ПО вы недавно устанавливали или удаляли с компьютера?
- Какие сообщения отображаются, когда вы пытаетесь загрузить код с включенным «подробным выводом»? Чтобы увидеть их, кликая на кнопку загрузки, зажмите клавишу ⇧ Shift .
Почему у меня выскакивает ошибка «Build folder disappeared or could not be written» (на Mac OS X)?
Вы вытащили Arduino.app из образа диска (скажем, в папку Applications)? Если нет, то загружать скетчи у вас не получится.
Почему IDE Arduino не запускается после обновления Java на Mac?
Последнее обновление Java от Apple пытается использовать 64-битные версии родных библиотек, тогда как RXTX-библиотека Arduino идет в 32-битной версии. Таким образом, если вы запустите Arduino, то получите примерно такую ошибку:
Uncaught exception in main method: java.lang.UnsatisfiedLinkError: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: no suitable image found. Did find: /Applications/arduino-0016/Arduino 16.app/Contents/Resources/Java/librxtxSerial.jnilib: no matching architecture in universal wrapper
Чтобы исправить это, кликните по приложению Arduino (например, по Arduino 16.app) в Finder, а затем выберите меню File и кликните по пункту Get Info. Теперь поставьте галочку рядом с пунктом Open in 32 Bit Mode. Теперь IDE Arduino должна запуститься нормально.
Почему при попытке скомпилировать программу мне выдает ошибку java.lang.StackOverflowError?
Среда разработки Arduino делает некоторую предварительную обработку скетча, манипулируя кодом при помощи регулярных выражений. И порой во время этой обработки натыкается на строки, которые сбивают ее с толку. То есть, если вы увидите ошибку вроде…
java.lang.StackOverflowError at java.util.Vector.addElement(Unknown Source) at java.util.Stack.push(Unknown Source) at com.oroinc.text.regex.Perl5Matcher._pushState(Perl5Matcher.java)
…или…
at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java) at com.oroinc.text.regex.Perl5Matcher._match(Perl5Matcher.java)
…то случилось именно это. Следовательно, вам надо поискать в коде строки с «двойными кавычками», ‘одинарными кавычками’, обратными слэшами, \комментариями и т.д. К примеру, проблемы могут возникнуть из-за пропущенных кавычек и строк вроде ‘ » ‘ (используйте вместо этого ‘ » ‘).
Какой блок питания использовать?
Как правило, плата Arduino может успешно функционировать от питания, идущего через USB-порт компьютера, к которому она подключена, однако тут есть два фактора. Во-первых, это зависит от количества и типа опциональных Shield-модулей, подключенных к Arduino, а во-вторых, от того, сколько тока может дать USB-порт компьютера (этот показатель варьируется в зависимости от производителя и модели компьютера).
Если вы обнаружите, что вашей Arduino нужно дополнительное питание, или вам понадобится, чтобы она функционировала без подключения к USB-порту компьютера, или при использовании Arduino с портом, который не дает питания, то вам понадобится блок питания, обеспечивающий напряжение от 7 до 12 В (Вольт) и достаточную силу тока. Для этих целей подойдут, например, адаптеры, умеющие конвертировать переменный ток в постоянный – они используются, как правило, для потребительской электроники, и их можно часто встретить в розничных магазинах. Однако нужно убедиться, что покупаемый адаптер имеет правильный коннектор, подходящий к разъему питания на Arduino: коннектор должен быть круглым, его внешний диаметр – 5,5 мм, а диаметр внутреннего отверстия-контакта – 2,1 мм. При этом отрицательное напряжение (или «земля») будет на внешнем контакте коннектора, а положительное – в контакте на внутреннем отверстии.
Для большинства случаев достаточно, как правило, силы тока в 1 ампер, однако некоторым Shield-модулям (или «небоскребу» из Shield-модулей) может потребоваться больше. То есть вам надо будет сложить силу тока, требуемую для питания всех подключенных к плате Shield-модулей, и купить адаптер, который сможет это совокупное питание обеспечивать (если адаптер будет давать больше, то никаких вредных побочных эффектов не будет). Также нужно помнить, что встроенный 5-вольтовый регулятор не сможет обеспечивать бесконечное количество тока (если не хотите перегреть плату, то лучше не превышать отметку в 800 миллиампер). Следовательно, если вашему проекту нужно больше, то необходимые 5 вольт (или вставьте сюда другое количество вольт, необходимых для вашего проекта) можно давать избирательно, питая различные устройства при помощи соответствующего количества адаптеров/регуляторов, а затем подключив из «земли» к одному контакту и тем самым заставив эти устройства работать вместе.
Почему мой скетч не запускается, когда плата питается от внешнего источника? (касается Arduino Diecimilia или еще более ранних моделей)
Из-за того, что RX-контакт не подключен, загрузчик на плате, возможно, будет видеть, что на плату идут мусорные данные. Следовательно, загрузчик будет работать вечно, а не те 6-8 секунд, что ему положены, а ваш скетч никогда не запустится. Попробуйте привязать RX-контакт к «земле» через 10000-омовый резистор или подключить RX-контакт напрямую к TX-контакту.
Почему IDE Arduino зависает, когда я пытаюсь загрузить программу (на Windows)?
Возможно, из-за конфликта с процессом Logitech – «LVPrcSrv.exe». Откройте диспетчер задач, и если этот процесс запущен, удалите его перед тем, как будете загружать скетч на Arduino.
Плата не включается (не загорается зеленый светодиод, отвечающий за питание) – что делать?
Если вы используете Diecimila или еще более раннюю USB-модель (например, NG), убедитесь, что перемычка (маленькая пластиковая деталь рядом с USB-разъемом) сидит на правильных контактах. Если плата питается от внешнего блока питания (вставленного в разъем для питания), перемычка должна сидеть на двух контактах, которые находятся ближе к разъему для питания. Если плата питается от USB, перемычка должна сидеть на контактах, находящихся ближе к USB-разъему. На фото ниже показано расположение перемычки, при котором питание будет осуществляться от USB-разъема.

Почему Arduino Diecimila так долго (6-8 секунд) запускает мой скетч?
На некоторые Arduino Diecimila был случайно записан загрузчик Arduino NG. Впрочем, он должен работать нормально, однако при сбросе платы скетч загружается дольше обычного (у NG нет автоматического сброса, поэтому синхронизацию процесса загрузки нужно делать вручную). Чтобы узнать, какой загрузчик стоит на Arduino, выполните сброс платы – если светодиод на 13-ом контакте моргнул 3 раза, это NG-загрузчик, а если 1 раз – это Diecimila-загрузчик. Таким образом, если у вас Diecimila с загрузчиком от NG, вам перед загрузкой скетча, возможно, понадобится сделать ручной сброс платы. Впрочем, есть и другой вариант – записать на Diecimila правильный загрузчик (читайте об этом тут).
Что делать, если при запуске arduino.exe на Windows выдает ошибку?
Если при двойном клике на иконку arduino.exe появляется ошибка вроде…
Arduino has encountered a problem and needs to close.
…вам нужно запустить Arduino при помощи файла run.bat. И проявите терпение – IDE Arduino может понадобиться некоторое время для запуска.
Почему Arduino не запускается на старых версиях Mac OS X?
Если вам выдает подобную ошибку…
Link (dyld) error: dyld: /Applications/arduino-0004/Arduino 04.app/Contents/MacOS/Arduino Undefined symbols: /Applications/arduino-0004/librxtxSerial.jnilib undefined reference to _printf$LDBL128 expected to be defined in /usr/lib/libSystem.B.dylib
…вам, вероятно, нужно обновиться до Mac OS X 10.3.9 или позже. В старых версиях содержатся несовместимые версии некоторых системных библиотек.
Спасибо Gabe462 за подсказку.
Что делать, если при запуске Arduino выдает ошибку UnsatisfiedLinkError (о родной библиотеке librxtxSerial.jnilib)?
Если при запуске Arduino появляется примерно такая ошибка…
Uncaught exception in main method: java.lang.UnsatisfiedLinkError: Native Library /Users/anu/Desktop/arduino-0002/librxtxSerial.jnilib already loaded in another classloader
…то у вас, возможно, старая версия библиотеки, отвечающей за коммуникации. Ищите файлы comm.jar и jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках, которые указаны в переменных PATH и CLASSPATH, находящихся в файлах IDE Arduino.
За подсказку спасибо Анурагу Сегалу (Anurag Sehgal).
Что насчет ошибки «Could not find the main class»?
Если при запуске Arduino выдает вот такую ошибку…
Java Virtual Machine Launcher: Could not find the main class. Program will exit.
…убедитесь, что вы правильно извлекли содержимое файла Arduino.zip. В частности, папка lib должна находиться аккурат в папке Arduino и содержать файл pde.jar.
Что можно сделать, если у Arduino возникают конфликты с Cygwin (на Windows)?
Если на вашей машине установлен Cygwin, то при попытке скомпилировать скетч вам может выдать следующую ошибку:
6 [main] ? (3512) C:Devarduino-0006toolsavrbinavr-gcc.exe: *** fatal error - C:Devarduino-0006toolsavrbinavr-gcc.exe: *** system shared memory version mismatch detected - 0x75BE0084/0x75BE009C. This problem is probably due to using incompatible versions of the cygwin DLL. Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:cygwinbin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL.
Если выдало, то перед использованием Arduino убедитесь, что у вас не запущен Cygwin. Если это не помогает, можно попробовать удалить cygwin.dll из папки Arduino и заменить его на сygwin.dll, находящийся в папке Cygwin (возможно, по маршруту c:cygwinbin).
За подсказку спасибо karlcswanson.
Почему так долго открываются IDE Arduino и меню «Инструменты» (на Windows)?
Если IDE Arduino долго запускается или зависает при попытке открыть меню «Инструменты», то здесь может быть конфликт с другим устройством в вашей системе. Среда разработки Arduino, будучи запущенной или когда вы пытаетесь открыть меню «Инструменты», пытается составить список всех COM-портов на вашем компьютере. Возможно, этот процесс замедляется каким-то COM-портом, созданным одним из девайсов на вашем компьютере.
Загляните в «Менеджер устройств». Попробуйте отключить устройства с COM-портами (например, Bluetooth-устройства).
Почему моя плата не отображается в меню Инструменты > Порт (Tools > Serial Port)?
Если вы используете USB-плату Arduino, обязательно установите FTDI-драйверы. Если вы используете обычную (не USB) плату с адаптером, конвертирующим USB-сигнал в UART-сигнал, то обязательно убедитесь, что у вас стоят драйверы для этой платы.
Кроме того, удостоверьтесь, что плата подключена. Меню «Порт» обновляется всякий раз, когда вы открываете меню «Инструменты», поэтому если плата не будет подключена, то и в меню ее тоже не будет.
Проверьте, не запущены ли у вас программы, сканирующие все UART-порты – вроде синхронизирующих приложений для КПК, драйверов Bluetooth-USB (например, BlueSoleil), виртуальных эмуляторов и т.д.
На Windows причина может быть в том, что в названии COM-порта присутствует слишком большая цифра. Как пишет пользователь zeveland:
«Небольшая подсказка для тех, у кого не получается загрузить скетч на USB-плату с большим номером COM-порта. Попробуйте снизить номер COM-порта, назначенного для FTDI-чипа. У меня много виртуальных COM-портов, настроенных на Bluetooth-устройства, поэтому плате был присвоен порт COM17. В итоге IDE Arduino не сумела найти плату, поэтому я удалил все виртуальные порты в «Панели управления» (на XP) и снизил номер для FTDI-чипа до COM2. Далее осталось лишь перенастроить Arduino на новый порт».
Если у вас Mac, и вы используете старую версию FTDI-драйверов, вам, возможно, понадобится удалить их, а взамен установить самые последние версии. Инструкции ищите тут.
Что делать, если при загрузке кода или использовании «Монитора порта» (на Mac) выдает ошибку gnu.io.PortInUseException?
Error inside Serial.<init>() gnu.io.PortInUseException: Unknown Application at gnu.io.CommPortIdentifier.open(CommPortIdentifier.java:354) at processing.app.Serial.<init>(Serial.java:127) at processing.app.Serial.<init>(Serial.java:72)
Это, вероятно, значит, что порт уже используется другим приложением. Поэтому убедитесь, что у вас не запущено других программ с доступом к USB— и UART-портам – вроде синхронизирующих приложений для КПК, приложений для управления Bluetooth-устройствами, некоторых фаерволов и т.д. Также имейте в виду, что некоторые программы (например, Max/MSP) держат UART-порт открытым, даже не используя его, поэтому вам, возможно, надо будет закрыть все патчи, использующие UART-порты, а то и вовсе закрыть программу.
Если эта ошибка появляется на Arduino 0004 (или ранее) или на Processing, вам надо будет запустить macos_setup.command, а затем перезапустить компьютер. Arduino 004 содержит модифицированную версию этого скрипта, и его должны запустить все пользователи (даже те, кто запускал этот скрипт, когда он выходил с Arduino 0003). Кроме того, возможно, потребуется удалить содержимое папки /var/spool/uucp.
У меня проблемы с драйверами USB FTDI
Попробуйте установить самые последние версии драйверов от FTDI или обратитесь в их поддержку – support1@ftdichip.com.
Почему мой скетч не запускается, когда я включаю питание или делаю сброс на Arduino?
Скорее всего, потому что, стоит плате включиться, компьютер начинает отправлять ей UART-данные. В течение первых нескольких секунд загрузчик (программа, заранее записанная на микроконтроллер платы) ждет, не придет ли от компьютера новый скетч, который нужно загрузить на плату. Если первые несколько секунд компьютер будет «молчать», время работы загрузчика истечет, и он запустит скетч, который уже загружен на плату. Однако если продолжать отсылать загрузчику данные, время его работы никогда не истечет, а скетч никогда не запустится. Поэтому вам нужно либо найти способ остановить передачу UART-данных в первые несколько секунд после того, как у платы будет включено питание (например, запрограммировать чип в функции setup(), чтобы он отсылал какие-нибудь данные компьютеру), или загрузить скетч на плату при помощи внешнего программатора, заменяющего собой загрузчик.
Почему мой скетч загрузился нормально, но не работает?
Вы выбрали неправильный пункт в меню Инструменты > Плата (Tools > Board). Убедитесь, что выбранная плата соответствует той, что вы пользуетесь в данный момент.
Проверьте, нет ли помех от блока питания – из-за них микроконтроллер может потерять загруженный на него скетч.
Кроме того, скетч может быть слишком велик для платы. Когда вы загружаете скетч, Arduino 0004 проверяет, не слишком ли он велик для ATmega8, однако его расчеты основываются на том, что загрузчик занимает в программной flash-памяти микроконтроллера (она составляет 8 Кб) всего 1 Кб. Однако на ваше устройство, возможно, записана старая версия загрузчика, объем которой составляет не 1 кб, а 2 Кб. Таким образом, если размер вашего скетча слишком велик, загрузится лишь его часть, но загрузчик об этом знать не будет, поэтому плата войдет в «мертвую петлю» – будет постоянно сбрасываться, тормозить, сбрасываться и т.д.
Если вы используете программатор (либо AVR-ISP, либо для параллельного порта), можно попробовать записать на плату самую последнюю версию загрузчика – при помощи меню Инструменты > Записать Загрузчик (Tools > Burn Bootloader). Кроме того, вы можете объяснить IDE Arduino, что в памяти стало меньше места для загрузки скетчей, отредактировав переменную upload.maximum_size в файле с настройками (как его найти – читайте тут). Поменяйте 7168 на 6144, и теперь IDE Arduino всегда предупредит вас, если скетч будет слишком велик.
Как мне уменьшить размер скетча?
Одно из главных преимуществ микроконтроллера ATmega168, которым оснащена плата Arduino, в том, что он очень дешев. Однако он может работать лишь с 16 Кб программного кода, что не очень много (причем 2 Кб из «общей кассы» отходят загрузчику).
Если вы в своем скетче используете вычисления с плавающей точкой, попробуйте переписать его под целочисленные выражения – это должно сэкономить вам около 2 Кб flash-памяти. Также удалите в верхней части скетча все директивы #include, относящиеся к библиотекам, которые вы не используете.
Еще один вариант – попробуйте сделать вашу программу «полаконичней». Поищите способ решить ту же задачу, но более коротким путем.
Кроме того, разработчики заявляют, что постоянно работают над уменьшением размера ядра Arduino, тем самым позволяя делать более «вместительные» скетчи.
Почему я не могу получить ШИМ-сигнал (аналоговый выход), вызывая функцию analogWrite() на всех контактах, кроме 3, 5, 6, 9, 10 и 11?
Микроконтроллер на плате Arduino (ATmega168) поддерживает ШИМ/AnalogWrite() не на всех контактах. Вызов функции analogWrite() на любых контактах, кроме перечисленных выше, даст HIGH (5 вольт) для значений выше 128 и LOW (0 вольт) для значений меньше 128. На старых версиях Arduino, оснащенных ATmega8, ШИМ поддерживается только на 9, 10 и 11 контактах.
Почему я получаю ошибки о необъявленных функциях и типах?
Среда разработки Arduino пытается автоматически сгенерировать прототипы для пользовательских функций, чтобы вы могли расставить их в своем скетче в каком угодно порядке. Этот процесс, однако, не идеален и иногда приводит к появлению ошибок.
К примеру, если вы объявите в скетче собственный тип данных и создадите функцию, которая будет принимать или возвращать данные этого вновь созданного типа, то при попытке скомпилировать скетч получите сообщение об ошибке.
Причина в том, что автоматически сгенерированный прототип для этой функции будет расположен в скетче до объявления нового типа данных.
Если объявить функцию, возвращающую 16-битные данные (например, типа unsigned int), IDE Arduino не поймет, что это, собственно, функция, и не создаст для нее прототип. Это значит, что вам надо будет написать этот прототип самому либо разместить объявление этой функции немного повыше – до того, как она будет вызвана в скетче в самый первый раз.
Почему при попытке загрузить скетч возникает ошибка invalid device signature?
Если вы получили ошибку…
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
…то может быть два варианта. Либо выбрана неправильная плата в меню Инструменты > Плата (Tools > Board), либо вы используете неправильную версию avrdude (для загрузки скетчей в Arduino используется немного модифицированная версия). Стандартная версия avrdude делает запросы, идентифицирующие плату, в непонятном для загрузчика формате, что в итоге и приводит к этой ошибке. Поэтому убедитесь, что у вас установлена версия avrdude, которая идет в комплекте с Arduino.
См.также
Внешние ссылки
- ↑ Arduino Troubleshooting


