I am creating a PCB design that will incorporate the Artemis module. For programming the module, I was wondering which kit I should get to upload arduino code to the module. Would the SparkFun RedBoard Artemis Nano work/ is it easy to pop different modules on and off?
I’m not sure about what you mean with “pop”-ing on and off, because the module is fully soldered on, but we program the modules while testing using JTAG pins that are accessible from the available pins. You can find more details here: https://learn.sparkfun.com/tutorials/de … e-features
Hi Sue,
It is NOT easy to pop modules off of any of the carrier boards. They are soldered in place so that would require hot air and patience.
Our production team created a custom jig that uses pogo pins to contact the pads of the module – that’s how we program + test them in the factory. However the best option for you is to just put them right onto your board. (Solder them in place without programming first - just make sure you use at least one of the following methods to program from onboard your design)
-
If you follow the example of our carrier boards then you could use the serial bootloader(s) to program. On the Artemis module pins 48 and 49 are the UART pins that the bootloader is configured to listen to. You can place a USB-serial converter chip there and use it to both program the chip and for printf debugging. You will also need to connect the ‘boot’ pin to the DTR pin with the right RC circuit (follow this schematic: https://cdn.sparkfun.com/assets/4/5/a/3 … ematic.pdf) of the converter so that the bootloader can be activated automatically. This might be another good resource for you: https://github.com/sparkfun/SparkFun_Artemis
-
You can also use an embedded debugger to directly access the device. I would recommend including this method as a backup. Artemis can use the SWD protocol (JTAG subset) which requires connections to: SWDIO, SWCLK, RESET, GND, and VCC (3.3V). You should also consider connecting the SWO pin which can be used for print statements without tying up a UART. Again - refer to the schematic for these connections. The reason I strongly suggest including these connections is because they give you direct access. Besides re-flashing you can also adjust the built-in serrial bootloader settings, debug with breakpoints in code, and generally recover from problems. You would need to purchase a debug probe - I suggest this one if you are using it for non-commercial purposes: https://www.sparkfun.com/products/15345 or this one if it is a commercial use: https://www.sparkfun.com/products/15347
If you have any questions please don’t hesitate to ask!
I am using the RedBoard Artemis ATP to prototype a custom pcb I am developing. I want to use the CH340C for programing using UART. On the ATP I see some RX0 and TX0 silkscreen on the back side. These are the same as GPIO49 (RX0 Bootload) and GPIO48 (TX0 Bootload) - correct?
Yes, those are the same pins.