Hackaday Links up to this point.
- NRF24L01+,PIC16F1618 based wireless nodes for multi-point acquisition and control
- Add-on board: 24-bit ADC, 18-bit DAC
- Standalone Mode using a 128x64 OLED
- Controlling Daisy Chained Addressable LEDs [WS2812B]
- Designing an enclosure with SolidWorks and KiCAD for 3D printing, and Laser Cutting
- Building Blocks: Project logs dealing with the design of each tool present on the base board
- Calibrating the ADC for maximum accuracy from all analog inputs.
- GUIs for experiments. Embedded Videos
- Calibrating DACs
- 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 128x64 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.
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.
So what can you kill ?
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.
All client software is Python based, and no proprietary modules have been used. These include Python,Scipy,Numpy, Python-Qt4 , and PyQtGraph . All these work on multiple platforms, and are chosen to facilitate ports in the near future.
- Python - GNU GPL compatible
- Python-qt4 - GPL. Also requires that apps using PyQt4 be similarly open-sourced.
- PyQtGraph - MIT licence
- iPython - BSD License
- All Python Modules and Apps developed specifically for the vLabtool are hosted on github, and licensed with GPL-V3