Microchip PIC32 software and hardware