The P8055-1 board needs minimal modifications. The USB low speed pull up resistor R35 must be removed. When using the PIC18F25K50, no further modifications are necessary as the PIC has an accurate enough internal oscillator and can ignore the 6 MHz crystal. When using a PIC18F2550, the crystal needs to be replaced with a 4 MHz one.
Zero modifications are necessary for the P8055N-2 board.
I use the 2550 or 25K50 since both have 256 bytes of EEPROM. I plan to implement functionality that uses the EEPROM for startup configuration and settings. For example, one could configure the PIC so that it on power on uses digital outputs 1-4 in servo mode and set to neutral (1.5 ms pulse width) or some other values.
Both chips are pin compatible and no adapter is needed. They simply replace the original PIC.
The Open8055 firmware is currently written to be used with the HID boot loader. Once that is programmed with a PicKit3 or similar, the chip stays on the board and can be reprogrammed with new firmware via USB, very fast and easy. It might be worthwhile to switch to the Microchip boot loader. I believe that one can even be used from within the IDE, but I haven’t checked that yet. Also the P8055N-2 board has an ICSP header, so no chip removal necessary even if you don’t want to use a boot loader. The PicKit3 programmer is supported by the Microchip IDE.
The Open8055 firmware drives up to 8 servos on the digital output ports. The firmware uses interrupts for the precise timing of less than +/- 1 microsecond for the pulse length. It does not use the CCP modules for that, so the regular two PWM/DAC outputs are still available to be used for motor control or other applications. The firmware also continues to produce the last output signals when it is connected to a powered hub and the PC is disconnected/powered off. This whole setup can be used to build stand alone micro controller experiments.
With all its functionality, the Open8055 firmware doesn’t even use half the memory of a PIC18F2550 yet. This might have to do with the fact that my programming experience goes back to the time, when 64 KB RAM in a desktop computer were considered a lot. When working with micro controllers, I just go back to the programming habits that we used to have in those days.
BTW, I found that the K8055 and K8055N have so much noise on the supply rail, which is also used as ADC reference voltage, that 10 bits precision are not really achievable. The Open8055 firmware currently does use 10 bits and continuously samples both ADC channels (also using interrupts). An HID report can at the most be sent once per millisecond, so the firmware calculates the average of all measurements since the last HID report was sent. Not optimal but better than just taking one sample.