Selecting correct base resistor, collector resistor and capacitor for BJT switch circuit 12v to create handmade multiplex LCD pixel circuit

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
Hi everyone,

I have been researching this topic for the last seven months without success and this is the first time I have posted on a forum asking for help. I have no training in electronics. I work as a sculptor and have started integrating "simple" (although, not for me) electronics into my work. I would really appreciate some guidance on the problem below because I have reached a point where I can't seem to progress. Please let me know if any necessary information is missing to answer my questions and I will provide it as best I can.

What I am trying to do:
  1. I am creating an electronic circuit that replicates the active matrix multiplex circuits used to control pixels in liquid crystal displays (LCDs). See image 1. For clarity, this is not a matrix made with addressable LEDs.
  2. I have got the circuit to work using the Arduino 5V output to drive the collector and based on the BJTs but I would like to increase the voltage through the collector to 12volts and add a capacitor in parallel with every liquid crystal pixel to sustain the charge for a calculated amount of time. See image 2 for the current circuit that works.
  3. The Arduino opens and closes the BJT switches by using timed pulses to the bases and collectors of the BJTs. When the two pulses are timed to coincide, the pixel "extinguishes" to create a black glass surface. When the pulses do not coincided, the pixels remain transparent. See image 3 and 4.
  4. I would like the circuit to consist of a 12v 2amps AC/DC switching adaptor to the emitters, an Arduino Uno with 5v outputs to the bases, 2N2222 NPN transistors in parallel each driving a single LC pixel, 100kohms base resistor, 10kohms collector resistor and 10ohms ballast resistor on the emitter. See image 5 for the diagram of the desired circuit.
  5. I have created these circuits on solid breadboards so I could solder the components. Standard breadboard are too unreliable for me to know whether the problems stem from bad connections or not.

Drawings/photos:
Image 1: A diagram illustrating how the multiplex circuit works in liquid crystal displays, showing MOSFETS not BJTs. I have selected BJTs because I would like to vary the voltages in the future.
Image 1.jpg
Image 2: Circuit diagram showing the values that work with 5volts only.
Image 2.jpeg
Image 3 and 4: How the liquid crystal pixels change in response to an electric field. Translucent = no electric field.
Image 4.jpgImage 3.jpg
Image 5: Circuit diagram showing desired voltages and capacitor placement without resistor values because they are unknown.
Image 5.jpeg

What my problem is:
I have been unable to calculate the correct number of Ohms for the base and collector resistors for 12volts at the collector. I have used online calculators and my own maths to try and work this out but no matter what I do, the resistors remain saturated with 12 volts at the collector even when the base is unconnected.
Furthermore, I have had significant problems measuring the amps at the collector and at the base. This maybe because I don't have a typical load that draws the current and I always get different values. Most recently when I use an amp meter in series as part of the circuit, I got 0.02A at the collector and at 0.72A base when using a circuit constructed with the 12v power source, 5v Arduino, BJT, amp meter and LC pixel. However, it appears that this value does not help me choose the correct resistors because the BJTs always remain saturated.
Finally, I have not been unable to include a capacitor in parallel with the pixel that holds the charge long enough for the pixels to remain black. I would like to add a capacitor that "holds" the charge for 5 seconds or so.

What I would like to know:
  1. What resistor values should I use for the base resistor and collector resistor for 12v, 0.02A at the collector and 5v, 0.72A at the base? I understand from these measurements that fewer amps at the collector may be causing the problem but I am unsure that these values are correct.
  2. Why doesn't the capacitor in parallel with the lc pixel work and what can I do to make it hold the charge for 5 seconds or so?
  3. Any other advice about errors I am making without knowing would be extremely valuable.

Thank you for your time and help - I really appreciate it!

Best wishes,

Louise
 

MrChips

Joined Oct 2, 2009
34,628
Welcome to AAC !

LCDs, by their nature, do no require a lot of current, less than 1 μA. But they do require alternating voltages.
This is sometimes implemented with a voltage on the back-plane. The pixel voltage is either in-phase or out-of-phase with the back-plane.

I see no advantage in using BJT vs FET.

There is no capacitor required. The capacitor shown in Fig. 7 simply represents the capacitance of the LCD pixel. This will affect the frequency response of the pixel.

A series resistance or 100 kΩ would supply a current of 120 μA @ 12 V which is ample. (But there is almost no DC current flowing since the LCD behaves like a capacitor.)
A base resistance of 100 kΩ should also work. However, too high resistance will make the response time longer.

Again, note that you need to implement the phase reversal across the pixel.
 

sghioto

Joined Dec 31, 2017
8,633
Several issues in figure 5.
In order to switch 12 volts to the LC drivers will require using a level shifter when using the 5 volt output from the Arduino.
If the circuit in Fig 2 works at 5 volts then I see no need to change the resistor values at 12 volts. However the 10 ohm emitter resistors can be eliminated.
Those current readings are highly suspicious especially .72 amps through the Base! If that was true the transistor would be destroyed.


1754412964432.png
 
Last edited:

Irving

Joined Jan 30, 2016
4,996
You can't switch a 12v signal to the emitter of an NPN transistor with a 5v drive from an Arduino. For the transistor to be ON the base must be ~0.6v above the emitter voltage. You need to use a PNP transistor or PMOS MOSFET together with the NPN, depending on the current requirement...

@sghioto got there first!
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
Welcome to AAC !

LCDs, by their nature, do no require a lot of current, less than 1 μA. But they do require alternating voltages.
This is sometimes implemented with a voltage on the back-plane. The pixel voltage is either in-phase or out-of-phase with the back-plane.

I see no advantage in using BJT vs FET.

There is no capacitor required. The capacitor shown in Fig. 7 simply represents the capacitance of the LCD pixel. This will affect the frequency response of the pixel.

A series resistance or 100 kΩ would supply a current of 120 μA @ 12 V which is ample. (But there is almost no DC current flowing since the LCD behaves like a capacitor.)
A base resistance of 100 kΩ should also work. However, too high resistance will make the response time longer.

Again, note that you need to implement the phase reversal across the pixel.
Thank you for the welcome! I was not aware of the need for alternating voltages for LCDs nor the concept of phase reversal. Although my skills might not be able to do this yet, it is useful for my general understanding and wider research. Also, I had read about the lc cells being capacitors but then other sources saying this wasn’t correct, so I’m glad to have my original understanding recorrected!
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
Several issues in figure 5.
In order to switch 12 volts to the LC drivers will require using a level shifter when using the 5 volt output from the Arduino.
If the circuit in Fig 2 works at 5 volts then I see no need to change the resistor values at 12 volts. However the 10 ohm emitter resistors can be eliminated.
Those current readings are highly suspicious especially .72 amps through the Base! If that was true the transistor would be destroyed.


View attachment 353671
thank you for the additions to my diagram, much appreciated. Do your additions show how the level shifter might work (With the 2N3906 PNP transistor)? I have not come across it before.

my reason for increasing the voltage to 12volts is that the pixels are completely extinguished at 12v whereas at 5v they are greyish. I am looking to achieve this complete black.

and yes, the ballast resistors. They are the only method I have found to keep the resistors in time when connected in a parallel circuit. Without them the resistors do not behave!
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
You can't switch a 12v signal to the emitter of an NPN transistor with a 5v drive from an Arduino. For the transistor to be ON the base must be ~0.6v above the emitter voltage. You need to use a PNP transistor or PMOS MOSFET together with the NPN, depending on the current requirement...

@sghioto got there first!
Thank you! It’s good to know it can’t be done because it was beginning to feel that way but I didn’t know if I was just “doing it wrong” or if it’s impossible! I should have asked earlier.
Please could you elaborate on why I would need a PNP resistor and how it might work? Might this be the 2N3906 arrangement suggested by another user? Many thanks!
 

MrChips

Joined Oct 2, 2009
34,628
We don't know anything about your actual liquid crystal. It would help if you can provide more information.
Basically, both sides have to be actively driven. Here is an example of how a single cell ought to be driven in theory.

LCD signals.jpg

The circuit diagram shows an XOR gate. You should be able to test your system with TTL 74LS86, CMOS CD4070, 74HC86, 74HCT86, running on 5 VDC.
If you want to drive the crystal directly from the Arduino, just do the phase reversal in software.
 

sghioto

Joined Dec 31, 2017
8,633
thank you for the additions to my diagram, much appreciated. Do your additions show how the level shifter might work (With the 2N3906 PNP transistor)? I have not come across it before.
Basically the 5 volts from the Arduino turns ON the 2N2222 which turns ON the 2N3906 by pulling the 10K base resistor to ground potential.
I would suggest making the changes I showed and see how it works without the caps.
Figure out later how to add the delay.
 
Last edited:

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
Basically the 5 volts from the Arduino turns ON the 2N2222 which turns ON the 2N3906 by pulling the 10K base resistor to ground potential.
I would suggest making the changes I showed and see how it works without the caps.
Figure out later how to add the delay.
Perfect! Thank you for the additional information. I am going to try the new circuit now and will see how it works.
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
We don't know anything about your actual liquid crystal. It would help if you can provide more information.
Basically, both sides have to be actively driven. Here is an example of how a single cell ought to be driven in theory.

View attachment 353706

The circuit diagram shows an XOR gate. You should be able to test your system with TTL 74LS86, CMOS CD4070, 74HC86, 74HCT86, running on 5 VDC.
If you want to drive the crystal directly from the Arduino, just do the phase reversal in software.
Thank you for the additional information, its appreciated. There are many things I didn't know before in this response. Such as the fact both faces need to be driven.
I still have a huge amount to learn about how these devices work and I think that the electronics might be out of my ability level for now, but I would like to clarify the following things if I may to assist the research:
  1. Do the labels on the diagram say, "A - output of astable multivibrator", "C - 180degree phase shifter", "D-Display waveform ..... to common plane"? Sorry, the diagram is a bit blurry.
  2. What are the common plans and the segment planes?
  3. Briefly, how does the combination of waveforms (A-D) result in the pixel being on or off?

For clarity the liquid crystals I have made comprise cross polarizers positioned on the external faces of two ITO coated glass slides. The glass slides are coated with Nylon 6,6 then brushed with velvet to create the alignment layers (also crossed). Internally, there are 5CB liquid crystals and mylar or spacers to create the required separation. It is this arrangement (which you will know):
Screenshot 2025-08-06 122319.png

This is a sculpture I made before using the pixels. Now I would like to start animating each pixel individually, hence the multiplex arrangement.

Screenshot 2025-08-06 123052.png
Many thanks for the assistance!
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
Several issues in figure 5.
In order to switch 12 volts to the LC drivers will require using a level shifter when using the 5 volt output from the Arduino.
If the circuit in Fig 2 works at 5 volts then I see no need to change the resistor values at 12 volts. However the 10 ohm emitter resistors can be eliminated.
Those current readings are highly suspicious especially .72 amps through the Base! If that was true the transistor would be destroyed.


View attachment 353671

Hi Sghioto,

Thanks again for your circuit recommendation. I constructed it today and it partly works. The issue I have is that the circuit does not result in zero volts passing through the pixel when the arduino's pulse is 0 (off). Instead there is 3volts across the pixel which means that the pixel is partly "on" (grey). When the full 12 volts passes through the pixel it is perfectly black, which is great. I would like to pixel to receive zero volts when no pulse from the Arduino so it is transparent.

Here is a diagram of the circuit I constructed today. The issue is marked with a star on the drawing, indicating the lowest reading of 3 volts rather than 0. Two volts is the minimum needed to extinguish the pixel and make it black, so anything under 2 volts is fine.
Eventually, when the circuit is working, I will replicate the "pixel circuit"/lower circuit many times in parallel to create the multiplex circuit as show in my original post.
IMG_1389.jpg

I also found other illustrations of this circuit, but I could not get it to work either. The pixel remains black because the voltage across it does not drop to zero. Here is an example of what I found:
Screenshot 2025-08-06 160733.png

My questions are:
  1. How can I amend my interpretation of your circuit to ensure that <2 volts passes through the pixel when the Arduino is 0 (not sending a pulse)? The circuit works fine when the arduino pulses.
  2. Did I interpret your circuit incorrectly? If so, please could you tell me the errors I made.
  3. Finally, I would be grateful if you could explain the "ground" arrangement. The circuit diagram I found online (above) shows that the 2N2222 and 2N3960 grounds are connected. However, I could only make the circuit work (turn the pixel black to transparent alternating) if the 2N2222 emitter went to the Arduino's ground and the 2N3906 emitter when to the 12volt power source. Why is this and is it wrong?

Thank you again for your help! I think that the circuit is improving.
Best,
Louise
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
I am imaging that my error is that the base of the 2N3906 resistor is remaining grounded despite the arduinos pulses that try to control the 2N2222. But how might I solve this? Many thanks :)
 

Thread Starter

louisewardmorris

Joined Jul 28, 2024
21
My apologies, my comment concerning the ground was incorrect. The circuit only works when all emitters go to the ground of the 12v supply. Thank you
 
Top