Power loss in an equally distributed parallel solenoid circuit
\$ I = \frac {V}{R} = \frac {12}{88} &lt; 140 \ \mathrm {mA} \$

Six solenoids will draw \$ 6 \times 140 = 840 \ \mathrm {mA} \$.



Figure 1. According to the ULN2003 datasheet you are operating within specifications so that's not your probblem.

If we read on we find a possible clue here.



Figure 2. As the total emitter current rises so does the input on-voltage.

I suspect that what is happening is that the internal chip common GND line voltage is rising with increasing current due to its resistance. As the GND voltage rises then so does the input voltage required to turn on the output transistor. Your 3.3 V control logic is just on the edge of working.



Figure 3. The ULN2003's internals.

I suspect that there is some kind of race going on with your circuit and that, perhaps you are switching them on sequentially even if very quickly. This could be due to your controller code or due to the internals of the ULN2003 and that's why I wondered if the same solenoid was affected. The ones furthest from the GND pin on the chip die would have the highest emitter voltage.







simulate this circuit &ndash; Schematic created using CircuitLab

Figure 4. Using an additional ULN2003 as an inverter.

The option of Figure 4 uses the first ULN as an inverter with pull-up resistors to ensure a good drive voltage to the second driver. Since the first one is switching relatively low currents the input on-voltage will be less than 2.4 V (Figure 2) and will switch reliably. The logic will be inverted, of course.

One thing to look out for: since you are having this trouble with one input you may find that the others are barely switching on and that the Darlington transistors are not "hard-on". According to Table 6.6 you should see a maximum of 1 to 1.3 V on the outputs. If this gets higher than that I suspect that the chip will warm up and could get hot to touch.