Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,19 @@ Wiring for ESP32 DOIT DevKit V1 and AI-Thinker R01 - SX1278

![image](https://github.com/diepeterpan/rtl_433_ESP/blob/master/docs/Ai-Thinker-Ra-01-Schematic-Diagram.png)

## ESP32 Platform Support

### Single-Core ESP32 Variants (ESP32-C3, ESP32-S2)

The library automatically detects and supports single-core ESP32 variants such as the ESP32-C3 and ESP32-S2. The decoder task's CPU core assignment and priority are automatically adjusted based on the `CONFIG_FREERTOS_UNICORE` configuration:

* **Single-core processors** (ESP32-C3, ESP32-S2): Decoder task runs on core 0 with priority 3
* **Multi-core processors** (ESP32, ESP32-S3): Decoder task runs on core 1 with priority 2

This configuration ensures compatibility with single-core ESP32 variants that only have core 0 available, preventing boot crashes that would occur if the task were pinned to the non-existent core 1.

The `CONFIG_FREERTOS_UNICORE` flag is automatically set by the ESP-IDF/Arduino framework when compiling for single-core ESP32 variants, so no manual configuration is required.

## Wiring and Building the Example

Details are [here](example/OOK_Receiver/README.md)
Expand Down
Binary file added Tuning/LilyGo_OOK_BitRate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Tuning/LilyGo_OOK_BitRate_14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Tuning/LilyGo_OOK_RxBw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Tuning/LilyGo_OOK_RxBw_230.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
28 changes: 28 additions & 0 deletions Tuning/Tuning.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# OOK Tuning

As part of 5.x release I put a LilyGo board I have thru some testing to see if tweaking the `knobs` may dramatically impact signal reception.

I twisted the knobs on 2 settings, Bitrate and Rx Bandwidth, and ran two series of tests with each setting, to see what the impact was.

## BitRate

This was a test of the BitRate setting, stepping by 0.1 from 1 to 32.7.
![LilyGo OOK BitRate](LilyGo_OOK_BitRate.png)

This a deeper look at reception around 14, stepping by 0.01

![LilyGo OOK BitRate 14](LilyGo_OOK_BitRate_14.png)

Highest count was at 2.4, with an average of 43.00 signals received. Current setting is 1.2, so 2.4 is a doubling of the existing.

## Rx Bandwidth

This was a test of the Rx Bandwidth Setting, stepping by 5 from 5 to 250.

![LilyGo OOK RxBw](LilyGo_OOK_RxBw.png)

This is a deeper look at the reception around 230, stepping by 1 from 210 to 250.

![LilyGo OOK RxBw 230](LilyGo_OOK_RxBw_230.png)

Highests count was at 230, with an average of 39.38 signals received. Current setting is 250, so 230 is a minor improvement.
32 changes: 32 additions & 0 deletions Tuning/average.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

# Check if input file is provided
if [ $# -ne 1 ]; then
echo "Usage: $0 <input_file>"
exit 1
fi

input_file="$1"

# Check if file exists
if [ ! -f "$input_file" ]; then
echo "Error: File '$input_file' not found"
exit 1
fi

# Use awk to process the file and calculate averages per setRxBandwidth
awk '
/Finished/ {
split($3, bw_arr, ",")
setting=$2
bandwidth = bw_arr[1]
count = $NF
sum[bandwidth] += count
num[bandwidth]++
}
END {
for (bw in sum) {
avg = sum[bw] / num[bw]
printf "%s, %.2f,%.2f\n", setting, bw, avg
}
}' "$input_file" | sort +1n
Binary file added Tuning/rtl_433_ESP_LilyGO_OOK_Tuning.numbers
Binary file not shown.
Loading