Low cost electronics lab instument

The objective is to build a basic electronics lab measurement and test system from a cheap dev board.

Similar projects worth following
Current target is the $24 STM32F429Discovery board which looks as if it will support the following:

single channel 12 bit storage scope 1.8 MHz bandwidth
three channel 12 bit storage scope 600 KHz bandwidth
million sample buffer
dual channel function generator ~150 - 250 KHz BW
dual channel pulse generator
L-C-R measurement
multi channel V-A measurement
frequency counter
16 channel 40 MHz logic analyzer
20 MHz spectrum analyzer
software defined radio receiver front end
320x240 color waveform display

While rather modest specs, this should be sufficient to be useful for a wide range of tasks besides educational exercises. The items listed are basic blocks which can be combined to form things like curve tracers, etc.

This will require analog interface circuitry (filters, buffer amps, attenuators, etc) and software to control the MCU and transfer data to a host system. Total hardware cost should be around $50 including the dev board.

I began this a few weeks ago.  I'm currently using Matthias Koch's Mecrisp-Stallaris forth implementation to evaluate the STM32F4 peripheral performance starting with the DAC and timers in preparation for designing the output circuitry.  Spending lots of time setting up infrastructure, reading documentation and developing appropriate test cases.

  • The search for bandpass filters

    Reginald Beardsley09/06/2014 at 01:06 0 comments

    I've been working on the spectrum analyzer design.  Murata  offers a 1 MHz BP SAW filter centered on 137.5 MHz (FS2059B1).  It claims -40 dB at 7 MHz BW.  Combined w/ a 120 MHz LP filter and an AD8307 log amp on the frontend and a 500 KHz SCAF at the ADC input this would make for a 0-120 MHz double conversion spectrum analyzer.  The STM32F429 PLL would provide the tunable first LO w/ a  137.5 MHz fixed clock for the 2nd LO.  Unfortunately Digikey lists the device, but has no stock and no one else seems to even list it.  I've been looking for other options for a 0.5 - 1 MHz BP at a frequency low enough to generate the clock w/ the STM32, but so far all I've found are at much higher Fc.  That's doable but requires another clock and the high frequency Si507 parts sort of blow my target of staying under $100.  I'm trying to avoid anything that requires test equipment to construct.  I have a failed 40 M DC receiver front end lying around.  It failed because I had no way to measure the passband of the filter  when I built it.

    FWIW The same design minus the AD8307 would make a nifty HF SDR module w/ 1 MHz BW.  When I got my STM32F429 board  also  got a TM4C1294 which has a complete ethernet interface. If I can find a 1 MHz BP filter that I can feed using the Tiva PLL I'll divert course and build an SDR that connects via ethernet and then build the rest of the instrument around that.  So if you know of a cheap 100-120 MHz BP filter module, please let me know.

    Potential parts options so far:

    120 MHz LP filter   - TDK MEM2012V121RT

    137.5 MHz  1 MHz BP filter  - Murata FS2059B1

    600 KHz LP SCAF - LTC 1069  (also serves as antialias for scope)

    I'm a bit unsure what's realizable w/ a SCAF.  Reading the datasheets doesn't fill me w/ confidence :-(

    BTW If anyone reading this wants to get involved please contact me.  The main reason for doing this here is to find someone to talk to.  The one off cost is drifting towards $100, but the function is increasing significantly.  I'm also investigating adding equivalent time sampling 'scope functionality to 100 MHz.

  • Reality is analog. Digital is just a concept

    Reginald Beardsley08/22/2014 at 21:33 0 comments

    The low pass filters needed to avoid aliasing are proving to be a significant pain.  I've found switched capacitor filters which will work to 400-600 KHz, but not higher.  That leaves the problem of building high order filters w/ limited test equipment.  One needs 6 dB per bit of filter rolloff at Nyquist.  For a 12 bit ADC w/  Fc at 1/2 Nyquist that's a 72 dB/octave (aka 12 pole) filter.   Component tolerances make such things difficult to build.  One option is to aacept less dynamci range. My Rigol is 8 bit so it only needs a 48 dB/octave low pass filter to prevent aliasing.

    On a happier note, I realized that a 20 MHz spectrum analyzer can be implemented using a comparator and some processing.  By collecting sign bit data from the comparator at 80 MS/s and then doing an autocorrelation and an FFT one gets an amplitude spectrum w/ the dynamic range and frequency resolution governed by how long you collect data.

  • Lots of fun!

    Reginald Beardsley08/10/2014 at 02:45 0 comments

    I  burned most of a day figuring out how to make TIM4 function on an STM32F4Discovery board.  I'm a novice at programming at bare hardware level, but finding the information I needed was maddening. "Selects internal clock", which clock?  There are lots of them!  There seems to be good support from STM for C programming in the form of libraries that hide the complexities, but at least for now I'm committed to using Mecrisp.  Which in turn implies I'm coding peripheral operations in assembly.  Scope traces and code in a few days.  I've still got PWM output tol do.  But hopefully I learned something applicable today.

View all 3 project logs

Enjoy this project?



vincenzo wrote 11/25/2016 at 10:07 point

  Are you sure? yes | no

PointyOintment wrote 08/11/2014 at 18:16 point
*instrument :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates