In August 2015, I attended a Tokyo Hackerspace event called building a DIY oscilloscope. However, it wasn't until December 2016 that I finally assembled and tested it!.
During the event, we received a kit from Carl Blaksley that was based on an original design by Ajoy Raman. The hardware is quite simple and consists of 3 main components: the analogue interface, the processor and the USB interface. The analogue interface includes a few RC filters and 2 programmable gain amplifiers (SPI protocol) MCP6S22 (one for each channel). The amplified signal is then sampled by the processor, a dsPIC30F2020 which contains a 10-bit 2 Msps ADC (shared among the channels enabled). Finally, the USB interface is handled by the famous USB-serial FT232RL chip. Carl was nice and sent me the Kicad design files of the board. The assembly went quite smoothly but as always I had to debug a hardware problem that ended up being caused by my USB (a cross USB cable was needed).
The software was written in python and worked fine on Ubuntu 16.04 (there is also a visual basic version for Windows). To test it, I installed this amazing Android function generator application and connected it to the oscilloscope through a 100yen (sold at Seria) headphones stereo amplifier.