I have connected three devices to my Raspi4 USB: Logitech wireless gamepad dongle, and YDLidar-X4, and Arduino UNO. The YDLidar-X4 is separately powered with 5V supply, the Arduino is separately powered with Battery supply >7V. With these all connected, Raspi does not boot.
With Logitech dongle and Arduino the Raspi boots OK. With Logitech dongle and YDLidar-X4 the Raspi boots OK.
Result of unsuccessful boot (never completing) is also that the Arduino port /dev/ttyACM0 is created as a directory instead of "file". This port definition disables any Arduino use on subsequent successful boots. In order to make the Arduino work with the above combination of 3 USB devices is to:
- Boot Raspi with only Logitech dongle and YDlidar connected
- make sure that there is no /dev/ttyACM0 in /dev/ directory from previous boot attempts, otherwise use 'cd /dev' 'sudo rm -rf /dev/ttyACM0' to remove it, and then
- plug Arduino into running Raspi4
- check that both /dev/ttyUSB0 and /dev/ttyACM0 are correctly there ..... and then all devices work as wanted.
Question: Why does the boot sequence create a strange /dev/ttyACM0 directory which is of no use? Does this give a hint where the boot sequence fails? If this incomplete boot sequence is the result of two devices drawing too much current on switch on, why is this still the case when the YDLidar and Arduino are already powered up with their own separate power supplies? (tried 'sudo reboot' to avoid simultaneous power up situation for all devices being the cause)
Any solutions to suggest - my robot needs to power up remotely without having to intervene and plug in devices, manual command line intervention etc ...
Raspi4 with RaspberryPi-OS 64bit. YDLidar in USB3 port Arduino in USB2 port Logitech dongle in USB2 port