Introduction: USB Project :- USB Interface Board Using PIC18F4550

Picture of USB Project :- USB Interface Board Using PIC18F4550

 C# software ( 4.0 .net framework)

PIC18F4550 Firmware - for 6 LED's.


It’s a low cost USB interface Board that provides cool interface to your computer and it can be used to control various devices like DC Motor, Stepper motor ,Servo ,relay switch etc. with your laptop or any computer with a USB port and dot net framework installed. A small C# program communicates with the hardware to issue commands to set the pins of the Microcontroller. IN spite of LEDS u can use it as control signals for your project.

USB controlling is cooler than that of parallel port. Rather laptops now days don't come with parallel port, so a USB port is a bit easy replacement. The Video will show you my USB Interface Board, see its working, I will post links for making your own Micro-controller board .

As arduino Boards are very costly and if are beginner with microcontroller then you really don’t wanna invest so much on a arduino board for the 1st time on microcontroller, rather if you make one mistake then you microcontroller is fumed (like exceeding Vmax of microcontroller).

The Video below will show you my USB DEMO INTERFACE DEVELOPMENT BOARD, see its working and in the end I will post links for making your own Microcontroller board.


BEGINNERS: Microcontroller projects are not like ordinary circuits (follow schematic and you are done) In case of Microcontroller board there are lots of steps. Microcontrollers are like Artificial Mind of a ROBOT.

USB Demo Interface Development Board (PIC18F4550) : Tutorial for making this Board is Lengthy, so I will post the links for making this board.

This a USB Demo Interface Device , that allows me to control 6 led's, i have used a pic18f4550 microcontroller , i have found the schematics and diagrams on to make it. I have modified it control 6 led's , it is provides a cool interface to my computer using USB port and leds are controlled with clicks or pressing numpad buttons on my laptop.

It can be used to control various devices, like, Stepper Motor, servos, DC motor, Relay switches etc. etc. etc.

Download the firmware code ( for 6 - 8 leds) and C# application..

I Found this Nice Tutorial on a website while i was searching for some tutorial for making this board, i made a robotic arm based on this USB Interface Board, At beginning i thought of using Parallel Port but laptop don’t come with laptop , so using a USB port is a cool replacement of parallel or serial port with more better performance .This tutorial is actually not mine but i found it on a website and so sharing with all :)


FOLLOW EACH STEPS ONE BY ONE... (for beginners )





4- CONFIG WINPIC 800 with JDM -

5- DRIVER INSTALLATION for PIC18F4550 board -



8 - ** C# application to control pic18f4550 board DOWNLOAD -

NOTE: IF in case the links above are not working then please come back later after some hours , the website goes goes down sometimes (sorry about it) , though i have attached the C# APPLICATION and 6 -led controlling at the end for Advance users here. But If you are really new at microcontroller stufsfs then please wait for sometime in case if the links are are not working. The Links explains everything in Details.






lchen11 (author)2013-03-20

Hi man, this is a really brilliant project, you're brilliant man. I am trying to build this project, but I met some problem with that. One,does breadboard really not good for this project. Two, my friend has JDM programmer, so we skip step 3 and 4, for step 2, we don't use pickit 2, we just upload directly that demo firmware code you provide on step 2 into PIC with JDM programmer, Is that OK. Is that source code.Three, on step 5, I check the all connection is right according to the schematic you provide on step 1, I just cut off one terminal of USB cable, green wire connect pin 23,white wire connect pin 24, then red one for voltage, black for ground, then connect usb my laptop, press the pin switch, hold reset , hit bootload, release them, but nothing happen. some questions my school instructor doesn't understand either, and they told me breadboard should be Ok. man, I really need your help

The symptoms looks familiar, this happens when the oscillator is not set to 20mhz on the JDM programming software. While loading the code you have to set the oscillator to 20mhz from the settings. For example I used winpic800 software with JDM programmer , So before uploading the firmware into the microcontroller the Oscillator freq has to be set to 20mhz on winpic800 or it wont show any activity onboard after burning the firmware into the USB Board . By defaults if you dont configure then it take it as 48mhz on the software. You gotta set the setting to 20mhz on the winpic800 or the respective software which you got with JDM.

May be this picture can help

Christian_van_der_Laan (author)2017-06-06

can we have the project files for the pic controller ? (the .mcp files) ?

Montagni Agustin (author)2016-08-01

Hi! I found this project very useful. I was reading the code of the C# program. Can you explain how to use the command usbcom.EasyComand(byte Command, int rxlength, byte[] data, out byte[] dataout) ? So I can expand this circuitry. Thanks in advance!

Luiz AntonioV (author)2016-05-13

Hello Sir,

Congratulations for your job. It's great.

SivaR15 (author)2015-10-28


i downloaded this project and i tried to debug but its showing an DLL Not found working on windows 8 please help me

art1976 (author)2015-08-07

Hi, i would like to know, can we change 2pcs capacitor 22pF which is conected to crystal 20MHz with 15pF value?

eng-sura993 (author)2015-05-09


im astudent and im doing this project but ive faced some problem

my laptop is not reading the cct of the pic wn i connect the usb board not until i change it to read/write mode so i cant control the leds can you help me with that plz

pcj1 (author)2015-02-22

Hi Rakesh

Please contact me on this email Id

pcj1 (author)2015-02-22

HI Rakesh

I am working on project which should retrieve and display (In LCD)Mobile phone (SIM) information through AT commands

1.Signal strength

2.Mobile number

3.Network Operator name

Using PIC interface . Please help me on this regard

nilima.sharma (author)2011-10-08

Hi this is very impressive and nice project. I want to make this as my college project. I am new to microprocessors and microcontrollers. I am going to ask lot of questions regarding this project.

Thank you. I will help with what i can

pcj1 (author)ron.rakesh.mandal2015-02-22

HI Rakesh

I am working on project which should retrieve and display (In LCD)Mobile phone (SIM) information through AT commands

1.Signal strength

2.Mobile number

3.Network Operator name

Using PIC interface . Please help me on this regard

engs (author)2014-12-09

Hi,how r u?

Im sura anew engineer working on aproject just like yours can you help me with the pic i need to study it and im not finding anything useful about it

hosammatar (author)2014-09-07


That is nice work.

I have question , how I can use Bluetooth USB dongle with PIC Microcontroller like PIC18F4550 or any one ?

Best Regards and thanks

jasminrojiya (author)2014-07-28

hey it's just an osm project.. good job ron.. but i need ur help brother.You hav kept the hex file for source code of pic. So if you can upload a new link regarding the same. It would be of great help.. thank you.

And one more thing, i m trying out for making a project based on usb-to-usb-wireless-transfer (using bluetooth). and so if u have any idea regarding the same, then please do tell me Ron. thanx a lot again. ^_^

sthorat1 (author)2014-03-26

hello sir, i am student and i want to know that if, i replace pic18f4550 with pic18f452 , so is it fine to replace? because pic18f4550 is not available at my city were i live , and pic18f452 is almost same as pic18f4550.

what if i burn the same firmware of controlling 6 lead into pic18f452, will it work?

thank you . :)

Mestx (author)2014-01-06

Hello, I'm planning to use this microcontroller to read some values of sensors connected to it then send them to an android phone using the usb port.. I have some questions:
1- Would PIC18F4550 be able to do that?
2- Will the android phone communicate with the PIC easily or do i have to develop some driver for android?
3- Would i be able to also send some commands to the PIC using my android phone (control a led using an app on the phone)?
Thanks in advance..

sekuk_88 (author)2013-10-31

hi,can u help me??..

i have already done construct JDM circuit..but when i connect rs232 the LED got dimly..
i installed winpic800 version v3.64h but when i click "hardware test" its not responding and i try click "verify all" its got error...

please help me..

sjoshi4 (author)2013-10-02

Hi , i want to make this pic18f4550 usb interface board for my college project , Can you please tell it is it possible to read the read the value of the switch and then display on the software ? I also dont have much idea about microcontrollers. I am not sure if it is possible for me or not. We are planning to read the value of switch and then perform some operations. Possible ?

Yes it is possible to read the value of the switch and display :)

nigell (author)2012-08-14

First of all nice work :)
can u send me the source code of hex file so i can use it according to me or mail me at plz plz do it as early as u can.....plz

Nabilphysics (author)2012-06-24 for microcontroller project..propeller display...

Jr. Circuits (author)2012-04-28

I really like the whole circuit idea but it would be great if you send me a circuit and parts to instead use it for a relay controller.

Jr. Circuits (author)2012-04-28

I really like the whole circuit idea but it would be great if you send me a circuit and parts to instead use it for a relay controller.

JOJO2009 (author)2012-04-12

great work ron and thank you for it but the c# project it's not working somthing is missing in the zip file

r3xi389 (author)2012-04-01

Hello Rakesh! :)

Firstly, I would like to say thank you very much! Since your project has assisted me very much for my learning. Very appreciate it.

I would like to ask, it is possible for me to get the Step 6 for this project?
This because I can't access the link (http://http//
Really appreciate your help since I need it in order to assist my project.

Thanks and Regards!

You Are welcome..

And Step 6 talks About Bootloading...

Here is Video that will help you.  :)


sara32190 (author)2012-02-05

i'm very intresting in your project
it's very nice and creative to use USB interface Board to control various devices with a simplest circuit ..
real i like it
but i have a small proplem with software files

the above links didn't work with me
Please can you send me the sorce code for PIC

thanks alot

I have posted the alternative links on comment line.. have a look. Good luck :)

sara32190 (author)2012-02-05

also if it's possible

Please can you send me the the sorce code for c#

kushalverma (author)2012-01-06

hello i want 2 know how to programme these microcontroller chips.....
i don't have any arduino device or any other thing to programme these chips so should i buy it or u can help me to programme these chips manually/ in other easy way.......

You can make JDM programmer [serial programmer], or you can use a PICKIT2 programmer [USB], you can also make your own clone pickit2 :) , i used JDM programmer. IF u are beginner i suggest JDM :)

dbhadra (author)2011-11-06

Good work "Ron"
We are proud of you.

Thank you very much :)

ertan2002 (author)2011-10-13

Thank you ron.. Its really useful source for me :) But I cant see source of pic program. You just put hex file. But I need to change it. And also I need to understand your pic codes.. Because I never use pic with usb communication and I dont know how to do it !! Your sources are pretty nice, thanks for them.. Its so understanding.. But as I said, I need pic codes that implemented pic .. :)

Thank you

I will post it soon :)

Thanks for commenting :)

Thank you Ron..
And I think, your ciruit is just a one way.. How can we change it as two ways.. I mean, We will be able to send data to pic from usb and also we will be able to get data to usb from pic.. ? If you have an example, can you publish it also?

Thank you

Of course it is two way, or else how can the USB is communicating with Board :) While Boot loading this board u can read and write codes from board directly. The led status are updated by reading the current status. This BOARD is a USB HID device , usually usb devices are bi-directional :) .
In the above tutorial i have mentioned about a Microchips USB framework MCHPFSUSB v 1.2 on page.

when u download this framework it comes with lot of firmware examples and possible thing u can do with it :)

This same board can be used for many things.

Hi again,
I downloaded this framework but i didnt see a nice sample about it.. It looks a bit complicated.. I never have any experience with usb then i have some prejudgement.. I think that you can prepare a file that contains usb data sending and recieving for us :) i think it will be really good if u have time..

and if u can publish it sunday on monday, I will start to make your circuit on monday in our lab. After I learnt it, i will be able to start to change your codes which are in pic :)

I am looking forward this file....

Thank you

asharma47 (author)2011-10-07

great work.

Thank you
very much :)

About This Instructable




Bio: Hi my name is Rakesh Mondal , my friends call me ron vist my website for more stuffs like my post here .
More by ron.rakesh.mandal:USB:- DC Motor Controller using PIC18F4550 (keyboard)Test a Stepper Motor without a MultimeterUSB Project :- USB Interface Board Using PIC18F4550
Add instructable to: