Overview
minimodem supports custom baud rates through a simple numeric specification. Instead of using a predefined mode like300 or 1200, you can specify any floating-point baud rate value to match custom or proprietary protocols.
Syntax
To use a custom baud rate, simply specify the desired rate as a floating-point number:<baud_rate> is any floating-point value N representing bits per second.
How It Works
When you specify a numeric baud mode (rather than a named mode likertty or 1200), minimodem:
- Sets the data rate to your specified value
- Auto-calculates frequencies based on the baud rate:
- For rates ≥ 400 bps (Bell 202-like):
- Mark frequency:
baud_rate / 2 + 600Hz - Space frequency: Mark -
(5 * baud_rate / 6)Hz
- Mark frequency:
- For rates 100-399 bps (Bell 103-like):
- Mark frequency: 1270 Hz
- Space frequency: 1070 Hz (200 Hz shift)
- For rates < 100 bps (RTTY-like):
- Mark frequency: 1585 Hz
- Space frequency: 1415 Hz (170 Hz shift)
- For rates ≥ 400 bps (Bell 202-like):
- Defaults to ASCII 8-N-1 framing (8 data bits, no parity, 1 stop bit)
The automatic frequency calculation follows industry-standard Bell modem conventions. You can override these with
--mark and --space options.Examples
Basic Custom Baud Rate
Transmit at 600 bps:Custom Baud with 7-bit ASCII
For protocols using 7-bit characters:Fractional Baud Rates
For precise timing requirements (e.g., NOAA SAME uses 520.83 bps):Custom Baud with Custom Frequencies
Override the automatic frequency calculation:Custom Baud for Audio Files
Decode a recording at a non-standard rate:Baud Rate Ranges
minimodem can handle a wide range of baud rates:- Low speeds (< 100 bps): Suitable for RTTY and low-bandwidth applications
- Medium speeds (100-400 bps): Bell 103 compatible range
- High speeds (≥ 400 bps): Bell 202 compatible range
- Very high speeds: Limited by sample rate and audio bandwidth
Combining with Other Options
Custom Framing
Specify custom start/stop bits:Inverted Frequencies
Swap mark and space frequencies:Custom Bandwidth
Adjust the receive bandwidth filter:Protocol Implementation
Here’s how custom baud rates are processed internally:- ≥ 400 bps: Bell 202-style, mark = baud/2 + 600, negative shift
- 100-399 bps: Bell 103-style, mark = 1270 Hz, 200 Hz shift
- < 100 bps: RTTY-style, mark = 1585 Hz, 170 Hz shift
Troubleshooting
Poor Decode Quality
If decoding fails at custom baud rates:- Verify the actual baud rate: Measure the signal timing
- Adjust confidence threshold: Use
--confidenceto relax requirements - Tune frequencies manually: Use
--markand--spaceoptions - Check bandwidth: Adjust
--bandwidthto match signal characteristics
Sample Rate Considerations
For very high baud rates, increase the sample rate:Best Practices
See Also
- Frequency Tuning - Fine-tune mark and space frequencies
- Confidence Thresholds - Adjust signal detection sensitivity
- Audio Backends - Configure audio input/output