Code Monkey home page Code Monkey logo

berrak / esp8266-usbhost-max3421-shield Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 1.0 4.63 MB

The USB Host Shield contains all of the digital logic necessary to implement a full-speed USB 2.0 host controller with your ESP8266 microcontroller. Create a new game, control robots, or implement smart home automation solutions with an old unused USB controller-it is a plug-and-play WiFi solution.

License: Other

arduino-esp8266 usb-host-shield max3421e wemos-d1-mini esp8266 usb2-host home-automation arduino robot wifi

esp8266-usbhost-max3421-shield's Introduction

esp8266-usbhost-shield

GitHub version GitHub Release Date GitHub stars GitHub issues Badge Hit Counter

The ESP8266 USB Host Shield

The ESP8266 USB Host Shield contains all the digital logic necessary to implement a full-speed USB 2.0 host controller with your ESP8266 microcontroller. There is no need to spend hours writing complicated code to decode various USB descriptors. Instead, the USB Host Shield library 2.0 does all the heavy lifting for you with the capabilities of the ESP8266, and maybe you may create a new game, control robots or implement DIY intelligent home automation with an old unused controller laying around.

Client Device Control Using UDP from the USB Host Device

esp8266-usbhost-shield

Add USB host capabilities with the ESP8266 USB Host Shield and control network devices wireless with standard USB HID devices like a keyboard, mouse, and game controller. Adding the shield board on top of the ESP8266 D1-mini will let you control other WiFi devices wireless without being forced to dedicate an entire computer for such tasks.

Install the Arduino library in the IDE; within minutes, the library recognizes your HID device. Then, use the host shield and, for example, a gaming joystick to interface with and remotely control any microcontroller-based device with WiFi. It is indeed a plug-and-play solution.

Board main features

The host controller MAX4321E chip uses a four-wire serial interface to communicate with ESP8266. A USB type A female connector supplies 5V as any regular USB port would do. The SPI of 26MHz is fast; forget any sluggish UART communication.

  • The shield supplies any attached devices with +5V (VBUS) via the connected ESP8266 USB connector.
  • With the ESP8266 USB host shield, there is no risk of wiring it up incorrectly.
  • This device comes fully assembled, and there is no need to program the shield itself.
  • SPI bus voltage levels are 3.3V, thus compatible with modern microcontrollers.
  • The host complies with USB Specification Revision 2.0, i.e., full-/low-Speed 12Mbps/1.5Mbps USB communication.
  • The ESP8266 board power the shield and the MAX3421E with 3.3V.

The additional unnecessary built-in GPIO pins from MAX3421E are not connected, and some other signals with the limited availability of pins on the ESP8266 D1-mini. See the schematic for all details.

Planned Improvements/Changes

The Arduino host shield library is for the Arduino Host shield implementation with MAX3421E. However, we have found that USB devices are generally recognized with the ESP8266 USB Host Shield since it also uses the MAX3421E. For planned changes, improvements, and possible encountered issues, please visit the Github issues tracker.

Suggested items to add to the board

  • Wemos/Lolin ESP8266 D1-mini microcontroller.
  • Female headers for ESP8266 D1-mini.
  • HID devices such as keyboards, mice, gaming joysticks, etc.

Various sellers sell ESP8266 cloned boards on AliExpress and Amazon. Alternatively, buy the original version of ESP8266 D1-mini at Lolin official shop.

Usage

esp8266-usbhost-shield

Add the shield board on top of the ESP8266 D1-mini such that both USB connectors are above each other.

  • Confirm that the shield cut-out is above the ESP8266 RESET button before connecting power!

Please, see the Arduino library installation documentation, and how-to install the Arduino library USB Host Shield 2.0.

Verify that the USB host shield library can use the device with the Arduino sketch USBHID_desc, found among the many examples.

esp8266-usbhost-shield

To remotely control ESP8266 with UDP broadcasts, see the example ESP8266RemoteWiFiClientServer for a start. Furthermore, you can get confirmation of the actions from Packet Sender. There is no need to create web interfaces or any other complex cloud solution if your goal is to control devices in your home and within WiFi reach. Instead, a minimal number of lines of code is required to accomplish that task.

packet sender

Specification for the ESP8266 USB Host Shield v1.0

  • Operating voltage: 3.3V - (via ESP8266)
  • The shield size is 26.5 x 31.5 mm (1.04" x 1.24") and fabricated as a four-layer board for superior signal integrity.
  • Board thickness: 1.6 mm (63 mils).
  • Formfactor and pinout: Wemos/Lolin ESP8266 D1-mini.
  • Weight: 6 gram (0.21 ounce).
  • Height: 17.5 mm (0.69")

Purchase the board

The ESP8266 USB Host Shield board is available only fully assembled. Tindie has all the latest designed boards.

Tindie

I appreciate your support.

Credits

Router image by Freepik by Freepik. Keyboard image by rawpixel.com on Freepik.

esp8266-usbhost-max3421-shield's People

Contributors

berrak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

pixelatedpic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.