First Time Programming a Microcontroller
In my previous post we have carried out the construction of the base Circuit board for our USB demo Interface Board.So lets begin with out next part for little but more info about the pic18f USB on PCB. (If wish then you can also review my pic18f4550 tutorial for beginner) . So lets get on with usb board now.
Simply connecting the USB cable from your computer to the USB Interface Board immediately after you complete the soldering won’t make it start working right away. Of-course like any new hardware installation you will need drivers for windows in order it to get detected by the system. I will provide the links for the driver in my coming posts. The drivers are coded by Microchip. And in order for the driver to communicate with the board the chip must be programmed first, with some sort of firmware. The codes for the micro-controllers are written with some special IDE softwares which have their own programming language which is similar to C.
JDM programmer is not so famous but it is easy to make and cheap, so beginners can go with it pretty fine . Once a sample demo firmware is loaded into the microcontroller then later you can update the microcontroller‘s firmware with your own CODE directly from the demo board using a boot-loading software.
PIC18F4550 belongs to www.microchip.com, you can find various resources and interesting materials on their website or you can also check my version of tutorial.
For further steps you need to download microchips MCHPFSUSB framework, from microchip’s website, it contains various examples, driver and some precompiled demo firmware we need.
Microchip appliction libraries
There are many versions of MCHPFSUSB which were released later , the version I used for my board was MCHPFSUSB v1.2 , you can download and install it to continue further steps .
you can download it from their website. The links for those download page are It will install some packages by default in C:\ drive of your system.
For the 1st time loading you need a base firmware or a demo firmware, The firmware usually comes in .hex format. You can find it. Copy the string and save it as firmware.hex . We will load this firmware.hex into the microcontroller in later steps.
With the help of JDM programmer (a hardware) and a software we will load firmware into the pic18f4550, In coming posts we will also learn how to Make your own JDM programmer and also a step by step tutorial to load the firmware into chip using a software named winpic800.
For more detail: First Time Programming a Microcontroller
Related projects
PICDEM FS USB CDC Evaluation Board using PIC18F4550 with Proteus Simulation
Introduction The PICDEM FS USB CDC Evaluation Board is a practical microcontroller project built around the PIC18F4550, designed to demonstrate USB communication...
Peripheral Tutorials · PIC18F4550PICDEM FS USB Mass Storage Device using PIC18F4550 with Proteus Simulation
Introduction This microcontroller project demonstrates how to simulate a USB Mass Storage Device (MSD) using the PIC18F4550 in a Proteus simulation environment....
Development Boards & Kits · PIC18F2550Pinguino Project: A PIC Microcontroller Based Arduino
This is a complete tutorial to make a PIC Microcontroller based Arduino. This is a complete tutorial to make PIC microcontroller based...
Programmers & ICSPCalculator Test using PIC24FJ64GA006 with Proteus Simulation
Introduction The Calculator Test using EASYHDL is a practical microcontroller project built on the PIC24FJ64GA006 and simulated in Proteus. This project demonstrates...
Programmers & ICSPPID Controlled Oven using TMS320F28027PT with Proteus Simulation
IntroductionThis project demonstrates a PID controlled oven implemented using a PICCOLO TMS320F28027PT microcontroller and verified through Proteus simulation.It is a practical microcontroller...
Programmers & ICSPPICCOLO Motor Controller Sample Design using TMS320F28023PT with Proteus Simulation
IntroductionThis project demonstrates a PICCOLO motor controller sample design implemented using the TMS320F28023PT Piccolo microcontroller and tested through Proteus simulation. It focuses...

