Techo

Techo is a Tcl/Tk application that uses WCH’s CH32V003EVT evaluation board to emulate an oscilloscope. Documentation, source code, and other resources for the microcontroller are available on WCH’s official CH32V003 page.

CH32V003EVT CH32V003EVT

It is not a true oscilloscope, as it does not allow you to switch between AC and DC coupling, work with AC-coupled signals, exceed the 0–5 V input range, and so on. However, it is still useful for displaying DC signals, viewing their spectrograms, calculating frequency, measuring amplitude, Vpp and Vrms, exporting data to CSV, and more.

You can see a general demonstration here.

To use it as an actual oscilloscope, you can connect a DSO183 as an analogue front end. The voltage level is not yet calibrated, however, so it can currently only be used to view waveforms and measure their frequency.

CH32V003

You will need to compile the control firmware with MounRiver before you can use the microcontroller. The MounRiver directory contains the following files, which must be placed in the User directory:

  • adc.c/h
  • driver.c/h
  • main.c
  • parser.c/h
  • usart.c/h

Project page

Techo

Updates

I will update the software and this help page whenever time permits.

Version 1.0

  • Data transmission as a byte stream, providing a fivefold increase in refresh rate compared with the previous version
  • Use of an 8-bit buffer, currently holding 512 samples, although 1,024 samples could also be tested
  • Cleaner waveforms thanks to a framing protocol in the data stream

Version 0.2

Code:

  • Added MounRiver source code

Version 0.1

Features:

  • Adjustable time base, from 1.7 MS/s down to 23.8 kS/s
  • Rising- and falling-edge trigger
  • Zoom
    • time
    • voltage
  • Cursors for manual time and voltage measurements
  • Spectrogram
  • CSV data export

Roadmap

Planned additions:

  • UART and DHT11 protocol decoding, although this is a long-term goal
  • Further testing with the DSO183 to turn the project into a true oscilloscope

Decoding different protocols is difficult because of the limited size of the ADC sample buffer. At present, this is more of an aspiration than a feature that can realistically be implemented, as 2 kB of RAM is extremely limited.

About the name

It is a Tcl/Tk development built around a CH… TeCHo

Contact

For suggestions or questions, you can reach me at: tdso112a at hykrion com

More information

More detailed information is available at hykrion.