Open source USB stack for PIC18F and PIC24F updated

JTR released a major updated to the open source USB stack that’s been brewing in the forum. It’s been designed to work with a generic echo demo, the Bus Pirate v4, the USB IR toy, the LCD Backpack, the Locgic Shrimp, and the Logic Sniffer. So far only the CDC class is supported, meaning only virtual COM port communication is possible.

Pretty much this is getting to be the final work on the current generation USB stack and the DP hardware. At least for the time being… While the usb stack is not the latest I have it is the best trade-off between many competing issues and at a level that is fully understood should I need to revisit it. Some hardware got an improved stack and some got rolled back a level so that it was all compatible and modular.

We started a wiki for instructions, notes, demos, and more.

Via the forum.

Join the Conversation


  1. Hello,
    I tried to compile it but failed.
    Maybe I forgot something?

    I tried to compile it from command line, not using any IDE.

    // compile:
    set path=”c:\Program Files\Microchip\mplabc18\v3.40\bin”
    mcc18 -p 18f25j50 -I . usb_stack.c
    mcc18 -p 18f25j50 -I . cdc.c
    mcc18 -p 18f25j50 -I . main.c

    // link:
    set path=”c:\Program Files\Microchip\mplabc18\v3.40\bin”
    mplink -p18f25j50 18f25j50_g.lkr -l . c018i.o main.o usb_stack.o cdc.o clib.lib p18F25J50.lib

    The compilation phase runs without error.
    Linking gives the following error:

    Error – could not find definition of symbol ‘_stack’ in file ‘./c018i.o’.

    Versions used:
    MPlabC18 3.40
    MPLINK 4.40

    Knows anybody how to solve this?
    How can I compile and build the project from command line?

    Thanks in advance.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.