Thanks Rob, your link is fascinating.

I had looked at the tables in SorftwareSerial but because, for example, the 8MHz numbers are not double the 16MHz numbers (though close) I figured somebody had derived them empirically - perhaps with an oscilloscope.

I will certainly think more about this option. I will be quite happy to get a row of numbers for a single baud rate - 2400 would do.

Unfortunately I can only test it at 1MHz on an Attiny. With an Uno you can monitor progress on the UART serialport.

If I get something working I will report back.

Incidentally I put the numbers from your three formulas (for the three MHzs) on three lines of a spreadsheet and it looks like it may make more sense to use the long formula (line 1) to calculate tx and then derive rxStop from that as the adjustment for tx would always be -6. I thought by doing this the adjustment for rxStop might be frequency related but it doesn't seem to be. In any case the variation in the adjustment is only about 1% of the calculated value of rxStop and I wonder have you tested whether the variation is actually necessary?

...R