Problems Uploading and Boot loading my Artemis

I saw recently that the support for BLE was added so I decided to pull out my Artemis Nano to try it out.

I have been having terrible luck uploading a sketch.

It initially was able to upload (I am using the ASB as the SVL was giving an error) the I2C sketch example, though I had to make some changes to get it to compile. Then it wouldn’t connect to the serial port. Unplugging the board fixed this.

Then I was having a hard time uploading again. I tried just going back to the blink sketch. It would not upload, but eventually, after trying repeatedly it started to run blink even after no successful upload.

Now I can’t get anything to upload after trying over and over. Tried the SVL again, tried different USB ports, resetting the Artemis and powering down and up with the PW-SW header. No luck.

I tried to bootload it then and I am getting this error in Arduino.’

Arduino: 1.8.12 (Windows 10), Board: "RedBoard Artemis Nano, 921600, Ambiq Secure Bootloader (Advanced)"

java.lang.NullPointerException
	at cc.arduino.packages.uploaders.SerialUploader.burnBootloader(SerialUploader.java:329)
	at processing.app.Editor.lambda$handleBurnBootloader$61(Editor.java:2366)
	at java.lang.Thread.run(Thread.java:748)
Error while burning bootloader.

Thanks

Thanks for reporting your issues, it is helpful for use to get an idea of what happens in the real world!

Hmmm. Usually java errors point to something going wrong within the Arduino IDE itself. That being said I find it unusual that your RedBoard Artemis Nano should have the ASB set to 921600 baud. In fact, this should not be a valid configuration. Is that listed in the lower right corner of Arduino or are you listing the SVL baud rate from the tools menu?

Right now the SVL is broken. Please stick with the ASB for the time being.

If you have any other comments we’re happy to hear them!

It’s set to use the ASB but yeah it has that baud rate setting from the SVL.

Thanks for your help @liquid.soulder

Just listened to the coffee chat with you as a guest yesterday and was inspired!

Also its a totaly fresh install of Arduino 1.8.12

This is the only thing I have done with it yet

I could try on my old laptop again. Maybe its the new install of arduino or the latest board definition.

Still having an issue with this board and can’t get anything to work.

I am kind of disapointed because this board and another ESP32 thing I got are both not woring and I have a very important project I want to apply them to.

I am considering getting the Artemis Dev Kit, but I am kind of discouraged by my experince with these sparkfun boards and I really cant afford to keed droping so much on boards that fail with me doing everything to get them to work.

I just havent had the best of luck since you moved to the forums from phone support.

I am having similar results with my nano. I have the nano connected to a Garmin LIDAR LITE v4 via qwic cable to get distance measurements. It was working fine Saturday night on v1.2.0. I connected the nano to my android phone with a serial monitor app and it was looping and taking measurements awesomely. I then decided to take it to the next step and try to mess with the BLE. I installed version 2.0 and that’s when it all came crashing down. All sorts of Java errors and now my nano is just dumping 1 line of garbage on the serial monitor. I hope it is not bricked. I see 2.0.1 has just been released I am going to try that and cross my fingers.

I am conmsidering just buying from Adafruit.

I havent had issues with their products in the past and their code is often more robust.

It sucks I have been a Sparkfun customer for nearly 7 years now and your company got me into learning electronics.

I live localy, have attended AVC and visted your headquarters. I have even met your CEO Nate.

I just want to be able to have my dev boards work, so I can focus on my projects unique challenges.

I paid for them already and a premium at that as I appreciate haveing the peace of mind. Please keep that a priority!!!

I installed version 2.0.1. I was able to upload to the nano without issues but the serial communication from the nano is still messed up. I tried the Arduino IDE Serial monitor, putty and a Android serial monitor. No luck. I then removed version 2.0.1, deleted the 2.0 directory located at C:\Users\pcuser\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3. Then I installed version 1.2.0. Needless to say everything is back to normal. I am able to communicate with the nano via serial again and get measurements from the LIDAR.

Ok, I had a similar experience.

Installed v2.0.1 and was able to get it uploaded after retrying 5 times

Then the serial monitor was not connecting and dropping the connection if it did.

Is there another way I can develop with this right now that would be more reliable?

I tried reverting to 1.2.0 and can’t upload any sketches,

now on a baud rate of 9600 I do get this from the device

Did you remove the Sparkfun\hardware\apollo3 directory after removing version 2.0.1 in board manager? I had to remove 2.0.1 then delete the directory manually, because the removal in the Arduino IDE did not clean up the old 2.0 files. I then installed 1.2.0 in board manager. After that it worked again and serial port is stable. I will probably let version 2.x mature a bit before trying again.

Yeah, I deleted the files of v 2.0

I’m using:

  • Readboard Artemis Nano

  • Arduino IDE 1.8.13

Few months before I’ve installed Apollo 3 core version 1.1.2 and manage to work on the LED example. Was really difficult code, but BLE was working fine.

September 30th I’ve heard that version 2.0.1 have added support to Arduino BLE so I jump right to trying this version.

My first sketch was basic LED just to compile the core and works. My second try was Arduino BLE LED example, but my first discovery was that the lib still reported as “NOT COMPATIBLE” inside the IDE.

But i’ve oppened the example anyway and for my suprise it compliles ('lot of warnnings") and downloads to the board. But nothing happens.

After check other people questions looks like the serial comunication is the issue. So I’ve comment the line:

/*

Serial.begin(9600);

while (!Serial);

*/

This section makes the board waiting for the serial port be available to continue. And now the sketch is working.

:slight_smile:

Thanks for the report! I’ve logged an issue on the Arduino Apollo3 core repo: https://github.com/sparkfun/Arduino_Apollo3/issues/274

Hey so, I’m having all these issues but I need ArduinoBLE for this project. Can’t just roll back from 2.0.1 and call it a day.

My boards are Nanos. I’ve always used ASB in the past because it has always been marked Recommended in my copy of Arduino IDE. At first I thought my issue was that I’d recently updated to Arduino 1.8.13 but fully uninstalling and doing a clean downgrade to 1.8.5 (as recommended by a support tech elsewhere on the forums) has if anything made it all worse.

I occasionally get ASB to complete an upload. SVL was initially never working, but I was able to reflash the bootloader. Now it always succeeds at uploading but the uploaded program never runs.

Any sketch with ```
#include <ArduinoBLE.h>


One of these Nanos arrived seemingly DOA but came to life when I soldered the headers on. The other one is from the same batch. I'm tempted to try blasting a few spots with my air gun and see if that helps...

I’ve learned a few things since last post and possibly achieved a slightly cleaner environment. The situation currently appears to be this:

  1. SVL is a no-go. To be totally honest I thought “Out Of Order” in the Arduino IDE meant something about byte order. Oops!

  2. ASB works sometimes, whether or not the file contains ArduinoBLE or anything else that produces large / slow builds. I have set the SVL baudrate to 115200 on the off chance that it’s affecting ASB somehow. I dunno if it helps but it’s hard not to get a little superstitious with these inconsistent bugs. Success rate is maybe 30% ?

The slow build times make dealing with this a real pain. I think I see in ASB.py where I could increase the number of retries, but it seems to either work on the first try or not at all. I need to be able to re-attempt the upload entirely without rebuilding the sketch. Can I just call ASB.py? I’m having a hard time understanding some of these arguments… and I’m not really familiar with how Arduino IDE does things under the scenes. Could somebody show me an example of a typical upload command?

For now I’m looking into PlatformIO since I believe they provide terminal support for no-build uploads.