I want to break out the serial port to pins on a different connector to not use the USB port in a product. I can’t find any documentation on how to do this. Is there a way to easily remap or breakout the USB D+ and D- pins to other pins on headers?
USB Serial is not a standard USART connection but virtualized via the USB CDC part of the dedicated USB block (even with its own power supply) in the controller and hence you’ll always need a USB Host to use it and hence there is no way to remap the USB pins to standard GPIOs.
A much easier way to get serial output would be using the RX/TX USART pins.
What @ScruffR said.
The NRF52840 has dedicated USB pins. Unlike the SERCOM peripherals you can’t move these around.
Your right it looks like the USB D+/D- lines are connected directly to the nRF52840 directly and are apart of the nRF’s peripherals specifically for USB. I’m asking because I’m trying to figure out a way to program devices in Mfg without a USB cable. I’m now looking at what JTAG pins might be exposed for this, I was hoping I could just use a fixture with pogo pins to load the initial application software.
The bootloader allows you to easily update the user application via several different methods, USB, OTA, Serial Y-Modem, and also internally via the Factory Reset procedure. All of these methods have multiple tools associated with them as well.
I found this on the Boron and Argon datasheets. Do you know how others load firmware / how does particle load firmware during manufacturing?
You can program the bootloader, Device OS, and user firmware over SWD/JTAG using the 10-pin (2x5) connector on the top of the Argon (also Boron). This is very fast (especially with a Segger J-Link) and efficient.
Caveat: On the Argon you can’t program the NCP (ESP32) firmware over SWD. In practice you rarely have to upgrade the NCP firmware, but it could be an issue.
For the B Series SoM, there are pogo pins on the bottom of the SoM for SWD, and that’s a good way to program it. For the Boron and B Series SoM you can program the whole device by SWD.
For the Tracker SoM, SWD is on the pads on the edge of the SoM. You can’t program the ESP32 on the Tracker SoM by SWD directly either.
Just for completeness/clarification, on the Boron there are also six test points on the flip side around the area where the USB connector sits. Are two of them connected to D+/D-?
If so, why not also on the Argon?
The four test points on one side of the USB connector but on the bottom of the Boron are the SWD signals, same as the 5x2 connector on the top. I’m not sure why that only exists on the Boron and not the Argon.
The two test points on the other side of the USB connector but on the bottom of the Boron connect to the u-blox cellular modem, not the nRF52840 USB. That makes more sense because the ESP32 is designed to reload its flash off UART serial, not USB.