For the last 5 years I have worked on embedded devices running Linux at a P2MP WISP start-up and a vetenary device company. During that time I have invested a fair amount of time in maintaining a setup for development.

Saleae make beautifully designed and easy to use logic analyzers.

Remote access

Having complete control over the device without requiring physical access not only helps working or collaborating remotely, but it can also accelerate development locally. An ideal setup is described below, but can be easily generalized.

Power cycle the device remotely using a smart power strip like the Ubiquiti mPower Pro, which is no longer sold, but still available on eBay, or the Digital Loggers Pro Switch. Not only do they make resetting a device incredibly simple, but they also measure power consumption.

It can be much more convenient to statically assign devices a IP address using a router rather than on the device since the device is constantly getting updated during development.

Host mpower
    Hostname 10.100.0.3
    User ubnt
    KexAlgorithms +diffie-hellman-group1-sha1
Host dut
    Hostname 10.100.0.2
    User root
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    LogLevel=quiet
Host dut-serial
    Hostname 10.100.0.1
    RemoteCommand kermit -c -y ~/.config/kermit/FTAL15VC
    RequestTTY yes