I have a working hand-held arduino based telecom test set made out of a plastic capacitor kit case. It generates audio frequency tones from 0-3000 Hz. The tone() function produces audio frequencies at about -9.5dBm from what I have observed. That level is very useful to my for my intended purposes. I also need it to generate tones at a level of -16dBm. To achieve this, I put a selector switch to attenuate the level to -16dBm by putting the output of the tone() pin in series with 30K Ohms of resistance.
It measures the frequencies that it generates in TX mode, but also measures frequencies from other devices from it’s RX port. The RX port must have a level of -3dBm or greater to work at this time. I will be experimenting with an amplifier stage to measure weaker signals.