Skip to content

Commit db2cc26

Browse files
authored
Update docs (#21)
1 parent 499032e commit db2cc26

File tree

3 files changed

+39
-32
lines changed

3 files changed

+39
-32
lines changed

.github/workflows/push-master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
- name: Create draft release
7979
uses: softprops/action-gh-release@v1
8080
with:
81-
name: HyperSerialEsp8266 ${{ env.VERSION }}
81+
name: HyperSerialESP32 ${{ env.VERSION }}
8282
tag_name: ${{ env.TAG }}
8383
files: |
8484
*.bin

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 awawa-dev
3+
Copyright (c) 2023 awawa-dev
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RGB to RGBW conversion is calibrated for the neutral white channel BTF SK6812 bu
1818

1919
# Example of supported boards
2020

21-
**ESP32 MH-ET Live (CP2104 or CH9102x: for Windows you may need CH343CDC driver from *wch* website) and ESP32-S2 Lolin mini (CDC)**
21+
**ESP32 MH-ET Live (CP2104 or CH9102x: 4Mb speed) and ESP32-S2 Lolin mini (CDC: 5Mb speed)**
2222
<p align="center">
2323
<img src="https://user-images.githubusercontent.com/69086569/207587620-1c4c53c8-426c-486e-a6d9-d429fd1b050d.png" /><img src="https://user-images.githubusercontent.com/69086569/207587635-b7816329-0e29-47ee-a75a-bc6c41cdc51f.png" />
2424
</p>
@@ -31,7 +31,7 @@ Why the data integrity check was introduced which causes incompatibility with ot
3131

3232
Recommend to use [esphome-flasher](https://github.com/esphome/esphome-flasher/releases)
3333

34-
ESP32-S2 lolin mini requires special firmware version (also provided)
34+
ESP32-S2 lolin mini requires using `esptool.py` to flash the firmware.
3535

3636
Generic ESP32:
3737

@@ -48,11 +48,18 @@ If you want to disable your first LED because it's used as a sacrificial level s
4848
For the RGBW firmware the white channel is automatically calculated and R,G,B channels are corrected.
4949

5050
# Usage in HyperHDR
51+
52+
**In HyperHDR `Image Processing→Smoothing→Update frequency` you should do not exceed the maximum capacity of the device. Read more here: [how to get statistics](https://github.com/awawa-dev/HyperHDR/wiki/HyperSerial)**
53+
54+
To test the maximum performance in HyperHDR, enable `Image Processing→Smoothing→Continuous output`, set a high value for `Update Frequency` in the same tab and set any color in the `Remote Control` tab as the active effect. Get the statistics and optionally adjust `Update Frequency`. After testing, you need to disable `Continuous output`and set `Update frequency`" according to your results.
5155

52-
Make sure you are using HyperHDR v19beta2 or above.
53-
Set `Refresh time` to zero, `Baudrate` to 2000000 and you enabled `HyperHDR's AWA protocol`.
56+
Configuring HyperHDR v19beta2 or above.
57+
- set `Refresh time` to zero
58+
- set `Baudrate` to 2000000
59+
- enabled `HyperHDR's AWA protocol`.
60+
5461
Enabling `White channel calibration` is optional, if you want to fine tune the white channel balance of your sk6812 RGBW LED strip.
55-
`ESP8266/ESP32 handshake` could help you to properly initialize the ESP device and enables statistics available in the logs (you must stop the LED device first to get them).
62+
`ESP8266/ESP32 handshake` could help you to properly initialize the ESP device and enables statistics output to the logs (you must stop the LED device first to get them).
5663

5764
![obraz](https://user-images.githubusercontent.com/69086569/207109594-0493fe58-3530-46bb-a0a3-31a110475ed6.png)
5865

@@ -75,10 +82,10 @@ Tutorial: https://github.com/awawa-dev/HyperSerialESP32/wiki
7582

7683
# Multi-Segment Wiring
7784

78-
Proposed example of building a multisegment:
85+
Using parallel multi-segment allows you to double your Neopixel (e.g. sk6812 RGBW) LED strip refresh rate by dividing it into two smaller equal parts. Both smaller segments are perfectly in sync so you don't need to worry about it. Proposed example of building a multisegment:
7986
- Divide a long or dense strip of LEDs into 2 smaller equal parts. So `SECOND_SEGMENT_START_INDEX` in the HyperSerialESP32 firmware is the total number of LEDs divided by 2.
8087
- Build your first segment traditional way e.g. clockwise, so it starts somewhere in middle of the bottom of frame/TV and ends in the middle of the top of frame/TV
81-
- Start the second segment in the opposite direction to the first one e.g. counterclockwise (`SECOND_SEGMENT_REVERSED` option in the HyperSerialESP32 firmware configuration must be enabled). So it starts somewhere in the middle of the bottom of the frame/TV and ends in the middle of the top of the TV/frame. Both segments should be connected at the top but only 5v and ground ( NOT the data line).
88+
- Start the second segment in the opposite direction to the first one e.g. counterclockwise (`SECOND_SEGMENT_REVERSED` option in the HyperSerialESP32 firmware configuration must be enabled). So it starts somewhere in the middle of the bottom of the frame/TV and ends in the middle of the top of the TV/frame. Both segments could be optionally connected if possible at the top but only 5v and ground ( NOT the data line).
8289
- The data line starts for both segments somewhere in the middle of the bottom of the TV/frame (where each of the LED strips starts)
8390
- Configuration in HyperHDR does not change! It's should be configured as one, single continues segment. All is done in HyperSerialESP32 firmware transparently and does not affect LED strip configuration in HyperHDR.
8491

@@ -102,35 +109,35 @@ build_flags = -DNEOPIXEL_RGB -DDATA_PIN=2 ${env.build_flags} -DSECOND_SEGMENT_ST
102109

103110
ESP32 MH-ET LIVE mini is capable of 4Mb serial port speed and ESP32-S2 lolin mini is capable of 5Mb. But to give equal chances for a single-segment mode all models were tested using the default speed of 2Mb which should saturate Neopixel data line. Parallel multi-segment mode uses the highest option available because communication performance is critical here.
104111

105-
## Parallel multi-segments can double your large sk6812/ws2812b setup refresh rate for free. All you need is to properly project & construct the LED strip and use HyperSerialESP32 v9. Parallel communication provides perfect synchronization between Neopixel segments.
112+
**Parallel multi-segments can double your large sk6812/ws2812b setup refresh rate for free. All you need is to properly project & construct the LED strip and use HyperSerialESP32 v9. Parallel communication provides perfect synchronization between Neopixel segments.**
106113

107-
| LED strip / Device | ESP32<br>MH-ET LIVE mini @ 4Mb speed | ESP32-S2<br> Lolin mini @ 5Mb speed |
108-
|-----------------------------------------------------------------------------------------|--------------------------|------------------------------|
109-
| 300LEDs sk6812<br>Refresh rate/continues output=100Hz<br>SECOND_SEGMENT_START_INDEX=150 | 100 | 100 |
110-
| 600LEDs sk6812<br>Refresh rate/continues output=100Hz<br>SECOND_SEGMENT_START_INDEX=300 | 83 | 82 |
111-
| 900LEDs sk6812<br>Refresh rate/continues output=**60Hz** <br>SECOND_SEGMENT_START_INDEX=450 | 54-56 | 55-56 |
114+
| Parallel multi-segment mode / Device | ESP32<br> MH-ET LIVE mini @ 4Mb speed | ESP32-S2<br> Lolin mini @ 5Mb speed |
115+
|---------------------------------------------------------------------------------------|--------------------------|------------------------------|
116+
| 300LEDs RGBW<br>Refresh rate/continues output=100Hz<br>SECOND_SEGMENT_START_INDEX=150 | 100 | 100 |
117+
| 600LEDs RGBW<br>Refresh rate/continues output=83Hz <br>SECOND_SEGMENT_START_INDEX=300 | 83 | 83 |
118+
| 900LEDs RGBW<br>Refresh rate/continues output=55Hz <br>SECOND_SEGMENT_START_INDEX=450 | 55 | 55 |
112119

113-
## Comparing v6.1 and v9 version (single segment) refresh rate using MH-ET LIVE mini
120+
## ESP32 MH-ET LIVE mini
114121

115-
| LED strip / Device | ESP32<br>MH-ET LIVE mini<br>HyperSerialESP32 v6.1 | ESP32<br>MH-ET LIVE mini<br>HyperSerialESP32 v9 |
116-
|------------------------------------------------|---------------------------------------------------|-------------------------------------------------|
117-
| 300LEDs<br>Refresh rate/continues output=100Hz | 81-83 | 83 |
118-
| 600LEDs<br>Refresh rate/continues output=60Hz | 39-40 | 41-42 |
119-
| 900LEDs<br>Refresh rate/continues output=40Hz | 21-26 | 28 |
122+
| Single RGBW LED strip / Device | ESP32<br>MH-ET LIVE mini<br>HyperSerialESP32 v9 |
123+
|-----------------------------------------------------|-------------------------------------------------|
124+
| 300LEDs RGBW<br>Refresh rate/continues output=83Hz | 83 |
125+
| 600LEDs RGBW<br>Refresh rate/continues output=42Hz | 42 |
126+
| 900LEDs RGBW<br>Refresh rate/continues output=28Hz | 28 |
120127

121-
## Comparing v6.1 and v8 version (single segment) refresh rate using generic ESP32 with CH340C
128+
## Generic ESP32 with CH340C
122129

123-
| LED strip / Device | ESP32 (CH340C)<br>HyperSerialESP32 v6.1 | ESP32 (CH340C)<br>HyperSerialESP32 v8 |
124-
|------------------------------------------------|-----------------------------------------|---------------------------------------|
125-
| 300LEDs<br>Refresh rate/continues output=100Hz | 72-78 | 81-83 |
126-
| 600LEDs<br>Refresh rate/continues output=60Hz | 33-38 | 39-42 |
127-
| 900LEDs<br>Refresh rate/continues output=40Hz | 21-25 | 26-28 |
130+
| Single RGBW LED strip / Device | ESP32 (CH340C)<br>HyperSerialESP32 v9 |
131+
|-----------------------------------------------------|---------------------------------------|
132+
| 300LEDs RGBW<br>Refresh rate/continues output=83Hz | 83 |
133+
| 600LEDs RGBW<br>Refresh rate/continues output=42Hz | 42 |
134+
| 900LEDs RGBW<br>Refresh rate/continues output=28Hz | 28 |
128135

129136
## ESP32-S2 lolin mini performance
130137

131-
| LED strip / Device | ESP32-S2 lolin mini<br>HyperSerialESP32 v8 |
132-
|------------------------------------------------|--------------------------------------------|
133-
| 300LEDs<br>Refresh rate/continues output=100Hz | 80-84 |
134-
| 600LEDs<br>Refresh rate/continues output=60Hz | 42 |
135-
| 900LEDs<br>Refresh rate/continues output=40Hz | 27-28 |
138+
| Single RGBW LED strip / Device | ESP32-S2 lolin mini<br>HyperSerialESP32 v9 |
139+
|-----------------------------------------------------|---------------------|
140+
| 300LEDs RGBW<br>Refresh rate/continues output=83Hz | 83 |
141+
| 600LEDs RGBW<br>Refresh rate/continues output=42Hz | 42 |
142+
| 900LEDs RGBW<br>Refresh rate/continues output=28Hz | 28 |
136143

0 commit comments

Comments
 (0)