Hello! I have been trying to upload a simple blink program (from the Arduino examples folder) to an Artemis Dev Kit board.
The error I get is:
Arduino: 1.8.15 (Mac OS X), Board: "Artemis Dev Kit"
Sketch uses 115844 bytes (11%) of program storage space. Maximum is 983040 bytes.
Global variables use 27256 bytes (6%) of dynamic memory, leaving 365960 bytes for local variables. Maximum is 393216 bytes.
Error while uploading: missing 'upload.tool' configuration parameter
I have updated the board definitions and the libraries. I have checked that I am using a known-good data cable. I have googled the error message, haven’t been able to find any answers for this particular board - there are some for other boards which are 3-5 years old and not SparkFun brand, and I’m not sure how applicable they are. (Which is to say, I tried them and they didn’t help.)
The fixes I found involve editing a configuration file by hand, so I take it that there is a configuration file somewhere that the Artemis “getting started” documentation does not mention. I would appreciate it very much if someone could point me towards it, and could let me know what the ‘upload.tool’ parameter needs to be set to.
I decided to give the configuration file edit one more try. I added the following line to boards.txt in /Users/MYUSERNAME/Library/Arduino15/packages/SparkFun/hardware/apollo3/2.1.0
sfe_artemis_dk.upload.tool=ardunio:avrdude
That solved the missing upload.tool error.
However, I have a new error, which seems similarly resistant to finding an answer via google.
java.lang.NullPointerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:80)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2055)
at java.lang.Thread.run(Thread.java:748)
This happens when I hit the upload button, trying to put the blink example sketch onto the board. It throws this error, and then just hangs with “uploading” in the status bar.
I had already tried the uninstall/reinstall, but I tried it again, just in case. I’m still getting the “java.lang.NullPointerException” error on trying to upload.
I thought I would check if the Arduino IDE works with any board at all - because if it’s a problem with the IDE, then it should give the same error for other boards, right? I hooked up a Adafruit Huzzah ESP8266 board, and uploaded the blink program to it with no problem. No errors at all.
So I’m kind of at a loss at this point. Is it a problem in the SparkFun board manager file? Are there more configurations I have to add to the boards.txt file? I have no idea where to go from here. The Arduino IDE is working for other boards, just not the Artemis Dev Kit. Is It a bad board? Any ideas or other things I can try? Or am I just stuck with a $50 piece of useless plastic?
For the record, here’s the versions I’m using:
Mac (M1), Big Sur 11.4
Arduino IDE 1.8.15
PS. I tried this whole process on my MacBook as well - it’s running Big Sur 11.1 and has an Intel chip (same Arduino IDE version). Same exact error. Also confirmed that I can upload a program to the Huzzah ESP8266.
Is this the incorrect channel/forum to get official help? Should I have posted this question somewhere else?
I left a review of the Artemis Dev Kit board on the site, and the reply there said to ask in the forums about the problems I was having. So I did - and I have waited more than 3 business days, as noted in the intro post - and I remain without any help and unable to connect the board to the Arduino IDE successfully.
Is there no official support for connecting this board to the Arduino IDE or did I put my question in the wrong place?
Yes, yes it did help since the guide that you refer to does NOT have ‘In arduino. Sketch → Export compiled binary’ Since Arduino has been around I can not remember ever having to manually copy a bin file. Sparkfun should talk with the STM32duino people to learn how to add all the features needed for a real working device, small things like compiler switches to generate debug files, upload options as in file, serial, tag, just the stuff that a ‘DEV’ board needs to be used as a ‘DEV’ board.