Lab Equipment

The right tools for the right job

Not even the best carpenter will be able to just “think” a nail into the wood, without a hammer the nail isn’t going anywhere.

Different from software engineers that work on things like web, office, or mobile applications, an embedded software engineer needs some more tools than just a text editor.


Most projects run on hardware that is to small to run things like GDB or Visual Studio on the actual hardware, so an external debugger is needed.


The Segger J-Trace Pro ARM Cortex A/R/M debugger with the Ozone software is my main tool to work on ARM based systems. Depending on the target hardware it can not just debug but also do realtime instruction tracing.


Since they are cheap and it is handy to be able to work on several projects at the same time, I have several ST-Link JTAG debuggers.


For Xilinx FPGAs I also have a Xilinx Platform Cable USB II JTAG programmer.


And for old ARM (pre Cortex) projects I still have my Ronetix PEEDI debugger. It could be upgraded to support Cortex CPU’s but it was cheaper to buy a new unit from Segger.

Scope/Logic Analyzer/Multimeter

Low level hardware projects most of the time control something in the real world, and to measure that a good oscilloscope is a tool I can not do without.


After using a Tektronix scope for years I upgraded to a R&S RTM3004 scope that can do things like realtime protocol decoding. And since it not only hat 4 analog channels but also 16 digital channels I can do more with a single tool.


For measurements like voltage, current, temperature, etc. I have a Rigol DM3068 bench multimeter, because it never runs out of batteries.

Power Supplies

Even though a lot of things run on simple 5V USB power supplies, that is not always enough. When you want fine control over the voltage and current limiting a lab power supply is needed.


My main low voltage power supply is the R&S HMP4040, that has 4 channels with 0-32VDC and can deliver up to 10A. The channels can be combined to get higher voltages or larger currents.


For special use cases (mostly railway projects that need 110V DC) I also have a BK Precision 9206 power supply that can deliver 0-150VDC.


And for cases when 10A isn’t enough I have a EA 8080-40 power supply that can deliver up to 40A.

Network Analyzer

Since I have a lot of projects that use Ethernet it is very handy to be able to “measure” network traffic. On small devices that can not run tcpdump or Wireshark on the target an external tool is needed.


For that job (when there is no switch that can do port mirroring) I have a ProfiTAP. This is very useful to see what is really coming out of the device, especially when you have or write dissectors for Wireshark to decode protocols.

Development Kits

To develop software for devices of which the hardware is not even designed yet, the use of development kits is the only option. Over the years I have collected a large collection, some belong in a museum like old SAM7, SAM9, or Spartan 3 ones.


For FPGA development and prototyping I have several boards, like these Nexys Video and Microzed versions.


For ARM development I have lot of different ones from ST, NXP, and Atmel/Microchip. I also use those to test software (for example Zephyr drivers) on different CPU’s.


When dealing with low level development a serial port output is invaluable. USB serial converters are a pain to work with since it is hard to figure out what COM port windows assigned this time. To solve that problem I have a 16 port terminal server from Moxa, so I can connect from any computer to any serial port, best investment I ever made.

See also