Using 4D display as slave on SoftwareSerial plus Bluetooth on regular Serial

I have a 4D display to monitor data coming from an Arduino Uno sending controls to another Arduino via Bluetooth. The 4D display is on a SoftwareSerial port while the Bluetooth Mate is connected to a normal hardware serial port. (The project is for a dew heater for my telescope; I’m tired of the tangle of wires.)

If I’m powering the project from the USB connector from the desktop, everything works just fine. The display works, showing me the data I want to send, changing as parameters change. The bluetooth devices connect and the data changes are reflected properly on the slave end.

However, if I just give the devices, the Arduinos and the display and the Bluetooth boards, power from a battery or a wall wart, there’s no joy. The display doesn’t display, even though it has power, and the bluetooth devices don’t connect.

The usb connection causes the master Arduino to show both TX and RX leds blinking and the led on pin 13 to blink numerous times, while the simple power connection does not. The problem appears to be in startup, or at least before the loop; if I plug in the usb while the code is running, the problem stays. If I plug in the usb from scratch, the problem disappears.

Can someone help me understand this and correct my mistake, please?

My code is attached. All help appreciated,

Kent

Blue_Master_Heater_SoftEasyTransfer_4F.ino.ino (5 KB)