The whole field of electronics is evolving. DIY now works at a "higher level" in the sense that where in the past it would have been a challenge to put together an audio amp from discrete components that did not self destruct from oscillations... it was a real challenge at the time, working with the components that were available. Nowadays, you get excellent results from an amp made from a single IC that is extremely well behaved (e.g. LM3886).
For many analog electronics projects that would have been a challenge in the past, you now reach for an Arduino (a device that is really a minor miracle when you think about what we had in the 80's or 90's) that costs a few dollars, you write a few lines of code, and boom - you have something up and working before you know it.
Thinking about the future... what will it be like in another 20-30 years? - Chips will most likely be crazy advanced and inexpensive, mind blowing.
A big part of electronics as a hobby has always been to use electronic components to solve some problem (communicating at a distance, for the ham, or watering a plant, or whatever the engineer found interesting at the time). That part - using technology to solve a problem - is where amateurs will always have a part to play, it seems to me. Solving new problems, or finding new ways of solving old problems, is a creative process that "feels good".
Fully agree. Making equipment that used to be rocket science using standard microcontrollers is fun and opens new possibilities in your lab.
https://electronicprojectsforfun.wordpress.com/homebrew-scpi-controllable-instruments-with-arduino-controllers/
That looks very cool! - Do you have to "teach" Visa/Labview etc. the dialect of SCPI that you have implemented in the Arduino? - i.e., how does Labview etc. know how to speak the new commands to it? (I don't use Labview, I always just hit GPIB "the hard way" as most of my collection of boat anchors predates even SCPI! )
... its like other SCPI stuff. Standard commands are (more or less) common, but specific commands are not, depending on what your instrument does.
I handled this the following way:
- Hardware functionality is done using Arduino shields.
- Implement standard commands on the Arduino as the standard says (a subset only, no syntax variety, ...)
- implement specific commands that make mnemonic sense for the function you want (like :INSTR:POWER:READ?, or :INSTR:ADC:READ?, ...)
- on the PC side, use a Python wrapper to control everything (one library per instrument, I have collected about 20 of them for now, also for commercial
equipment).
- Use Python scripts to automate, extract data, store and plot results. Using SciPy, NumPy and MatplotLb
Advantages:
- Hardware is dirt cheap
- Software is free
- No problems with multivendor (I have Keysight, Rigol, R&S, ...) environments
- Your instruments are detected and controllable using NI VISA (finding them, sensing commands, reading data) with no action required on the PC side.
They are found as ASRL:COMxx, you can open, send, write, read, query, ...
- If you really need, you can create an IVI driver for them (not difficult) and use them in LabView, which I dont use. I prefer programming, its more flexible.