꽤 오래된 이슈였지만 (한 10년된듯) 이제 써먹어 보려고하니 이런 문제가 생기는군요.

아두이노 USB호스트 쉴드라고 아두이노에 USB장치를 인식시키는 보드가 있습니다. 인식할수 있는 장치는 키보드, 마우스, 엑스박스패드, 플레이스테이션패드 등이 있고 입력값을 받아서 아두이노에서 이런저런 동작을 할 수있게 합니다.

이걸 응용하면 Uart to RS232(MAX232)와 엑박패드를 이용해서 RS232로 제어되는 로봇의 제어단을 만들 수있지요.

혹은 마우스를 인식시킨뒤 아두이노 레오나르도 게임패드의 아날로그값으로 인식시켜서 마우스가 지원이 안되는 게임에서 마우스를 쓰게 할 수도 있습니다. (몇몇 일본산 게임이 그러합니다)

그런데 이 보드... 정품은 꽤나 비쌉니다.
스파크펀에서 만들어파는데 8만원정도 합니다. 그래서 알리의 짭보드(?)를 찾았는데 생긴건 다르지만 만원정도 하더군요. 그래서 냉큼 샀습니다.


그리고 그것이 재앙의 시작이었습니다.

중국특유의 집어던진 티가 많이 났지만 그건 예상했던 바이고 휘어진 핀은 다시 하나하나 폈습니다.
싸니까요.

그런데 갖고있던 아두이노보드에 꽂고보니 문제가 계속 나옵니다.

첫번째는 이게 완제품이 아니란겁니다. 일부 납땜이 필요합니다.

https://esp8266-notes.blogspot.com/2017/08/defective-arduino-usb-host-shield-boards.html?m=1

Defective Arduino USB Host Shield Boards

UPDATE: The red wire is not needed. There are solder pads to the right of the reset button. Bridge the 5V pads to select 5V for VBUS PW...

esp8266-notes.blogspot.com

여길 보면

저렇게 3군데를 납땜해야합니다. VBUS파워가 제가 알기로 USB전원을 의미하는데 USB전원은 예나 지금이나 5V를 쓰니까 저렇게 하는게 맞습니다.

그리고 멀티미터로 찍어보니 USB포트에 정상적으로 5V는 나오고 있었습니다.
그리고 장치를 꽂았는데... 그 어떤 장치도 인식이 안됩니다. USB마우스에 불은 들어오는데 왜???

뒤져보니 굉장히 많은 이슈가 있었는데 가장 유명한게
https://forum.arduino.cc/t/usb-host-shield-not-working-wrong-smd-chip-populated/1180071

USB Host Shield not working - wrong SMD chip populated?

Hello, i try to get a (big) USB HOST shield working with a Uno. I bought the shield from a well known seller here in germany but it does not want to work. USB HOST lib V2.0, the 3 solder jumpers are configuered, tried the examples with Mouse, Keyboard, XBO

forum.arduino.cc

두번째는 바로 이겁니다.
3.3V레일에 4V가까이 흐르는 문제가 있습니다. 이게 무슨문제냐면 레벨시프터가 요상하게 작동하는거라고 합니다.

그냥 쉽게 말해서 잘 못된 부품이 붙어있는겁니다.

https://www.printed-droid.com/kb/usb-host-shield-repair/

USB host shield repair

Many USB host shields required for Padawan/Shadow do not work properly and no data is transferred. In 2023, Norbert Richartz found out through intensive research that […]

www.printed-droid.com

여기서 아주 자세히 설명되어있는데

여기서 초록색은
74HCT125
보라색은
74AHC125
이렇게 박혀있어야합니다.

하지만 제가 구입한 보드는
저 두 위치에
74HC125
이렇게 같은게 붙어있었습니다.

74HCT125와 74HC125는 호환되지만
74AHC125는 호환되지 않습니다.

즉, 저 보라색 부분에 74AHC125를 사다가 바꿔야한다고 합니다.

이게 꽤나 오래된 이슈인데 이런일이 일어나는 이유는 간단합니다.

중국이니까 SMT칠때 잘 못 걸어둔거겠죠. 잘못된건 난 모르겠다인거구요.


해결방법은 두가지입니다.
1. 그냥 SparkFun정품 구입 돈으로 해결
2. 74AHC125의 SOIC14 패키지를 사서 직접 납땜

싸게 가려다 일을 크게 키워버렸네요.

================26.6.2==============
74AHCT125로 보라색 부분을 교체하니 아주 인식도 잘되고 잘 돌아갑니다

해당 IC가 10개의 3000원정도 되는데 교체하는 시간과 비용 생각하면 이게 맞나 싶기도 합니다. 국내에는 IC재고가 없어서 배송만 2주걸렸고 또 저는 히팅건이 없어서 IC교체가 힘들었습니다.

그냥 처음 장비 쓰시는 분은 조용히 Sparkfun정품 쓰세요. 정신건강에 그게 훨씬더 좋습니다

,