When I try to add pin 4 to the export by "sudo echo 4 >/sys/class/gpio/export" I will get this error message.

echo: write error: Device or resource busy

It works fine for all other pin numbers though.

Also when attempting the code a kernel module, when I try to change the gpio pin 4 value to 1 (by "gpio_direction_output(4,1);", it will automatically revert back to 0 after a few seconds.


It is likely you have the 1-wire bus enabled. The bus is typically used with the DS18B20 temperature sensor. By default the bus uses GPIO4 when enabled.

If you don't use the 1-wire bus then comment out all the entries starting with w1 in /boot/config.txt and reboot.

If you do use the 1-wire bus you can pick another GPIO by modifying the w1 entry. See /boot/overlays/README for details.

  • Thanks a lot. You are right. Removing the "dtoverlay=w1-gpio" from the /boot/config.txt helps fixed it. – mitchytan92 Nov 9 '17 at 0:52

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.