I automate a measurement so that it runs the same way every time, without anyone watching, and so that every number can be traced back to how it was taken. Six principles, used in every system I have built:
Settle, then measure
No point is taken until every controlled quantity, temperature, field or bias, has reached its setpoint and passed a stability test. Most wrong data comes from measuring too early.
Recipes, not code changes
A run is a list of setpoints and timings loaded from a file. Changing an experiment means editing the recipe, not the program, so runs repeat exactly.
Closed loops where they matter
Temperature under PID on two stages, the magnetic field under a gaussmeter PID with a limited ramp rate, the sample heater ramped instead of stepped.
Safe states by default
Heaters switch off by themselves at the end of a sequence, and recipes start and end at zero so instruments never jump.
Every raw reading kept
Each reading is saved with its time, not just averages, so a result can be re-analysed later without re-measuring.
Traceable runs
A run log records settings and a remark for every run, so months later any data file can be traced back to how it was taken.