A while back, I identified a major issue with ACRIS’s communication network. The MAX485 chips that I use can switch between transmitting data and receiving data. To switch modes, you simply pull two pins either high or low. I tied these pins directly to the ATMEGA so that I could allow the LED controllers to talk to each other in future firmware revisions.
However, when the ATMEGA first starts up, the state of this pin is unknown, so a blip in the logic power can cause multiple devices to want to transmit data. As a result, the entire communication network just sort of stops. 🙁
But, by adding a simple pull-down resistor to those transmission-enable pins, it will make the default state of the MAX485 to receive data.
The rework on my lights was pretty difficult because everything was pretty tightly packed. But, I was able to remove the main body in order to get at the MAX485 chip.
Afterward, soldering a 10K pulldown resistor was not hard.
Re-assembling was a pain in the neck, though. I kept losing the plastic spacers and doodads.