The USB Host Board is based around the Microchip 24FJ64GB002 microcontroller which contains a built-in full-speed USB host controller. This allows the board to interface with and control any USB slave device – flash drives, keyboards, digital cameras, PS3 game controllers, and much more!
The USB Host board is designed to be as simple to use as possible. All of the complex USB programming is contained in the microchip so there is NO USB coding required in your application. This saves valuable programming space and saves you from having to code and debug USB interface routines. The onboard microcontroller has a bootloader and is easily updatable with any of our free USB Host driver software.
- Complete USB Software onboard. No USB coding required on your microcontroller
- Simple UART and I2C interface
- Easily updatable software includes
- Flash Memory Stick – Read and Write data to files on a USB flash drive
- USB Keyboard – Converts a standard USB keyboard into a serial TTL device generating ASCII characters
- USB Joystick – Reads the control inputs and button presses from a USB Joystick. Data available via serial connection or using I2C. Great for robot projects
- CDC Communications Class – Allows you to connect a CDC class device to the Host Board and send and receive data to the device via a serial connection (e.g. Mobile Phones, fax machines, two way radios, Ublox GPS units and more)
- USB Mouse – Read the movement and button clicks of a mouse via Serial TTL and I2C.
- PS3 Dual Shock Controller – Read the Joysticks, accelerometer, button pressure and buttons of a PS3 Dualshock Controller via Serial TTL and I2C. Set the LEDs and rumble motors.
- PS3 and PS4 Controller – Bluetooth – Connect to a PS3 or PS4 Controller using its Bluetooth connection and read the Joysticks, accelerometer, buttons and trackpad via Serial TTL and I2C.
- Serial Driver for FTDI, CP210X and PL2303 – Allows you to connect a serial device that uses an FTDI, CP210X or PL2303 USB chipset to the Host Board and send and receive data.
- MIDI Device – Allows you to connect a MIDI device to the USB Host Board for 2-way communication using the MIDI message protocol
- USB Modem – Allows you to connect a certain USB Modems to the USB Host Board for SMS Text Messaging
- Easy to update the software using simple serial connection and built-in bootloader
- Works with both 5V and 3.3V systems
- Real Time Clock
- One-board 3.3V 250mA regulator with output
- Green POWER LED
- Red LED indicates bootloader active or Error
- Blue LED indicates device plugged in and accepted
- All pins are 5V tolerant so will work with 5V and 3.3V microcontrollers.
- Board size 38mm x 27mm
External connections available on the USB Host board
- 5V power supply
- 3.3V output (250mA)
- RX and TX
- SDA and SCL for I2C communication (check specific firmware for implementation)
Downloading Software to the board
You can write your own software for the USB Host Board or you can download one of our free software applications. Downloading software to the board does not require a specialist programmer because it has a bootloader already installed.
New software is easily installed over a serial RX/TX connection, so you will need an appropriate connection to your computer. We recommend the FTDI Basic breakout board but there are many similar boards and cables available.
Connect up the power (5V) and GND lines, then connect the RX on the Host board to TX on the FTDI board and TX on the Host board to RX on the FTDI Board. You are now ready to install the new software.
To load the new software we use the free ds30loader download. This works with the bootloader on the Host board. Run the ds30loader application and…
- Select the hex file you wish to upload
- Set the device to be PIC24FJ and 64GB002
- Set Baud rate to 115200
- Set Port to your serial port connection
Once you have these setup we just need to click the Write button (just below the Commands menu) and the software will attempt to connect to the bootloader and upload the new software. In order to make the bootloader active though we need to reset the board by briefly pressing the reset button. This needs to be done as short time after clicking the Write button. The easiest way to do this is to hold down the reset button, click ‘Write’ within the ds30Loader program, then release the reset button.
See the screenshot below for an example.