Light Probe MK I

by nqtronix in Circuits > Sensors

19866 Views, 70 Favorites, 0 Comments

Light Probe MK I

IMG_0237m.jpg

The first prototype of any circuit doesn’t always work almost never works 100% like expected and therefore troubleshooting is an essential part of the engineering process. This usually involves taking measurements of the circuit and tweaking things as needed. Commonly this is done with an oscilloscope, just probe the voltage of any signal and see how it changes over time.

However in some (rare) situations the light generated by a circuit is the "signal" you care about. Measuring the drive voltage/ current is not always possible and is also inaccurate. Personally I am curious about how the typical 0.96" OLED screen works, especially how the configuration settings, the panel voltage and the segment current effect the light output. During the design process I came across gerrit’s µs photography flash, which is used to "freeze" fast moving objects on photographs and he would also like to measure the light directly.

Obviously there are plenty of light sensors available, but not a single, public available design came even close to the speed I needed. Thus I created the Light Probe, a very fast light sensor which can be connected to any oscilloscope and used like any other probe! The original bandwidth target was around 10MHz, but the final design can now be used for at least 50 MHz and therefore matches or even exceeds the bandwidth of most entry level oscilloscopes, including the popular DS1054Z.


This instructable contains not only step-by-step build instructions, but also contains optional information why certain design decisions have been made, how it was tested and what optimisations were made. Feel free to jump to any chapter that interests you.


Update 2022: Ongoing part shortages might make it hard to build this. Awesomenesser has build a version of this that uses substitute parts and delivers a slower, but stronger output signal. Check it out in the "I made it" section at the bottom!

Features & Specifications

The light probe behaves like an normal oscilloscope probe, but measures light instead of voltage. The probe contains all circuitry to convert the light into an electrical signal your scope can measure.


Features:

  • probe-shaped for easy handlin
  • fastest DIY light sensor to date!
  • SMA signal output connector suitable for any SMA cable
  • powered from any USB port, even the one of your scope
  • maker friendly
    • common components suitable for hand soldering
    • cost effective 2 layer PCB
    • customizable design
    • input power protection

The performance depends on many aspects, including part selection and the usage environment. Use the give values as a guideline only.


Specification:

  • bandwidth: 50MHz (typ.)
  • dynamic range: 4V (typ.)
  • zero light voltage: 92.5mV ±5mV

Warning: Although the power input is protected, the signal input is not protected. Any protection would add additional capacitance and thus slow down the probe. Do not expose the probe to very bright flashes of light, such as holding it directly in front of a xeon-flash. When in doubt, measure the light indirectly first by bouncing it off the wall or another diffuser.

Design: Sensor Element

IMG_0177m.jpg

There are several ways to measure light, some of which you might have even used yourself. Most notable are:

  • photoresistors
  • phototransistors
  • photodiodes

While circuits with photoresistors are fairly easy to build, they are also by far the slowest. Their rise and fall times are typically 30ms or so, resulting in a maximum bandwidth of:

fphotoresistor ≈ 0.35 / trise = 0.35 / 30ms ≈ 11.6Hz

Phototransistors are a lot faster and specified with a rise- and fall-time of down to 5µs. This increases their maximum bandwidth:

fphototransistor ≈ 0.35 / trise = 0.35 / 5µs = 70kHz

The fastest sensor element is the photodiode. For the probe we’ll use the BPW24R, which have a rise- and fall-time of only 7ns according to the datasheet:

fphotodiode ≈ 0.35 / trise = 0.35 / 7ns = 50MHz


However this speed comes also at a cost: The circuit used in the datasheet has signal output voltage of 5mV at maximum brightness, thus even moderate light levels can’t be detected with a typical oscilloscope anymore. Also the signal is very weak, even the light load of a typical oscilloscope probe will effect the output voltage. Therefore it is necessary to add a special frontend circuit, which conditions the weak signal before it is feed into a oscilloscope.

Note: This section was written with the effective end result that you as a user can expect. For that reason some simplifications were made and it is not a fully accurate academic description or explanation.

Design: Photodiode Basics

photovoltaic.PNG
photoconductive.PNG

Photodiodes can be used in two major configurations:

  1. photovoltaic mode
  2. photoconductive mode

Photovoltaic Mode:
In the photovoltaic mode the photodiode is operated like a solar cell and generates an output voltage in relation to the light it received. The more light, the higher the output voltage becomes. However this relationship is logarithmic, meaning the output voltage does not double, when there is twice as much light hitting the sensor. Further the output voltage depends on the ambient temperature, which makes it even harder to archive repeatable measurements. Lastly this mode is slower than the photoconductive mode, which makes it unusable for this application.

Photoconductive Mode:
You might know that diodes only conduct in one direction and they block current in the other. For most applications this is approximation is valid, however there is also a very small reverse current in the order of nA to µA. In photodiodes, this current is linear proportional to the light hitting the sensor. In the photocunductive mode this current is used as the output signal.

Another major benefit is that this allows us to reverse bias the photodiode to increase its speed. To reverse bias a diode simply means to apply a negative voltage to the diode. This increases the depletion zone in the diode, and thus decreases the parasitic capacitance of the diode. If you are unfamiliar with the inner workings of semiconductors don’t worry, this background knowledge is absolutely not required to build (or even understand) this light probe.

Note: For further information on the physical background I’d recommend the white paper "Photodiode Characteristics" by UDT Sensors Inc., which you’ll find attached below.

Design: Photodiode Frontend

schematic_photodiode_fix.png

For this probe we’ll use the photocunductive configuration of the photodiode for the aforementioned reasons. To convert the current from the photodiode into a voltage that can be feed into an oscilloscope we need an trans-impedance amplifier.

A trans-impedance amplifier is in it’s most basic configuration an operation amplifier (opamp) as shown in the schematics above. To understand how it works you need to know two things about opamps:

  1. opamps change their output voltage until both voltages are equal
  2. there is (ideally) no current flowing into the inputs of the opamp

With these two assumptions, we can deduct how the output behaves: Since one input is tied to 0V, it tries to keep the other input at 0V, too. Because there is no current flowing through the input, it has to flow trough the resistor. Because the current through the resistor is known, the voltage across it can be calculated with: U = I ⋅ R. One side of the resistor is tied to 0V, so the output must match the voltage across the resistor.


Of course, real opamps have many limits such as supply voltage or speed and several "imperfections" which need to be accounted for. Therefore the final circuit I implemented requires a few additional components. I will briefly explain my reasoning behind those modifications below. For more in-depth explanations and calculation please check out Texas Instruments’ appnote TIDU535 and Linear Technologies’ application information in the datasheet of the LTC6268-10, which my design is heavily influenced by (both pdf’s are attached below).

Opamp selection:
Of course the primary goal for me was speed, so the best possible part is the LTC6268-10. At roughly 8€ a piece it is one of the most expensive parts I’ve used so far and you definitely do not want to drop it. However the part does use a common footprint, so you can use cheaper parts with a lower bandwidth like the OPA320, OPA354 or OPA355 (tweaking values of other components is needed).

Single Rail Supply:
I did plan on powering this circuit from 5V USB, ideally directly from the scope’s USB port. Therefore the signal and power ground must be identical and we have a single +5V supply rail. To get a negative rail a switch-mode regulator would be required, which usually creates a bunch of noise, which is not a great idea for a rather sensitive analog circuit. So I used an opamp with a single rail supply, which requires two changes:

  1. The output voltage of the opamp must be positive, thus the photodiode bias voltage must be negative.
  2. The output of the opamp can’t reach 0V, so an offset must be added to the other input. See TIDU535 for details.

Offset voltage:
The aforementioned offset voltage is generated with a simple voltage divider and a large capacitor to stabilize the voltage. A smaller capacitor in parallel might help to provide a better HF short, so I added it just to be safe.

Stability:
Due to the fairly high input capacitance the opamp can start to oscillate. To prevent this, a small feedback capacitor Cf must be connected in parallel to the transistor. Large values will slow down the opamp significantly, so the perfect balance must be found. The LTC6268-10 is so crazy fast, that the copper pads the resistor is soldered on provide sufficient parasitic capacitance that no external capacitor is needed. For other opamps I added a footprint for an optional capacitor.

Input Capacity:
To archive the highest speed, the input capacity must be as low as possible. For that reason the PCB layout has minimal copper around in photodiode input. It is also required that the photodiode capacity is as low as possible, which required a large bias voltage. The bias voltage generator is described in the next step.

Input Leakage:
It is possible that there is a small current flow across the surface of the PCB. This leakage would add to the reverse current of the photodiode and thus add some error to the output voltage. However, if the traces around it are at the same voltage, no current can flow and no additional error occurs. This so called "guard ring" is the gold plated trace around the input node. Since this probe is designed for large signals, this precaution might not be needed, but better be safe than sorry.

50Ω Output:
For fast signals it is important to ensure the impedance of the cable, the source and the termination are equal, otherwise reflections and ringing are possible. As a rule of thumb a meter of coaxial cable must have terminations if the maximum effective frequency is higher than 10MHz. The signal line on the PCB is designed as a coplanar wave over ground transitioning into a microstrip to connect to the SMA edge connector.

Design: Power Supply

schematic_LDO_fix.PNG
schematic_DCDC_fix.PNG

Common active oscilloscope probes have spring loaded pins next to the BNC connector which make contact with golden pads on the oscilloscope. These provide power and an optional digital control interface. Unfortunately my entry-level Rigol DS1074Z does not have gold gold pads and thus can’t provide power to any active probe. However it does have a USB port, so I figured it would be great to power this probe with 5V USB.

From this 5V supply to power rails must be created:

  1. 4V (-ish) rail with least noise possible
  2. -40V (-ish) rail to reverse bias the photodiode

Linear Supply with 4.2V:
Do not assume that 5V USB is a perfect 5V output. According to the specifications any voltage from 4.75V to 5.25V from a main host or active hub is acceptable. Additionally USB ports are often capable of fairly high currents and in order to increase efficiency and decrease heat switch-mode power supplies are used. These create sharp voltage spikes that can add noise to analog circuits and decrease their performance.

Passive filtering can improve this a bit, but linear regulators (LDOs) do a much better job. For this build I selected the SGM2019, a cheap part in a standard SOT23-5 package. Unlike some other LDOs it is also stable with ceramic capacitors, which I prefer over tantalum. It is advertised with "low output noise" and "high PSRR" so in theory it should be a perfect fit. I also happend to have a bunch of them left from older projects and didn’t want to get any other part.

LDOs are super simple to use: an input capacitor, an output capacitor and a voltage divider is all that’s needed. Just make sure that the output voltage is set lower than the input voltage minus a good margin. If the margin get too small or even lower than the dropout voltage, the regulation performance will suffer. Therefore I’ve chosen to set the voltage to 4.2V in this application.

Adjustable bias generator for up to -50V:
For maximum speed the bias voltage must be as low as possible. Ceramic capacitors are manufactured in various voltage ratings. The higher the allowed voltage, the smaller the maximum capacitance becomes for a given component size. Typical ratings are 6.3V, 10V, 16V, 25V, 50V and 100V. The chosen photodiode withstands at least -60V and therefore I decided a -50V bias voltage generator is the best choice.

To generate a voltage higher than the input voltage you always need some kind of switching power supply that introduces some noise. However I did believe that since the current draw will be always less than 100uA and efficiency is not an issue, filtering the output should be feasible.

There are very few applications that require high negative voltages, so it is unsurprisingly hard to find ICs specially designed for this. My solution is inspired by the application information of the MP1542. This part is a 24V step-up converter, but with two capacitors and two diodes it can generate a negative output voltage. It is also possible to add additional stages to decrease the output voltage even further. I applied this concept to the TPS62040, a low power step-up converter in a common SOT23-5 footprint. It has a maximum switch voltage of 28V and thus can provide up to 55V after two diode stages. The capacitors only need to be rated 25V, as the voltage is divided across both stages.

The only problem is that the feedback pin expects a positive voltage, so a simple voltage divider can’t be used. To archive correct regulation, the feedback voltage must rise whenever the output voltage decreases. In this circuit this is done with a current mirror. If the output voltage increases, the current through the high voltage resistor increases. This current is mirrored to the resistor connected to the feedback pin which converts it back into a voltage for the feedback pin.

I have to admit that this is more of a hack than a regular solution, but it worked in LTSpice so I decided to give it a shot. The simulation also showed that the output will likely be quite noisy, so I added an extra low-pass filter to the schematic. Some ICs have a "low power mode" that performs worse than the regular operation mode, so you’ll also find a dummy load resistor in a 1206 package to dissipate quite a bit of power.

Input protection:
Powering things from USB is usually safe, the voltage is fixed to 5V and you can’t accidentally swap the plus and minus connection. However during debugging I occasionally hook up things directly with some wire and it makes small mistakes a lot more likely. Especially when you push for a contest deadline and work late into the night. That’s why it’s always a good idea to add a PFET as a simple reverse voltage protection and a self-resetting fuse. The zener diode protects from voltage spikes as suggested in the datasheet of the SGM2019.

Design: Mechanic

The whole probe was supposed to look, feel and be usable like an actual probe, so the typical pen-shape was mandatory. Unlike other probes however I preferred to have a detachable wire to keep it more versatile. For analog signals SMA connectors are perfect. They are the de-facto standard an thus available in many configurations, high quality cables and BNC adaptors at very affordable prices. For power micro USB was the obvious choice for similar reasons.

However it turns out it is quite difficult to fit both connectors in the limited physical space. Ultimately I went with a stacked setup: The lower PCB contains the sensitive analog circuitry and the SMA connector, the upper PCB the noisy power supply section and the micro USB connector. This has the added benefit of an additional ground plane in between to help with the shielding.

If you happen to have a high quality lab power supply, you can ditch the power supply board and feed the correct voltages directly to the analog board. If it’s just the micro USB connector that bothers you, you can use the .1" pin header to feed 5V directly into it. This input is also covered by the reverse polarity protection.

Preparation: Tools

IMG_0243.JPG

For this project you’ll need:

  • soldering equipment
    Although 0603 parts are rather small, a standard soldering iron with a fine tip should be good enough. Personally I use:
    • TS80 soldering iron with the fine tip (TS-B02)
    • solder with lead, Sn60PB38Cu2, 0.5mm thick
    • flux, non-clean, I prefer the liquid type in a flux pen
    • antistatic brush + isopropyl alcohol to remove flux residue
    • tweezers with fine tips
    • desoldering wick, about 1mm wide
    • solder iron cleaner, dry brass/copper recommended, but wet solder sponge is ok, too
  • workshop tools
    • small vice
    • jigsaw with a metal cutting saw blade
    • sandpaper, about 400 grid
  • test equipment
    • Multimeter
      For debugging only
    • Oscilloscope
      The probe generates a fast analog signal that need to be read with an oscilloscope. If you don’t have one, this instructable probably isn’t for you.
    • 1x SMA cable
      Any standard male-to-male SMA cable will likely work. I use the probe with 1m long RG316 type.
    • 1x SMA female to BNC male adapter
      Any cheap adapter will do.
    • 1x 50Ω BNC Termination
      I use the "Cleqee P57" feed trough terminator. Although it certainly does not match the performance of professional and much more expensive parts, it will be more than enough for our application.
    • 1x micro USB cable
      You can use literally any you have. For my lab equipment and workbench I like the Hoco Silicon micro USB cables. They are highly flexible, have well fitting connectors and heat resistant (= solder iron proved).

Preparation: Materials

This project is literally just a PCB assembly, so the list of required materials is short:

  • electronic components
    You’ll file a BOM (Bill Of Materials) attached to this step. Make sure to get at least one spare part each, because mistakes happen.
  • custom PCB
    I got my PCBs from elecrow, but any other supplier should be fine to. I like elecrow because they offer shipping with PLT, a very affordable and good shipping option to Germany. The required gerber files are attached to this step. Make sure to select 0.6mm PCB thickness which is required for controlled impedance trace. Gold plating can increase the longevity of the guard trace as it prevents oxidation, but I don’t think it is absolutely required. If you want, I can send you two of my spare PCBs in exchange for the shipping cost. PM me if you’re interested.

There are two schematis attached to this step: the original and the optimized. The PCB and gerber files are for the original version, so you’ll need some hacks on the PCB. I've also included the DipTrace project files, so you can make changes to your own liking.

Build: Separate PCBs

IMG_0192m.jpg

To reduce the cost of the PCB, both parts are manufactured as one solid piece. It is a good idea to separate them before soldering any components, so if you mess up you won't have lost a bunch of parts. The center pad of the SMA connector should be flush with the edge of the PCB.

Build: Populate PCBs

IMG_0202m.jpg
IMG_0205m.jpg

If you’ve soldered SMD parts before, you’ve likely found your own favorite method already. Although imho all parts are large enough to be soldered by a beginner, it might be a food idea to practice with something simpler first.

My micro USB footprint is rather unusual as it has a large pad beneath the part. If you have a hot air sation solder this for additional mechanical stability. Pay close attention that you don’t use too much solder, otherwise you might short out the contacs.

There are a few modifications that require components which don’t have footprints on the PCB: R8, R9 and C16. Solder R9 on the pads of the removed transistor, R8 mid-air between R9 and R11 and solder C16 on top of R3.

Build: Stack PCBs

IMG_0240m.jpg

The individual PCBs are are mechanically and electrical connected trough 4 0.1" 2-pin headers. They are made to fit 1.6mm PCBs, so I've pushed the pins a bit back on my built. Solder the headers to the power supply part first and later the whole module to the other board. make sure your SMA cable fits right next to your micro USB cable. If the pins are protruding on the back, cut them off flush.

Test: Initial

DS1Z_QuickPrint1_startup.png
DS1Z_QuickPrint8_noise_background.png
DS1Z_QuickPrint11_noise_7805.png

Surprisingly all major features worked right from the start: Nothing was connected in reverse polarity. Nothing blew up. The LDO provided the 4.2V output as calculated. The DCDC converter accepted its unusual inverted double charge pump output just fine, and the output feedback didn’t cause any odd oscillation. The photodiode trans-impedance amplifier produced roughly a signal I expected.

Remember the introductory sentence? Yeah, on a closer look this build didn’t work that great either. During the schematics design I estimated the output noise to be a few mV at worst. The actual noise however was up to 400mV pp (peak-to-peak), while the main part of it was still ±40mV pp. Considering that the output signal can go up to 4V, the noise peeks were at roughly 10% of that. For strong signals, such as the flash from a camera, that might be acceptable, but small signals drown in the noise and become invisible.

All screenshots are annotated with a summary of the measurement setup. Click on the pictures to see them!

Test: General Procedure

IMG_0213m.jpg

Thankfully I prepared the circuit diagram and layout for the worst case and designed options to tweak. These can be changing component values or adding/ removing parts. The "only" problem is, that I don’t know which parts are best suited. So I spent many hours replaying one part at a time, measure the new noise performance and undo the change if it didn’t help.

The major source of noise was of course the power supply module, so I build a small testing jig which allowed me to leave the probes connected the whole time. It is also helpful to have a second unit without the most recent change to compare to. Otherwise you may think the circuit has improve while in reality you only switched off an external noise source.

All noise measurements except the very fist few have been made with 1:1 probes or with SMA connectors soldered to the test PCB to get rid of the GND clip loop area. This allows the measurement of small signals with an amplitude of less than 10mV. Unless mentioned the acquisition mode was set to normal and the intensity display level to 50%. Statistics were reset before each screenshot. Halfway through the measurements I forgot to change the label of the waveforms, but everything else on the screen should be correct.

Test: LDO Noise

DS1Z_QuickPrint4_noise_disconnected.png
DS1Z_QuickPrint3_noise_power_off.png
DS1Z_QuickPrint6_noise_power_on.png
DS1Z_QuickPrint7_feedback_100nF_lowside.png
DS1Z_QuickPrint8_feedback_100nF_highside.png
DS1Z_QuickPrint10_noise_after_20min_BW.png
DS1Z_QuickPrint6_LDO_noise_DCDC_on_50_intens_MCP1754T.png

Very surprisingly to me the output of the LDO had about 750µV RMS noise, although it is specified with only 30µV RMS with a very similar test setup - 25 times less! But why?

Some noise is added by the scope and setup, so let’s measure it first. For all measurements, the DCDC converter IC was removed to eliminate this additional noise source. The yellow line is the tested module, the pink line the comparison. I’ve no idea why it’s slightly better, but the difference seems to be consistent, so I’ll ignore that for now.

  1. Scope noise: 429µV RMS
    This is the noise floor of the DS1074, you can’t measure any signals below this.
  2. LDO powered off: 598µV RMS
    The whole setup can act like an antenna and capture ambient noise. With the power turned off, the LDO can’t contribute any additional noise.
  3. LDO powered on: 743µV RMS
    Compared to the previous measurement the actual noise generated by the LDO is 145µV (if you can add/ subtract RMS noise like that, which I’m not sure about). However the waveform has also become a lot more "spiky" and unpredictable, both are things I don’t want on an analog supply rail.

So, how could one reduce this? I thought adding low value ceramic capacitors to the input and output might help, but the result remains indistinguishable (so I didn’t make any screen caps). However adding a 100nF in parallel to either feedback resistor has a significant impact:

  1. 100nF parallel to low side resistor: oscillation
    As you see, adding a 100nF capacitor on the low side causes the LDO to oscillate. Note the scale 500mV per division instead of the 1mV as before. It is so strong, that it even couples into the second channel. This is the opposite of what we want.
  2. 100nF parallel to high side resistor: 671µV RMS
    On the high side the very same capacitor reduces the output noise and the waveform looks much better now. If I understand correctly, this is because some of the internal high frequency amplifier noise is now shorted out. This capacitor is called forwarder capacitor, just in case you want to do your own research on this.

I also tested weather the module has any kind of "warm-up" period, but anything after the first minute or so does not have any measurable impact. I also realized that the noise measurement in the datasheet was limited to 100kHz, but I was measuring with 100MHz. Limiting it to 20MHz brings us an additional improvement but of course doesn’t improve the circuit at all.

You may have noticed that the output noise has an unusual slow noise component in it which changes in the order of milliseconds. This is somehow caused by the LDO itself and I’m not sure whether it is intended or whether my seller on aliexpress has sold me a faulty component. I don’t have any other pin compatible part, but I was able to test a MCP1754T with a fixed output voltage of 3.3V.

Test: Power Supply Noise

IMG_0210m.jpg
DS1Z_QuickPrint11_supply_lab.png
DS1Z_QuickPrint12_supply_USB_anker.png
DS1Z_QuickPrint13_supply_scope.png
DS1Z_QuickPrint16_supply_lab_+1000uF+100uF.png
DS1Z_QuickPrint17_supply_lab_100Hz_ripple.png
DS1Z_QuickPrint18_supply_lab_7805.png

In hindsight its probably best to test the LDOs input before trying to optimize the LDO circuit part, but I didn’t so let’s do that now.

At first I have tested three different power supplies:

  1. The HY1502D, a very cheap linear lab power supply
  2. The Anker A2013, a high quality USB Quick Charge 3.0 power supply
  3. The USB port of the scope as the power supply

I expected a lot of noise for the Anker supply at it has to be a switch-mode power supply in order to provide the high output currents. The port of the scope is a lot better, but I guess it is still powered from a DCDC converter. The lab power supply was surprising: It is designed fully linear so the noise should be way less than the scope can measure. I tried adding high quality electrolytic capacitors with 100µF and 1000µF, but the improvement was small.

If you zoom into the signal, you’ll find a bunch of peeks repeating at 100Hz, very typical mains related noise. It’s likely that the capacitors in the lab power supply are crap. Instead of fixing it, I quickly assembled a 7805 regulator with high quality caps and additional 100nF ceramic caps. It got rid of all of the noise with ease. This power source is used for most of the upcoming measurements.

Test: Bias Generator Noise

DS1Z_QuickPrint3_feedback_supply_usb.png
DS1Z_QuickPrint2_noise_FB_10nF_across_CE.png
DS1Z_QuickPrint4_noise_before&after_LP.png
DS1Z_QuickPrint7_filter_1k_50ms.png
DS1Z_QuickPrint2_filter_10k_50ms.png
DS1Z_QuickPrint3_LDO_noise_DCDC_on_50_intens.png
DS1Z_QuickPrint4_LDO_noise_DCDC_on_50_intens_A.png
DS1Z_QuickPrint5_LDO_noise_DCDC_on_50_intens_B.png

The bias generator is a lot more noisy than the LDO simply because it requires use of a switch-mode power supply. Electronic switches such as mosfets and diodes don’t turn off immediately but with a few ps to ns delay. So, for a brief moment there is an unintentional current pulse that creates the slim peak you see on the scope. Good layout is essential to limit this. In your own designed make sure to keep the loop area of the highlighted current paths as small as reasonably possible.

In the first measurement there was roughly 50mV pp noise on one module and roughly 40mV pp on the other. Both modules were identically build at this point and the difference even remained if the modules are swapped, so I don’t know whats the reason for this difference.

Compared to the LDO our output current is very small (100uA max.) and the application is quite tolerant to load related supply voltage drift. This allows the use of an RC output filter to remove high frequency noise components.

The DCDC converter and LDO are not completely independent from each other, so I also measured the noise of the LDO with the DCDC enabled. There seems to be a lot of radiated noise as the second module couples noise into the first and vice versa.

I’ve tried many tweaks, so I’ll just summarize them with bullet points . Applied tweaks in the final version are marked with a ✔. I've only uploaded some of the more interesting measurements; if you have a specific question, just ask in the comment section.

  • fix things
    • ✔ missing solder joint
      ⇒ reduced output noise (-10% pp). Quite late in the testing progress I noticed I forgot one solder joint on the input capacitor. Fixing this shows that indeed the capacitor is needed.
    • ✔ clean PCB
      ⇒ no major improvements, but it seems temperature has decreased
  • optimize feedback loop
    • ✔ replaced transistor in feedback loop with 4.7k resistor
      This transistor protects the power rail from carrying a positive voltage which could destroy the photodiode. However it adds an additional temperature sensitivity which I did not think about during design. A 4.7k identical to the feedback resistor fixes this.
    • feedback network supplied from VUSB instead of VCC
      ⇒ worse noise (+15% pp, +25% RMS), even with additional 100nF decouppeling capacitor
    • add 10nF capacitor at various positions in feedback network (like the forwarder capacitor for the LDO)
      ⇒ no improvement, significantly higher noise (+150%) or even oscillation, depending on position of capacitor
    • add 10uH chip inductor in series with 4.7k
      ⇒ no improvement. I reasoned that since I can’t add the recommended forwarder capacitor in parallel, a inductor in series might have the same effect, but it didn’t.
    • ✔ replace trimmer with fixed value resistor
      ⇒ slightly reduced noise. The trimmer has internally a metal trace with a rotatable wiper contact. The trace adds an additional loop and I reason this picks up noise from the inductor.
    • lower feedback resistor values by 10x
      ⇒ strongly increased temperature sensitivity. The resistors heat up 10x more and experience a temperature drift. If you gently blow over them, the output voltage drifts back into the other direction. It’s so sensitive that you can be more than 1m away, which is unacceptable.
    • increase feedback resistor values by 10x
      ⇒ DCDC converter died instantly because the switching transistor shorted through to ground. This was likely caused by an over voltage at the switching pin because the feedback response time was now too slow.
  • optimize component values
    • higher inductor value: 10uH → 22uH
      ⇒ no effect on output noise (feel free to use a 22uH inductor if you don’t have a 10uH)
    • ✔ lower charge pump fly capacitors: 1uF → 100nF
      ⇒ no effect on output noise, but these are cheaper and rated 50V instead of 25V and thus more reliable
    • ✔ additional 4.7uH at the output
      ⇒ slightly reduced output noise (-5% pp, -8% RMS)
  • output filter
    • replace 100Ω → 10uH
      ⇒ much worse noise (+30% pp, 50% RMS)
    • replace 100Ω → 100Ω + 10uH (series) ⇒ no change
    • replace 100Ω → 100Ω + 100R ferrite bead (series) ⇒ no change
    • ✔ replace 100Ω → 1kΩ
      ⇒ significantly less noise (-40% pp, -40% RMS)
    • replace 100Ω → 10kΩ
      ⇒ reduces noise again (-60% pp, -65% RMS), but the effect is not visible on the noise of the signal output. There might be a very slim improvement if you inspect a real signal, but I think that can be ignored.

Test: Bandwidth

DS1Z_QuickPrint2_fall_time_pulse_MSO18.png
DS1Z_QuickPrint14_arduino_fall.png
DS1Z_QuickPrint15_arduino_rise.png
DS1Z_QuickPrint11_toslink_fall.png
DS1Z_QuickPrint10_toslink_rise.png

In electronics the speed of analog circuits are often specified with their bandwidth. The maximum possible bandwidth is usually defined as the frequency, at which the output signal is -3dB less than the value at lower frequencies. This can be measured with NetWork Analysers, or NWAs for short, which generate a frequency sweep and measure the signal power after the circuit. Like most professional measurement equipment these are expensive, comparable to the cost of a new car, so I don’t have one to play around with.

Fortunately one does not have to measure the bandwidth if an approximation is okey. For the approximation formula we need the rise time (or fall time) of the signal:

  fBW ≈ 0.35 / trise

This can be measured with an oscilloscope but requires a fast signal generator. In our case a fast light signal generator is needed. I tried several setups:

MSO-19 v2 Pattern Generator + LED:
In one contest I won a MSO-19 multi-purpose PC oscilloscope + logic analyser. Both of these function are not that great, especially compared to my Rigol DS1074Z, so I never used it much. It turns out it can be also configured as a digital signal generator which is super helpful for us. I wired the 5V logic output directly to a red LED. Note that we leave away the resistor to archive maximum brightness and the pulse is so short, that this won’t damage anything.

Arduino Output + LED:
Generally the outputs of the AVR8 based Arduinos are the most powerful among microcontrollers and well suited to drive LEDs directly. I’ve written a very short program to output a 1-tick long pulse every millisecond and connected that IO directly to a red LED.

Toslink Signal:
Toslink is an optical cable standard for data rates up to 20Mbit/s. Typically it is used for audio signals and my monitor happens to have an always-on output. Because the signal is digital, the rising and falling edges should be usable for the calculation.

In practise none of the setups is perfect: The generated signals are not significantly faster so any slow rising or falling edge might be related to the generator and not the probe. I have no way of verifying my results, but I think 50Mhz is a realistic guess. According to the formula given the the LTC6268-10 datasheet and the selected component values, the bandwidth should be around 100MHz or so.

Usage: Setup

The probe is straightforward to connect:

  1. Connect the SMA cable to the probe
  2. Connect the micro USB cable to the probe
  3. Connect the SMA cable to the scope with an SMA to BNC adapter
  4. Set the scope to 50Ω inputs or connect 50Ω termination resistors and select 1:2 probe in the scope
  5. Connect the probe to power

Usage: Example Halogen Light

DS1Z_QuickPrint16_background.png
DS1Z_QuickPrint17_background+light.png

To start of simple you can try measuring a normal lamp with a halogen light. You'll see a sinewave with some offset. The sinewave hase a frequency of exactly 100Hz because it is powered directly from the 50Hz mains. If you substract the 100mV dark offset, the minimum value is 600mV and the maximum 800mV which is equvilant to 25% flicker

Usage: Example Camera Flash

DS1Z_QuickPrint23_ixus_flash.png
DS1Z_QuickPrint24_ixus_flash_zoom1.png
DS1Z_QuickPrint25_ixus_flash_zoom2.png
DS1Z_QuickPrint26_eos_flash.png
DS1Z_QuickPrint27_eos_flash_zoom1.png
DS1Z_QuickPrint28_eos_flash_zoom2.png
DS1Z_QuickPrint18_eos_preflash3.png
DS1Z_QuickPrint19_eos_preflash3_zoom.png
DS1Z_QuickPrint20_eos_preflash8.png

Not all flashes are made equal, but that can't be seen with bare eyes. As a simple test I've measured the flash of my old Canon Ixus 75 and my new Canon 250D.

The Ixus has two pulses of light, the first presumably to help with "red-eye-reduction" and the second to illuminate the scene. Compared the to flash of the 250D shot at the same distance to the probe, the light pulses are a lot shorter and weaker, but the general shape remains. In addition the 250D uses the flash to aid the autofocus with 3 to 8 brief pulses, depending on the ampient light levels.

Usage: Example Toslink

DS1Z_QuickPrint2_toslink.png
DS1Z_QuickPrint3_toslink_zoom.png

The light levels used for toslink are fairly low, so the measures signal is low as well. Due to the noise issue precise measurements are not possible, but you can see the waveform nonetheless. Take a close look at the time scale: Each pulse is less than 200ns long!

Usage: Explore Further

DS1Z_QuickPrint4_redmi4x_flashlight_off.png

For a basic "does it work"-test at the very beginning I used the flashligh of my phone as the light source. I was surprised that the start and stop is not instant, but instead the brightness is adjusted in discrete steps. I find it quite fascinating to discover the hidden technology within products, even if they're just tiny like this. If you've found something new or interesting, please share it with us!

Wrapping Up

What started as a little "quick" idea ended taking up wayyyy longer than I anticipated, but depite the flaws I think the result was worth all the efforts. Especially for large signals this probe is well suited and faster than any other DIY probe to date.

The Mark 1 or "MK I" in the title indicates already that there is still a lot of potential left. First and foremost the power supply must be designed to be less noisy, which would make the probe useable down into the mV range. Second I’d like to have a low noise dual rail supply to get rid of the annoying "dark offset" or at least to reduce it to millivolt or so. If I need it, I’ll come back to it :)


You might have already notice that this instructable is entered into the "Sensors Contest". If you think this is a good fit and would like to see more instructables like this, please leave a vote. I appreciate it, Thanks!