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. It pairs well with sensepeek’s PCBite hands-free probes.

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 control and measurement

Power cycle the device remotely using a smart power strip. Not only does it make resetting a device incredibly simple, but some models can also measure power consumption.

I used the Ubiquiti mPower Pro for years, but it is no longer sold. For a while it was still available on eBay. The Digital Loggers Pro Switch is an alternative produced by a small company. The software interface is not as simple and much more simply designed, but it still works well.

An alternative made in Europe is the NETIO PowerBOX 4Kx, which measures power statistics for each of the four outlets. Unfortuantely, it is rather expensive at €249 or €301,29 including VAT.

Networking

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

Programming

A open hardware project named SDWire allows programming a SD card over USB while it is attached to a device. This means the SD card does not need to be removed from the device to be updated. Typically, this use case is solved by implementing TFTP/NFS booting, but that requires more work to implement, setup and maintain.

Adafruit 68cm Micro SD Card Extender is helpful in case the SDCard-to-USB adapter is blocked from being inserted into the SDCard connector. Note that some devices may require removing the resistor on the extender cable.