Skip to content

JTAGulator alternative & a hardware hacker's multi-tool for RP2040 microcontroller based development boards including RPi Pico & RP2040-Zero

License

Notifications You must be signed in to change notification settings

Aodrulez/blueTag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[ blueTag ]

JTAGulator alternative & a hardware hacker's multi-tool for RP2040 microcontroller based development boards. Huge shout-out to Joe Grand for his JTAGulator project!

Features

  • Detects JTAG & SWD debug pinout (JTAGulator function)
  • Functions as a USB-to-Serial adapter
  • Reads & writes flash ICs with Flashrom
  • Supports OpenOCD with JTAG & SWD modes (BusPirate protocol)
  • Acts as a CMSIS-DAP adapter (supports UART & SWD)

Pinout

Installation

  • Download latest release version of blueTag ("blueTag-vX.X.X.uf2") from this github repository's releases section
  • Press & hold 'BOOTSEL' button on a RP2040 microcontroller based development board, connect it to a computer via USB cable & then release the button
  • Copy "blueTag-vX.X.X.uf2" file onto the newly detected flash drive (RPI-RP2*) on your computer

NOTE : Releases now also contain experimental builds ("blueTag-vX.X.X-RP2350-Experimental.uf2") for RP2350 based dev-boards.

Usage

  • Connect the RP2040 microcontroller based development board running blueTag to your computer using USB cable
  • Connect the development board's GPIO pins (GPIO0-GPIO15 so 16 channels in all) to your target's test-points
  • Connect the development board's "GND" pin to target's "GND"
  • Open a terminal emulator program of your choice that supports "Serial" communication (Ex. Teraterm, Putty, Minicom)
  • Select "Serial" communication & connect to the development board's newly assigned COM port
  • blueTag supports auto-baudrate detection so you should not have to perform any additional settings
  • Press any key in the terminal emulator program to start using blueTag
  • UI provides detailed guidance for all commands & hardware modes

Hardware boot modes: If you want blueTag to boot straight into a hardware mode, connect the relevant hardware boot mode selection GPIO to GND & reset or reconnect blueTag to your computer. As long as the GPIO is connected to GND, blueTag will continue to boot into the selected hardware mode when reset or reconnected. Only one boot mode can be active at a time.

NOTE 1: Most RP2040 microcontroller based development board's GPIO pins function at 3.3v. For connecting to devices running other voltage levels, use of external level shifter(s) will be required.

NOTE 2: Since the algorithm verifies channels in order (from 0 to 15), connect the channels in sequence (from 0 to 15) to your target's testpads/test points for the quickest execution time when using JTAGulator function.

Local build instructions

Recommended to use Docker

  • Open a command-prompt or terminal
  • Change to the desired directory & then execute the following commands:
git clone --recurse-submodules https://github.com/Aodrulez/blueTag.git
cd blueTag
docker build -t pico-builder-image .
docker create --name pico-builder-container pico-builder-image
docker cp pico-builder-container:/project/src/build_rp2040/blueTag.uf2 ./blueTag-RP2040.uf2
docker cp pico-builder-container:/project/src/build_rp2350/blueTag.uf2 ./blueTag-RP2350.uf2

NOTE : RP2350 builds are only for testing at the moment.

References & Acknowledgments

License

  • TinyUSB: MIT License
  • ARM CMSIS_5: Apache 2.0 License
  • Project Code: MIT License (unless otherwise stated)

About

JTAGulator alternative & a hardware hacker's multi-tool for RP2040 microcontroller based development boards including RPi Pico & RP2040-Zero

Resources

License

Stars

Watchers

Forks

Packages

No packages published