Bootloader for Artemis Module

Hello everyone

I have implemented the Artemis module on my own PCB with exposed pins for programming

RX, TX, Boot, Reset, SWDIO, SWCLK

The question is: does the module come with a bootloader or the Arduino Core?

Also, do i need to implement the reset circuit in order to load code? (apparently Reset needs to be pulled low, then Boot high for a few milliseconds )

Thanks

Hi @Binder11,

Yes, you will need to replicate the CH340 “DTR” or “RTS” Reset and Boot circuit that you will see on the Artemis RedBoard schematics. That is an important feature needed by the bootloader.

If I recall correctly, the module does come pre-programmed with the bootloader and possibly a “Blink” example too.

Best wishes,

Paul

Thank you.

It is good to know that the board comes with a bootloader.

I have replicated the BOOT and RESET circuit from the schematics.

However, I cannot upload anything using the Arduino IDE.

Selecting the Artemis module, the code does not compile (empty code)

Selecting any other board, the error is:

"Connecting over serial port COM8…

Fail

Fail

Fail

Tries = 3

Upload failed

"

Also, I am using windows and a CP2012 USB to TTL chip. The chip has a DTR pin and I am running everything at 1.8V. Using the ASB bootloader. Perhaps DTR pin is only usable with CH340 chip?

thanks for the help

There is a lot of useful information about the boot loader reset circuit in this guide:

https://learn.sparkfun.com/tutorials/de … 1610662735

Do you see any activity on any of the IO pins? If the factory test “blink” example is still running you might see some of the pins going high then low.

I have only ever used Artemis at 3.3V, not 1.8V, so I don’t really know what to suggest. Is there any way you can try 3.3V?

Also, are you using the CP2102? That looks like a 3.3V part? Are you level-shifting to 1.8V? (Maybe you could share your schematic?)

Best wishes,

Paul

I successfully got it to upload… Hooray

It turns out to just be a bad solder connection on the boot pin.

Thanks for the help

For documentation:

  • uploading was with Arduino IDE, ASB bootloader on “edge” board, with correct Baud rate

  • Uploading on 1.8V, 2.5V, and 3.3V works

  • No crystal oscillator was implemented

  • Bootloader circuit was made on a breadboard.

I’m glad that’s working for you - thanks for letting us know!

Paul

Hi,

I wanted to double check the necessity of including the bootloader circuit: per the Artemis integration guide, it says “If you suspect you will need to modify the SparkFun Artemis Bootloader or if you need to use the secure bootload toolchain, the circuit above can be used to bootload using a single pin (DTR or RTS is supported)”.

But, if I wanted to simply use the Arduino IDE to upload code using the Sparkfun Variable Bootloader (integration guide: “We’ve designed a baud rate flexible bootloader that is run at each power on reset”), will this circuit still be necessary and can I get away with not attaching anything to the Boot pin?

Thank you for the clarification!