I realised it must be due to the pwm cable being pulled low by the vcc pin. I added a diode between the resistor connecting from vcc to base and all is good now.
Huh, resistor between base and Vcc? Never told you that
Ow, and when I wrote Vcc I of course meant a source that stays on when the Arduino is powered off, like the fan power.
Another thing to keep in mind, if you power off the Arduino you may NOT supply it any voltage on the pins. So if the Arduino gets signals from something even when it's off you need to add resistors in line.
Now I realise that using the mega will be using more current than I could get away with if I switched to smaller arduinos and I could probably get all the connections on a couple of unos
Mehh, havn't checked but I even think a single Mega is more power efficient. But really, I would not be concerned with the power of a 10 Arduino's compared to a single fan... Just remove the power led and maybe pot it to sleep and you can do that with tens of Arduino's an still use less then a single fan.
but I then have to get them to communicate with each other and send all the info to a master to serve it out via bluetooth.
True, but I would find that more then worth it if that saved me from routing tens of connections to a single point.
In practice it should only be needed to save power by shutting it down on the darkest of winter days but it's nice to have that option without having to turn the fan off too.
But powering down the fan would help wayyyyyyyy more.
Alright, you might want to power down bluetooth and what not. But keeping the Arduino running barely takes energy. And as a bonus you're still able to control the fan and save even more energy