If you’re into programming microcontrollers, you likely already know how useful debuggers can be. Not only can you execute your code step by step, but you can see the values of every variable, and view and change any part of memory arbitrarily. JTAG is standard on all ARM Cortex chips, and many other microcontrollers as well. However, some JTAG debuggers can be very expensive. This JTAG Hat turns any Pi 2/3/4 (and presumably 5) into a JTAG probe with a few common connector types.
By using software like OpenOCD and GDB (the GNU debugger), you can connect to the Pi from your laptop to remotely debug a connected board, or you can SSH into the Pi and debug directly from there. It can power the board from the Pi’s 3.3V supply and also has level-shifting buffers to connect to targets from 1.8-5V.
Additionally, it has an on-board measurement of the target voltage and current draw, which can be extremely useful when trying to optimize a project for low power draw. It can do just about anything any JTAG probe can: from programming flash, to watching the state of I/O pins, to resetting the processor remotely. If you want a great general-purpose JTAG debugger, and you have a spare Pi handy, this is a great way to get a cost-effective yet powerful debug probe!
Credit : Source Post