Lora expLoRaBLE upload problems

Dear all,

I am in need of a little help, I have recently just purchased two LoRa expLoRaBLE Artemis boards and am having trouble uploading sketches to it, even the Blink sketch, I have tried changing baud rate and slowed it down as far as I could in Arduino IDE, and uploading new drivers, none of which worked. I am new to Artemis (not arduino) and am wondering if there is a method that I have not yet tried that would work? Btw I am on M1 apple silicon, and this is my first post!

Many thanks in advance APS

what error message do you get ? (if not enabled yet : file / preferences / check show verbose messages during upload)

You can try the Ambiq or the Sparkfun uploader?

Sorry about that, the error message is as follows:

Artemis SVL Bootloader

Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.

Many thanks, APS

I have tried both Ambiq and SVL, but to no avail.

Do you see a COM port to which the board should be connected? if not have you tried a different cable? some cables on provide power.

Is no Windows/Linux/Ubuntu computer available to try? else maybe someone else has an Apple M1 that can provide some help.

Yes, I do see a COM port to connect to and the CH340 drivers are working, I have also tried many cables, is it worth trying this on my windows machine?

Give it try on Windows … just to be sure it is not the boards. All Artemis boards have the Ambiq loader or the SVL loader. In case of the SVL loader, you could try a lower speed. On my Ubuntu 460800 is the MAX. Above that it will fail 100% of the time. So maybe also try at 230400 or lower. If the SVL loader is on the board it will detect the speed automatically.

I have tried on both Mac and Windows and have lowered the speed to 57600 baud, but still can’t get it to work. Do you have any other suggestions?

can you copy the exact error message you get ? maybe it provides a clue ?

I get the same error message as before.

is it ONLY…

Artemis SVL Bootloader

Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.

even with the verbose turned ON ?

Sorry, forgot to turn on verbose.

Full error message is as follows:

Artemis SVL Bootloader

Script version 1.7

Phase: Setup

Cleared startup blip

Failed to enter bootload phase

Phase: Setup

Cleared startup blip

Failed to enter bootload phase

Phase: Setup

Cleared startup blip

Failed to enter bootload phase

Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.

Many thanks, APS

“Failed to enter bootload phase” means it can not detect the board as it did not get an answer (Timeout or CRC). It will try 3 times in the code based on the baudrate provided.

What does it say with the Ambiq loader with verbose?

It says:

Sketch uses 115020 bytes (11%) of program storage space. Maximum is 983040 bytes.

Global variables use 27328 bytes (6%) of dynamic memory, leaving 365888 bytes for local variables. Maximum is 393216 bytes.

/Users/wilfred/Library/Arduino15/packages/SparkFun/hardware/apollo3/2.2.1/tools/uploaders/asb/dist/macosx/asb --bin “/private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/DAFC936B31382CF1A1CAAC986679AEEE/sketch_apr21a.ino.bin” --load-address-blob 0x20000 --magic-num 0xCB -o /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/DAFC936B31382CF1A1CAAC986679AEEE/sketch_apr21a.ino --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b 115200 -port “/dev/cu.usbserial-10” -r 2 -v

Header Size = 0x80

original app_size 0x1cdf0 ( 118256 )

load_address 0xc000 ( 49152 )

app_size 0x1cdf0 ( 118256 )

w0 = 0xcb01ce70

Security Value 0x10

w2 = 0x10008080

addrWord = 0xc000

versionKeyWord = 0x0

child0/feature = 0xffffffff

child1 = 0xffffffff

crc = 0x9a5d6f8e

Writing to file /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/DAFC936B31382CF1A1CAAC986679AEEE/sketch_apr21a.ino_OTA_blob.bin

testing: /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/DAFC936B31382CF1A1CAAC986679AEEE/sketch_apr21a.ino_OTA_blob.bin

Header Size = 0x60

app_size 0x1ce70 ( 118384 )

Writing to file /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/DAFC936B31382CF1A1CAAC986679AEEE/sketch_apr21a.ino_Wired_OTA_blob.bin

Image from 0x0 to 0x1ce70 will be loaded at 0x20000

Connecting over serial port /dev/cu.usbserial-10…

Sending Hello.

Received response for Hello

Bootloader connected

Received Status

length = 0x58

version = 0x5

Max Storage = 0x4ffa0

Status = 0x2

State = 0x7

AMInfo =

0x1

0xff2da3ff

0x55fff

0x1

0x4cd00005

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

0xffffffff

Sending OTA Descriptor = 0xfe000

Sending Update Command.

number of updates needed = 1

Sending block of size 0x1ced0 from 0x0 to 0x1ced0

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 8180

Sending Data Packet of length 3960

Sending Reset Command.

Tries = 0

Upload complete!

And it worked!

Sketch uses 115976 bytes (11%) of program storage space. Maximum is 983040 bytes.

Global variables use 27728 bytes (7%) of dynamic memory, leaving 365488 bytes for local variables. Maximum is 393216 bytes.

/Users/wilfred/Library/Arduino15/packages/SparkFun/hardware/apollo3/2.2.1/tools/uploaders/asb/dist/macosx/asb --bin “/private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/FE8F9D353E201D6403DA432B367C6D21/Blink.ino.bin” --load-address-blob 0x20000 --magic-num 0xCB -o /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/FE8F9D353E201D6403DA432B367C6D21/Blink.ino --version 0x0 --load-address-wired 0xC000 -i 6 --options 0x1 -b 115200 -port “/dev/cu.usbserial-10” -r 2 -v

Header Size = 0x80

original app_size 0x1d338 ( 119608 )

load_address 0xc000 ( 49152 )

app_size 0x1d338 ( 119608 )

w0 = 0xcb01d3b8

Security Value 0x10

w2 = 0x10008080

addrWord = 0xc000

versionKeyWord = 0x0

child0/feature = 0xffffffff

child1 = 0xffffffff

crc = 0xb6f3a97f

Writing to file /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/FE8F9D353E201D6403DA432B367C6D21/Blink.ino_OTA_blob.bin

testing: /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/FE8F9D353E201D6403DA432B367C6D21/Blink.ino_OTA_blob.bin

Header Size = 0x60

app_size 0x1d3b8 ( 119736 )

Writing to file /private/var/folders/j0/mxdzhynx7pg55j137qqq5v1r0000gn/T/arduino/sketches/FE8F9D353E201D6403DA432B367C6D21/Blink.ino_Wired_OTA_blob.bin

Image from 0x0 to 0x1d3b8 will be loaded at 0x20000

Connecting over serial port /dev/cu.usbserial-10…

Sending Hello.

No response for command 0x00000000

Failed to respond

Fail

Sending Hello.

No response for command 0x00000000

Failed to respond

Fail

Sending Hello.

No response for command 0x00000000

Failed to respond

Fail

Tries = 3

Upload failed

However, on attempting it for a second time, it no longer works. Any idea why this is happening?

so your board is using the Ambiq uploader … not the SVL… the only disadvantage is the time it takes to load… if you want you COULD add the SVL uploader GitHub - sparkfun/Apollo3_Uploader_SVL: The SparkFun Variable Loader (SVL) serial uploader used on SparkFun Apollo3 and Artemis boards. It does NOT replace the Ambiq uploader, which is part of the ROM, but it makes uploading faster… up to you!

Whenever you upload make sure the IDE monitor is CLOSED. It might display / pick-up feedback from the board that is mend for the uploader and as such uploading is failing.

Ah, but when I go back to re-upload the code, it fails, even with the same settings.

it seems it is not getting a response from the board. Try to remove / reconnect the board and see what happens. You have the Ambiq uploader else it would have failed before, but also try with SVL

I have tried both, and they haven’t worked, do you have any other suggestions?

To be frank… I am running low of suggestions. The fact that it worked ONCE with the Ambiq uploader is important. At least we know that it worked / works.

Does the board LEDS still blink ?

Try reboot your Apple / PC maybe there is something else impacting/ hanging/ impacting the port. (that won’t be the first time for me…)

Does this impact BOTH of your boards?