Hi,
31250 baud is not a "standard" PICaxe Baud rate (i.e. it's not a "power of two" multiple of 2400 baud, etc.) so it can't be used with the SEROUT/IN commands. However, the "HSEROUT" (Hardware) can be set to any (reasonable) baud rate, if you do a few calculations (I didn't find a "Wizard" for it) as explained in the
HSERSETUP command. The other problem with high baud rates is that the PICaxe may not have sufficient time to process the data before the next byte arrives, and similarly the "HSERIN" Hardware offers the possibility of a solution. But it might not be possible to operate the HSERIN and HSEROUT at different baud rates, so you may need to use the SERIN command for 9600 baud.
Also, there are some severe "issues" with the operation of the HSERIN command, to the extent that I don't recommend attempting to use it for any "fast" applications. There is a long relevant thread, which you might start reading at post #29
HERE but beware that the solution is not for the faint-hearted. That thread is concerned with
receiving a very high baud rate so 9600 baud should be quite possible. Then transmission at 31250 baud might be reasonably straightforward, particularly if you are "comfortable" with
PEEKSFR and
POKESFR commands.
An 08M2 may indeed be the "best" PICaxe to use because it is marginally faster than the other M2 chips, but using two to share the task (of receive and transmit) might not help much, because they would still need to communicate with each other (using serial comms ?). However, a successful solution is likely to depend not on the nominal "peak" baud rates, but more on there being (some) sufficiently long time gaps
between incoming data bytes, i.e. the average baud rate.
Cheers, Alan.