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
![](https://lh3.googleusercontent.com/-UVIJJhWnyTI/VVMs-Qqg0tI/AAAAAAAABI4/p89uv-GmtJk/s256/winstar%252520oled%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in new location)
![](https://lh3.googleusercontent.com/-WlXGSXvgJsw/VVMs_9-dOjI/AAAAAAAABJA/7XiHZUAf4Wc/s256/winstar%252520oled%252520brightness%252520mod%2525202.jpg)
WEH002004A 20x4 OLED
Overview of rear
![](https://lh3.googleusercontent.com/-awAWy8fh5Bg/VVMs8gGBosI/AAAAAAAABIw/J-fe1G5WBPQ/s256/winstar%252520oled%25252020x4%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in old location)
![](https://lh3.googleusercontent.com/-21WNcCDz4L0/VVMs4XpUtWI/AAAAAAAABIo/p2fmuPtX9kI/s256/winstar%252520oled%25252020x4%252520brightness%252520mod%2525202.jpg)
WEH001602B 16x2 OLED
Overview of rear
![](https://lh3.googleusercontent.com/-DLtEkxNEZVk/VVNaWcJ9V_I/AAAAAAAABJc/gn7FNIu9Tu8/s256/winstar%252520large%252520oled%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in old location)
![](https://lh3.googleusercontent.com/-n-u_KMiJ5I4/VVNaToYgXPI/AAAAAAAABJU/qeXU2fnYRak/s256/winstar%252520large%252520oled%252520brightness%252520mod%2525202.jpg)
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.
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).
![](https://lh3.googleusercontent.com/-UjlkQsu5wMc/VgV_dVHH9NI/AAAAAAAABK4/BWOasJZBwX0/s256-Ic42/axe132-brightness.jpg)
Alternatively, a potentiometer can be fitted like when using an LCD instead of using the DAC if a manual control is desired.
Credit
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.
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
![](https://lh3.googleusercontent.com/-UVIJJhWnyTI/VVMs-Qqg0tI/AAAAAAAABI4/p89uv-GmtJk/s256/winstar%252520oled%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in new location)
![](https://lh3.googleusercontent.com/-WlXGSXvgJsw/VVMs_9-dOjI/AAAAAAAABJA/7XiHZUAf4Wc/s256/winstar%252520oled%252520brightness%252520mod%2525202.jpg)
WEH002004A 20x4 OLED
Overview of rear
![](https://lh3.googleusercontent.com/-awAWy8fh5Bg/VVMs8gGBosI/AAAAAAAABIw/J-fe1G5WBPQ/s256/winstar%252520oled%25252020x4%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in old location)
![](https://lh3.googleusercontent.com/-21WNcCDz4L0/VVMs4XpUtWI/AAAAAAAABIo/p2fmuPtX9kI/s256/winstar%252520oled%25252020x4%252520brightness%252520mod%2525202.jpg)
WEH001602B 16x2 OLED
Overview of rear
![](https://lh3.googleusercontent.com/-DLtEkxNEZVk/VVNaWcJ9V_I/AAAAAAAABJc/gn7FNIu9Tu8/s256/winstar%252520large%252520oled%252520brightness%252520mod%2525201.jpg)
Jumper change (picture shows 0Ω resistor in old location)
![](https://lh3.googleusercontent.com/-n-u_KMiJ5I4/VVNaToYgXPI/AAAAAAAABJU/qeXU2fnYRak/s256/winstar%252520large%252520oled%252520brightness%252520mod%2525202.jpg)
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.
Model | Description | VO range (brightest to dimmest) with 5V supply | VO range (brightest to dimmest) with 3V supply |
WEH001602E | 16x2 Yellow | 0.0V to 1.0V | 0.0V to 1.2V, unstable above 0.8V |
WEH002004A | 20x4 Yellow | 0.3V to 1.0V | 0.5V to 1.1V, unstable above 0.8V |
WEH001602B | Large 16x2 Yellow | 0.0V to 0.9V | 0.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).
![](https://lh3.googleusercontent.com/-UjlkQsu5wMc/VgV_dVHH9NI/AAAAAAAABK4/BWOasJZBwX0/s256-Ic42/axe132-brightness.jpg)
Alternatively, a potentiometer can be fitted like when using an LCD instead of using the DAC if a manual control is desired.
Credit
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.