I am using Edison board running the official latest Yocto Linux to control a relay. The Edison board is plugged into an Arduino board with a shield board, and the relay is plugged into D4 port. With the help of mraa library I can simply set output pin to high and low to turn on and off the relay. My problem is, when I reboot the linux system, the relay will be turned on during shutting down and startup procedure. I tried to change the relay connector to other ports and found out that if I connect it to D2, D3 or D5 - D8, the relay will not be affected by rebooting system while D4 and I2C ports are not usable, they will output high when startup finishes which will trigger the relay. Even though I can choose another port e.g. D8 that would not affect the relay, I still wonder how I can make those ports not affect normal devices such as a relay? Could anyone give me some hints or clues to find the answer?
Thank you for your interest in our Intel products.
Please be advised that you should avoid using any triggered pins that you found. If D4 is working fine when the Yocto Linux image is rebooted, then continue using that port. The reason behind this issue is that some pins have muxing and are being set when there is a reboot.