This post will be somewhat different to others, but I consider it interesting enough and useful enough to share on the blog. Over the past years I have used MATLAB quite a lot for communicating with instrumentation/test boards I’ve designed. Due to a number of reasons I’ve recently decided that gradually transitioning to use of Python instead is a good idea. My needs are typically quite basic, some communication with external instrumentation/test boards, data recording, data analysis, and finally generating some nice looking figures to summarize the results. Since the best way to learn is do, I’ve decided writing a control software for a DC electronic load I own would be a nice first project. The code is finally complete, so I’ve decided to share it with others so that anyone who owns an instrument from this series could use it.
Just like any other DIY electronics hobbyist, a scope is one tool I can’t live without. Over the past few years I’ve owned the renowned Rigol DS1052E (which was hacked up to the 100MHz model), and more recently a Siglent SDS1204X-E. Both were great for the price and their respective time to market. The DS1052E was probably among the first scopes that almost every hobbyist could afford, and the SDS1204X-E was much more capable with more channels and processing power and its MSO option (which at the time was quite buggy, but I understand it has improved). However, the thing I was missing is the ability to probe (relatively) high speed signals. I wanted something that could do 500MHz, and preferably even 1GHz. Getting such a high BW scope would cost quite a lot of money brand new, so I knew I had to look for some older used units. After reading a bit on different forums, I’ve decided that an Agilent 54831B would be a good match for my needs. In this post I’d like to describe some mods I did to the scope to make it better suited for my needs. Hopefully some other readers will find this useful to learn about this scope, or how to mod it if the need arise.