You are right! You can develop a USB (Universal Serial Bus) PIC device


We have just completed another Microchip Regional Training Center Workshop last 2 days. This is quite a special workshop which is the USB. Last week is about PIC18 Architecture and Instruction set, this week is about using PIC18F4550 as a USB device. The workshop is conducted at USM, Nibong Tebal. Though is not full house, we still have 7 participants. Maybe the publicity is not good enough because some of participant complained that they received the news last minutes. We will improve that.

So what is this workshop all about? The title seem to be general, USB from Scratch, we start the discussion on the USB history, USB specification, the Full Speed USB, Architecture/Programmer’s model, physical connection, the communication between USB host and USB device, how can a USB device become “Plug and Play”?, the VID and PID and more.

Not to miss out the PIC18F family that support USB. Microchip offers more than 10 models of PIC18F that support USB, 5V and also 3.3V powered. Not only that Microchip offer the microcontroller that support USB, they also offer the framework for you to modify and develop your own USB device. What more can you asked?

In this workshop, we did 7 lab exercises, starting with very simple step, loading bootloader and demo firmware to USB FS demo board, and run the USB sample program. It was very convincing to notice that you can now load your program using the USB bootloader. We also did some C programming writing using the Microchip library for CDC (Communication Device Class) to simulate a USB to Serial Port.

enough on the writing, let’s see some photos.

com3390-23jun09005.jpgEveryone is paying attention when the class started.

com3390-23jun09017.jpgUSB Full Speed Demo board needed during the hands-on exercises. The ICD2 is needed to download the bootloader firmware.

com3390-23jun09044.jpgDuring the exercise 2, the demo board will actually display the temperature value from on board temperature sensor, also the analog value from the potential meter. One of the participants is turning the variable resistor to see the changes on computer monitor.

com3390-23jun09059.jpgDuring discussion on how to modify the code to be our own USB device.

com3390-23jun09055.jpgOur trainer showing the method to use the USB Bootloader!

com3390-23jun09070.jpgShowing how to use the CDC firmware to get a USB to serial. Well, during this workshopo, every one did get a USB to serial, no one will need to buy the USB to serial convertor. 🙂

com3390-23jun09088.jpgFinally the group photo

This is very interesting workshop, one of the most motivated workshops I ever did. All the participant would like to get the development and try it when they go back. Some of lecturer even wanted their student to develop USB application in the future, good luck to the student.



4 thoughts on “You are right! You can develop a USB (Universal Serial Bus) PIC device”

  1. so is there any button to trigger it into bootloader mode? i also saw bootloader code in the framework, but i juz disable it.

  2. if you use the bootloader from Microchip, it will be detected as Microchip custom class device (not standard), where driver installation is needed. If it is a HID, you need to change the firmware to CDC in order for you to develop application in CDC class.

  3. which device bootloader will detected as? CDC, HID or custom?
    if it is detected as hid, is it possible to develop my application using cdc class?

  4. I did explore the Microchip USB framework before, we can actually download it from Microchip website. But it took me several weeks just to use the bootloader.
    Well, it pay off, now I can use USB bootloader, it is much faster that ordinary RS232 bootloader.

Leave a Comment

Your email address will not be published.

Share this Tutorial

Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest
Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest

Latest Tutorial

DIY Interactive Robot Using REKA:BIT With Micro:bit
BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board
Pick and Send Random Meal’s Option and Locations through Telegram Bot Using Grove WiFi 8266 on micro:bit
DIY Automated Vacuum Cleaner Using REKA:BIT With Micro:bit
Rainbow Spark in Mini House using Maker Uno.
Tutorials of Cytron Technologies Scroll to Top