One complaint with the original Rev D board was that the Y "endstop" input would cause a problem with communication, especially for people using Mac computers. I have thoroughly searched through the pin assignments, and the only major differences between Rev D and Rev F are that on Rev F the Y endstop input has been moved to a different pin on the Atmel chip, and two pins have been assigned to communicate with the chip that does the "digipots." There are some changes to pins on the Expansion headers, but I wasn't using them so I don't know if the use of things like extruderboards or LCD displays is "plug-and-play" - but I imagine that they are compatible.
I have my own optical endstop for Z, which runs on 5V, so I moved the Z-probe power jumper that Printrbot nicely provided from the "HV" position to the "5V" position (and I verified the correct voltage before connecting my endstop). My own endstop circuit has active pull-up and pull-down, so I didn't need to add any "pull-up" resistor.
The "digipots" are not strictly "digital potentiometers;" the chip (MCP4728) is actually a 4-channel DAC (Digital to Analog converter), so it produces reference voltages for the motor driver chips. The Rev F firmware uses M907 to set the voltage, in percent of full scale (actually a modified full scale, appropriate for the motor controller chips). For example, M907 X60 sets the X-axis motor current to 60% of the maximum possible. M909 reads the settings for all four axes, and M910 saves the settings into EEPROM. Why is the EEPROM setting not saved with M500? Because the DAC chip has its own EEPROM!
The firmware that was installed on the F5 board when I received it had all three axes moving in the correct direction, but it "homed" Y to Max instead of zero. I had already planned to replace the firmware with my own version based on the Legacy F5, so that just confirmed what I needed to do. Once I replaced the firmware, everything was fine.
The new board shipped with no connectors for the Expansion ports or the ICSP port. I removed the ICSP header from the old board and put it on the new one. T'wasn't easy; I tried to use a "solder sucker" to get the solder out of the old board, but it didn't remove enough. I finally succeeded by melting a huge blob of solder on the back side of the board, covering all six pins. That caused all six pins to have molten solder all the way through the board, and the header was then easy to pull out.
