Custom hardware requires custom firmware, BSPs and device drivers. However, how do you get started with a custom BSP if there is no software to load the kernel in the first place? This is the realm of the JTAG hardware debugger. But, how do you plug it in? What can it do? Is it useful for more than just firmware? And, is it worth the money you paid for it? We will describe the uses of the JTAG debugger, both in the initial firmware development, kernel bring up and driver debugging stages. This will be accompanied with a live demonstration of a JTAG unit with U-Boot and Linux on an embedded processor.