Winstar OLED Brightness Control - Version 2 - now using LCD Contrast pin - AXE133


Senior Member
There is now an easier way to add an adjustable brightness control (old way) to Winstar OLEDs as supplied by Rev-Ed as part of the AXE133 and AXE134. This method allows the brightness to be controlled by adjusting the voltage on pin 3 of the 14-pin connector like adjusting the contrast on HD44780-compatible LCDs, and is also compatible with the PICAXE PWM signal.

To convert an OLED for adjustable brightness, all you have to do is move the 0Ω resistor from JV to JVO on the OLED PCB which connects the internal brightness control signal (VO) to pin 3. The display is at its brightest when VO = 0V and dims as the voltage is increased.

When the JV jumper is shorted, the internal brightness control signal is permanently connected to 0V so the OLED is always at its brightest. The JV jumper must be opened when closing the JVO jumper, otherwise the voltage you connect to pin 3 will be shorted to ground, hence the suggestion of moving the 0Ω resistor.

Jumper Locations

The images below show the location of the applicable jumpers on the 16x2 (WEH001602ELPP5N00002) and 20x4 OLEDs supplied by Rev-Ed. Click the images to view bigger size.

WEH001602E 16x2 OLED

Overview of rear

Jumper change (picture shows 0Ω resistor in new location)

WEH002004A 20x4 OLED

Overview of rear

Jumper change (picture shows 0Ω resistor in old location)

WEH001602B 16x2 OLED

Overview of rear

Jumper change (picture shows 0Ω resistor in old location)

Brightness vs Voltage

Like LCDs and their contrast controls, the usable brightness range is covered by only a small portion of the Vss to Vdd input range on pin 3 (V0) and it changes according to voltage, but unlike LCDs these can be used with a 3V power supply with no external booster required (do not attempt to use a negative voltage generator with the OLEDs).

All three OLEDs tested have the characteristic of a reasonable minimum brightness setting on a 5V supply and a minimum brightness of almost off (with only some pixels lit very dimly and others off) on a 3V supply. Unstable above x.xV means that the brightness of the display rapidly changes on a line-by-line basis when VO (pin 3) is above that voltage. Remember higher VO voltage means dimmer display.

ModelDescriptionVO range (brightest to dimmest) with 5V supplyVO range (brightest to dimmest) with 3V supply
WEH001602E16x2 Yellow0.0V to 1.0V0.0V to 1.2V, unstable above 0.8V
WEH002004A20x4 Yellow0.3V to 1.0V0.5V to 1.1V, unstable above 0.8V
WEH001602BLarge 16x2 Yellow0.0V to 0.9V0.0V to 1.0V, unstable above 0.6V

PICAXE Control

The PWM feature of the PICAXE (using the pwmout command on a pin which is connected to VO, OLED pin 3) can be used to control the brightness. Changing the duty cycle changes the brightness with increased duty cycle equaling dimmer display just like changing the voltage.

Testing with an oscilloscope on the power rails showed that PWM brightness control does not introduce more noise than the OLED on its own at maximum brightness, and in fact reducing the brightness (either using PWM or a potentiometer) reduces the noise. I only tested it using a period of 63 (allowing one byte to cover the full range of duty values) on a PICAXE-08M which is a frequency of approx. 16kHz.

Power consumption of the OLED is reduced considerably when the brightness is reduced.

AXE133 and AXE134

On the PICAXE-18M2 all the PWM pins are on portB which is used by the OLED data bus, however the DAC pin (C.2) is not used (unless you're using an LCD with backlight instead), and as the current draw of pin 3 of the OLED is very small, you can use the DAC to give you a few levels of brightness control. All that needs to be done for the AXE133 PCB to work with an OLED enabled for brightness control (as above) is the addition of a single wire as shown in the picture below (don't fit the potentiometer).

Alternatively, a potentiometer can be fitted like when using an LCD instead of using the DAC if a manual control is desired.


Thanks to Scott Edwards for saying how his serial OLED with brightness control worked on his serial board, without which I wouldn't have investigated how the OLED PCB was modified to allow this.


In my applications for this (AXE133Y) display, it was sufficient to be able to change the display brightness from full to dim.

To that end, using the commands 254,23 and 254, 19 respectively seem to implement this behavior.

Your thoughts?


Senior Member
mhalbern;bt1925 said:
In my applications for this (AXE133Y) display, it was sufficient to be able to change the display brightness from full to dim.

To that end, using the commands 254,23 and 254, 19 respectively seem to implement this behavior.

Your thoughts?
If you only want two brightness levels then that is fine, and has the advantage of not requiring any hardware modifications. However, it does not save any power (an AXE133 using adjustable backlight on minimum or internal power off consumes 8.14mA including PICAXE-18M2 in both modes), and does not work with a 3.3V supply.

The hardware modification is only really needed if an adjustable backlight is needed.

How our methods work

Pin 3 is connected to the bottom of the lower resistor in the feedback potential divider for the boost converter. Increasing the voltage on pin 3 (my method) will raise the feedback voltage, causing the boost converter to reduce its output voltage (as the boost converter aims to get a feedback voltage of 1.3V). This low feedback reference voltage is why the 'dimmest' voltages in my blog entry are rather low. If the voltage on pin 3 exceeds 1.3V, the boost converter will be shut off completely.

With your method, the boost converter is shut off directly. The end result is the same.

In many boost converter designs (including the one on the Winstar OLEDs), there is an inductor with one terminal connected to the input supply (from pin 2), then the other terminal is connected to a transistor and the anode of a diode. When the boost converter is enabled, the transistor is switched on and off rapidly, which causes the inductor to generate high voltage spikes. The diode then charges up a capacitor connected to its cathode with this high voltage. The feedback potential divider and internal comparator is used to decide on the duty cycle and/or frequency to turn the transistor on and off to get the desired voltage. Now if the transistor isn't being switched on and off, the inductor passes the supply voltage (from pin 2) to the diode and the capacitor gets charged with the supply voltage minus the diode forward voltage. A 5V supply is enough to light the display dimly, whilst 3.3V isn't adequate, which is why the dim display doesn't work on 3.3V, but works on a 5V supply.

Note that both methods can be combined if you want (e.g.) a potentiometer for 'bright' brightness control plus a software 'dim' mode.