They differ only in command string used to upload the firmware to the attached RFM device ie the emonpi board or the rfm69pi. The serial baud and firmware paths/names are different.
Since the firmware is always re-uploaded on each run of the update regardless of whether the FW has been revised it is often recommended to use “the wrong one” if you have calibrated your emonpi sketch or running custom rfm2pi firmware so that the uploading of FW fails due to the wrong baud, keeping your sketches safe rather than overwriting then,
Likewise we also recommend using the “wrong one” if you are unsure what model RFM2Pi you have OR if are sure you have an rfm12 based RFM2Pi as the rfm69 based firmware will still load on a rfm12 based device but it will stop it dead in it’s tracks until you figure out why you are not getting data and manually reinstall the rfm12 version firmware.
Bit of an oxymoron but in many instances the correct button is the incorrect button (and vice versa).
If you have a totally stock emonPi sketch you are best using “update emonpi” to keep up to date
If you have an emonPi with a modified sketch you are best using “update emonbase” to avoid overwriting.
If you have an emonBase and you know your RFM2Pi or RFM69Pi is rfm69 based and has a totally stock sketch you are best using “update emonBase” to keep it updated
If you have an emonBase with a rfm69 based RFM2Pi or RFM69Pi running a modified sketch OR if you have a rfm12 based RFM2Pi OR you are unsure what RFM2Pi you have you should use “update emonpi” to avoid over-writing the firmware.
Aside from the firmware differences the re is no difference both buttons fully update the emonSD used in both the emonPi and emonBase’s, there is no emonHub update button, emonhub is updated along with emoncms and other softwares in that same emonSD update.