Sent the first design for fabrication. Used a PIC24EP64GP204 micro-controller. Initial goal was to implement a 4-channel scope with at least 1 msps per channel, inputs with programmable voltage range etc. For waveform generation, added an ATTiny processor from Atmel. A 2 channel SPI DAC was used.


2014 Sep: Corrected many errors of the first prototype. Added two arbitrary waveform generators, using 2x PIC1572 processors. Communication to these was established via 9-bit UART Cross talk between channels indicated the need for better ground plane design​


Replaced quad op-amps with dual, separate op-amps for each channel. Minor bug fixes. PGA reference needs a low output impedance drive.


Features implemented

  • 10 and 12 bit measurement modes
  • Up to 32x Programmable gain on most channels. Manual gain control on CH3
  • 2-channel oscilloscope capable of monitoring all analog inputs at 1MSPS. Interrupt driven implementation frees up CPU to run other commands received during acquisition.
  • Voltages ranges from +/-16V to +/-100mV
  • High impedance inputs, and power supply monitoring channels.
  • Current to voltage convertor(+/-3.3mA) with up to 32x gain, and independent offset control.
  • Frequency counter tested up to 32 MHz. MCU supports up to 64MHz, but needs verification.
  • 4-channel Logic analyzer
  • 15nS resolution, and DMA based approach that does not block user access to other functions while it acquires data.
  • Independent function calls available to measure time differences between specified level changes on different digital inputs.
  • 28-bit , 0 – 2MHz Sine, triangular waveform DDS [AD9833] . Maximum amplitude +/-4V , attenuable to a few ten millivolts via manual control knob present on the hardware.
  • up to four phase correlated PWM outputs with maximum frequency 32MHz, 15nano second duty cycle, and phase difference control.
  • 15KHz standalone sine wave
  • 12-bit Constant Current source. Maximum current 3.3mA [subject to load resistance]. voltage monitoring must be carried out externally to check for saturation.
  • 5V,3.3V,+/-8V power supply outputs.
  • SPI,I2C,UART outputs that can be configured and controlled entirely through Python functions.
  • Onboard NRF24L01+ transceiver for wireless data acquisition.
  • Wireless nodes capable of I2C/SPI/UART as well as basic digital IO
  • Graphical Interfaces for Oscilloscope, Logic Analyzer, streaming data, wireless acquisition, and several experiments developed that use a common framework which drastically reduces code required to incorporate control and plotting widgets
  • Standalone Mode uses a 128×64 OLED to display a few basic measurements.
  • Firmware detects a plugged in display automatically, and continues showing readings until a PC takes over.
  • Entire Unit can be battery powered and used as a portable test equipment.
  • For Advanced portability, use the android application.

Additional Features

  • An ESP-12 wifi module can also be used in place of a USB connection, but a separate 5V power supply will be required. This will either simply provide a TCP socket, or host standalone web pages with control widgets (Work in progress ).

    Space for a CH240G USB-Ser has been left as an option in place of the more expensive MCP2200, but has not been tested so far.

  • Users will often make wrong connections, and the design must withstand reasonable assaults.

    A few measures have been taken in this regard.

    – A 500mA poly-fuse is part of the main USB input. This fuse auto-repairs when the offending load is removed.

    – The DAC channels are specified as short-circuit proof, and the outputs will simply load the bipolar power supplies, causing their voltages to drop .

    – Analog inputs are all high impedance, but exceeding voltage limits in either direction on multiplexed channels(CH1,CH3-7,I2V ) will distort the rest of the multiplexed channels. This will not damage the unit within generous limits.


If you’re not excessively harsh, only the outputs broken out into the expansion slot are sensitive. Most of these come directly from the main processor, and you should be as careful with these as you are with your Arduino’s outputs.

The CAP input is directly connected to the Charge Time Measurement Unit of the processor, so please discharge any high voltages that may be present on capacitors before plugging them in.



Lot of corrections and improvements. Everything seems to be working, demonstrated during Scipy.in 2014 conference at IIT Bombay.

April 2015

Hardware and software working as expected but packaging issues remained. Decided to go for 2mm round sockets and Berg strips for Input/Output connectors. Added an inductance meter also. Prototype made with acrylic cabinet. Added Ad9833 waveform generators.

April 2015

One more round of prototyping to correct some errors.

May 2015

Added ESP8266, for WIFI support, made some changes to I/O connector locations. tested with transparent UART firmware as well as eshttpd web server

May 2015 #2

Made a compact version with two bipolar channels and remaining unipolar channels. Called it Vlabtool.

6-June 2015

Vlabtool went through many changes, PCB was revised 3 times before the final unit was made. It worked fine and had a local LCD display. Key Features: 12-bit offset control along with up to 32x gain control gave very fine oscilloscope resolution along the full voltage range 2.5ppm digital reference, 5ppm Analog reference 128*64 pixel OLED display that shows readings until a USB connection is detected

21-June 2015

Decided to make a very low cost version [no high precision references, PGA etc], attempted gain control using op-amps and uC pins. , but it failed because of reverse voltage protection on uC pins via internal schottky diodes. 28-bit DDS sine wave generator with 0.004Hz resolution up to 2MHz was included. External amplitude control .

25 July 2015

31 July 2015

September 2015

Added PGA back, for gain control. WS2812B RGB LED for status display The need was felt for more suitable I/O connectors than the existing banana sockets which require special connecting cables, and are largely cumbersome for quick prototyping in labs. Found some spring loaded speaker terminal connectors, that looked like a good option since any sort of wire could be plugged in

November 2015

Made an adapter board to fix the speaker terminal to the main board so that the heights of the Berg strips align with them on the same plane.

December 2015

Decided to make one batch of boards, and integrate with Orange Pi / Raspberry Pi. An injection mould was made to was made to fit an OPi/RPi along with the acquisition board

March 2016

Several issues with making the ABS plastic cabinet were sorted out, and final assembly process was streamlined. four desktop versions were bought by Farook College, Calicut, followed by several other institutions.

July 2016

Demonstrated at Startup Mission, Kerala.

August 2016

Redesigned the unit with a different form factor, with 2 connector blocks. Added a 5ppm/C clock generator and 50ppm/C analog reference (5ppm optional) for better accuracy. After a couple of rounds of prototyping , one batch was produced, with a new plastic mould.

This will be termed SEELablet-V2.
Calibration is carried out against a 24-bit ADC, which at this point seems like overkill, so a step down to a 16-bit ADC is expected in the near future.

SEELablet V2


Project Details

Measuring rate of creation of water droplets using a laser beam + Phototransistor combo along with the various measurement tools of the SEELablet.
From a pedagogical perspective , this experiment can be used as an approximate analogy to explain the rate of discharge of a capacitor connected across a constant load.
The analog data logger is first used to log the voltage fluctuations, and once it has been verified that these can be treated as digital signals, the logic analyzer is employed on the same input.