Sunday, June 26, 2011

XBMC USB Controller for Media Center PCs

In this project we develop USB port base controller for XBMC application. Main functionality of this controller unit is to provide remote control interface, LCD base - player information panel and rotary encoder base controller for XBMC. With this given hardware design and software programs, user may be able to control XBMC without using standard input devices such as keyboard and mouse.


This device is design to work with XBMC Version 10.1 (codename Dharma) or newer versions. Older version of XBMC may not work this system because of the differences in its Web Control Interface.

PIC18F4550 is a main hardware controller of this system. This microcontroller is used for USB interfacing, as LCD driver, IR base remote control data decoder and as a driver of the other input devices (such as rotary encoder and push switches). Controller’s USB interface is design to work as USB HID class device.

This system is design to work with Microsoft Windows Operating Systems and we test this system in Windows XP Professional editions and some few Windows XP embedded editions also.

XBMC USB Controller is an open hardware project. All the project source codes and computer programs are released under the terms of GNU General Public Licenses Version 3.0. All the schematic diagrams and PCB files are release under the terms of Creative Commons Attribution-ShareAlike 3.0 license. All the project contents including software programs and design files are available to download at elect.wikispaces.com

Sunday, June 5, 2011

PIC16F877A/PIC16F887 Microcontroller Development Board

In this post we introduce easy to build, full featured PIC16F877A/PIC16F887 microcontroller development board. This development board contains following core features:

  • RS232 interface
  • PS/2 host interface
  • Battery backup - Real Time Clock with I2C interface
  • Highly precision 1-wire thermometer interface
  • 4 Digit Seven Segment Display module
  • HD44780 compliant LCD module
  • 4×4 Keyboard
  • 4 button onboard joystick
  • 8×2 LED driver
  • 8bit peripheral driver interface
  • 8bit Digital to Analog converter module
  • 36kHz Photo module for Infrared base inputs
  • Wide supply voltage range from 12V – 40V

To reduce the form-factor we design this system in a double sided PCB. When constructing this project make sure to use exact component values for PSU module (especially for L1, R1 and R2).


When constructing the circuit do not connect R4 and R5 wires to the PCB. Both these wire links are providing to isolate the PSU from main board. After constructing the circuit power on the PSU and check the voltage between R4 and R5. Under normal operating mode voltage between R4 and R5 is 4.8V – 5.03V.

LM2576-5.0 is also compatible with this board. If IC1 is LM2576-5.0, make sure to replace R1 with wire and open R2 resistor in the PCB.

It is required to install suitable heatsink to the LM2576 switching regulator. 20V (3A) D.C. power source is recommended for this PSU.

This development board is compatible with any HD44780 compliant LCD module. While at the testing stages we check this LCD interface with several 1602E-1 LCDs and all these modules provide excellent results to us.

This development board is released as an open hardware project and licensed under the Creative Commons Attribution-ShareAlike 3.0 license.

All the project schematic files and PCB designs are available to download at elect.wikispaces.com.