OLED screen usage

The CurrentRanger has an I2C header where a small SSD1306 based 128×64 OLED can be plugged in. This header has this order of pins (left to right): [GND, 3.3V, SCL, SDA]. During power-ON if a screen is detected at I2C address 0x3C (typical of most small 128×64 OLEDs) the unit will periodically refresh the screen with data:

    • battery reading (actual voltage, “LoBat” if <3.4V)
    • output voltage reading – this is done by the SAMD21 12bit ADC, with usable accuracy via oversampling
    • output range (nA, µA, mA) – this is also always visible on the LED range indicators
    • any other useful information can be added in open sourced code
The OLED readings are sampled through the SAMD21 MCU’s 12bit ADC and are reasonably good for on-the-go or getting a ball-park idea what the load is doing. Do not expect the same high accuracy readings with the OLED, as by measuring from the output terminals with a true RMS DMM.
Expect some extra high frequency noise at the output when the OLED is attached, seen at the OLED refresh intervals (100ms default). This will be more visible on a scope, not on a RMS DMM. This is because the ADC (SAR architecture) sampling cycles can couple some noise into the output lines of the opamps. This should be minimal if the LPF is turned ON.

Here’s a sample capture of a 58Ω resistive load from a 2xAA battery pack, the OLED is attached, the LPF and AUTORANGING are both ON:

Caution: OLEDs are fragile!

Use caution when handling these OLED displays. They are fragile especially in the corners where the glass is unsupported and if the glass breaks, the OLED will most likely stop working.

The small OLEDs are sourced from China (unfortunately) – they are the most affordable generic solution. However they are not top quality. Each is tested to ensure it has a bright image. Sometimes a weak image is also caused by a weak connection on the flex ribbon. Sometimes a weak connection can become loose later rendering a weak image or disabling the OLED completely. Several OLEDs are found like this during testing. Please always use the OLED case with the OLEDs, this is to ensure you cannot plug in the OLED incorrectly and damage it that way, and it also protects the glass.

Here is what a weak connection or broken ribbon can look like, if your OLED is somehow not working please check this ribbon first with a magnifier, if you find such a broken or weak connection you can add some liquid flux and touch the connections with a soldering iron:

Proper OLED install

You should first ensure the OLED pins are not bent, if they are, gently bend them to perpendicular position against a straight surface, without touching the glass. Breaking the OLED glass will render it useless!

Insert the OLED gently and wiggle it into position until it’s seated with the glass screen flat. Then insert the provided bracket to secure it into position. To remove it you have to first pull the bracket and the OLED should come out, but it may require pushing on the OLED glass to loosen it from the case.

3D printed OLED case

The OLED enclosure can be found in the official Github repository and also here. Depending on what OLED you have you may need to slightly scale the model to make it fit.