This dual-channel oscilloscope reads data from serial port. It is good for upto 5K Hz signals after which slowness of Python based GUI becomes bottleneck. The GUI is based on pysimplegui library (TKinter based).
An arduino board can be configured to write data to serial ports. Arduino has a decent A/D convertor. For example, analog port A0, A1 are fed inputs. These values are read as char (1 bytes: 10 bits to 8 bits conversion for performance) and then written to serial port. Make sure to use baud rate of 115200 (which is default in this project).
Simple analog circuits can be analysed with this cheap setup.