Armed with a few odd basic instruments such as power supplies, voltmeters, and maybe a scope , there's quite a bit of electronic behaviour one can study.
Some simple schematics
Slightly more advanced topics
Sample Code for measuring a transistor's common emitter output characteristics
from SEEL import interface I=interface.connect() #PVx are power supplies with various output ranges. #set_pvx sets a voltage, and returns the actual set voltage ( corrected for least count ) pv2 = I.set_pv2( 1.0) # Bias the base via a 200K resistor. base_voltage = I.get_voltage('CH3') base_current = (pv2-base_voltage)/200e3 # Use Ohm's law to determine current CollectorCurrent =  CollectorVoltage =  for a in np.linspace(0,5,100): pv1 = I.set_pv1(a) CollectorCurrent .append( (pv1 - I.get_voltage('CH1') )/1e3 ) CollectorVoltage.append(pv1) from pylab import * plot(CollectorVoltage,CollectorCurrent ) #Plot and try a different base current show()
Halfwave rectification using an LED.
The high forward threshold voltage of the LED causes the output voltage to be very low for an input waveform of 3.3V
Example results :