2c5c41026bdcf08bc99fa0637dbf62cec85458af
Network-dat/2025-06-19-14-15-30.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-06-19-14-15-30.png differ |
Network-dat/2025-06-19-14-31-06.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-06-19-14-31-06.png differ |
Network-dat/2025-06-19-14-31-48.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-06-19-14-31-48.png differ |
Network-dat/2025-06-19-14-32-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-06-19-14-32-05.png differ |
Network-dat/2025-06-19-14-32-24.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-06-19-14-32-24.png differ |
Network-dat/2025-07-30-16-42-39.png
| ... | ... | Binary files /dev/null and b/Network-dat/2025-07-30-16-42-39.png differ |
Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-32.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-32.png differ |
Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-50.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-50.png differ |
Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-45-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-45-05.png differ |
Network-dat/Bluetooth-dat/BLE-dat/BLE-dat.md
| ... | ... | @@ -0,0 +1,60 @@ |
| 1 | + |
|
| 2 | +# BLE-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +### Mobile Apps for BLE Debugging |
|
| 7 | + |
|
| 8 | +### iOS Apps |
|
| 9 | + |
|
| 10 | +For iPhone users, you can download the following software for debugging: |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +### Android Apps |
|
| 15 | + |
|
| 16 | +For Android devices, you can directly install the following apps: |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +- [[BLE蓝牙调试助手.apk.1]] - [[BT-Connect.apk]] |
|
| 21 | + |
|
| 22 | +## BLE Operations Guide |
|
| 23 | + |
|
| 24 | +### Reading and Writing Bluetooth Data |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +### Connection Process |
|
| 29 | + |
|
| 30 | +1. **Auto Connection:** Click on the Bluetooth device name to automatically connect |
|
| 31 | + |
|
| 32 | +2. **Custom Characteristic Access:** |
|
| 33 | + - Click on "Custom Characteristic" |
|
| 34 | + - Click the **Read** button to read user-defined values |
|
| 35 | + - After writing data, read it back to verify the written values |
|
| 36 | + |
|
| 37 | +### Usage Steps |
|
| 38 | + |
|
| 39 | +1. Connect to the BLE device by tapping its name |
|
| 40 | +2. Navigate to "Custom Characteristic" section |
|
| 41 | +3. Use **Read** function to retrieve custom values |
|
| 42 | +4. Use **Write** function to send data |
|
| 43 | +5. **Verify** by reading back the written values BLE Tool |
|
| 44 | + |
|
| 45 | +- nRF Toolbox for Bluetooth LE - nrf52840 - https://play.google.com/store/apps/details?id=no.nordicsemi.android.nrftoolbox&hl=en_US |
|
| 46 | + |
|
| 47 | +- nRF Connect for Mobile |
|
| 48 | + |
|
| 49 | +- https://play.google.com/store/apps/dev?id=7265678888812659353&hl=en_US |
|
| 50 | + |
|
| 51 | +- [[JDY-dat]] - [[JDY-25M-dat]] |
|
| 52 | + |
|
| 53 | +- Wireshark |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | + |
|
| 58 | +## ref |
|
| 59 | + |
|
| 60 | +- [[antenna-design-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/Bluetooth-dat/BLE-dat/BLE\350\223\235\347\211\231\350\260\203\350\257\225\345\212\251\346\211\213.apk.1
| ... | ... | Binary files /dev/null and "b/Network-dat/Bluetooth-dat/BLE-dat/BLE\350\223\235\347\211\231\350\260\203\350\257\225\345\212\251\346\211\213.apk.1" differ |
Network-dat/Bluetooth-dat/BLE-dat/BT-Connect.apk
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/BLE-dat/BT-Connect.apk differ |
Network-dat/Bluetooth-dat/bluetooth-dat.md
| ... | ... | @@ -0,0 +1,74 @@ |
| 1 | + |
|
| 2 | +# bluetooth-dat |
|
| 3 | + |
|
| 4 | +- [[bt-audio-dat]] |
|
| 5 | + |
|
| 6 | +- [[bt-debug-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## boards |
|
| 12 | + |
|
| 13 | +- [[NBL1064-dat]] == [Bluetooth IO Control Board EDR 2.0, BLK_IO](https://www.electrodragon.com/product/bluetooth-io-control-board-edr-2-0-blk_io/) |
|
| 14 | + |
|
| 15 | +- [[NBL1101-dat]] == [JDY-25M Bluetooth 5.0 BLE5.0 Mesh Networking Module](https://www.electrodragon.com/product/jdy-25m-bluetooth-5-0-ble5-0-mesh-networking-module/) |
|
| 16 | + |
|
| 17 | +- [[NBL1107-dat]] == [BLE 5.0 Mesh Sensor Node Mini Board Mesh-Node](https://www.electrodragon.com/product/ble-5-0-mesh-sensor-node-mini-board-mesh-node/) |
|
| 18 | + |
|
| 19 | +## Mode |
|
| 20 | + |
|
| 21 | +Host: used to search for slave devices and cannot be searched by other devices. (Bluetooth module with white dot) |
|
| 22 | + |
|
| 23 | +Slave machine: The device used to be searched, and cannot actively search for other devices. |
|
| 24 | + |
|
| 25 | +After the master and slave are connected, it is used as a serial port line. At this time, the master and slave are not distinguished, which is the transparent transmission mode. |
|
| 26 | + |
|
| 27 | +[This module can be set as a master or a slave. The master can pair and communicate with the slave. There cannot be communication between slaves and slaves or between the master and the host. The slave can communicate with computers, mobile phones, etc. via Bluetooth. The default when purchasing is slave] |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## BT Types |
|
| 31 | + |
|
| 32 | +### classical bluetooth |
|
| 33 | + |
|
| 34 | +board - [[NBL1018-dat]] - [[NBL1057-dat]] |
|
| 35 | +module - [[NBL1012-dat]] - [[NBL1022-dat]] |
|
| 36 | + |
|
| 37 | +demo video |
|
| 38 | +- [new video](https://www.youtube.com/watch?v=d3qrE-TmKoE&ab_channel=Electrodragon) |
|
| 39 | +- [old video](https://www.youtube.com/watch?v=CmMGhHMciu8) |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | +### BT4.0 |
|
| 44 | + |
|
| 45 | +- [[NBL1060-dat]] - [[NBL1061-dat]] |
|
| 46 | + |
|
| 47 | +### BT5.0 |
|
| 48 | + |
|
| 49 | +### Bluetooth Mesh |
|
| 50 | + |
|
| 51 | + |
|
| 52 | +### audio bluetooth |
|
| 53 | + |
|
| 54 | +- [[NBL1055-dat]] - [[NBL1089-dat]] |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## phone APPs |
|
| 58 | + |
|
| 59 | +- BlueSPP |
|
| 60 | +- nRF connect |
|
| 61 | + |
|
| 62 | +## APPs |
|
| 63 | + |
|
| 64 | +- [[iBeacon-dat]] |
|
| 65 | + |
|
| 66 | + |
|
| 67 | +## Chip |
|
| 68 | + |
|
| 69 | +- [[TI-network-dat]] - [[nordic-dat]] |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +## ref |
|
| 73 | + |
|
| 74 | +- [[bluetooth]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/Bluetooth-dat/bt-audio-dat/bt-audio-dat.md
| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | + |
|
| 2 | +# bt-audio-dat |
|
| 3 | + |
|
| 4 | +## boards |
|
| 5 | + |
|
| 6 | +- [[NBL1037-dat]] - [[NBL1038-dat]] - [[NBL1097-dat]] |
|
| 7 | + |
|
| 8 | +- [[NBL1111-dat]] - [[NBL1115-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## decodec board |
|
| 12 | + |
|
| 13 | +- [[AMP1006-dat]] |
|
| 14 | + |
|
| 15 | +## CS64215 |
|
| 16 | + |
|
| 17 | +- [[CSR64215-dat]] - [[NBL1083-dat]] - [[NBL1084-dat]] - [[NBL1084-dat]] |
|
| 18 | + |
|
| 19 | +- https://www.electrodragon.com/product/csra64215-breakout-board-version/ |
|
| 20 | + |
|
| 21 | +## chip compare |
|
| 22 | + |
|
| 23 | +| Chip Model | Manufacturer | Ver. | aptX | Codec | Power Efficiency | Lifetime Status | Notable Features | Ideal Use Case | |
|
| 24 | +| --------------- | ------------------- | ---- | ------------- | --------------------------- | ---------------- | --------------- | ---------------------------------------------- | ---------------------------- | |
|
| 25 | +| CSR64215 | [[Qualcomm-dat]] | 4.2 | Yes | SBC, AAC, aptX | High | EOL | Low power, high-quality audio | Wireless audio devices | |
|
| 26 | +| QCC3031 | [[Qualcomm-dat]] | 5.0 | Yes (aptX HD) | SBC, AAC, aptX HD | High | Active | Advanced Bluetooth audio, low-power design | Bluetooth audio products | |
|
| 27 | +| QCC5181 | [[Qualcomm-dat]] | 5.2 | Yes (aptX HD) | SBC, AAC, aptX HD, LE Audio | Very High | Active | TrueWireless Mirroring, LE Audio support | Modern Bluetooth headphones | |
|
| 28 | +| CSR8675 | [[Qualcomm-dat]] | 4.2 | Yes (aptX HD) | SBC, AAC, aptX HD | Moderate | Active | aptX HD, premium audio features | High-end headphones/speakers | |
|
| 29 | +| CSR8645 | [[Qualcomm-dat]] | 4.0 | Yes | SBC, AAC, aptX | Moderate | EOL | Mid-range audio support | Affordable audio devices | |
|
| 30 | +| CSR8635 | [[Qualcomm-dat]] | 4.0 | Yes | SBC, AAC, aptX | Moderate | EOL | Budget-friendly with aptX | Low-cost audio solutions | |
|
| 31 | +| QCC3003/QCC3008 | [[Qualcomm-dat]] | 5.0 | Yes | SBC, AAC, aptX, TWS+ | Very High | Active | TrueWireless Stereo, low power | Modern Bluetooth audio | |
|
| 32 | +| nRF52832 | [[Nordic-dat]] | 5.0 | No | SBC | High | Active | Low-energy profile, flexible for IoT and audio | IoT and general Bluetooth | |
|
| 33 | +| CC2564C | [[TI-bt-audio-dat]] | 4.1 | No | SBC | Moderate | Active | Dual-mode (Classic + Low Energy) | IoT and audio solutions | |
|
| 34 | +| ATS2825 | Actions Semi | 5.0 | No | SBC | High | Active | Cost-effective, supports basic audio | Budget Bluetooth devices | |
|
| 35 | +| RTL8763B | [[Realtek-dat]] | 5.0 | No | SBC, AAC | High | Active | Low latency, reliable for TWS earbuds | True Wireless Earbuds | |
|
| 36 | +| [[BK8000-dat]] | [[beken-dat]] | |
|
| 37 | +| [[BK3266-dat]] | [[beken-dat]] | 5.0 | |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## chip solutions |
|
| 41 | + |
|
| 42 | +- [[qualcomm-dat]] - [[Nordic-dat]] - [[TI-bt-audio-dat]] - [[Dialog-dat]] |
|
| 43 | + |
|
| 44 | +CN - [[Actions-Semi-dat]] - [[RDA-dat]] - [[Beken-dat]] - [[jieli-dat]] |
|
| 45 | +asia - [[airoha-dat]] - [[Realtek-dat]] |
|
| 46 | + |
|
| 47 | +## bluetooth 5.0 |
|
| 48 | + |
|
| 49 | +Bluetooth 5.0 does support longer range but with a 10 meters range this solution clearly does not take advantage of this new feature. Bluetooth 5 announcement did not include any specific about audio improvement, So I had a look at a Bluetooth 5 paper, and audio is mentioned three times: |
|
| 50 | + |
|
| 51 | +- Bluetooth 5 introduces the ability to perform periodic data to be broadcast, it’s possible to chain packets and deterministic advertising, which allows scanners together and for each packet to contain a different to synchronicity their scanning for packets with the subset of the whole data set. Schedule of the advertising device. This can be a more power-efficient way to perform scanning and is also likely to pave the way for new uses of Bluetooth LE in connection-less scenarios, such as audio applications |
|
| 52 | +- The Bluetooth 4 channel selection algorithm used in frequency hopping produced only 12 distinct sequences of channels and all packets in a given connection event would use the same channel, which is not optimal for some applications, such as audio. Bluetooth 5 introduced a new channel selection algorithm called channel selection algorithm #2. Hopping sequences are now pseudo random and the distinct sequences which are possible are very large. |
|
| 53 | +- Bluetooth’s advertising extensions feature will pave the way for next-generation beacons, advanced audio applications and more. |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## ref |
|
| 58 | + |
|
| 59 | +- [[I2S-dat]] - [[Analog-audio-dat]] - [[TP6132-dat]] |
|
| 60 | + |
|
| 61 | +- [[NBL1050-dat]] - [[NBL1054-dat]] - [[NBL1055-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/Bluetooth-dat/bt-debug-dat/2025-08-19-16-29-22.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/bt-debug-dat/2025-08-19-16-29-22.png differ |
Network-dat/Bluetooth-dat/bt-debug-dat/bt-debug-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# bt-debug-dat |
|
| 3 | + |
|
| 4 | +https://gitee.com/xie-rongji/bt_mcu |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## ref |
|
| 11 | + |
|
| 12 | +- [[bluetooth-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/Bluetooth-dat/bt4.0-dat/bt4.0-dat.md
| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | + |
|
| 2 | +# bt4.0-dat |
|
| 3 | + |
|
| 4 | +- [[NBL1060-dat]] - [[NBL1061-dat]] |
|
| 5 | + |
Network-dat/Bluetooth-dat/iBeacon-dat/iBeacon-dat.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | + |
|
| 2 | +# iBeacon-dat |
|
| 3 | + |
|
| 4 | +## e.g. [[JDY-25M-dat]] |
|
| 5 | + |
|
| 6 | +需要配置 iBeacon 模式,请发送 AT+ROLE3,再发 AT+RESET 重启 |
|
| 7 | +- 第一步配置 iBeacon 的 UUID:AT+IBUUID 例子:AT+IBUUIDFDA50693A4E24FB1AFCFC6EB07647825 |
|
| 8 | +- 第二步配置 iBeacon 的 MAJOR:AT+MAJOR0007 |
|
| 9 | +- 第一步配置 iBeacon 的 MINOR:AT+MINOR000A |
|
| ... | ... | \ No newline at end of file |
Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-52-35.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-52-35.png differ |
Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-53-46.png
| ... | ... | Binary files /dev/null and b/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-53-46.png differ |
Network-dat/Bluetooth-dat/mesh-node-dat/mesh-node-dat.md
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | + |
|
| 2 | +# mesh-node-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +- Relay nodes: These need to always be awake and therefore consume more power. Relay nodes function to receive and forward message packets across the network. In our lighting example, relay nodes will be mains powered, so it is unlikely they would have energy supply concerns. |
|
| 9 | +- Low-power nodes: These nodes are usually battery powered and are typically in a power-saving sleep mode for the majority of the time. |
|
| 10 | +- Friend nodes: Low-power nodes are always associated with a friend node, which stores and forwards messages according to an agreed schedule. An ambient light sensor used to control outside lights at dusk and dawn is an example of a low-power node. |
|
| 11 | +- Proxy nodes: These nodes enable non-BLE-compliant devices to connect into the mesh through the use of the Bluetooth Generic Attribute (GATT) profile interface. |
|
| ... | ... | \ No newline at end of file |
Network-dat/DTU-dat/DTU-dat.md
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +# DTU-dat |
|
| ... | ... | \ No newline at end of file |
Network-dat/IEEE-dat/IEEE-dat.md
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | + |
|
| 2 | +# IEEE-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +## 802.11 |
|
| 7 | + |
|
| 8 | +[[RTL8188-dat]] == 802.11n |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +### 802.11 Wi-Fi Standards Comparison |
|
| 12 | + |
|
| 13 | +| Standard | Wi-Fi Generation | Frequency Band(s) | Max Data Rate (Theoretical) | Max Channel Width | Key Technologies | Year Approved | |
|
| 14 | +| :------------ | :--------------- | :---------------- | :-------------------------- | :---------------- | :------------------------------------------ | :------------ | |
|
| 15 | +| 802.11 | Legacy | 2.4 GHz | 2 Mbps | 22 MHz | DSSS, FHSS | 1997 | |
|
| 16 | +| 802.11b | Legacy | 2.4 GHz | 11 Mbps | 22 MHz | DSSS | 1999 | |
|
| 17 | +| 802.11a | Legacy | 5 GHz | 54 Mbps | 20 MHz | OFDM | 1999 | |
|
| 18 | +| 802.11g | Legacy | 2.4 GHz | 54 Mbps | 20 MHz | OFDM | 2003 | |
|
| 19 | +| **802.11n** | **Wi-Fi 4** | 2.4 / 5 GHz | 600 Mbps | 40 MHz | OFDM, MIMO | 2009 | |
|
| 20 | +| **802.11ac** | **Wi-Fi 5** | 5 GHz | 6.9 Gbps | 160 MHz | OFDM, MIMO, MU-MIMO (Downlink) | 2014 | |
|
| 21 | +| **802.11ax** | **Wi-Fi 6** | 2.4 / 5 GHz | 9.6 Gbps | 160 MHz | OFDMA, MU-MIMO (Up/Down), TWT, BSS Coloring | 2019 | |
|
| 22 | +| **802.11ax** | **Wi-Fi 6E** | 2.4 / 5 / 6 GHz | 9.6 Gbps | 160 MHz | Adds 6 GHz band operation to Wi-Fi 6 | 2020 | |
|
| 23 | +| **802.11be** | **Wi-Fi 7** | 2.4 / 5 / 6 GHz | ~46 Gbps | 320 MHz | OFDMA enhancements, MLO, Advanced MU-MIMO | 2024 | |
|
| 24 | +| **802.11ah** | **Wi-Fi HaLow** | Sub-1 GHz | 347 Mbps | 16 MHz | OFDM, Long Range, Low Power, IoT Focused | 2016 |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +**Notes:** |
|
| 28 | + |
|
| 29 | +* **Max Data Rate:** These are theoretical maximums under ideal conditions with the highest configurations (e.g., maximum spatial streams, highest modulation). Real-world speeds are typically lower. |
|
| 30 | +* **Key Technologies:** |
|
| 31 | + * **DSSS:** Direct-Sequence Spread Spectrum |
|
| 32 | + * **FHSS:** Frequency-Hopping Spread Spectrum |
|
| 33 | + * **OFDM:** Orthogonal Frequency-Division Multiplexing |
|
| 34 | + * **MIMO:** Multiple-Input Multiple-Output (using multiple antennas) |
|
| 35 | + * **MU-MIMO:** Multi-User MIMO (allows simultaneous communication with multiple devices) |
|
| 36 | + * **OFDMA:** Orthogonal Frequency-Division Multiple Access (divides channel for multiple users) |
|
| 37 | + * **TWT:** Target Wake Time (improves battery life for IoT devices) |
|
| 38 | + * **BSS Coloring:** Reduces interference between neighboring networks |
|
| 39 | + * **MLO:** Multi-Link Operation (aggregates multiple bands/channels) |
|
| 40 | +* **Wi-Fi 6E:** Extends Wi-Fi 6 capabilities into the less congested 6 GHz band. |
|
| 41 | +* **Wi-Fi 7:** The newest standard, focusing on extremely high throughput, lower latency, and improved reliability, particularly for demanding applications like AR/VR and cloud gaming. |
|
| 42 | +* |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +## general |
|
| 47 | + |
|
| 48 | +IEEE standards are technical guidelines and specifications developed by the Institute of Electrical and Electronics Engineers (IEEE). These standards ensure compatibility, safety, and interoperability for a wide range of technologies, including networking, electronics, telecommunications, and power systems. |
|
| 49 | + |
|
| 50 | +Some well-known IEEE standards include: |
|
| 51 | +- **IEEE 802.3** (Ethernet) |
|
| 52 | +- **IEEE 802.11** (WiFi) |
|
| 53 | +- **IEEE 754** (Floating-point arithmetic) |
|
| 54 | + |
|
| 55 | +IEEE standards are widely adopted globally and play a crucial role in advancing technology and ensuring devices from different manufacturers work together |
|
| ... | ... | \ No newline at end of file |
Network-dat/Infrared-dat/2024-12-20-18-08-22.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/2024-12-20-18-08-22.png differ |
Network-dat/Infrared-dat/2025-02-18-17-05-16.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/2025-02-18-17-05-16.png differ |
Network-dat/Infrared-dat/IR-rover-rc.ino
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | + |
|
| 2 | +/* |
|
| 3 | + * IRRemote 红外遥控码测试 |
|
| 4 | + * 範例 1.2: 顯示紅外線協定種類,如 NEC, Sony SIRC, Philips RC5, Philips RC6 等協定 |
|
| 5 | + */ |
|
| 6 | +#include <IRremote.h> // 引用 IRRemote 函式庫 |
|
| 7 | +const int irReceiverPin = 2; // 紅外線接收器 OUTPUT 訊號接在 pin 2 |
|
| 8 | +IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 9 | +decode_results results; // 解碼結果將放在 decode_results 結構的 result 變數裏 |
|
| 10 | +void setup() |
|
| 11 | +{ |
|
| 12 | + Serial.begin(9600); // 開啟 Serial port, 通訊速率為 9600 bps |
|
| 13 | + irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 14 | +} |
|
| 15 | +// 顯示紅外線協定種類 |
|
| 16 | +void showIRProtocol(decode_results *results) |
|
| 17 | +{ |
|
| 18 | + Serial.print("Protocol: "); |
|
| 19 | + |
|
| 20 | + // 判斷紅外線協定種類 |
|
| 21 | + switch(results->decode_type) { |
|
| 22 | + case NEC: |
|
| 23 | + Serial.print("NEC"); |
|
| 24 | + break; |
|
| 25 | + case SONY: |
|
| 26 | + Serial.print("SONY"); |
|
| 27 | + break; |
|
| 28 | + case RC5: |
|
| 29 | + Serial.print("RC5"); |
|
| 30 | + break; |
|
| 31 | + case RC6: |
|
| 32 | + |
|
| 33 | + Serial.print("RC6"); |
|
| 34 | + break; |
|
| 35 | + default: |
|
| 36 | + Serial.print("Unknown encoding"); |
|
| 37 | + } |
|
| 38 | + // 把紅外線編碼印到 Serial port |
|
| 39 | + Serial.print(", irCode: "); |
|
| 40 | + Serial.print(results->value, HEX); // 紅外線編碼 |
|
| 41 | + Serial.print(", bits: "); |
|
| 42 | + Serial.println(results->bits); // 紅外線編碼位元數 |
|
| 43 | +} |
|
| 44 | +void loop() |
|
| 45 | +{ |
|
| 46 | + if (irrecv.decode(&results)) { // 解碼成功,收到一組紅外線訊號 |
|
| 47 | + showIRProtocol(&results); // 顯示紅外線協定種類 |
|
| 48 | + irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 49 | + } |
|
| 50 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/Infrared-dat/Infrared-dat.md
| ... | ... | @@ -0,0 +1,59 @@ |
| 1 | + |
|
| 2 | +# Infrared |
|
| 3 | + |
|
| 4 | +- [[infrared-reflective-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## APP |
|
| 9 | + |
|
| 10 | +- [[IR-distance-measurer-dat]] - [[line-finder-dat]] |
|
| 11 | + |
|
| 12 | +## Boards |
|
| 13 | + |
|
| 14 | +- [[SIR1008-dat]] |
|
| 15 | + |
|
| 16 | +arduino shield - [[DAS1013-dat]] |
|
| 17 | + |
|
| 18 | +controller - [[SIR1003-dat]] |
|
| 19 | + |
|
| 20 | +## RPI-SCH |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +- Note RPI signal input better at 3V3 |
|
| 27 | +- refer to board [[MPC1098-dat]] |
|
| 28 | + |
|
| 29 | +legacy wiki page - [Infrared for RPI](https://www.electrodragon.com/w/index.php?title=RPI_IR&redirect=no) |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## BOM |
|
| 33 | + |
|
| 34 | +- [[infrared-receiver-dat]] - [[infrared-sender-dat]] |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | +## Tutos |
|
| 40 | + |
|
| 41 | +- http://electrodragon.com/?p=1219 |
|
| 42 | + |
|
| 43 | +## Demo code |
|
| 44 | + |
|
| 45 | +- https://github.com/Edragon/Infrared |
|
| 46 | + |
|
| 47 | +- [[IR-rover-rc.ino]] |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## ref |
|
| 51 | + |
|
| 52 | +- [[infrared-dat]] |
|
| 53 | + |
|
| 54 | +- [Article 2 about IRremote](http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html) |
|
| 55 | + |
|
| 56 | +- [How to receive and send](http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html) |
|
| 57 | + |
|
| 58 | +- [IRremote Library](https://github.com/shirriff/Arduino-IRremote) |
|
| 59 | + |
Network-dat/Infrared-dat/infrared-receiver/2023-10-31-17-25-13.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2023-10-31-17-25-13.png differ |
Network-dat/Infrared-dat/infrared-receiver/2023-12-29-16-18-12.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2023-12-29-16-18-12.png differ |
Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-55-47.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-55-47.png differ |
Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-58-41.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-58-41.png differ |
Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-59-58.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-59-58.png differ |
Network-dat/Infrared-dat/infrared-receiver/2024-01-04-17-00-32.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-17-00-32.png differ |
Network-dat/Infrared-dat/infrared-receiver/2024-12-03-18-12-48.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2024-12-03-18-12-48.png differ |
Network-dat/Infrared-dat/infrared-receiver/2025-03-06-23-14-42.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/2025-03-06-23-14-42.png differ |
Network-dat/Infrared-dat/infrared-receiver/GP1UX31QS.pdf
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-receiver/GP1UX31QS.pdf differ |
Network-dat/Infrared-dat/infrared-receiver/infrared-receiver-dat.md
| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | + |
|
| 2 | +# infrared-receiver |
|
| 3 | + |
|
| 4 | +## Common Types |
|
| 5 | + |
|
| 6 | +### 0038 |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +### 0038-2 |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +### HX1838 |
|
| 15 | + |
|
| 16 | +- HX1838 SCH |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +Internal diagram of HX1838 |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +### GP1UX31QS - HS0038 |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +- DS - [[GP1UX31QS.pdf]] |
|
| 29 | + |
|
| 30 | +### Vishay |
|
| 31 | + |
|
| 32 | +TSOP22.., TSOP24.., TSOP48.., TSOP44.. |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +## Params |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## Circuits |
|
| 41 | + |
|
| 42 | +### connecting to RPI |
|
| 43 | + |
|
| 44 | +- connect or disconnect SJ1 to RPI |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + |
|
| 52 | +## ref |
|
| 53 | + |
|
| 54 | +- [[infrared-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-54-49.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-54-49.png differ |
Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-55-09.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-55-09.png differ |
Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-58-28.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-58-28.png differ |
Network-dat/Infrared-dat/infrared-sender/2025-03-06-23-27-43.png
| ... | ... | Binary files /dev/null and b/Network-dat/Infrared-dat/infrared-sender/2025-03-06-23-27-43.png differ |
Network-dat/Infrared-dat/infrared-sender/infrared-sender-dat.md
| ... | ... | @@ -0,0 +1,66 @@ |
| 1 | + |
|
| 2 | +# infrared-sender-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +## 5mm 940nm common IR sender |
|
| 7 | + |
|
| 8 | +Wavelength: 940nm |
|
| 9 | + |
|
| 10 | +Transmission range: This component is an infrared emission tube. |
|
| 11 | + |
|
| 12 | +The emission range is directly related to the sensitivity of the emission drive circuit and reception, so the emission range does not belong to its attributes. |
|
| 13 | + |
|
| 14 | +The empirical value range of this emission tube installed on the remote control is 10m. |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +Features |
|
| 24 | +- ◇Fast response time |
|
| 25 | +- ◇High photo sensitivity |
|
| 26 | +- ◇Small junction capacitance |
|
| 27 | +- ◇Pb free |
|
| 28 | + |
|
| 29 | +Descriptions |
|
| 30 | +- 5003MDis a high speed and high sensitive PIN |
|
| 31 | +- photodiode in a standard 5Φplastic package. |
|
| 32 | +- The device is matched to infrared emitting diode. |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +Applications |
|
| 36 | +- ◇ Infrared applied system. |
|
| 37 | +- ◇ Counters and sorters |
|
| 38 | +- ◇ Encoders |
|
| 39 | +- ◇ Floppy disk drive. |
|
| 40 | +- ◇ Optoelectronic switch |
|
| 41 | +- ◇ Video camera, Tape and card readers |
|
| 42 | +- ◇ Position sensors |
|
| 43 | + |
|
| 44 | +## Electro-Optical Characteristics (Ta=25℃) |
|
| 45 | + |
|
| 46 | +Parameter Symbol Min. TYP. Max. Unit Condition |
|
| 47 | +- Rang Of Spectral Bandwidth λ0.5 400 --- 1100 nm --- |
|
| 48 | +- Wavelength Of Peak Sensitivity λP --- 940 --- V --- |
|
| 49 | +- Open-Circuit Voltage VOC --- 0.39 --- V Ee=5mW/cm2, λp=940nm |
|
| 50 | +- Short- Circuit Current ISC --- 35 --- μA Ee=1mW/cm2, λp=940nm |
|
| 51 | +- Reverse Light Current IL 25 35 --- μA Ee=1mW/cm2, λp=940nm, VR=5V |
|
| 52 | +- Reverse Dark Current ID --- 5 30 nA Ee=0mW/cm2, VR=10V |
|
| 53 | +- Reverse Breakdown Voltage BVR 32 170 --- V Ee=0mW/cm2 |
|
| 54 | +- IR=100μA |
|
| 55 | +- Total Capacitance Ct --- 18 --- pF Ee=0mW/cm2, VR=5V, f=1MHz |
|
| 56 | +- Rise/Fall Time tr/tf --- 45/45 --- nS VR=10V, RL=1000Ω |
|
| 57 | + |
|
| 58 | + |
|
| 59 | + |
|
| 60 | +## unlisted |
|
| 61 | + |
|
| 62 | +### SMD |
|
| 63 | + |
|
| 64 | +[SFH 4441](https://www.mouser.com/datasheet/2/588/SFH_4441_EN-3561587.pdf) == Infrared Emitters Infrared 940nm |
|
| 65 | + |
|
| 66 | + |
Network-dat/IoT-dat/IoT-dat.md
| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | + |
|
| 2 | +# IoT-dat |
|
| 3 | + |
Network-dat/IoT-dat/WiFi-HaLow-dat/WiFi-HaLow-dat.md
| ... | ... | @@ -0,0 +1,38 @@ |
| 1 | + |
|
| 2 | +# WiFi-HaLow-dat |
|
| 3 | + |
|
| 4 | +## WiFi HaLow (IEEE 802.11ah) |
|
| 5 | + |
|
| 6 | +WiFi HaLow is a wireless networking standard based on IEEE 802.11ah, designed for Internet of Things (IoT) applications. It operates in the sub-1 GHz frequency bands, providing several key advantages: |
|
| 7 | + |
|
| 8 | +- **Long Range:** Coverage up to 1 kilometer, much farther than traditional WiFi. |
|
| 9 | +- **Low Power Consumption:** Optimized for battery-powered IoT devices. |
|
| 10 | +- **Better Penetration:** Signals can pass through walls and obstacles more effectively. |
|
| 11 | +- **High Device Density:** Supports thousands of devices per access point. |
|
| 12 | + |
|
| 13 | +WiFi HaLow is ideal for smart homes, industrial automation, agriculture, and other IoT scenarios where long range and low |
|
| 14 | + |
|
| 15 | +## Common and Popular WiFi HaLow Chip Solutions |
|
| 16 | + |
|
| 17 | +Several manufacturers offer WiFi HaLow (IEEE 802.11ah) chipsets and modules for IoT applications. Some of the most common and popular solutions include: |
|
| 18 | + |
|
| 19 | +- **Morse Micro MM6108 / MM6104** |
|
| 20 | + Highly integrated WiFi HaLow SoCs and modules, known for long range and low power. |
|
| 21 | + |
|
| 22 | +- **Newracom NRC7292** |
|
| 23 | + Widely used 802.11ah chipset, available as modules and reference designs. |
|
| 24 | + |
|
| 25 | +- **Silex SX-NEWAH** |
|
| 26 | + Modules based on Newracom chipsets, suitable for industrial and commercial IoT. |
|
| 27 | + |
|
| 28 | +- **Methods2Business M2B-110AH** |
|
| 29 | + 802.11ah modules and development kits for rapid prototyping. |
|
| 30 | + |
|
| 31 | +- **Alps Alpine** |
|
| 32 | + Offers WiFi HaLow modules for embedded and automotive applications. |
|
| 33 | + |
|
| 34 | +These solutions are used in smart home devices, industrial automation, agriculture, and other IoT deployments requiring long-range, low-power wireless connectivity. |
|
| 35 | + |
|
| 36 | +## ref |
|
| 37 | + |
|
| 38 | +- [[IOT-dat]] - [[ST-dat]] - [[IEEE-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/LTE-dat/50-30-13-07-03-2023.png
| ... | ... | Binary files /dev/null and b/Network-dat/LTE-dat/50-30-13-07-03-2023.png differ |
Network-dat/LTE-dat/LTE-dat.md
| ... | ... | @@ -0,0 +1,166 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# CAT vs. CAT M |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## supported by countries |
|
| 9 | + |
|
| 10 | +network check by here: https://www.frequencycheck.com/countries |
|
| 11 | + |
|
| 12 | +| Country | Bands Count | B1 | B3 | B4 | B5 | B7 | B8 | B20 | B28 | B40 | B41 | Other Bands | Coverage | |
|
| 13 | +| ---------------------------- | ----------- | -- | -- | -- | -- | -- | -- | --- | --- | --- | --- | ----------------------------------------- | -------- | |
|
| 14 | +| United States | 12 | | | X | X | | | | | | X | B2 B12 B13 B17 B25 B26 B30 B66 B71 | 97.10% | |
|
| 15 | +| Canada | 9 | | | X | X | X | | | | | | B2 B12 B13 B17 B29 B66 | 91.90% | |
|
| 16 | +| Japan | 8 | X | | | | | X | | X | | X | B18 B21 B9 B11 | 100% | |
|
| 17 | +| Australia | 6 | X | X | | X | X | | | X | X | | | 88.50% | |
|
| 18 | +| China | 5 | | X | | | | | | | X | X | B38 B39 | 82.50% | |
|
| 19 | +| Philippines | 5 | X | X | | X | X | | | | | X | | 80.50% | |
|
| 20 | +| France | 5 | X | X | | | X | | X | X | | | | 89.10% | |
|
| 21 | +| South Korea | 5 | X | X | | X | X | X | | | | | | 99.20% | |
|
| 22 | +| Sweden | 5 | | X | | | X | X | X | | | | B38 | 90.10% | |
|
| 23 | +| Czech Republic | 5 | X | X | | | X | X | X | | | | | 91.90% | |
|
| 24 | +| Indonesia | 4 | | X | | X | | X | | | X | | | 77.60% | |
|
| 25 | +| United Kingdom | 4 | X | X | | | X | | X | | | | | 91.30% | |
|
| 26 | +| Poland | 4 | X | X | | | | | X | | | | B38 | 89.10% | |
|
| 27 | +| Saudi Arabia | 4 | X | X | | | | | | | X | | B38 | 79.20% | |
|
| 28 | +| Taiwan | 4 | | X | | | X | X | | X | | | | 94.50% | |
|
| 29 | +| Romania | 4 | | X | | | X | | X | | | | B38 | 86.60% | |
|
| 30 | +| Netherlands | 4 | | X | | | X | X | X | | | | | 96.60% | |
|
| 31 | +| Hong Kong | 4 | | X | | | X | X | | | X | | | 93.80% | |
|
| 32 | +| Puerto Rico | 4 | | | X | | | | | | | | B13 B17 B25 | 89.80% | |
|
| 33 | +| Slovenia | 4 | | X | | | X | X | X | | | | | 88% | |
|
| 34 | +| Estonia | 4 | X | X | | | X | | X | | | | | 92.90% | |
|
| 35 | +| Guam | 4 | | | X | | | | | | | | B2 B12 B17 | | |
|
| 36 | +| India | 3 | | X | | X | | | | | X | | | 80.60% | |
|
| 37 | +| Bangladesh | 3 | X | X | | | | X | | | | | | 66.70% | |
|
| 38 | +| Russia | 3 | | X | | | X | | X | | | | | 79.10% | |
|
| 39 | +| Iran | 3 | | X | | | X | | | | X | | | | |
|
| 40 | +| Germany | 3 | | X | | | X | | X | | | | | 92.50% | |
|
| 41 | +| South Africa | 3 | X | X | | | | | | | X | | | 83.10% | |
|
| 42 | +| Italy | 3 | | X | | | X | | X | | | | | 90.10% | |
|
| 43 | +| Uganda | 3 | | X | | | X | | X | | | | | | |
|
| 44 | +| Bolivia | 3 | | | X | | | | | | | | B13 B17 | 58.40% | |
|
| 45 | +| Dominican Republic | 3 | | X | X | | | | | | | | B2 | 78.40% | |
|
| 46 | +| United Arab Emirates | 3 | | X | | | X | | X | | | | | 91.50% | |
|
| 47 | +| Tajikistan | 3 | | X | | | X | | X | | | | | | |
|
| 48 | +| Portugal | 3 | | X | | | X | | X | | | | | 87.20% | |
|
| 49 | +| Greece | 3 | | X | | | X | | X | | | | | 86.90% | |
|
| 50 | +| Hungary | 3 | | X | | | X | | X | | | | | 90% | |
|
| 51 | +| Austria | 3 | | X | | | X | | X | | | | | 88.80% | |
|
| 52 | +| Switzerland | 3 | | X | | | X | | X | | | | | 94.60% | |
|
| 53 | +| Denmark | 3 | | X | | | X | | X | | | | | 94.80% | |
|
| 54 | +| Singapore | 3 | | X | | | X | X | | | | | | 94.10% | |
|
| 55 | +| Finland | 3 | | X | | | X | | X | | | | | 92.50% | |
|
| 56 | +| Norway | 3 | | X | | | X | | X | | | | | 94.10% | |
|
| 57 | +| Slovakia | 3 | | X | | | X | | X | | | | | 88.90% | |
|
| 58 | +| Qatar | 3 | | X | | | X | | X | | | | | 91.90% | |
|
| 59 | +| Moldova | 3 | | X | | | X | | X | | | | | 68.40% | |
|
| 60 | +| Lithuania | 3 | | X | | | X | | X | | | | | 93.10% | |
|
| 61 | +| Latvia | 3 | | X | | | X | | X | | | | | 88.40% | |
|
| 62 | +| Belize | 3 | | | | X | | | | | | | B2 B13 (700 c) | | |
|
| 63 | +| Jersey | 3 | | X | | | X | | X | | | | | | |
|
| 64 | +| San Marino | 3 | | X | | | X | | X | | | | | | |
|
| 65 | +| Pakistan | 2 | | X | | X | | | | | | | | 75.90% | |
|
| 66 | +| Brazil | 2 | | X | | | X | | | | | | | 67.50% | |
|
| 67 | +| Mexico | 2 | | | X | | | | | | | | B2 | 73% | |
|
| 68 | +| Kenya | 2 | | X | | | | | X | | | | | 65.90% | |
|
| 69 | +| Colombia | 2 | | | X | | X | | | | | | | 63.10% | |
|
| 70 | +| Spain | 2 | | X | | | X | | | | | | | 84.60% | |
|
| 71 | +| Morocco | 2 | | X | | | | | X | | | | | 79.70% | |
|
| 72 | +| Malaysia | 2 | | X | | | X | | | | | | | 81.70% | |
|
| 73 | +| Peru | 2 | | | X | | | | | | | | B2 | 72.50% | |
|
| 74 | +| Venezuela | 2 | | X | X | | | | | | | | | | |
|
| 75 | +| Sri Lanka | 2 | | X | | | | | | | X | | | 77.80% | |
|
| 76 | +| Chile | 2 | | | X | | X | | | | | | | 70.50% | |
|
| 77 | +| Guatemala | 2 | | | | X | | | | | | | B2 | 76.70% | |
|
| 78 | +| Ecuador | 2 | | | X | | | | | | | | B2 | 57.70% | |
|
| 79 | +| Cambodia | 2 | | X | | X | | | | | | | | 81.80% | |
|
| 80 | +| Belgium | 2 | | X | | | | | X | | | | | 94.40% | |
|
| 81 | +| Belarus | 2 | | X | | | X | | | | | | | 48% | |
|
| 82 | +| Paraguay | 2 | | | X | | | | | | | | B2 | 67.90% | |
|
| 83 | +| Oman | 2 | | X | | | | | | | X | | | 76.90% | |
|
| 84 | +| Ireland | 2 | | X | | | | | X | | | | | 76.90% | |
|
| 85 | +| New Zealand | 2 | | X | | | | | | X | | | | 81% | |
|
| 86 | +| Costa Rica | 2 | | X | | | X | | | | | | | 69.50% | |
|
| 87 | +| Kuwait | 2 | | X | | | | | X | | | | | 71.80% | |
|
| 88 | +| Panama | 2 | | | | | | | | X | | | B2 | 73% | |
|
| 89 | +| Croatia | 2 | | X | | | | | X | | | | | 85.40% | |
|
| 90 | +| Georgia | 2 | | X | | | | | X | | | | | 83.40% | |
|
| 91 | +| Uruguay | 2 | | | X | | | | | | | | B2 | 70.40% | |
|
| 92 | +| Albania | 2 | | X | | | X | | | | | | | 79.40% | |
|
| 93 | +| Fiji | 2 | | X | | | | | X | | | | | | |
|
| 94 | +| Macau | 2 | | X | | | | | | | X | | (1800 +) | | |
|
| 95 | +| Montenegro | 2 | | X | | | X | | | | | | | | |
|
| 96 | +| Maldives | 2 | | X | | | X | | | | | | | | |
|
| 97 | +| Iceland | 2 | | X | | | | | X | | | | | 86% | |
|
| 98 | +| Isle of Man | 2 | | X | | | | | X | | | | | | |
|
| 99 | +| Cayman Islands | 2 | | X | | | | | | | | | B17 | | |
|
| 100 | +| Dominica | 2 | | | X | | | | | | | | B17 | | |
|
| 101 | +| Gibraltar | 2 | | | | | X | | X | | | | | | |
|
| 102 | +| Monaco | 2 | | | | | X | | X | | | | | | |
|
| 103 | +| Ethiopia | 1 | | X | | | | | | | | | | | |
|
| 104 | +| Thailand | 1 | X | | | | | | | | | | | 83.30% | |
|
| 105 | +| Tanzania | 1 | | | | | | | X | | | | | | |
|
| 106 | +| Sudan | 1 | X | | | | | | | | | | | | |
|
| 107 | +| Algeria | 1 | | X | | | | | | | | | | 58.40% | |
|
| 108 | +| Argentina | 1 | | | X | | | | | | | | | 74.90% | |
|
| 109 | +| Angola | 1 | | X | | | | | | | | | | | |
|
| 110 | +| Ukraine | 1 | | | | | X | | | | | | | 67.30% | |
|
| 111 | +| Uzbekistan | 1 | | | | | X | | | | | | | 69.80% | |
|
| 112 | +| Zambia | 1 | | X | | | | | | | | | | 64.70% | |
|
| 113 | +| Kazakhstan | 1 | | X | | | | | | | | | | 71% | |
|
| 114 | +| Zimbabwe | 1 | | X | | | | | | | | | | | |
|
| 115 | +| Jordan | 1 | | X | | | | | | | | | | 71% | |
|
| 116 | +| Honduras | 1 | | | X | | | | | | | | | 69.50% | |
|
| 117 | +| Papua New Guinea | 1 | | | | | | | | X | | | | | |
|
| 118 | +| Azerbaijan | 1 | | X | | | | | | | | | | 75.70% | |
|
| 119 | +| Israel | 1 | | X | | | | | | | | | | 81.80% | |
|
| 120 | +| Laos | 1 | | X | | | | | | | | | | | |
|
| 121 | +| Turkmenistan | 1 | | | | | X | | | | | | | | |
|
| 122 | +| Kyrgyzstan | 1 | | | | | X | | | | | | | 87.20% | |
|
| 123 | +| Nicaragua | 1 | | | X | | | | | | | | | 64.20% | |
|
| 124 | +| Bulgaria | 1 | | X | | | | | | | | | | 86% | |
|
| 125 | +| Serbia | 1 | | X | | | | | | | | | | 84.30% | |
|
| 126 | +| Lebanon | 1 | | X | | | | | | | | | | 79.30% | |
|
| 127 | +| Namibia | 1 | | X | | | | | | | | | | | |
|
| 128 | +| Armenia | 1 | | | | | X | | | | | | | | |
|
| 129 | +| Jamaica | 1 | | | | X | | | | | | | | 67.50% | |
|
| 130 | +| Lesotho | 1 | | | | | | | X | | | | | | |
|
| 131 | +| Bahrain | 1 | | X | | | | | | | | | | 89.50% | |
|
| 132 | +| Trinidad and Tobago | 1 | | | | | X | | | | | | | | |
|
| 133 | +| Cyprus | 1 | | X | | | | | | | | | | 92.10% | |
|
| 134 | +| Mauritius | 1 | | X | | | | | | | | | | | |
|
| 135 | +| Bhutan | 1 | | X | | | | | | | | | | | |
|
| 136 | +| Luxembourg | 1 | | X | | | | | | | | | | 82.70% | |
|
| 137 | +| Malta | 1 | | X | | | | | | | | | | | |
|
| 138 | +| Brunei | 1 | | X | | | | | | | | | | | |
|
| 139 | +| Bahamas | 1 | | | | | | | | | | | B17 | | |
|
| 140 | +| Vanuatu | 1 | | | | | | | | | X | | | | |
|
| 141 | +| Kiribati | 1 | | | | | | | | | | | B12 | | |
|
| 142 | +| Seychelles | 1 | | | | | | | X | | | | | | |
|
| 143 | +| Aruba | 1 | | X | | | | | | | | | | | |
|
| 144 | +| United States Virgin Islands | 1 | | | X | | | | | | | | | | |
|
| 145 | +| Greenland | 1 | | | | | | | X | | | | | | |
|
| 146 | +| Turks and Caicos Islands | 1 | | | | | | | | | | | B17 | | |
|
| 147 | +| Northern Mariana Islands | 1 | | | | | | | | | | | B12 | | |
|
| 148 | +| Liechtenstein | 1 | | | | | | | X | | | | | | |
|
| 149 | +| Nigeria | | | | | | | | | | | | | 62.60% | |
|
| 150 | +| Egypt | | | | | | | | | | | | | 74.10% | |
|
| 151 | +| Vietnam | | | | | | | | | | | | | 80.70% | |
|
| 152 | +| Turkey | | | | | | | | | | | | | 79.30% | |
|
| 153 | +| Myanmar | | | | | | | | | | | | | 76.90% | |
|
| 154 | +| Iraq | | | | | | | | | | | | | 63.30% | |
|
| 155 | +| Ghana | | | | | | | | | | | | | 56.80% | |
|
| 156 | +| Ivory Coast | | | | | | | | | | | | | 55% | |
|
| 157 | +| Nepal | | | | | | | | | | | | | 61% | |
|
| 158 | +| Senegal | | | | | | | | | | | | | 54.40% | |
|
| 159 | +| Tunisia | | | | | | | | | | | | | 70.40% | |
|
| 160 | +| El Salvador | | | | | | | | | | | | | 71.30% | |
|
| 161 | +| Mongolia | | | | | | | | | | | | | 67.10% | |
|
| 162 | +| North Macedonia | | | | | | | | | | | | | 86% | |
|
| 163 | + |
|
| 164 | + |
|
| 165 | +## ref |
|
| 166 | +https://www.inhandnetworks.com/lte-cat-1-vs-cat-m1.html |
|
| ... | ... | \ No newline at end of file |
Network-dat/LWPA-dat/LWPA-dat.md
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | + |
|
| 2 | +# LWPA-dat (Low Power Wide Area) |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +**LWPA** stands for **Low Power Wide Area** network, a category of wireless communication technologies designed for long-range connectivity with low power consumption. It is commonly used in the context of Internet of Things (IoT) networks, where devices need to send small amounts of data over long distances while consuming minimal energy. |
|
| 6 | + |
|
| 7 | +- [[NBIOT-dat]] - [[LORA-dat]] - [[SIGFOX-dat]] - [[LTE-M-dat]] |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## Key Characteristics of LWPA (LPWAN): |
|
| 11 | + |
|
| 12 | +1. **Low Power Consumption:** |
|
| 13 | + - Devices on an LPWAN network are designed to consume minimal energy, making them ideal for battery-powered devices that need to last for months or even years without recharging or replacing batteries. |
|
| 14 | + |
|
| 15 | +2. **Wide Coverage:** |
|
| 16 | + - LWPA networks provide **long-range** communication, often spanning several kilometers in urban environments and much longer distances in rural or open spaces, thanks to their ability to utilize lower frequency bands and better propagation characteristics. |
|
| 17 | + |
|
| 18 | +3. **Small Data Payloads:** |
|
| 19 | + - The network is optimized for **small, infrequent data transmissions**, making it suitable for use cases like sensor readings, asset tracking, smart meters, and other IoT applications where large data throughput is not required. |
|
| 20 | + |
|
| 21 | +4. **Cost-Effective:** |
|
| 22 | + - The technology is often more affordable for deployments over large areas, both in terms of device cost and data usage. |
|
| 23 | + |
|
| 24 | +5. **Low Bandwidth:** |
|
| 25 | + - LWPA technologies have **limited bandwidth** compared to traditional cellular networks, meaning they are not suitable for high-speed or large-volume data transfer. They are typically used for sending small, intermittent data packets. |
|
| 26 | + |
|
| 27 | +## Common LPWAN Technologies (similar to LWPA): |
|
| 28 | + |
|
| 29 | +1. **LoRa (Long Range):** |
|
| 30 | + - A widely adopted LPWAN technology that uses unlicensed sub-gigahertz radio frequencies (such as 868 MHz or 915 MHz) to achieve long-range communication. |
|
| 31 | + |
|
| 32 | +2. **NB-IoT (Narrowband IoT):** |
|
| 33 | + - A cellular LPWAN technology that operates in licensed cellular spectrum, providing reliable, long-range communication with low power consumption. |
|
| 34 | + |
|
| 35 | +3. **Sigfox:** |
|
| 36 | + - A proprietary LPWAN technology that operates in the unlicensed spectrum, using very narrow band communications for low-power, long-range connectivity. |
|
| 37 | + |
|
| 38 | +4. **LTE-M (Cat-M1):** |
|
| 39 | + - Another cellular LPWAN technology that offers higher data rates and mobility compared to NB-IoT, also designed for low-power IoT applications. |
|
| 40 | + |
|
| 41 | +## Use Cases for LWPA (LPWAN): |
|
| 42 | + |
|
| 43 | +- **Smart Cities:** IoT devices for urban infrastructure, such as smart streetlights, traffic monitoring, and waste management systems. |
|
| 44 | +- **Agriculture:** Precision farming sensors for soil moisture, temperature, and other environmental factors. |
|
| 45 | +- **Asset Tracking:** Real-time tracking of goods or vehicles over long distances with low power consumption. |
|
| 46 | +- **Environmental Monitoring:** Monitoring air quality, water levels, and other environmental factors in remote locations. |
|
| 47 | + |
|
| 48 | +## Summary: |
|
| 49 | + |
|
| 50 | +While **LWPA** is not a distinct or widely recognized acronym, the term **LPWAN** encapsulates various technologies, such as **LoRa**, **NB-IoT**, **Sigfox**, and **LTE-M**, that provide **low-power**, **long-range** communication suited for **IoT applications** requiring small data transfers over large areas. |
|
| 51 | + |
|
| 52 | +These networks enable devices to operate for extended periods on battery power, making them ideal for remote monitoring and large-scale IoT deployments. |
Network-dat/M2M-dat/2024-07-03-18-08-51.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/2024-07-03-18-08-51.png differ |
Network-dat/M2M-dat/2025-04-18-20-54-36.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/2025-04-18-20-54-36.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-26-50.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-26-50.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-15.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-15.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-40.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-40.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-29-06.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-29-06.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-31-44.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-31-44.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-32-19.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-32-19.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-33-36.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-33-36.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-34-13.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-34-13.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-50-56.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-50-56.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-51-16.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-51-16.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-54-45.png
| ... | ... | Binary files /dev/null and b/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-54-45.png differ |
Network-dat/M2M-dat/M2M-HDK-Ref-dat/M2M-HDK-Ref-dat.md
| ... | ... | @@ -0,0 +1,77 @@ |
| 1 | + |
|
| 2 | +# M2M-HDK-Ref-dat |
|
| 3 | + |
|
| 4 | +## Analog Audio |
|
| 5 | + |
|
| 6 | +### A7670 Based Ref |
|
| 7 | + |
|
| 8 | +- [[A7670-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## ADC and VBAT ADC |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +## SPI Camera Interface |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## SPI LCD Interface |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## PCM |
|
| 27 | + |
|
| 28 | +- [[PCM-dat]] |
|
| 29 | + |
|
| 30 | +## Matrix Keyboard Interface |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +## SIM interface |
|
| 36 | + |
|
| 37 | +- [[SIM-dat]] |
|
| 38 | + |
|
| 39 | +6-Pin SIM Card Interface |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +8-Pin SIM Card Interface |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | +## M2M USB Reference |
|
| 50 | + |
|
| 51 | +- [[USB-dat]] |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | + |
|
| 56 | +## Basic |
|
| 57 | + |
|
| 58 | +### reset |
|
| 59 | + |
|
| 60 | + |
|
| 61 | + |
|
| 62 | +### power on/off |
|
| 63 | + |
|
| 64 | + |
|
| 65 | + |
|
| 66 | + |
|
| 67 | +### power supply |
|
| 68 | + |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + |
|
| 72 | + |
|
| 73 | +## ref |
|
| 74 | + |
|
| 75 | +- [[MIC29302-dat]] - [[LM2596-dat]] |
|
| 76 | + |
|
| 77 | +- [[M2M-dat]] - [[ref-design-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/M2M-dat/M2M-dat.md
| ... | ... | @@ -0,0 +1,188 @@ |
| 1 | + |
|
| 2 | +# M2M-dat |
|
| 3 | + |
|
| 4 | +- [[M2M-HDK-Ref-dat]] - [[M2M-interface-dat]] |
|
| 5 | + |
|
| 6 | +## Module manufacturer |
|
| 7 | + |
|
| 8 | +- [[fibocom-dat]] - [[simcom-dat]] - [[quectel-dat]] |
|
| 9 | + |
|
| 10 | +## tech |
|
| 11 | + |
|
| 12 | +- 2G |
|
| 13 | +- LWPA |
|
| 14 | + |
|
| 15 | +- [[LTE-dat]] |
|
| 16 | +- CAT1 |
|
| 17 | +- CAT4 |
|
| 18 | +- [[NBIOT-dat]] |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +| LTE FDD | LTE TDD | |
|
| 23 | +| ---------------------- | ------- | |
|
| 24 | +| B1/B3/B5/B8 | |
|
| 25 | +| B1/B3/B5/B7/B8 | |
|
| 26 | +| B1/B3/B5/B7/B8/B20/B28 | |
|
| 27 | + |
|
| 28 | +LTE TDD B34/B38/B39/B40/B41 |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +- Frequency-division duplexing (FDD); |
|
| 32 | +- time-division duplexing (TDD) |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +CAT-M |
|
| 36 | +CAT-NB |
|
| 37 | + |
|
| 38 | +## Tech by Types |
|
| 39 | + |
|
| 40 | +| Module | Network | Boards | |
|
| 41 | +| ------------- | ---------- | --------------- | |
|
| 42 | +| [[A7670-dat]] | [[4G-dat]] | [[NGS1131-dat]] | |
|
| 43 | +| [[EC20-dat]] | [[4G-dat]] | [[NGS1108-dat]] | |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +## NBIOT |
|
| 47 | + |
|
| 48 | +LTE Cat NB1, |
|
| 49 | + |
|
| 50 | +also known as Narrowband IoT (NB-IoT) is a Low Power Wide Area (LPWA) technology that has been developed to enable a wide range of devices to be connected to the internet using existing mobile networks. NB-IoT has been developed to enable the Internet of Things (IoT). It is a low power, narrowband technology that can support small amounts of 2-way data transmission in an efficient, secure, and reliable manner. This standard was created in **3GPP Release 13**. |
|
| 51 | + |
|
| 52 | +LTE Cat NB2 |
|
| 53 | + |
|
| 54 | +is an upgraded version of the LTE Cat NB1 standard (NB-IoT). **In Release 14**, 3GPP introduced an enhanced NB-IoT protocol and a new device category called NB2. |
|
| 55 | + |
|
| 56 | +This standard is an upgraded version of the LTE Cat NB1 standard. |
|
| 57 | + |
|
| 58 | +LTE NB1 vs LTE NB2 |
|
| 59 | + |
|
| 60 | +| Features | LTE Cat NB1 | LTE Cat NB2 | |
|
| 61 | +| ---------------------- | ----------- | -------------- | |
|
| 62 | +| 3GPP Release | Release 13 | Release 14 | |
|
| 63 | +| Channel Bandwidth | 180 kHz | 180 kHz | |
|
| 64 | +| UE Bandwidth | 200 kHz | 200 kHz | |
|
| 65 | +| Transmission Duplexity | Half | Half | |
|
| 66 | +| Max Tx Power | 20, 23 dBm | 14, 20, 23 dBm | |
|
| 67 | +| Max Downlink data rate | ~26 kbps | ~127 kbps | |
|
| 68 | +| Max Uplink data rate | ~62 kbps | ~159 kbps | |
|
| 69 | +| Latency | <10 sec | - | |
|
| 70 | +| Data Encryption | EPS-AKA | EPS-AKA | |
|
| 71 | +| Device Authentication | SIM | SIM | |
|
| 72 | +| Voice Support | No | No | |
|
| 73 | +| Positioning | Cell ID | OTDOA, E-CID | |
|
| 74 | + |
|
| 75 | + |
|
| 76 | + |
|
| 77 | +## CAT-M |
|
| 78 | + |
|
| 79 | +CAT-M (also known as LTE-M or LTE Cat-M1) can operate in both Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes. The choice between FDD and TDD for CAT-M depends on the specific network deployment and regional spectrum regulations. |
|
| 80 | + |
|
| 81 | +### Overview |
|
| 82 | +Frequency Division Duplex (FDD): Uses separate frequencies for uplink and downlink. It allows for simultaneous transmission and reception. |
|
| 83 | + |
|
| 84 | +Time Division Duplex (TDD): Uses the same frequency for both uplink and downlink but alternates in time. Transmission and reception occur at different times on the same frequency. |
|
| 85 | + |
|
| 86 | +### CAT-M Characteristics |
|
| 87 | +Compatibility: CAT-M is designed to be compatible with existing LTE infrastructure, so it can utilize FDD, which is more commonly used in LTE networks. |
|
| 88 | + |
|
| 89 | +Flexibility: CAT-M also supports TDD for regions or deployments where TDD is preferred or necessary due to spectrum availability or regulatory reasons. |
|
| 90 | + |
|
| 91 | +### Practical Use |
|
| 92 | +FDD: Predominantly used in regions where FDD LTE networks are prevalent. Common in many parts of the world due to existing LTE deployments. |
|
| 93 | + |
|
| 94 | +TDD: Used in regions or specific cases where TDD LTE networks are implemented, offering flexibility in spectrum usage and often used in China and some other areas. |
|
| 95 | + |
|
| 96 | +If you're deploying or using CAT-M technology, check with the specific network provider or region's spectrum regulations to understand which mode is supported. |
|
| 97 | + |
|
| 98 | +## FDD vs TDD |
|
| 99 | + |
|
| 100 | +- https://en.wikipedia.org/wiki/LTE_frequency_bands |
|
| 101 | +- TDD mainly located at 34 ~ 54 |
|
| 102 | + |
|
| 103 | +## Support |
|
| 104 | + |
|
| 105 | +- check supported countries by here: https://en.wikipedia.org/wiki/List_of_LTE_networks |
|
| 106 | +- check by sepcific country: https://www.frequencycheck.com/countries |
|
| 107 | +- interactive map: https://worldpopulationreview.com/country-rankings/lte-bands-by-country |
|
| 108 | + |
|
| 109 | + |
|
| 110 | + |
|
| 111 | +## Functions |
|
| 112 | + |
|
| 113 | +LBS = Base station location, AT+CLBS |
|
| 114 | + |
|
| 115 | + |
|
| 116 | +### RI (ring) and DTR Behavior |
|
| 117 | + |
|
| 118 | +RI usually keeps high level output. When receiving a short message or URC report, RI outputs a low level for 120ms (short message)/60ms (URC), and then returns to a high-level state; RI will output a low level, when receiving a phone call as the called party. |
|
| 119 | + |
|
| 120 | +After outputting low level, RI will remain low until the host accepts the call using the "ATA" command or the caller stops calling RI, in the end, it will become high level. |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + |
|
| 124 | +**DTR for sleep mode** |
|
| 125 | + |
|
| 126 | +After setting the AT command “AT+CSCLK=1”, and then pulling up the DTR pin, Module will enter sleep mode when module is in idle mode. In sleep mode, the UART is unavailable. When A7672X/ enters sleep mode, pulling down DTR can wakeup module. |
|
| 127 | + |
|
| 128 | +After setting the AT command “AT+CSCLK=0”, A7672X/A7670X Series will do nothing when the DTR pin is |
|
| 129 | +pulling up. |
|
| 130 | + |
|
| 131 | +### USB Interface |
|
| 132 | + |
|
| 133 | +The A7672X/7670X contains a USB interface compliant with the USB2.0 specification as a peripheral, but does not support USB charging function and does not support USB HOST mode. |
|
| 134 | + |
|
| 135 | + |
|
| 136 | + |
|
| 137 | +### GNSS |
|
| 138 | + |
|
| 139 | +GNSS_VBKP = GNSS VRTC power input, input voltage 1.4V~3.6V |
|
| 140 | + |
|
| 141 | +| Pin name | Pin No. | Power domain | Type | Description | Note | |
|
| 142 | +| ----------- | ------- | ------------ | ---- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------ | |
|
| 143 | +| GNSS_PWRCTL | 98 | 1.8V | DI | The enable control PIN ofGNSS power supply. | Active high. | |
|
| 144 | +| 1V8_GNSS | 97 | - | PI | The power input for GNSS,the input voltage must notbe less than 1.8V. | Module VDD_1V8(PIN 15) can be usedfor this power supply | |
|
| 145 | +| GNSS_VBKP | 116 | - | PI | GNSS VRTC power input,input voltage 1.4V~3.6V | If unused, keep itopen. | |
|
| 146 | +| 1PPS | 100 | 1.8V | DO | 1PPS signal output | If unused, keep itopen. | |
|
| 147 | +| GNSS_RXD | 96 | 1.8V | DI | GNSS UART RX | Connect to MCUUART_TX;Or use 1K resistors inseries in moduleUART3_TX (pin 50). | |
|
| 148 | +| GNSS_TXD | 95 | 1.8V | DO | GNSS UART TX | Connect to MCUUART_RX;Or use 1K resistors inseries in moduleUART3_RX (pin 49). | |
|
| 149 | + |
|
| 150 | +### NETLIGHT |
|
| 151 | + |
|
| 152 | +below table for A7670X |
|
| 153 | + |
|
| 154 | +Table 21: 2G mode NETLIGHT pin status |
|
| 155 | + |
|
| 156 | +| NETLIGHT pin status | Module status | |
|
| 157 | +| ------------------------------ | ------------------ | |
|
| 158 | +| Always On | Searching Network | |
|
| 159 | +| 200ms ON, 200ms OFF | Data Transmit | |
|
| 160 | +| 800ms ON, 800ms OFF | Registered network | |
|
| 161 | +| OFF | Power off / Sleep | |
|
| 162 | + |
|
| 163 | +Table 22: LTE mode NETLIGHT pin status |
|
| 164 | + |
|
| 165 | +| NETLIGHT pin status | Module status | |
|
| 166 | +| ------------------------------ | ------------------------ | |
|
| 167 | +| Always On | Searching Network | |
|
| 168 | +| 200ms ON, 200ms OFF | Data Transmit/Registered | |
|
| 169 | +| OFF | Power off / Sleep | |
|
| 170 | + |
|
| 171 | + |
|
| 172 | + |
|
| 173 | + |
|
| 174 | + |
|
| 175 | + |
|
| 176 | + |
|
| 177 | +## reference design |
|
| 178 | + |
|
| 179 | +- [[GNSS-dat]] - [[antenna-dat]] - [[SIM-dat]] |
|
| 180 | + |
|
| 181 | +- [[diode-dat]] - [[dcdc-down-dat]] - |
|
| 182 | + |
|
| 183 | + |
|
| 184 | +## ref |
|
| 185 | + |
|
| 186 | +- [[solutions-dat]] |
|
| 187 | + |
|
| 188 | +- [[M2M]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/M2M-dat/M2M-interface-dat/M2M-interface-dat.md
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | + |
|
| 2 | +# M2M Interface |
|
| 3 | + |
|
| 4 | +## common pin definitions |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +| Pin | Functions | |
|
| 8 | +| ---- | -------------------------------------------- | |
|
| 9 | +| VBUS | Power supply from USB port | |
|
| 10 | +| VIN | Power input up to ~18V | |
|
| 11 | +| 3V3 | on board 3.3V LDO output | |
|
| 12 | +| DTR | UART DRT pin | |
|
| 13 | +| ~RI | UART RI pin | |
|
| 14 | +| RXD | UART receive via logic shifter | |
|
| 15 | +| TXD | UART send via logic shifter | |
|
| 16 | +| PEN | on board dcdc power supply enable default on | |
|
| 17 | +| GND | board power supply ground | |
|
| 18 | +| RST | gpio_control_reset | |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +- [[A7670-dat]] - [[NGS1131-dat]] - [[NGS1141-dat]] |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## obseleted |
|
| 26 | + |
|
| 27 | +| pin | function | |
|
| 28 | +| ---------- | ------------------------------ | |
|
| 29 | +| 3v3 or bat | direct system power supply | |
|
| 30 | +| vin | external high voltage supply | |
|
| 31 | +| gnd | Power Ground | |
|
| 32 | +| p_en | on board power chip enable pin | |
|
| 33 | +| logic_pwr | logic power level supply | |
|
| 34 | +| rx | RXD | |
|
| 35 | +| tx | TXD | |
|
| 36 | +| boot | M2M module boot pin | |
|
| 37 | +| .. | .. | |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## ref |
|
| 41 | + |
|
| 42 | +- [[M2M-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/MDI-dat/MDI-dat.md
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | + |
|
| 2 | +# MDI-dat |
|
| 3 | + |
|
| 4 | +In networking, **MDI** stands for **Medium Dependent Interface**. It refers to the physical and electrical interface on a network device (like a computer's network interface card (NIC) or a router port) that connects to the network transmission medium, typically a twisted-pair Ethernet cable (like Cat5e or Cat6). |
|
| 5 | + |
|
| 6 | +Key points about MDI: |
|
| 7 | + |
|
| 8 | +1. **Pinout:** An MDI port uses a specific pinout where pins 1 and 2 are typically used for transmitting (TX) data, and pins 3 and 6 are used for receiving (RX) data (for 10/100 Mbps Ethernet). |
|
| 9 | +2. **Connection:** End devices like computers and routers usually have MDI ports. |
|
| 10 | +3. **MDI vs. MDI-X:** Network infrastructure devices like hubs and switches traditionally used **MDI-X** (MDI Crossover) ports. MDI-X ports swap the transmit and receive pairs internally (pins 1 & 2 are RX, pins 3 & 6 are TX). This allows a standard "straight-through" Ethernet cable to connect an MDI device (computer) to an MDI-X device (switch). |
|
| 11 | +4. **Cabling:** Connecting two MDI ports (e.g., computer to computer directly) or two MDI-X ports (switch to switch) traditionally required a "crossover" cable, which swaps the TX and RX pairs within the cable itself. |
|
| 12 | +5. **Auto MDI-X:** Modern network interfaces often feature **Auto MDI-X**. This technology automatically detects the type of port (MDI or MDI-X) on the other end of the cable and configures its own port accordingly. This eliminates the need for specific straight-through or crossover cables, as the interface handles the necessary pin swapping electronically. Most modern devices support Auto MDI-X. |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## ref |
|
| 16 | + |
|
| 17 | +- [[network-dat]] |
|
| 18 | + |
Network-dat/NFC-dat/NFC-dat.md
| ... | ... | @@ -0,0 +1,48 @@ |
| 1 | + |
|
| 2 | +# NFC-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [legacy wiki page ](https://w.electrodragon.com/w/Category:NFC) |
|
| 6 | + |
|
| 7 | +- [CLRC66303 == CLRC663 plus Family: High-Performance NFC Frontends](https://www.nxp.com/products/CLRC66303HN) |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## Boards |
|
| 12 | + |
|
| 13 | +- [[NID1026-dat]] - [[NID1017-dat]] |
|
| 14 | + |
|
| 15 | +## Self-phone checker |
|
| 16 | + |
|
| 17 | +- Please make sure your phone is supported NFC or not first, android recommanded app is "NFC toolbox". |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## Chips |
|
| 21 | + |
|
| 22 | +- [[PN532-dat]] |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## NFC Type and Specs |
|
| 27 | + |
|
| 28 | +### NFC Forum Type 1 Tag Operation Specification |
|
| 29 | +Type 1 tag is based on ISO14443A. Tags are read and re-write capable; users can configure the tag to become read-only. Memory availability is 96 bytes and expandable to 2 kbyte; communication speed is 106 kbit/s. |
|
| 30 | + |
|
| 31 | +### NFC Forum Type 2 Tag Operation Specification |
|
| 32 | +Type 2 tag is based on ISO14443A. Tags are read and re-write capable; users can configure the tag to become read-only. Memory availability is 48 bytes and expandable to 2 kbyte; communication speed is 106 kbit/s. |
|
| 33 | + |
|
| 34 | +### NFC Forum Type 3 Tag Operation Specification |
|
| 35 | +Type 3 tag is based on the Japanese Industrial Standard (JIS) X 6319-4, also known as FeliCa. Tags are pre-configured at manufacture to be either read and re-writable, or read-only. Memory availability is variable, theoretical memory limit is 1MByte per service; communication speed is 212 kbit/s or 424 kbit/s. |
|
| 36 | + |
|
| 37 | +### NFC Forum Type 4 Tag Operation Specification |
|
| 38 | +Type 4 tag is fully compatible with ISO14443A and B standards. Tags are pre-configured at manufacture to be either read and re-writable, or read-only. Memory availability is variable, up to 32 KBytes per service; communication speed is up to 424 kbit/s. |
|
| 39 | + |
|
| 40 | +### About Near Field Communication Technology |
|
| 41 | +Near Field Communication (NFC) is a standards-based, short-range wireless connectivity technology that enables simple and safe two-way interactions among electronic devices. NFC technology allows consumers to perform contactless transactions, access digital content and connect devices with the simplicity of a single touch. |
|
| 42 | + |
|
| 43 | +## NFC Forum Type 5 |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +* [ST25DV](https://w.electrodragon.com/w/ST25DV) |
|
| 47 | + |
|
| 48 | + |
Network-dat/POE-dat/POE-dat.md
| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# ESP32 POE / RS485 test |
|
| 4 | + |
|
| 5 | +- https://twitter.com/electro_phoenix/status/1639165025679212547 |
|
| 6 | + |
|
| 7 | +- https://x.com/electro_phoenix/status/1629048715637039104 |
|
| 8 | + |
|
| 9 | +- https://www.youtube.com/shorts/DEzd7XtT4Cw |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## ref |
|
| 15 | + |
|
| 16 | +- [[POE]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-04-25-17-30-48.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-04-25-17-30-48.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-05-04-15-29-54.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-05-04-15-29-54.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-05-04-15-31-56.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/2025-05-04-15-31-56.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-915M-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# ELRS-915M-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-HF-RF-Module-dat/2025-05-16-13-30-09.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-HF-RF-Module-dat/2025-05-16-13-30-09.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-HF-RF-Module-dat/ELRS-HF-RF-Module-dat.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + |
|
| 2 | +# ELRS-HF-RF-Module-dat |
|
| 3 | + |
|
| 4 | +1.连接USB,高频头无需另外供电,第一次连接电脑如果你的系统是windows 10或以上并处于联网状态下,电脑会自动安装名为CH9102的USB-TTL驱动,刷写固件无需任何按键进入boot,刷写内置的,并且刷写内置Backpack也无需按任何按键和拨码开关,因为我们在内部设计了自动激活刷机模式电路与刷背包固件直通模式 |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## ref |
|
| 9 | + |
|
| 10 | +- [[ESP8266-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-04-25-17-34-11.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-04-25-17-34-11.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-12-14-23-11.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-12-14-23-11.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-31-40.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-31-40.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-32-31.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-32-31.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-33-12.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-33-12.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/7CH.json
| ... | ... | @@ -0,0 +1,32 @@ |
| 1 | +{ |
|
| 2 | + "customised": "true", |
|
| 3 | + "serial_rx": -1, |
|
| 4 | + "serial_tx": -1, |
|
| 5 | + "radio_dio1": 4, |
|
| 6 | + "radio_miso": 12, |
|
| 7 | + "radio_mosi": 13, |
|
| 8 | + "radio_nss": 15, |
|
| 9 | + "radio_rst": 2, |
|
| 10 | + "radio_sck": 14, |
|
| 11 | + "power_min": 0, |
|
| 12 | + "power_high": 0, |
|
| 13 | + "power_max": 0, |
|
| 14 | + "power_default": 0, |
|
| 15 | + "power_control": 0, |
|
| 16 | + "power_values": [ |
|
| 17 | + 13 |
|
| 18 | + ], |
|
| 19 | + "led": 16, |
|
| 20 | + "pwm_outputs": [ |
|
| 21 | + 0, |
|
| 22 | + 1, |
|
| 23 | + 3, |
|
| 24 | + 9, |
|
| 25 | + 10, |
|
| 26 | + 5, |
|
| 27 | + 16 |
|
| 28 | + ], |
|
| 29 | + "vbat": 17, |
|
| 30 | + "vbat_offset": 12, |
|
| 31 | + "vbat_scale": 310 |
|
| 32 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/CRSF.json
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +{"customised":"true","serial_rx":3,"serial_tx":1,"radio_dio1":4,"radio_miso":12,"radio_mosi":13,"radio_nss":15,"radio_rst":2,"radio_sck":14,"power_min":0,"power_high":0,"power_max":0,"power_default":0,"power_control":0,"power_values":[13],"led":16,"pwm_outputs":[-1],"vbat":17,"vbat_offset":12,"vbat_scale":310} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-PWM-dat/ELRS-PWM-dat.md
| ... | ... | @@ -0,0 +1,73 @@ |
| 1 | + |
|
| 2 | +# ELRS-CHS-PWM-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## Electrodragon 7CH PWM ELRS Receiver |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +Electrodragon ELRS 2.4G Receiver, Seven-Channel PWM Receiver |
|
| 12 | + |
|
| 13 | +This receiver features independent PWM channel outputs, suitable for fixed-wing aircraft, cars, boats, and other models. It also supports CRSF output. The two output signals (PWM and CRSF) can be switched without re-flashing the firmware. |
|
| 14 | + |
|
| 15 | +Follow these steps to switch between PWM (6CH/7CH) and CRSF modes: |
|
| 16 | + |
|
| 17 | +**Accessing the Receiver's Wi-Fi Network:** |
|
| 18 | + |
|
| 19 | +1. **If connected to the high-frequency head (transmitter module):** Use the transmitter's LUA script menu to activate the receiver's Wi-Fi. |
|
| 20 | +2. **If not connected to the high-frequency head:** Power on the receiver and wait for one minute. The receiver will automatically enter Wi-Fi mode. |
|
| 21 | + |
|
| 22 | +**Connecting to the Receiver's Wi-Fi:** |
|
| 23 | + |
|
| 24 | +* Search for Wi-Fi networks on your computer or phone. |
|
| 25 | +* **Wi-Fi Hotspot Name (SSID):** `EXPRESSLRSRX` |
|
| 26 | +* **Connection Password (all lowercase):** `expresslrs` |
|
| 27 | + |
|
| 28 | +**Accessing the Configuration Page:** |
|
| 29 | + |
|
| 30 | +* Open a web browser and go to: `http://10.0.0.1/hardware.html` |
|
| 31 | + |
|
| 32 | +**Configuring the Receiver:** |
|
| 33 | + |
|
| 34 | +* This will take you to the ELRS hardware configuration page where you can import hardware configuration files. |
|
| 35 | +* **Caution:** Do not modify parameters yourself unless you fully understand their meaning. |
|
| 36 | +* Import the provided configuration file for either `PWM7CH` or `CRSF`. |
|
| 37 | +* Click the button at the bottom of the page and wait for the receiver to restart automatically. |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | +## custom PWM setup |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +## setup for [[ELRS-HF-RF-module-dat]] |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + |
|
| 52 | +## configuration file |
|
| 53 | + |
|
| 54 | +- [[7CH.json]] - [[CRSF.json]] |
|
| 55 | + |
|
| 56 | +the pwm channels |
|
| 57 | + |
|
| 58 | + "pwm_outputs": [ |
|
| 59 | + 0, |
|
| 60 | + 1, |
|
| 61 | + 3, |
|
| 62 | + 9, |
|
| 63 | + 10, |
|
| 64 | + 5, |
|
| 65 | + 16 |
|
| 66 | + ], |
|
| 67 | + |
|
| 68 | + |
|
| 69 | + |
|
| 70 | + |
|
| 71 | +## ref |
|
| 72 | + |
|
| 73 | +- [[ELRS-PWM]] - [[ELRS]] |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-52-56.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-52-56.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-55-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-55-05.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-05-08-18-22-08.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-05-08-18-22-08.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-05-16-12-57-47.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-05-16-12-57-47.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-08.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-08.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-57.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-57.png differ |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-RX-dat/ELRS-RX-dat.md
| ... | ... | @@ -0,0 +1,108 @@ |
| 1 | + |
|
| 2 | +# ELRS-RX-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## T-anntena version |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +- [[antenna-dat]] |
|
| 11 | + |
|
| 12 | +## SMD antenna version |
|
| 13 | + |
|
| 14 | +## info |
|
| 15 | + |
|
| 16 | +Nano2400-RX receiver with power amplifier (PA+LNA). |
|
| 17 | + |
|
| 18 | +Therefore, it has 100mW telemetry output and better sensitivity at longer distances. |
|
| 19 | + |
|
| 20 | +It uses an IPEX1 antenna connector. |
|
| 21 | + |
|
| 22 | +Paired with an external dipole T-antenna (customized by a professional factory, each antenna is tested with professional instruments to ensure quality, lightness, and durability). |
|
| 23 | + |
|
| 24 | +The CYCLONE series receivers are based on the open-source architecture and program of ExpressLRS. |
|
| 25 | + |
|
| 26 | +We have released 3 types of RX receiver modules. All use the [[ESP8285-dat]] [[MCU-dat]]. You can upgrade the firmware via [[WIFI-dat]], which is very user-friendly. |
|
| 27 | + |
|
| 28 | +## hotspot |
|
| 29 | + |
|
| 30 | +Typically, after powering the receiver and with the remote controller turned off, the ExpressLRS hotspot can be found after a default of 60 seconds. Connect to this hotspot using a computer or mobile phone. |
|
| 31 | + |
|
| 32 | +The password is "**expresslrs**", and then you can access **10.0.0.1** to upload the receiver firmware. |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +check the firmware version: |
|
| 37 | + |
|
| 38 | + Generic ESP8285 6xPWM 2.4Ghz RX |
|
| 39 | + Firmware Rev. 3.5.3 (40555e) ISM2G4 |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## hardware default output value |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +middle value should be 1500 for CH1, CH2, etc |
|
| 47 | + |
|
| 48 | +## modify the binding phase for binding |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + |
|
| 53 | + |
|
| 54 | +## serial |
|
| 55 | + |
|
| 56 | +Runtime Options |
|
| 57 | + |
|
| 58 | +This form overrides the options provided when the firmware was flashed. These changes will persist across reboots, but will be reset when the firmware is reflashed. |
|
| 59 | + |
|
| 60 | +WiFi auto on" interval in seconds (leave blank to disable) == 60 |
|
| 61 | +UART baud == 420000 = 420K |
|
| 62 | + |
|
| 63 | + |
|
| 64 | +## Product Features |
|
| 65 | + |
|
| 66 | +- High refresh rate 100mW telemetry output; |
|
| 67 | +- Supports convenient and fast firmware flashing via WIFI connection; |
|
| 68 | +- Firmware Version: 3.3.0 [BETAFPVLite2400RX] |
|
| 69 | +- Equipped with a power amplifier (PA+LNA), providing 100mW telemetry output and better response speed; |
|
| 70 | +- Theoretically compatible with most ELRS 2.4G transmitter modules on the market (requires firmware version 2.0 or above). |
|
| 71 | + |
|
| 72 | + |
|
| 73 | + |
|
| 74 | + |
|
| 75 | + |
|
| 76 | +## supported modules |
|
| 77 | + |
|
| 78 | + |
|
| 79 | +## FAQ |
|
| 80 | + |
|
| 81 | +1. **Q: Can this receiver be bound to a XXX brand's high-frequency head (transmitter module)?** |
|
| 82 | + A: The ELRS project is open source. Therefore, as long as the high-frequency head uses the ELRS protocol, regardless of the brand, it can be bound. However, three conditions must be met: |
|
| 83 | + * The frequency must be the same, either both 2.4G or both 915MHz. |
|
| 84 | + * The firmware version must be consistent. For example, if the high-frequency head is flashed with firmware version 2.5.0, the receiver must also be flashed with firmware version 2.5.0. |
|
| 85 | + * Either both have no binding phrase, or both have the same binding phrase set. |
|
| 86 | + |
|
| 87 | +2. **Q: How do I enter binding mode?** |
|
| 88 | + A: After soldering the receiver, quickly power cycle the aircraft three times. That is: power on then immediately power off, power on then immediately power off, power on and leave it on. The interval between power cycles should be within 1.5 seconds. If done correctly, the receiver's LED will flash rapidly twice in a cycle, indicating it is in binding mode. At this time, press the bind button in the remote controller's script. If binding is successful, the receiver's LED will turn solid. |
|
| 89 | + |
|
| 90 | +3. **Q: I'm using my receiver for the first time, why can't I enter binding mode? The light stays solid. What's wrong?** |
|
| 91 | + A: We have encountered similar issues in after-sales support. We found that some flight controllers have abnormal TX/RX ports, causing the receiver to enter bootloader/flash mode upon power-up. In this case, simply changing to a different TX/RX port on the flight controller can solve the problem. |
|
| 92 | + |
|
| 93 | +4. **Q: Why is my receiver's light always flashing rapidly?** |
|
| 94 | + A: If you power on the receiver and it does not enter binding mode, or if it's already bound but the remote controller is not turned on, the receiver will enter WiFi flashing mode after 60 seconds without a signal, and the indicator light will flash rapidly. |
|
| 95 | + |
|
| 96 | +5. **Q: How do I enter WiFi flashing mode to flash firmware to the receiver?** |
|
| 97 | + A: Same as the answer above. Power on the receiver and leave it. It will automatically enter WiFi flashing mode in about 60 seconds, and the light will flash rapidly. |
|
| 98 | + |
|
| 99 | + |
|
| 100 | +## Versions |
|
| 101 | + |
|
| 102 | +- Firmware Rev. 3.5.2 (7ac5f4) |
|
| 103 | + |
|
| 104 | + |
|
| 105 | + |
|
| 106 | +## ref |
|
| 107 | + |
|
| 108 | +- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-TX-dat/ELRS-TX-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# ELRS-TX-dat |
|
| 3 | + |
|
| 4 | +- [[radiomaster-dat]] |
|
| 5 | + |
|
| 6 | +radiomaster guide |
|
| 7 | + |
|
| 8 | +https://www.expresslrs.org/quick-start/transmitters/rm-ranger/ |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## ref |
|
| 13 | + |
|
| 14 | +- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-dat.md
| ... | ... | @@ -0,0 +1,175 @@ |
| 1 | + |
|
| 2 | +# ELRS-dat |
|
| 3 | + |
|
| 4 | +Info - [[ELRS-frequency-dat]] - [[ELRS-faq-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## ELRS frequency |
|
| 8 | + |
|
| 9 | +- 900MHz generally for much long range |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## ELRS-link |
|
| 13 | + |
|
| 14 | +ELRS-remote-console-tx |
|
| 15 | + |
|
| 16 | +- BETAFPV literadio 3 |
|
| 17 | +- BETAFPV literadio 2 |
|
| 18 | + |
|
| 19 | +- [[edge-tx-dat]] - [[radiomaster-dat]] - [[lightradio-dat]] |
|
| 20 | + |
|
| 21 | +- [[ELRS-RX-dat]] - [[SX1276-dat]] - [[ESP8285-dat]] - [[ESP32-dat]] - [[SX1281-dat]] - [[SX1208-dat]] |
|
| 22 | + |
|
| 23 | +protocol output - - [[CRSF-dat]] |
|
| 24 | + |
|
| 25 | +- [[CC2500-dat]] |
|
| 26 | + |
|
| 27 | +- [[ELRS-TX-dat]] - [[ELRS-RX-dat]] - [[ELRS-915M-dat]] - [[ELRS-PWM-dat]] - [[ELRS-2.4Ghz-dat]] |
|
| 28 | + |
|
| 29 | +- [[ELRS]] |
|
| 30 | + |
|
| 31 | +## resources |
|
| 32 | + |
|
| 33 | +https://github.com/ExpressLRS/ExpressLRS |
|
| 34 | + |
|
| 35 | +https://www.expresslrs.org/quick-start/getting-started/ |
|
| 36 | + |
|
| 37 | +[ExpressLRS-Configurator-releases](https://github.com/ExpressLRS/ExpressLRS-Configurator/releases) |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | +## **ExpressLRS (ELRS) 2.4GHz Standard Explained** |
|
| 42 | + |
|
| 43 | +**ExpressLRS (ELRS) 2.4GHz** is an open-source **long-range, low-latency radio control link** developed for FPV drones and RC applications. It offers **high performance, ultra-fast response times, and robust signal reliability** compared to traditional RC protocols like FrSky, Crossfire, and Ghost. |
|
| 44 | + |
|
| 45 | +--- |
|
| 46 | + |
|
| 47 | +### **🔹 Key Features of ELRS 2.4GHz** |
|
| 48 | +- **Ultra-Low Latency** (~5ms in high-speed mode). |
|
| 49 | +- **Long-Range Performance** (Up to **30km+** with proper setup). |
|
| 50 | +- **High Packet Rate (Up to 1000Hz)** for **smooth & responsive controls**. |
|
| 51 | +- **Open-Source & Customizable** (Community-driven development). |
|
| 52 | +- **Affordable Hardware** (Compared to Crossfire or Ghost). |
|
| 53 | +- **Wide Compatibility** (Supported on many **radio transmitters & receivers**). |
|
| 54 | + |
|
| 55 | +--- |
|
| 56 | + |
|
| 57 | +### **🔹 ELRS 2.4GHz vs. Other RC Links** |
|
| 58 | +| Feature | ELRS 2.4GHz | TBS Crossfire | Ghost 2.4GHz | FrSky R9M | |
|
| 59 | +| --------------- | ------------ | ------------- | ------------ | ----------- | |
|
| 60 | +| **Frequency** | 2.4GHz | 900MHz | 2.4GHz | 900MHz | |
|
| 61 | +| **Max Range** | ~30km+ | ~50km+ | ~15km | ~10-20km | |
|
| 62 | +| **Latency** | 5-7ms | 15-50ms | ~4ms | ~20ms | |
|
| 63 | +| **Packet Rate** | Up to 1000Hz | 50-150Hz | 500Hz | ~100Hz | |
|
| 64 | +| **Open Source** | ✅ Yes | ❌ No | ❌ No | ❌ No | |
|
| 65 | +| **Cost** | 💰 Affordable | 💰💰 Expensive | 💰💰 Expensive | 💰 Mid-Range | |
|
| 66 | + |
|
| 67 | +--- |
|
| 68 | + |
|
| 69 | +### **🔹 ELRS 2.4GHz Modes & Performance** |
|
| 70 | +| Mode | Packet Rate | Latency | Range | |
|
| 71 | +| --------- | ----------- | ------- | --------------------- | |
|
| 72 | +| **500Hz** | 500Hz | ~5ms | Short (~3km) | |
|
| 73 | +| **250Hz** | 250Hz | ~7ms | Mid (~10km) | |
|
| 74 | +| **150Hz** | 150Hz | ~10ms | Long (~20km) | |
|
| 75 | +| **50Hz** | 50Hz | ~20ms | Extreme Long (~30km+) | |
|
| 76 | + |
|
| 77 | +🔹 **Higher packet rate = Lower latency, but reduced range** |
|
| 78 | +🔹 **Lower packet rate = Higher range, but increased latency** |
|
| 79 | + |
|
| 80 | +--- |
|
| 81 | + |
|
| 82 | +### **🔹 Recommended ExpressLRS 2.4GHz Hardware** |
|
| 83 | +#### **🛠️ Transmitters (TX)** |
|
| 84 | +- **RadioMaster Zorro ELRS 2.4GHz** |
|
| 85 | +- **Jumper T20S (Built-in ELRS)** |
|
| 86 | +- **Happymodel ES24TX Pro (External ELRS Module)** |
|
| 87 | +- **BetaFPV ELRS Micro TX Module** |
|
| 88 | + |
|
| 89 | +#### **📡 Receivers (RX)** |
|
| 90 | +- **Happymodel EP2 (Tiny, best for micro quads)** |
|
| 91 | +- **BetaFPV ELRS 2.4GHz Nano RX** |
|
| 92 | +- **Radiomaster RP1 / RP2 RX (Great range & reliability)** |
|
| 93 | + |
|
| 94 | +--- |
|
| 95 | + |
|
| 96 | +### **🔹 Why Choose ELRS 2.4GHz?** |
|
| 97 | +✅ **Best for FPV Racing & Freestyle** → **Low latency & fast response** |
|
| 98 | +✅ **Perfect for Long-Range FPV** → **Good range at lower packet rates** |
|
| 99 | +✅ **Affordable & Open-Source** → **Cheaper than Crossfire & Ghost** |
|
| 100 | + |
|
| 101 | +🚀 **If you need ultra-low latency for FPV racing or long-range performance at an affordable price, ExpressLRS 2.4GHz is the best choice!** 🔥 |
|
| 102 | + |
|
| 103 | + |
|
| 104 | +## 2.4hz compare to LORA 915mhz |
|
| 105 | + |
|
| 106 | +| Feature | DJI NC3 (OcuSync 2.0) | ELRS 2.4GHz (100mW) | ELRS 915MHz (100mW, SX1276) | |
|
| 107 | +|----------------------------|---------------------------|------------------------------|-------------------------------| |
|
| 108 | +| Protocol Type | Proprietary digital (DJI) | Open-source LoRa/FLRC | Open-source LoRa | |
|
| 109 | +| Frequency Band | 2.4GHz + 5.8GHz | 2.4GHz | 915MHz | |
|
| 110 | +| Max Packet Rate | N/A (digital control/video)| Up to 500Hz | Up to 50Hz | |
|
| 111 | +| Latency (best-case) | ~120 ms (control + video) | ~2.5 ms (500Hz) | ~20 ms (50Hz) | |
|
| 112 | +| Typical Latency | ~120–150 ms | ~6–13 ms | ~22–30 ms | |
|
| 113 | +| Max Range (LOS, FCC) | ~10 km | ~2 km | ~10 km | |
|
| 114 | +| Penetration (Obstacles) | Moderate | Moderate | Strong | |
|
| 115 | +| Interference Resistance | High (hopping + digital) | Moderate | Strong | |
|
| 116 | +| Video Support | Yes (integrated) | No | No | |
|
| 117 | +| Use Case | DJI drones (Mini, Air) | FPV racing, freestyle | Long-range FPV, endurance | |
|
| 118 | +| Antenna Size | Small | Small | Larger | |
|
| 119 | +| Custom Flight Controllers | Not supported | Fully supported | Fully supported | |
|
| 120 | + |
|
| 121 | + |
|
| 122 | +❌ No — ELRS does not support 5.8GHz (as of now). |
|
| 123 | + |
|
| 124 | +- [[LORA-dat]] - [[RF-2.4ghz-dat]] |
|
| 125 | + |
|
| 126 | +- [[5.8Ghz-dat]] |
|
| 127 | + |
|
| 128 | + |
|
| 129 | +## WebUI Configurator |
|
| 130 | + |
|
| 131 | +[ExpressLRS Configurator](https://github.com/ExpressLRS/ExpressLRS-Configurator/releases/) |
|
| 132 | + |
|
| 133 | +[github](https://github.com/ExpressLRS/ExpressLRS) |
|
| 134 | + |
|
| 135 | +### Via "ExpressLRS RX" Access Point |
|
| 136 | + |
|
| 137 | + |
|
| 138 | + |
|
| 139 | +Load the Web UI on your browser using these addresses: |
|
| 140 | + |
|
| 141 | +http://10.0.0.1/ - If you have connected to the ExpressLRS RX Access Point |
|
| 142 | + |
|
| 143 | +### Via button press |
|
| 144 | + |
|
| 145 | + |
|
| 146 | + |
|
| 147 | + |
|
| 148 | +## Code |
|
| 149 | + |
|
| 150 | +| Method | Arduino-Friendly? | Notes | |
|
| 151 | +|---------------|-------------------|--------------------------------------------| |
|
| 152 | +| PWM Output | ✅ Yes | Easiest to use. Limited channels. | |
|
| 153 | +| SBUS/PPM | ✅ Yes (with lib) | Good middle ground. | |
|
| 154 | +| CRSF over UART| ⚠️ Difficult | Only feasible on fast boards (ESP32/STM32).| |
|
| 155 | + |
|
| 156 | + |
|
| 157 | +### ✅ Use PWM output from ELRS receiver for arduino |
|
| 158 | + |
|
| 159 | +Some ELRS receivers support PWM output, which can be read with Arduino pulseIn() or interrupts. |
|
| 160 | + |
|
| 161 | +This is much easier but limits you to a few channels (e.g., 4–8). |
|
| 162 | + |
|
| 163 | +### ✅ Use CRSF over UART (advanced) |
|
| 164 | +If you use a faster board like Teensy, ESP32, or STM32: |
|
| 165 | + |
|
| 166 | +These can handle high baud rates and may be able to parse CRSF messages. |
|
| 167 | + |
|
| 168 | +You’d need to write or port a CRSF parser for Arduino/Teensy/ESP32. |
|
| 169 | + |
|
| 170 | + |
|
| 171 | +## ref |
|
| 172 | + |
|
| 173 | +- [[FPV-dat]] |
|
| 174 | + |
|
| 175 | +- [[ELRS]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-faq-dat.md
| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | + |
|
| 2 | +# ELRS-faq-dat |
|
| 3 | + |
|
| 4 | +## Frequently Asked Questions (FAQ) |
|
| 5 | + |
|
| 6 | +**Q1: Can this receiver bind with a transmitter module (TX module) from brand XXX?** |
|
| 7 | +**A:** The ELRS project is open-source. Therefore, as long as the TX module uses the ELRS protocol, regardless of the brand, they can bind with each other, provided three conditions are met: |
|
| 8 | + 1. **Same Frequency:** Both must operate on the same frequency band (e.g., both 2.4GHz or both 915MHz). |
|
| 9 | + 2. **Matching Firmware Version:** The firmware versions must be identical. For example, if the TX module is flashed with firmware version 2.5.0, the receiver must also be flashed with version 2.5.0. |
|
| 10 | + 3. **Binding Phrase:** Either both devices have no binding phrase set, or they both have the exact same binding phrase configured. |
|
| 11 | + |
|
| 12 | +**Q2: How do I enter binding mode?** |
|
| 13 | +**A:** After soldering the receiver, quickly power cycle the aircraft three times: power on then immediately power off, power on then immediately power off, power on and leave it on. Each power cycle interval should be less than 1.5 seconds. If performed correctly, the receiver's LED will flash quickly twice in a repeating pattern, indicating it is in binding mode. Then, use the bind function/button on your remote controller (often found in the ELRS Lua script). Once binding is successful, the receiver's LED will turn solid. |
|
| 14 | + |
|
| 15 | +**Q3: The first time I used my receiver, it wouldn't enter binding mode, and the LED stayed solid. Why?** |
|
| 16 | +**A:** We've encountered this issue in support cases. It's often caused by an abnormality on the flight controller's TX/RX UART port, which forces the receiver into bootloader/firmware flashing mode upon power-up. Switching the receiver connection to a different, functional TX/RX UART port on the flight controller usually resolves this. |
|
| 17 | + |
|
| 18 | +**Q4: Why is my receiver's LED flashing quickly and continuously?** |
|
| 19 | +**A:** If the receiver is powered on but doesn't enter binding mode (or if it's already bound but the remote controller is off), it will automatically enter Wi-Fi firmware update mode after approximately 60 seconds of not receiving a signal. The fast flashing indicates Wi-Fi mode is active. |
|
| 20 | + |
|
| 21 | +**Q5: How do I enter Wi-Fi mode to update the receiver's firmware?** |
|
| 22 | +**A:** As mentioned above, simply power on the receiver and wait. If it doesn't connect to a transmitter within about 60 seconds, it will automatically enter Wi-Fi update mode, indicated by the rapidly flashing LED. |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## ref |
|
| 26 | + |
Network-dat/RC-dat/RC-TX-dat/ELRS-dat/ELRS-frequency-dat.md
| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | + |
|
| 2 | +# ELRS-frequency-dat.md |
|
| 3 | + |
|
| 4 | +| Feature | ELRS 915MHz (LoRa) | ELRS 2.4GHz (LoRa/FLRC) | |
|
| 5 | +|---------------------|-----------------------------|------------------------------| |
|
| 6 | +| Frequency Band | 915 MHz | 2.4 GHz | |
|
| 7 | +| Range (LOS, 100mW) | ✅ 5–10+ km | ⚠️ 1–2 km | |
|
| 8 | +| Penetration | ✅ Strong (trees, buildings) | ⚠️ Moderate | |
|
| 9 | +| Latency | ❌ ~20–30 ms | ✅ ~2.5–13 ms | |
|
| 10 | +| Max Packet Rate | ❌ ~50Hz | ✅ Up to 500Hz | |
|
| 11 | +| Antenna Size | ❌ Large | ✅ Small | |
|
| 12 | +| Interference Avoidance | ✅ Less crowded band | ⚠️ More Wi-Fi/Bluetooth noise | |
|
| 13 | +| Use Case | Long-range, endurance | Freestyle, racing | |
|
| 14 | +| Power Efficiency | ✅ High (lower data rate) | ✅ High (LoRa + FLRC modes) | |
|
| 15 | +| Hardware Support | Older SX1276 modules | Newer SX1280 + ESP modules | |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## ref |
|
| 19 | + |
|
| 20 | +- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-TX-dat/RC-TX-dat.md
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | + |
|
| 2 | +# RC-TX-dat |
|
| 3 | + |
|
| 4 | +- [[ELRS-dat]] |
|
| 5 | + |
|
| 6 | +- [[Flysky-dat]] == iBUS (FlySky) |
|
| 7 | + |
|
| 8 | +- FRsky |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## Long-Range RC Links |
|
| 13 | + |
|
| 14 | +| System / Peer | RF Type / Band | Output Protocol (RX→FC) | Typical TX Power (selectable) | Representative Line-of-Sight Range* | Notes | |
|
| 15 | +| --------------------- | ---------------------------------------------- | ------------------------- | -------------------------------------: | -------------------------------------------------------------------------: | ------------------------------------------------------------------ | |
|
| 16 | +| **ExpressLRS (ELRS)** | LoRA-style / 2.4GHz & 900MHz | CRSF (serial) | 10 mW — 1 W (hw dependent) | **10–40+ km** (records much higher under ideal conditions) | Open-source, very low latency, configurable packet rates. | |
|
| 17 | +| **TBS Crossfire** | Proprietary FHSS / 900MHz (main) | CRSF (serial) | 10 mW — 1 W (regional limits) | **10+ km** typical (can exceed 20–30 km with high power & good antennas) | Mature long-range system, excellent link robustness. | |
|
| 18 | +| **TBS Tracer** | 2.4GHz Tracer (LoRa + Crossfire engine) | CRSF (serial) | 10 mW — 100 mW (device dependent) | **~15+ km (15 mi+)** advertised for Nano RX / real results depend on setup | Low latency (250 Hz uplink/downlink), compact receivers. | |
|
| 19 | +| **FrSky R9 (R9M/R9)** | Narrowband / 868 / 915 MHz | SBUS (or CRSF on some RX) | 10 mW — 1 W (module dependent) | **~5–20+ km** depending on power/antenna/conditions | Widely used long-range option on 868/915 MHz bands. | |
|
| 20 | +| **ImmersionRC Ghost** | LoRa-style modulation / 2.4GHz | Serial (proprietary) | Device dependent (regulatory limits) | **10s of km** claimed / >27 km independent tests | High sensitivity LoRa mode, aims at race + long range. | |
|
| 21 | +| **DragonLink** | Narrowband HF/UHF / 433 / 433-900 MHz variants | Serial / telemetry modem | Typically high power (commercial kits) | **50+ km** (commercial claims / long-range aviation use) | Professional/RC hobby long-range system, heavier and more complex. | |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## ref |
|
| 27 | + |
|
| 28 | +- [[RC-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/PWM-1ch.ino
| ... | ... | @@ -0,0 +1,74 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 2; // Channel 1 |
|
| 3 | + |
|
| 4 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 5 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 6 | + |
|
| 7 | +const int IN1 = 0; // Direction for Motor 1 (IN2_Motor1 is inverted in hardware) |
|
| 8 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 9 | + |
|
| 10 | +long aileronControl; |
|
| 11 | + |
|
| 12 | +long readAileronControlSignal() { |
|
| 13 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 14 | + if (rawPWM == 0) { // Timeout or no signal |
|
| 15 | + return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 16 | + } |
|
| 17 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 18 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 19 | +} |
|
| 20 | + |
|
| 21 | +void setup() { |
|
| 22 | + pinMode(aileronPin, INPUT); |
|
| 23 | + |
|
| 24 | + pinMode(ENA, OUTPUT); |
|
| 25 | + pinMode(ENB, OUTPUT); |
|
| 26 | + pinMode(IN1, OUTPUT); |
|
| 27 | + pinMode(IN2, OUTPUT); |
|
| 28 | + |
|
| 29 | + // Initialize motors to off |
|
| 30 | + digitalWrite(IN1, LOW); |
|
| 31 | + digitalWrite(IN2, LOW); |
|
| 32 | + analogWrite(ENA, 0); |
|
| 33 | + analogWrite(ENB, 0); |
|
| 34 | + |
|
| 35 | + Serial.begin(9600); |
|
| 36 | +} |
|
| 37 | + |
|
| 38 | +void loop() { |
|
| 39 | + // Read mapped control signals from each channel |
|
| 40 | + aileronControl = readAileronControlSignal(); |
|
| 41 | + |
|
| 42 | + // Print the mapped control signal values to the Serial Monitor |
|
| 43 | + Serial.print("Aileron: "); |
|
| 44 | + Serial.print(aileronControl); |
|
| 45 | + Serial.println(); // Newline for better readability |
|
| 46 | + |
|
| 47 | + if (aileronControl > 70) { |
|
| 48 | + // Forward |
|
| 49 | + digitalWrite(IN1, HIGH); // Motor 1 forward |
|
| 50 | + digitalWrite(IN2, HIGH); // Motor 2 forward |
|
| 51 | + |
|
| 52 | + // Map aileronControl (61-100) to PWM speed (e.g., 100-255) |
|
| 53 | + int motorSpeed = map(aileronControl, 61, 100, 100, 255); |
|
| 54 | + analogWrite(ENA, motorSpeed); |
|
| 55 | + analogWrite(ENB, motorSpeed); |
|
| 56 | + } else if (aileronControl < 30) { |
|
| 57 | + // Backward |
|
| 58 | + digitalWrite(IN1, LOW); // Motor 1 backward |
|
| 59 | + digitalWrite(IN2, LOW); // Motor 2 backward |
|
| 60 | + |
|
| 61 | + // Map aileronControl (0-39) to PWM speed (e.g., 255-100, reversing the range for backward) |
|
| 62 | + int motorSpeed = map(aileronControl, 0, 39, 255, 100); |
|
| 63 | + analogWrite(ENA, motorSpeed); |
|
| 64 | + analogWrite(ENB, motorSpeed); |
|
| 65 | + } else { |
|
| 66 | + // Stop motors (aileronControl is between 40 and 60 inclusive) |
|
| 67 | + digitalWrite(IN1, LOW); |
|
| 68 | + digitalWrite(IN2, LOW); |
|
| 69 | + analogWrite(ENA, 0); |
|
| 70 | + analogWrite(ENB, 0); |
|
| 71 | + } |
|
| 72 | + |
|
| 73 | + delay(100); // Limit output rate |
|
| 74 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/PWM-2ch-2.ino
| ... | ... | @@ -0,0 +1,142 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | + |
|
| 5 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | + |
|
| 8 | +const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | + |
|
| 11 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | + |
|
| 14 | +// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | +long readAileronControlSignal() { |
|
| 16 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 18 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 19 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 20 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 21 | + } |
|
| 22 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 23 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 24 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 25 | +} |
|
| 26 | + |
|
| 27 | +// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 28 | +long readElevatorControlSignal() { |
|
| 29 | + unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 30 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 31 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 32 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 33 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 34 | + } |
|
| 35 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 36 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 37 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 38 | +} |
|
| 39 | + |
|
| 40 | +void setup() { |
|
| 41 | + pinMode(aileronPin, INPUT); |
|
| 42 | + pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 43 | + |
|
| 44 | + pinMode(ENA, OUTPUT); |
|
| 45 | + pinMode(ENB, OUTPUT); |
|
| 46 | + pinMode(IN1, OUTPUT); |
|
| 47 | + pinMode(IN2, OUTPUT); |
|
| 48 | + |
|
| 49 | + // Initialize motors to off |
|
| 50 | + digitalWrite(IN1, LOW); |
|
| 51 | + digitalWrite(IN2, LOW); |
|
| 52 | + analogWrite(ENA, 0); |
|
| 53 | + analogWrite(ENB, 0); |
|
| 54 | + |
|
| 55 | + Serial.begin(9600); |
|
| 56 | +} |
|
| 57 | + |
|
| 58 | +// Helper function to control a single motor |
|
| 59 | +// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 60 | +void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 61 | + if (pwmVal > 0) { // Forward |
|
| 62 | + digitalWrite(dirPin, HIGH); |
|
| 63 | + analogWrite(speedPin, pwmVal); |
|
| 64 | + } else if (pwmVal < 0) { // Backward |
|
| 65 | + digitalWrite(dirPin, LOW); |
|
| 66 | + analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 67 | + } else { // Stop |
|
| 68 | + digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 69 | + analogWrite(speedPin, 0); |
|
| 70 | + } |
|
| 71 | +} |
|
| 72 | + |
|
| 73 | +// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 74 | +// with a deadband around the center (e.g., 50). |
|
| 75 | +long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 76 | + long mappedValue = 0; |
|
| 77 | + int deadbandLower = rcCenter - deadbandRadius; |
|
| 78 | + int deadbandUpper = rcCenter + deadbandRadius; |
|
| 79 | + |
|
| 80 | + if (rcValue < deadbandLower) { |
|
| 81 | + // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 82 | + // Ensure deadbandLower - 1 is not less than rcMin |
|
| 83 | + if (deadbandLower -1 < rcMin) { |
|
| 84 | + mappedValue = outMin; |
|
| 85 | + } else { |
|
| 86 | + mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 87 | + } |
|
| 88 | + } else if (rcValue > deadbandUpper) { |
|
| 89 | + // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 90 | + // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 91 | + if (deadbandUpper + 1 > rcMax) { |
|
| 92 | + mappedValue = outMax; |
|
| 93 | + } else { |
|
| 94 | + mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 95 | + } |
|
| 96 | + } else { |
|
| 97 | + // Inside deadband |
|
| 98 | + mappedValue = 0; |
|
| 99 | + } |
|
| 100 | + return constrain(mappedValue, outMin, outMax); |
|
| 101 | +} |
|
| 102 | + |
|
| 103 | +void loop() { |
|
| 104 | + // Read mapped control signals from each channel |
|
| 105 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 106 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 107 | + |
|
| 108 | + // Print the mapped control signal values to the Serial Monitor |
|
| 109 | + Serial.print("Aileron (Throttle): "); |
|
| 110 | + Serial.print(aileronControl); |
|
| 111 | + Serial.print(" Elevator (Steering): "); |
|
| 112 | + Serial.print(elevatorControl); |
|
| 113 | + Serial.println(); |
|
| 114 | + |
|
| 115 | + // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 116 | + // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 117 | + int deadbandRadius = 10; |
|
| 118 | + float steeringFactor = 3; // Adjust this value to change steering sensitivity |
|
| 119 | + float throttleFactor = 3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 120 | + |
|
| 121 | + // Map control values with deadband |
|
| 122 | + long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 123 | + long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 124 | + |
|
| 125 | + // Apply sensitivity factors |
|
| 126 | + long throttleValue = rawThrottleValue * throttleFactor; |
|
| 127 | + long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 128 | + |
|
| 129 | + // Mix throttle and steering for differential drive |
|
| 130 | + long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 131 | + long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 132 | + |
|
| 133 | + // Constrain PWM values to the valid range [-255, 255] |
|
| 134 | + motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 135 | + motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 136 | + |
|
| 137 | + // Set motor speeds and directions |
|
| 138 | + setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 139 | + setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 140 | + |
|
| 141 | + delay(20); // Shorter delay for better responsiveness |
|
| 142 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/PWM-2ch-v2.ino
| ... | ... | @@ -0,0 +1,68 @@ |
| 1 | +// RC signal input pins |
|
| 2 | +#define THROTTLE_PIN 2 // Channel 1 (forward/back) |
|
| 3 | +#define STEERING_PIN 3 // Channel 2 (left/right) |
|
| 4 | + |
|
| 5 | +// Motor control pins (L298N) |
|
| 6 | +#define LEFT_ENA 9 |
|
| 7 | +#define LEFT_IN1 4 |
|
| 8 | +#define LEFT_IN2 5 |
|
| 9 | + |
|
| 10 | +#define RIGHT_ENB 10 |
|
| 11 | +#define RIGHT_IN3 6 |
|
| 12 | +#define RIGHT_IN4 7 |
|
| 13 | + |
|
| 14 | +int throttle, steering; |
|
| 15 | + |
|
| 16 | +void setup() { |
|
| 17 | + pinMode(THROTTLE_PIN, INPUT); |
|
| 18 | + pinMode(STEERING_PIN, INPUT); |
|
| 19 | + |
|
| 20 | + pinMode(LEFT_IN1, OUTPUT); |
|
| 21 | + pinMode(LEFT_IN2, OUTPUT); |
|
| 22 | + pinMode(LEFT_ENA, OUTPUT); |
|
| 23 | + |
|
| 24 | + pinMode(RIGHT_IN3, OUTPUT); |
|
| 25 | + pinMode(RIGHT_IN4, OUTPUT); |
|
| 26 | + pinMode(RIGHT_ENB, OUTPUT); |
|
| 27 | + |
|
| 28 | + Serial.begin(9600); |
|
| 29 | +} |
|
| 30 | + |
|
| 31 | +void loop() { |
|
| 32 | + // Read PWM input |
|
| 33 | + throttle = pulseIn(THROTTLE_PIN, HIGH, 25000); |
|
| 34 | + steering = pulseIn(STEERING_PIN, HIGH, 25000); |
|
| 35 | + |
|
| 36 | + // Center = 1500, range = 1000–2000 |
|
| 37 | + int throttleVal = map(throttle, 1000, 2000, -255, 255); |
|
| 38 | + int steeringVal = map(steering, 1000, 2000, -100, 100); // less aggressive |
|
| 39 | + |
|
| 40 | + // Motor mixing (differential drive) |
|
| 41 | + int leftSpeed = constrain(throttleVal + steeringVal, -255, 255); |
|
| 42 | + int rightSpeed = constrain(throttleVal - steeringVal, -255, 255); |
|
| 43 | + |
|
| 44 | + setMotor(LEFT_IN1, LEFT_IN2, LEFT_ENA, leftSpeed); |
|
| 45 | + setMotor(RIGHT_IN3, RIGHT_IN4, RIGHT_ENB, rightSpeed); |
|
| 46 | + |
|
| 47 | + // Debug |
|
| 48 | + Serial.print("Throttle: "); Serial.print(throttleVal); |
|
| 49 | + Serial.print(" Steering: "); Serial.print(steeringVal); |
|
| 50 | + Serial.print(" L: "); Serial.print(leftSpeed); |
|
| 51 | + Serial.print(" R: "); Serial.println(rightSpeed); |
|
| 52 | + |
|
| 53 | + delay(20); |
|
| 54 | +} |
|
| 55 | + |
|
| 56 | +void setMotor(int in1, int in2, int ena, int speed) { |
|
| 57 | + if (speed > 0) { |
|
| 58 | + digitalWrite(in1, HIGH); |
|
| 59 | + digitalWrite(in2, LOW); |
|
| 60 | + } else if (speed < 0) { |
|
| 61 | + digitalWrite(in1, LOW); |
|
| 62 | + digitalWrite(in2, HIGH); |
|
| 63 | + } else { |
|
| 64 | + digitalWrite(in1, LOW); |
|
| 65 | + digitalWrite(in2, LOW); |
|
| 66 | + } |
|
| 67 | + analogWrite(ena, abs(speed)); |
|
| 68 | +} |
Network-dat/RC-dat/RC-code-dat/PWM-2ch.ino
| ... | ... | @@ -0,0 +1,136 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | + |
|
| 5 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | + |
|
| 8 | +const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | + |
|
| 11 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | + |
|
| 14 | +// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | +long readAileronControlSignal() { |
|
| 16 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | + if (rawPWM == 0) { // Timeout or no signal |
|
| 18 | + return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 19 | + } |
|
| 20 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 21 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 22 | +} |
|
| 23 | + |
|
| 24 | +// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 25 | +long readElevatorControlSignal() { |
|
| 26 | + unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 27 | + if (rawPWM == 0) { // Timeout or no signal |
|
| 28 | + return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 29 | + } |
|
| 30 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 31 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 32 | +} |
|
| 33 | + |
|
| 34 | +void setup() { |
|
| 35 | + pinMode(aileronPin, INPUT); |
|
| 36 | + pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 37 | + |
|
| 38 | + pinMode(ENA, OUTPUT); |
|
| 39 | + pinMode(ENB, OUTPUT); |
|
| 40 | + pinMode(IN1, OUTPUT); |
|
| 41 | + pinMode(IN2, OUTPUT); |
|
| 42 | + |
|
| 43 | + // Initialize motors to off |
|
| 44 | + digitalWrite(IN1, LOW); |
|
| 45 | + digitalWrite(IN2, LOW); |
|
| 46 | + analogWrite(ENA, 0); |
|
| 47 | + analogWrite(ENB, 0); |
|
| 48 | + |
|
| 49 | + Serial.begin(9600); |
|
| 50 | +} |
|
| 51 | + |
|
| 52 | +// Helper function to control a single motor |
|
| 53 | +// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 54 | +void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 55 | + if (pwmVal > 0) { // Forward |
|
| 56 | + digitalWrite(dirPin, HIGH); |
|
| 57 | + analogWrite(speedPin, pwmVal); |
|
| 58 | + } else if (pwmVal < 0) { // Backward |
|
| 59 | + digitalWrite(dirPin, LOW); |
|
| 60 | + analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 61 | + } else { // Stop |
|
| 62 | + digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 63 | + analogWrite(speedPin, 0); |
|
| 64 | + } |
|
| 65 | +} |
|
| 66 | + |
|
| 67 | +// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 68 | +// with a deadband around the center (e.g., 50). |
|
| 69 | +long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 70 | + long mappedValue = 0; |
|
| 71 | + int deadbandLower = rcCenter - deadbandRadius; |
|
| 72 | + int deadbandUpper = rcCenter + deadbandRadius; |
|
| 73 | + |
|
| 74 | + if (rcValue < deadbandLower) { |
|
| 75 | + // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 76 | + // Ensure deadbandLower - 1 is not less than rcMin |
|
| 77 | + if (deadbandLower -1 < rcMin) { |
|
| 78 | + mappedValue = outMin; |
|
| 79 | + } else { |
|
| 80 | + mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 81 | + } |
|
| 82 | + } else if (rcValue > deadbandUpper) { |
|
| 83 | + // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 84 | + // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 85 | + if (deadbandUpper + 1 > rcMax) { |
|
| 86 | + mappedValue = outMax; |
|
| 87 | + } else { |
|
| 88 | + mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 89 | + } |
|
| 90 | + } else { |
|
| 91 | + // Inside deadband |
|
| 92 | + mappedValue = 0; |
|
| 93 | + } |
|
| 94 | + return constrain(mappedValue, outMin, outMax); |
|
| 95 | +} |
|
| 96 | + |
|
| 97 | +void loop() { |
|
| 98 | + // Read mapped control signals from each channel |
|
| 99 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 100 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 101 | + |
|
| 102 | + // Print the mapped control signal values to the Serial Monitor |
|
| 103 | + Serial.print("Aileron (Throttle): "); |
|
| 104 | + Serial.print(aileronControl); |
|
| 105 | + Serial.print(" Elevator (Steering): "); |
|
| 106 | + Serial.print(elevatorControl); |
|
| 107 | + Serial.println(); |
|
| 108 | + |
|
| 109 | + // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 110 | + // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 111 | + int deadbandRadius = 5; |
|
| 112 | + float steeringFactor = 1.5; // Adjust this value to change steering sensitivity |
|
| 113 | + float throttleFactor = 1.3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 114 | + |
|
| 115 | + // Map control values with deadband |
|
| 116 | + long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 117 | + long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 118 | + |
|
| 119 | + // Apply sensitivity factors |
|
| 120 | + long throttleValue = rawThrottleValue * throttleFactor; |
|
| 121 | + long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 122 | + |
|
| 123 | + // Mix throttle and steering for differential drive |
|
| 124 | + long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 125 | + long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 126 | + |
|
| 127 | + // Constrain PWM values to the valid range [-255, 255] |
|
| 128 | + motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 129 | + motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 130 | + |
|
| 131 | + // Set motor speeds and directions |
|
| 132 | + setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 133 | + setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 134 | + |
|
| 135 | + delay(20); // Shorter delay for better responsiveness |
|
| 136 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/RC-code-dat.md
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | + |
|
| 2 | +# RC-code-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +basic code == [[basic-code-1.ino]], or [[ultrasonic car-1602.pde]] |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## working for |
|
| 9 | + |
|
| 10 | +- [[SDR1064-dat]] - [[nodemcu-dat]] |
|
| 11 | + |
|
| 12 | +## code |
|
| 13 | + |
|
| 14 | +- [[PWM-1ch.ino]] - [[PWM-2ch.ino]] - [[PWM-2ch-v2.ino]] |
|
| 15 | + |
|
| 16 | +- [[rover-1.ino]] - [[rover-2.ino]] |
|
| 17 | + |
|
| 18 | +- [[DRV8871-dat]] |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## ref |
|
| 22 | + |
|
| 23 | +- [[PWM-dat]] |
|
| 24 | + |
|
| 25 | +- [[RC-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/basic-code-1.ino
| ... | ... | @@ -0,0 +1,403 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +******************************************************************************* |
|
| 4 | +遥控超声波测距智能车程序(ARDUINO) |
|
| 5 | +#include <IRremote.h> |
|
| 6 | +#include <Servo.h> |
|
| 7 | +#include <Wire.h> |
|
| 8 | +#include <LiquidCrystal_I2C.h> |
|
| 9 | +//***********************定義馬達腳位************************* |
|
| 10 | +int MotorRight1=6; |
|
| 11 | +int MotorRight2=9; |
|
| 12 | +int MotorLeft1=10; |
|
| 13 | +int MotorLeft2=11; |
|
| 14 | + |
|
| 15 | +int counter=0; |
|
| 16 | +const int irReceiverPin = 3; //紅外線接收器 OUTPUT 訊號接在 pin 3 |
|
| 17 | +//***********************設定所偵測到的 IRcode************************* |
|
| 18 | +long IRfront= 0x00FF629D; //前進碼 |
|
| 19 | +long IRback=0x00FFA857; //後退 |
|
| 20 | +long IRturnright=0x00FF22DD; //右轉 |
|
| 21 | +long IRturnleft= 0x00FFC23D; //左轉 |
|
| 22 | +long IRstop=0x00FF02FD; //停止 |
|
| 23 | +long IRAutorun=0x00FF6897; //超音波自走模式 |
|
| 24 | +long IRturnsmallleft= 0x00FFB04F; |
|
| 25 | +IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 26 | +decode_results results; |
|
| 27 | +//*************************定義超音波腳位****************************** |
|
| 28 | +int inputPin =A0 ; // 定義超音波信號接收腳位 rx |
|
| 29 | +int outputPin =A1; // 定義超音波信號發射腳位'tx |
|
| 30 | +int Fspeedd = 0; // 前方距離 |
|
| 31 | +int Rspeedd = 0; // 右方距離 |
|
| 32 | +int Lspeedd = 0; // 左方距離 |
|
| 33 | +int directionn = 0; // 前=8 後=2 左=4 右=6 |
|
| 34 | +Servo myservo; // 設 myservo |
|
| 35 | +int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 36 | +int Fgo = 8; // 前進 |
|
| 37 | +int Rgo = 6; // 右轉 |
|
| 38 | +int Lgo = 4; // 左轉 |
|
| 39 | +int Bgo = 2; // 倒車 |
|
| 40 | +//********************************************************************(SETUP) |
|
| 41 | +LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line |
|
| 42 | +display |
|
| 43 | +void setup() |
|
| 44 | +{ |
|
| 45 | + Serial.begin(9600); |
|
| 46 | + pinMode(MotorRight1, OUTPUT); // 腳位 8 (PWM) |
|
| 47 | + pinMode(MotorRight2, OUTPUT); // 腳位 9 (PWM) |
|
| 48 | + pinMode(MotorLeft1, OUTPUT); // 腳位 10 (PWM) |
|
| 49 | + pinMode(MotorLeft2, OUTPUT); // 腳位 11 (PWM) |
|
| 50 | + irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 51 | + digitalWrite(3,HIGH); |
|
| 52 | + pinMode(inputPin, INPUT); // 定義超音波輸入腳位 |
|
| 53 | + pinMode(outputPin, OUTPUT); // 定義超音波輸出腳位 |
|
| 54 | + myservo.attach(5); // 定義伺服馬達輸出第 5 腳位(PWM) |
|
| 55 | + lcd.init(); // initialize the lcd |
|
| 56 | + lcd.init(); |
|
| 57 | + // Print a message to the LCD. |
|
| 58 | + |
|
| 59 | + lcd.backlight(); |
|
| 60 | + } |
|
| 61 | +//******************************************************************(Void) |
|
| 62 | +void advance(int a) // 前進 |
|
| 63 | +{ |
|
| 64 | + digitalWrite(MotorRight1,LOW); |
|
| 65 | + digitalWrite(MotorRight2,HIGH); |
|
| 66 | + digitalWrite(MotorLeft1,LOW); |
|
| 67 | + digitalWrite(MotorLeft2,HIGH); |
|
| 68 | + delay(a * 100); |
|
| 69 | +} |
|
| 70 | +void right(int b) //右轉(單輪) |
|
| 71 | +{ |
|
| 72 | + digitalWrite(MotorLeft1,LOW); |
|
| 73 | + digitalWrite(MotorLeft2,HIGH); |
|
| 74 | + digitalWrite(MotorRight1,LOW); |
|
| 75 | + digitalWrite(MotorRight2,LOW); |
|
| 76 | + delay(b * 100); |
|
| 77 | +} |
|
| 78 | +void left(int c) //左轉(單輪) |
|
| 79 | +{ |
|
| 80 | + digitalWrite(MotorRight1,LOW); |
|
| 81 | + digitalWrite(MotorRight2,HIGH); |
|
| 82 | + digitalWrite(MotorLeft1,LOW); |
|
| 83 | + digitalWrite(MotorLeft2,LOW); |
|
| 84 | + delay(c * 100); |
|
| 85 | +} |
|
| 86 | +void turnR(int d) //右轉(雙輪) |
|
| 87 | +{ |
|
| 88 | + digitalWrite(MotorRight1,HIGH); |
|
| 89 | + digitalWrite(MotorRight2,LOW); |
|
| 90 | + digitalWrite(MotorLeft1,LOW); |
|
| 91 | + digitalWrite(MotorLeft2,HIGH); |
|
| 92 | + delay(d * 100); |
|
| 93 | +} |
|
| 94 | +void turnL(int e) //左轉(雙輪) |
|
| 95 | +{ |
|
| 96 | + digitalWrite(MotorRight1,LOW); |
|
| 97 | + digitalWrite(MotorRight2,HIGH); |
|
| 98 | + digitalWrite(MotorLeft1,HIGH); |
|
| 99 | + digitalWrite(MotorLeft2,LOW); |
|
| 100 | + |
|
| 101 | + delay(e * 100); |
|
| 102 | +} |
|
| 103 | +void stopp(int f) //停止 |
|
| 104 | +{ |
|
| 105 | + digitalWrite(MotorRight1,LOW); |
|
| 106 | + digitalWrite(MotorRight2,LOW); |
|
| 107 | + digitalWrite(MotorLeft1,LOW); |
|
| 108 | + digitalWrite(MotorLeft2,LOW); |
|
| 109 | + delay(f * 100); |
|
| 110 | +} |
|
| 111 | +void back(int g) //後退 |
|
| 112 | +{ |
|
| 113 | + digitalWrite(MotorRight1,HIGH); |
|
| 114 | + digitalWrite(MotorRight2,LOW); |
|
| 115 | + digitalWrite(MotorLeft1,HIGH); |
|
| 116 | + digitalWrite(MotorLeft2,LOW);; |
|
| 117 | + delay(g * 100); |
|
| 118 | +} |
|
| 119 | +void detection() //測量 3 個角度(前.左.右) |
|
| 120 | +{ |
|
| 121 | + int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 122 | + ask_pin_F(); // 讀取前方距離 |
|
| 123 | + if(Fspeedd < 10) // 假如前方距離小於 10 公分 |
|
| 124 | + { |
|
| 125 | + stopp(1); // 清除輸出資料 |
|
| 126 | + back(2); // 後退 0.2 秒 |
|
| 127 | + |
|
| 128 | + } |
|
| 129 | + if(Fspeedd < 25) // 假如前方距離小於 25 公分 |
|
| 130 | + { |
|
| 131 | + stopp(1); // 清除輸出資料 |
|
| 132 | + ask_pin_L(); // 讀取左方距離 |
|
| 133 | + delay(delay_time); // 等待伺服馬達穩定 |
|
| 134 | + ask_pin_R(); // 讀取右方距離 |
|
| 135 | + delay(delay_time); // 等待伺服馬達穩定 |
|
| 136 | + if(Lspeedd > Rspeedd) //假如 左邊距離大於右邊距離 |
|
| 137 | + { |
|
| 138 | + directionn = Lgo; //向左走 |
|
| 139 | + } |
|
| 140 | + if(Lspeedd <= Rspeedd) //假如 左邊距離小於或等於右邊距離 |
|
| 141 | + |
|
| 142 | + { |
|
| 143 | + directionn = Rgo; //向右走 |
|
| 144 | + } |
|
| 145 | + if (Lspeedd < 15 && Rspeedd < 15) //假如 左邊距離和右邊距離皆小於 10 公分 |
|
| 146 | + { |
|
| 147 | + directionn = Bgo; //向後走 |
|
| 148 | + } |
|
| 149 | + } |
|
| 150 | + else //加如前方大於 25 公分 |
|
| 151 | + { |
|
| 152 | + directionn = Fgo; //向前走 |
|
| 153 | + } |
|
| 154 | +} |
|
| 155 | +//***************************************************************************** |
|
| 156 | +**** |
|
| 157 | +void ask_pin_F() // 量出前方距離 |
|
| 158 | +{ |
|
| 159 | +myservo.write(90); |
|
| 160 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 161 | +delayMicroseconds(2); |
|
| 162 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 163 | +delayMicroseconds(10); |
|
| 164 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 165 | +float Fdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 166 | +Fdistance= Fdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 167 | +Fspeedd = Fdistance; // 將距離 讀入 Fspeedd(前速) |
|
| 168 | +} |
|
| 169 | +//***************************************************************************** |
|
| 170 | +*** |
|
| 171 | +void ask_pin_L() // 量出左邊距離 |
|
| 172 | +{ |
|
| 173 | +myservo.write(177); |
|
| 174 | +delay(delay_time); |
|
| 175 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 176 | +delayMicroseconds(2); |
|
| 177 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 178 | +delayMicroseconds(10); |
|
| 179 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 180 | +float Ldistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 181 | +Ldistance= Ldistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 182 | +Lspeedd = Ldistance; // 將距離 讀入 Lspeedd(左速) |
|
| 183 | + |
|
| 184 | +} |
|
| 185 | +//***************************************************************************** |
|
| 186 | +* |
|
| 187 | +void ask_pin_R() // 量出右邊距離 |
|
| 188 | +{ |
|
| 189 | +myservo.write(5); |
|
| 190 | +delay(delay_time); |
|
| 191 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 192 | +delayMicroseconds(2); |
|
| 193 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 194 | +delayMicroseconds(10); |
|
| 195 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 196 | +float Rdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 197 | +Rdistance= Rdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 198 | +Rspeedd = Rdistance; // 將距離 讀入 Rspeedd(右速) |
|
| 199 | +} |
|
| 200 | +//***************************************************************************** |
|
| 201 | +*(LOOP) |
|
| 202 | +void loop() |
|
| 203 | +{ |
|
| 204 | + |
|
| 205 | +//***************************************************************************正 |
|
| 206 | +常遙控模式 |
|
| 207 | + if (irrecv.decode(&results)) |
|
| 208 | + { // 解碼成功,收到一組紅外線訊號 |
|
| 209 | +/***********************************************************************/ |
|
| 210 | + if (results.value == IRfront)//前進 |
|
| 211 | + { |
|
| 212 | + |
|
| 213 | + lcd.setCursor(0,0); |
|
| 214 | + lcd.print(" IR mode"); |
|
| 215 | + lcd.setCursor(0,1); |
|
| 216 | + lcd.print(" advance "); |
|
| 217 | + advance(20);//前進 |
|
| 218 | + } |
|
| 219 | +/***********************************************************************/ |
|
| 220 | + if (results.value == IRback)//後退 |
|
| 221 | + { |
|
| 222 | + |
|
| 223 | + lcd.setCursor(0,0); |
|
| 224 | + lcd.print(" IR mode"); |
|
| 225 | + lcd.setCursor(0,1); |
|
| 226 | + lcd.print(" back "); |
|
| 227 | + |
|
| 228 | + back(20);//後退 |
|
| 229 | + } |
|
| 230 | +/***********************************************************************/ |
|
| 231 | + if (results.value == IRturnright)//右轉 |
|
| 232 | + { |
|
| 233 | + |
|
| 234 | + lcd.setCursor(0,0); |
|
| 235 | + lcd.print(" IR mode"); |
|
| 236 | + lcd.setCursor(0,1); |
|
| 237 | + lcd.print(" right "); |
|
| 238 | + right(10); // 右轉 |
|
| 239 | + |
|
| 240 | + } |
|
| 241 | +/***********************************************************************/ |
|
| 242 | + if (results.value == IRturnleft)//左轉 |
|
| 243 | + { |
|
| 244 | + |
|
| 245 | + lcd.setCursor(0,0); |
|
| 246 | + lcd.print(" IR mode"); |
|
| 247 | + lcd.setCursor(0,1); |
|
| 248 | + lcd.print(" left "); |
|
| 249 | + left(10); // 左轉); |
|
| 250 | + } |
|
| 251 | +/***********************************************************************/ |
|
| 252 | + if (results.value == IRstop)//停止 |
|
| 253 | + { |
|
| 254 | + lcd.setCursor(0,0); |
|
| 255 | + lcd.print(" IR mode"); |
|
| 256 | + lcd.setCursor(0,1); |
|
| 257 | + lcd.print(" stop "); |
|
| 258 | + digitalWrite(MotorRight1,LOW); |
|
| 259 | + digitalWrite(MotorRight2,LOW); |
|
| 260 | + digitalWrite(MotorLeft1,LOW); |
|
| 261 | + digitalWrite(MotorLeft2,LOW); |
|
| 262 | + |
|
| 263 | + |
|
| 264 | + } |
|
| 265 | +//***********************************************************************超音波 |
|
| 266 | +自走模式 |
|
| 267 | + if (results.value ==IRAutorun ) |
|
| 268 | + { |
|
| 269 | + while(IRAutorun) |
|
| 270 | + { |
|
| 271 | + |
|
| 272 | + myservo.write(90); //讓伺服馬達回歸 預備位置 準備下一次的測量 |
|
| 273 | + detection(); //測量角度 並且判斷要往哪一方向移動 |
|
| 274 | + if(directionn == 8) //假如 directionn(方向) = 8(前進) |
|
| 275 | + { |
|
| 276 | + if (irrecv.decode(&results)) |
|
| 277 | + { |
|
| 278 | + irrecv.resume(); |
|
| 279 | + Serial.println(results.value,HEX); |
|
| 280 | + if(results.value ==IRstop) |
|
| 281 | + { |
|
| 282 | + digitalWrite(MotorRight1,LOW); |
|
| 283 | + digitalWrite(MotorRight2,LOW); |
|
| 284 | + digitalWrite(MotorLeft1,LOW); |
|
| 285 | + digitalWrite(MotorLeft2,LOW); |
|
| 286 | + break; |
|
| 287 | + } |
|
| 288 | + } |
|
| 289 | + results.value=0; |
|
| 290 | + |
|
| 291 | + |
|
| 292 | + lcd.setCursor(0,0); |
|
| 293 | + lcd.print(" aoto mode"); |
|
| 294 | + lcd.setCursor(0,1); |
|
| 295 | + lcd.print(" Advance "); |
|
| 296 | + advance(1); // 正常前進 |
|
| 297 | + } |
|
| 298 | + if(directionn == 2) //假如 directionn(方向) = 2(倒車) |
|
| 299 | + { |
|
| 300 | + if (irrecv.decode(&results)) |
|
| 301 | + { |
|
| 302 | + irrecv.resume(); |
|
| 303 | + Serial.println(results.value,HEX); |
|
| 304 | + if(results.value ==IRstop) |
|
| 305 | + { |
|
| 306 | + digitalWrite(MotorRight1,LOW); |
|
| 307 | + digitalWrite(MotorRight2,LOW); |
|
| 308 | + digitalWrite(MotorLeft1,LOW); |
|
| 309 | + digitalWrite(MotorLeft2,LOW); |
|
| 310 | + break; |
|
| 311 | + } |
|
| 312 | + } |
|
| 313 | + results.value=0; |
|
| 314 | + |
|
| 315 | + lcd.setCursor(0,0); |
|
| 316 | + lcd.print(" aoto mode"); |
|
| 317 | + lcd.setCursor(0,1); |
|
| 318 | + lcd.print(" Reverse "); |
|
| 319 | + back(8); // 倒退(車) |
|
| 320 | + turnL(3); //些微向左方移動(防止卡在死巷裡) |
|
| 321 | + } |
|
| 322 | + if(directionn == 6) //假如 directionn(方向) = 6(右轉) |
|
| 323 | + { |
|
| 324 | + if (irrecv.decode(&results)) |
|
| 325 | + { |
|
| 326 | + irrecv.resume(); |
|
| 327 | + Serial.println(results.value,HEX); |
|
| 328 | + if(results.value ==IRstop) |
|
| 329 | + { |
|
| 330 | + digitalWrite(MotorRight1,LOW); |
|
| 331 | + digitalWrite(MotorRight2,LOW); |
|
| 332 | + digitalWrite(MotorLeft1,LOW); |
|
| 333 | + digitalWrite(MotorLeft2,LOW); |
|
| 334 | + break; |
|
| 335 | + } |
|
| 336 | + } |
|
| 337 | + results.value=0; |
|
| 338 | + |
|
| 339 | + |
|
| 340 | + lcd.setCursor(0,0); |
|
| 341 | + lcd.print(" aoto mode"); |
|
| 342 | + lcd.setCursor(0,1); |
|
| 343 | + lcd.print(" Right "); |
|
| 344 | + back(1); |
|
| 345 | + turnR(3); // 右轉 |
|
| 346 | + } |
|
| 347 | + if(directionn == 4) //假如 directionn(方向) = 4(左轉) |
|
| 348 | + { |
|
| 349 | + if (irrecv.decode(&results)) |
|
| 350 | + { |
|
| 351 | + irrecv.resume(); |
|
| 352 | + Serial.println(results.value,HEX); |
|
| 353 | + if(results.value ==IRstop) |
|
| 354 | + { |
|
| 355 | + digitalWrite(MotorRight1,LOW); |
|
| 356 | + digitalWrite(MotorRight2,LOW); |
|
| 357 | + digitalWrite(MotorLeft1,LOW); |
|
| 358 | + digitalWrite(MotorLeft2,LOW); |
|
| 359 | + |
|
| 360 | + break; |
|
| 361 | + } |
|
| 362 | + } |
|
| 363 | + results.value=0; |
|
| 364 | + |
|
| 365 | + lcd.setCursor(0,0); |
|
| 366 | + lcd.print(" aoto mode"); |
|
| 367 | + lcd.setCursor(0,1); |
|
| 368 | + lcd.print(" Left "); |
|
| 369 | + back(1); |
|
| 370 | + turnL(3); // 左轉 |
|
| 371 | + |
|
| 372 | + } |
|
| 373 | + |
|
| 374 | + if (irrecv.decode(&results)) |
|
| 375 | + { |
|
| 376 | + irrecv.resume(); |
|
| 377 | + Serial.println(results.value,HEX); |
|
| 378 | + if(results.value ==IRstop) |
|
| 379 | + { |
|
| 380 | + digitalWrite(MotorRight1,LOW); |
|
| 381 | + digitalWrite(MotorRight2,LOW); |
|
| 382 | + digitalWrite(MotorLeft1,LOW); |
|
| 383 | + digitalWrite(MotorLeft2,LOW); |
|
| 384 | + break; |
|
| 385 | + } |
|
| 386 | + } |
|
| 387 | + } |
|
| 388 | + results.value=0; |
|
| 389 | + } |
|
| 390 | +/***********************************************************************/ |
|
| 391 | + else |
|
| 392 | + { |
|
| 393 | + digitalWrite(MotorRight1,LOW); |
|
| 394 | + digitalWrite(MotorRight2,LOW); |
|
| 395 | + digitalWrite(MotorLeft1,LOW); |
|
| 396 | + digitalWrite(MotorLeft2,LOW); |
|
| 397 | + } |
|
| 398 | + |
|
| 399 | + irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 400 | + } |
|
| 401 | +} |
|
| 402 | + |
|
| 403 | +******************************************************************************* |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-1.ino
| ... | ... | @@ -0,0 +1,94 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | + |
|
| 5 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | + |
|
| 8 | +const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | + |
|
| 11 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | + |
|
| 14 | +// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | +long readAileronControlSignal() { |
|
| 16 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 18 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 19 | + return 50; // Mid-point for 0-100 scale |
|
| 20 | + } |
|
| 21 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 22 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 23 | +} |
|
| 24 | + |
|
| 25 | +// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 26 | +long readElevatorControlSignal() { |
|
| 27 | + unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 28 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 29 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 30 | + return 50; // Mid-point for 0-100 scale |
|
| 31 | + } |
|
| 32 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 33 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 34 | +} |
|
| 35 | + |
|
| 36 | +void setup() { |
|
| 37 | + pinMode(aileronPin, INPUT); |
|
| 38 | + pinMode(elevatorPin, INPUT); |
|
| 39 | + |
|
| 40 | + pinMode(ENA, OUTPUT); |
|
| 41 | + pinMode(ENB, OUTPUT); |
|
| 42 | + pinMode(IN1, OUTPUT); |
|
| 43 | + pinMode(IN2, OUTPUT); |
|
| 44 | + |
|
| 45 | + // Initialize motors to off |
|
| 46 | + digitalWrite(IN1, LOW); |
|
| 47 | + digitalWrite(IN2, LOW); |
|
| 48 | + analogWrite(ENA, 0); |
|
| 49 | + analogWrite(ENB, 0); |
|
| 50 | +} |
|
| 51 | + |
|
| 52 | +// Helper function to control a single motor |
|
| 53 | +// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 54 | +void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 55 | + if (pwmVal > 0) { // Forward |
|
| 56 | + digitalWrite(dirPin, HIGH); |
|
| 57 | + analogWrite(speedPin, pwmVal); |
|
| 58 | + } else if (pwmVal < 0) { // Backward |
|
| 59 | + digitalWrite(dirPin, LOW); |
|
| 60 | + analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 61 | + } else { // Stop |
|
| 62 | + digitalWrite(dirPin, LOW); |
|
| 63 | + analogWrite(speedPin, 0); |
|
| 64 | + } |
|
| 65 | +} |
|
| 66 | + |
|
| 67 | +void loop() { |
|
| 68 | + // Read mapped control signals from each channel |
|
| 69 | + aileronControl = readAileronControlSignal(); // Throttle (0-100, 50 is neutral) |
|
| 70 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100, 50 is neutral) |
|
| 71 | + |
|
| 72 | + // Map control values directly |
|
| 73 | + // aileronControl (0-100) to throttleValue (-255 to 255) |
|
| 74 | + // 0 -> -255 (full reverse), 50 -> 0 (stop), 100 -> 255 (full forward) |
|
| 75 | + long throttleValue = map(aileronControl, 0, 100, -255, 255); |
|
| 76 | + |
|
| 77 | + // elevatorControl (0-100) to steeringValue (-255 to 255) |
|
| 78 | + // 0 -> -255 (full left turn effect), 50 -> 0 (straight), 100 -> 255 (full right turn effect) |
|
| 79 | + long steeringValue = map(elevatorControl, 0, 100, -255, 255); |
|
| 80 | + |
|
| 81 | + // Mix throttle and steering for differential drive |
|
| 82 | + long motor1Pwm = throttleValue + steeringValue; |
|
| 83 | + long motor2Pwm = throttleValue - steeringValue; |
|
| 84 | + |
|
| 85 | + // Constrain PWM values to the valid range [-255, 255] |
|
| 86 | + motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 87 | + motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 88 | + |
|
| 89 | + // Set motor speeds and directions |
|
| 90 | + setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 91 | + setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 92 | + |
|
| 93 | + delay(20); // Delay for responsiveness |
|
| 94 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-2.ino
| ... | ... | @@ -0,0 +1,167 @@ |
| 1 | +#include <Adafruit_NeoPixel.h> |
|
| 2 | + |
|
| 3 | +// Define pins for each RC channel |
|
| 4 | +int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 5 | +int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 6 | + |
|
| 7 | +const int IN1 = 0; // Direction for Motor 1 // D3 |
|
| 8 | +const int IN2 = 2; // Direction pin 1 for Motor 2 // D4 |
|
| 9 | + |
|
| 10 | +// WS2812 LED Strip Configuration |
|
| 11 | +#define LED_PIN 15 // nodemcu pin D8 |
|
| 12 | +#define LED_COUNT 8 |
|
| 13 | +Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); |
|
| 14 | + |
|
| 15 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 16 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 17 | + |
|
| 18 | +// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 19 | +long readAileronControlSignal() { |
|
| 20 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 21 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 22 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 23 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 24 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 25 | + } |
|
| 26 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 27 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 28 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 29 | +} |
|
| 30 | + |
|
| 31 | +// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 32 | +long readElevatorControlSignal() { |
|
| 33 | + unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 34 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 35 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 36 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 37 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 38 | + } |
|
| 39 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 40 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 41 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 42 | +} |
|
| 43 | + |
|
| 44 | +void setup() { |
|
| 45 | + pinMode(aileronPin, INPUT); |
|
| 46 | + pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 47 | + |
|
| 48 | + pinMode(ENA, OUTPUT); |
|
| 49 | + pinMode(ENB, OUTPUT); |
|
| 50 | + pinMode(IN1, OUTPUT); |
|
| 51 | + pinMode(IN2, OUTPUT); |
|
| 52 | + |
|
| 53 | + // Initialize motors to off |
|
| 54 | + digitalWrite(IN1, LOW); |
|
| 55 | + digitalWrite(IN2, LOW); |
|
| 56 | + analogWrite(ENA, 0); |
|
| 57 | + analogWrite(ENB, 0); |
|
| 58 | + |
|
| 59 | + Serial.begin(9600); |
|
| 60 | + |
|
| 61 | + strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) |
|
| 62 | + strip.show(); // Turn OFF all pixels ASAP |
|
| 63 | + strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) |
|
| 64 | +} |
|
| 65 | + |
|
| 66 | +// Helper function to control a single motor |
|
| 67 | +// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 68 | +void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 69 | + if (pwmVal > 0) { // Forward |
|
| 70 | + digitalWrite(dirPin, HIGH); |
|
| 71 | + analogWrite(speedPin, pwmVal); |
|
| 72 | + } else if (pwmVal < 0) { // Backward |
|
| 73 | + digitalWrite(dirPin, LOW); |
|
| 74 | + analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 75 | + } else { // Stop |
|
| 76 | + digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 77 | + analogWrite(speedPin, 0); |
|
| 78 | + } |
|
| 79 | +} |
|
| 80 | + |
|
| 81 | +// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 82 | +// with a deadband around the center (e.g., 50). |
|
| 83 | +long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 84 | + long mappedValue = 0; |
|
| 85 | + int deadbandLower = rcCenter - deadbandRadius; |
|
| 86 | + int deadbandUpper = rcCenter + deadbandRadius; |
|
| 87 | + |
|
| 88 | + if (rcValue < deadbandLower) { |
|
| 89 | + // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 90 | + // Ensure deadbandLower - 1 is not less than rcMin |
|
| 91 | + if (deadbandLower -1 < rcMin) { |
|
| 92 | + mappedValue = outMin; |
|
| 93 | + } else { |
|
| 94 | + mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 95 | + } |
|
| 96 | + } else if (rcValue > deadbandUpper) { |
|
| 97 | + // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 98 | + // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 99 | + if (deadbandUpper + 1 > rcMax) { |
|
| 100 | + mappedValue = outMax; |
|
| 101 | + } else { |
|
| 102 | + mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 103 | + } |
|
| 104 | + } else { |
|
| 105 | + // Inside deadband |
|
| 106 | + mappedValue = 0; |
|
| 107 | + } |
|
| 108 | + return constrain(mappedValue, outMin, outMax); |
|
| 109 | +} |
|
| 110 | + |
|
| 111 | +// Function to create a random blinking effect for WS2812 LEDs |
|
| 112 | +void randomBlinkEffect() { |
|
| 113 | + for (int i = 0; i < LED_COUNT; i++) { |
|
| 114 | + // Turn on a random LED with a random color |
|
| 115 | + if (random(0, 2) == 1) { // 50% chance to turn on this LED |
|
| 116 | + strip.setPixelColor(i, strip.Color(random(0, 256), random(0, 256), random(0, 256))); |
|
| 117 | + } else { |
|
| 118 | + strip.setPixelColor(i, strip.Color(0, 0, 0)); // Turn off |
|
| 119 | + } |
|
| 120 | + } |
|
| 121 | + strip.show(); // Send the updated pixel colors to the hardware. |
|
| 122 | + delay(100); // Wait a short period |
|
| 123 | +} |
|
| 124 | + |
|
| 125 | +void loop() { |
|
| 126 | + // Read mapped control signals from each channel |
|
| 127 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 128 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 129 | + |
|
| 130 | + // Print the mapped control signal values to the Serial Monitor |
|
| 131 | + Serial.print("Aileron (Throttle): "); |
|
| 132 | + Serial.print(aileronControl); |
|
| 133 | + Serial.print(" Elevator (Steering): "); |
|
| 134 | + Serial.print(elevatorControl); |
|
| 135 | + Serial.println(); |
|
| 136 | + |
|
| 137 | + // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 138 | + // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 139 | + int deadbandRadius = 15; |
|
| 140 | + float steeringFactor = 3; // Adjust this value to change steering sensitivity |
|
| 141 | + float throttleFactor = 3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 142 | + |
|
| 143 | + // Map control values with deadband |
|
| 144 | + long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 145 | + long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 146 | + |
|
| 147 | + // Apply sensitivity factors |
|
| 148 | + long throttleValue = rawThrottleValue * throttleFactor; |
|
| 149 | + long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 150 | + |
|
| 151 | + // Mix throttle and steering for differential drive |
|
| 152 | + long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 153 | + long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 154 | + |
|
| 155 | + // Constrain PWM values to the valid range [-255, 255] |
|
| 156 | + motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 157 | + motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 158 | + |
|
| 159 | + // Set motor speeds and directions |
|
| 160 | + setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 161 | + setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 162 | + |
|
| 163 | + // Add the LED effect |
|
| 164 | + randomBlinkEffect(); |
|
| 165 | + |
|
| 166 | + delay(20); // Shorter delay for better responsiveness |
|
| 167 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-8871-2.ino
| ... | ... | @@ -0,0 +1,126 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | + |
|
| 5 | +const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 6 | +const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 7 | + |
|
| 8 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 9 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 10 | + |
|
| 11 | +unsigned long rawAileronPWM = 0; |
|
| 12 | +unsigned long rawElevatorPWM = 0; |
|
| 13 | + |
|
| 14 | +const int PWM_MAX = 255; // ESP8266 PWM range is 0-1023 |
|
| 15 | +const int PWM_STOP = PWM_MAX / 2; // ~511 or 512 |
|
| 16 | + |
|
| 17 | +long readAileronControlSignal() { |
|
| 18 | + rawAileronPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 19 | + if (rawAileronPWM == 0 || rawAileronPWM < 900 || rawAileronPWM > 2100) { |
|
| 20 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 21 | + } |
|
| 22 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 23 | + long constrainedPWM = constrain(rawAileronPWM, 1000, 2000); |
|
| 24 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 25 | +} |
|
| 26 | + |
|
| 27 | +long readElevatorControlSignal() { |
|
| 28 | + rawElevatorPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 29 | + if (rawElevatorPWM == 0 || rawElevatorPWM < 900 || rawElevatorPWM > 2100) { |
|
| 30 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 31 | + } |
|
| 32 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 33 | + long constrainedPWM = constrain(rawElevatorPWM, 1000, 2000); |
|
| 34 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 35 | +} |
|
| 36 | + |
|
| 37 | +void setup() { |
|
| 38 | + pinMode(aileronPin, INPUT); |
|
| 39 | + pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 40 | + |
|
| 41 | + pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 42 | + pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 43 | + |
|
| 44 | + Serial.begin(9600); |
|
| 45 | + brakeMotor1(); |
|
| 46 | + brakeMotor2(); |
|
| 47 | +} |
|
| 48 | + |
|
| 49 | +void driveMotor1(bool forward) { |
|
| 50 | + if (forward) { |
|
| 51 | + digitalWrite(MOTOR1_CTRL_PIN, HIGH); |
|
| 52 | + } else { |
|
| 53 | + digitalWrite(MOTOR1_CTRL_PIN, LOW); |
|
| 54 | + } |
|
| 55 | +} |
|
| 56 | + |
|
| 57 | +void brakeMotor1() { |
|
| 58 | + analogWrite(MOTOR1_CTRL_PIN, PWM_STOP); |
|
| 59 | +} |
|
| 60 | + |
|
| 61 | +void driveMotor2(bool forward) { |
|
| 62 | + if (forward) { |
|
| 63 | + digitalWrite(MOTOR2_CTRL_PIN, HIGH); |
|
| 64 | + } else { |
|
| 65 | + digitalWrite(MOTOR2_CTRL_PIN, LOW); |
|
| 66 | + } |
|
| 67 | +} |
|
| 68 | + |
|
| 69 | +void brakeMotor2() { |
|
| 70 | + analogWrite(MOTOR2_CTRL_PIN, PWM_STOP); |
|
| 71 | +} |
|
| 72 | + |
|
| 73 | +void loop() { |
|
| 74 | + // Read mapped control signals from each channel |
|
| 75 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 76 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 77 | + |
|
| 78 | + // Simplified driving approach - no mixing |
|
| 79 | + String motor1Command = "STOP"; |
|
| 80 | + String motor2Command = "STOP"; |
|
| 81 | + |
|
| 82 | + // Handle throttle control (forward/reverse) |
|
| 83 | + if (aileronControl > 60) { |
|
| 84 | + // Forward |
|
| 85 | + driveMotor1(true); |
|
| 86 | + driveMotor2(true); |
|
| 87 | + motor1Command = "FORWARD"; |
|
| 88 | + motor2Command = "FORWARD"; |
|
| 89 | + } else if (aileronControl < 40) { |
|
| 90 | + // Reverse |
|
| 91 | + driveMotor1(false); |
|
| 92 | + driveMotor2(false); |
|
| 93 | + motor1Command = "REVERSE"; |
|
| 94 | + motor2Command = "REVERSE"; |
|
| 95 | + } else if (elevatorControl > 60) { |
|
| 96 | + // Turn right (M1 forward, M2 reverse) |
|
| 97 | + driveMotor1(true); |
|
| 98 | + driveMotor2(false); |
|
| 99 | + motor1Command = "FORWARD"; |
|
| 100 | + motor2Command = "REVERSE"; |
|
| 101 | + } else if (elevatorControl < 40) { |
|
| 102 | + // Turn left (M1 reverse, M2 forward) |
|
| 103 | + driveMotor1(false); |
|
| 104 | + driveMotor2(true); |
|
| 105 | + motor1Command = "REVERSE"; |
|
| 106 | + motor2Command = "FORWARD"; |
|
| 107 | + } else { |
|
| 108 | + // Stop |
|
| 109 | + brakeMotor1(); |
|
| 110 | + brakeMotor2(); |
|
| 111 | + } |
|
| 112 | + |
|
| 113 | + // 1. RC INPUTS |
|
| 114 | + Serial.print("RC INPUT: "); |
|
| 115 | + Serial.print("Aileron="); Serial.print(rawAileronPWM); Serial.print("us ("); Serial.print(aileronControl); Serial.print("%), "); |
|
| 116 | + Serial.print("Elevator="); Serial.print(rawElevatorPWM); Serial.print("us ("); Serial.print(elevatorControl); Serial.println("%)"); |
|
| 117 | + |
|
| 118 | + // 2. COMMANDS |
|
| 119 | + Serial.print("MOTORS: "); |
|
| 120 | + Serial.print("M1="); Serial.print(motor1Command); Serial.print(", "); |
|
| 121 | + Serial.print("M2="); Serial.println(motor2Command); |
|
| 122 | + |
|
| 123 | + Serial.println(); |
|
| 124 | + |
|
| 125 | + delay(20); // Delay for RC input reading cycle |
|
| 126 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-8871-3.ino
| ... | ... | @@ -0,0 +1,132 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | + |
|
| 5 | +const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 6 | +const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 7 | + |
|
| 8 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 9 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 10 | + |
|
| 11 | +unsigned long rawAileronPWM = 0; |
|
| 12 | +unsigned long rawElevatorPWM = 0; |
|
| 13 | + |
|
| 14 | +const int PWM_MAX = 255; // ESP8266 PWM range is 0-255 for analogWrite |
|
| 15 | +const int PWM_STOP = PWM_MAX / 2; // Approx. 127, this is brake/neutral for DRV8871 single-pin |
|
| 16 | +const int PWM_MIN_MOVING = 10; // Minimum offset from PWM_STOP to ensure movement |
|
| 17 | + |
|
| 18 | +// Add these global variables for current speeds and ramp step |
|
| 19 | +int currentMotor1Speed = PWM_STOP; |
|
| 20 | +int currentMotor2Speed = PWM_STOP; |
|
| 21 | +const int RAMP_STEP = 5; // Adjust for desired smoothness. Smaller is smoother. |
|
| 22 | + |
|
| 23 | +long readAileronControlSignal() { |
|
| 24 | + rawAileronPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 25 | + if (rawAileronPWM == 0 || rawAileronPWM < 900 || rawAileronPWM > 2100) { |
|
| 26 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 27 | + } |
|
| 28 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 29 | + long constrainedPWM = constrain(rawAileronPWM, 1000, 2000); |
|
| 30 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 31 | +} |
|
| 32 | + |
|
| 33 | +long readElevatorControlSignal() { |
|
| 34 | + rawElevatorPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 35 | + if (rawElevatorPWM == 0 || rawElevatorPWM < 900 || rawElevatorPWM > 2100) { |
|
| 36 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 37 | + } |
|
| 38 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 39 | + long constrainedPWM = constrain(rawElevatorPWM, 1000, 2000); |
|
| 40 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 41 | +} |
|
| 42 | + |
|
| 43 | +void setup() { |
|
| 44 | + pinMode(aileronPin, INPUT); |
|
| 45 | + pinMode(elevatorPin, INPUT); |
|
| 46 | + |
|
| 47 | + pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 48 | + pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 49 | + |
|
| 50 | + Serial.begin(9600); |
|
| 51 | + |
|
| 52 | + // Initialize motors to braked state using currentSpeed variables |
|
| 53 | + currentMotor1Speed = PWM_STOP; |
|
| 54 | + currentMotor2Speed = PWM_STOP; |
|
| 55 | + analogWrite(MOTOR1_CTRL_PIN, currentMotor1Speed); |
|
| 56 | + analogWrite(MOTOR2_CTRL_PIN, currentMotor2Speed); |
|
| 57 | +} |
|
| 58 | + |
|
| 59 | +void loop() { |
|
| 60 | + // Read mapped control signals from each channel |
|
| 61 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 62 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 63 | + |
|
| 64 | + String motor1TargetCommand = "BRAKE"; // Command based on stick input |
|
| 65 | + String motor2TargetCommand = "BRAKE"; |
|
| 66 | + int targetMotor1Speed = PWM_STOP; // Target speed for this loop iteration |
|
| 67 | + int targetMotor2Speed = PWM_STOP; // Target speed for this loop iteration |
|
| 68 | + |
|
| 69 | + // Handle throttle control (forward/reverse) |
|
| 70 | + if (aileronControl > 55) { |
|
| 71 | + // Forward |
|
| 72 | + int speed = map(aileronControl, 61, 100, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 73 | + speed = constrain(speed, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 74 | + targetMotor1Speed = speed; |
|
| 75 | + targetMotor2Speed = speed; |
|
| 76 | + motor1TargetCommand = "FORWARD"; |
|
| 77 | + motor2TargetCommand = "FORWARD"; |
|
| 78 | + } else if (aileronControl < 45) { |
|
| 79 | + // Reverse |
|
| 80 | + int speed = map(aileronControl, 39, 0, PWM_STOP - PWM_MIN_MOVING, 0); |
|
| 81 | + speed = constrain(speed, 0, PWM_STOP - PWM_MIN_MOVING); |
|
| 82 | + targetMotor1Speed = speed; |
|
| 83 | + targetMotor2Speed = speed; |
|
| 84 | + motor1TargetCommand = "REVERSE"; |
|
| 85 | + motor2TargetCommand = "REVERSE"; |
|
| 86 | + } else if (elevatorControl > 55) { |
|
| 87 | + // Turn right (throttle is neutral) |
|
| 88 | + int turnOffset = map(elevatorControl, 61, 100, PWM_MIN_MOVING, (PWM_MAX - PWM_STOP)); |
|
| 89 | + targetMotor1Speed = constrain(PWM_STOP + turnOffset, 0, PWM_MAX); |
|
| 90 | + targetMotor2Speed = constrain(PWM_STOP - turnOffset, 0, PWM_MAX); |
|
| 91 | + motor1TargetCommand = "TURN_R_M1"; |
|
| 92 | + motor2TargetCommand = "TURN_R_M2"; |
|
| 93 | + } else if (elevatorControl < 45) { |
|
| 94 | + // Turn left (throttle is neutral) |
|
| 95 | + int turnOffset = map(elevatorControl, 39, 0, PWM_MIN_MOVING, (PWM_MAX - PWM_STOP)); |
|
| 96 | + targetMotor1Speed = constrain(PWM_STOP - turnOffset, 0, PWM_MAX); |
|
| 97 | + targetMotor2Speed = constrain(PWM_STOP + turnOffset, 0, PWM_MAX); |
|
| 98 | + motor1TargetCommand = "TURN_L_M1"; |
|
| 99 | + motor2TargetCommand = "TURN_L_M2"; |
|
| 100 | + } else { |
|
| 101 | + // All sticks neutral - Target speeds remain PWM_STOP (Brake) |
|
| 102 | + // motor1TargetCommand and motor2TargetCommand remain "BRAKE" |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + // Ramping logic for Motor 1 |
|
| 106 | + if (currentMotor1Speed < targetMotor1Speed) { |
|
| 107 | + currentMotor1Speed = min(currentMotor1Speed + RAMP_STEP, targetMotor1Speed); |
|
| 108 | + } else if (currentMotor1Speed > targetMotor1Speed) { |
|
| 109 | + currentMotor1Speed = max(currentMotor1Speed - RAMP_STEP, targetMotor1Speed); |
|
| 110 | + } |
|
| 111 | + |
|
| 112 | + // Ramping logic for Motor 2 |
|
| 113 | + if (currentMotor2Speed < targetMotor2Speed) { |
|
| 114 | + currentMotor2Speed = min(currentMotor2Speed + RAMP_STEP, targetMotor2Speed); |
|
| 115 | + } else if (currentMotor2Speed > targetMotor2Speed) { |
|
| 116 | + currentMotor2Speed = max(currentMotor2Speed - RAMP_STEP, targetMotor2Speed); |
|
| 117 | + } |
|
| 118 | + |
|
| 119 | + // Apply the ramped speeds |
|
| 120 | + analogWrite(MOTOR1_CTRL_PIN, currentMotor1Speed); |
|
| 121 | + analogWrite(MOTOR2_CTRL_PIN, currentMotor2Speed); |
|
| 122 | + |
|
| 123 | + Serial.print("RC INPUT: "); |
|
| 124 | + Serial.print("Aileron="); Serial.print(rawAileronPWM); Serial.print("us ("); Serial.print(aileronControl); Serial.print("%), "); |
|
| 125 | + Serial.print("Elevator="); Serial.print(rawElevatorPWM); Serial.print("us ("); Serial.print(elevatorControl); Serial.print("%)"); |
|
| 126 | + Serial.print("MOTORS: "); |
|
| 127 | + Serial.print("M1_Cmd="); Serial.print(motor1TargetCommand); Serial.print(" (CurPWM:"); Serial.print(currentMotor1Speed); Serial.print(" TgtPWM:"); Serial.print(targetMotor1Speed); Serial.print("), "); |
|
| 128 | + Serial.print("M2_Cmd="); Serial.print(motor2TargetCommand); Serial.print(" (CurPWM:"); Serial.print(currentMotor2Speed); Serial.print(" TgtPWM:"); Serial.print(targetMotor2Speed); Serial.print(")"); |
|
| 129 | + |
|
| 130 | + Serial.println(); |
|
| 131 | + delay(20); // Delay for RC input reading cycle & ramping interval |
|
| 132 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-8871-4.ino
| ... | ... | @@ -0,0 +1,180 @@ |
| 1 | +#include <Adafruit_NeoPixel.h> |
|
| 2 | + |
|
| 3 | +// Define pins for each RC channel |
|
| 4 | +int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 5 | +int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 6 | + |
|
| 7 | +// WS2812 LED Strip Configuration |
|
| 8 | +#define LED_PIN 15 // nodemcu pin D8 |
|
| 9 | +#define LED_COUNT 8 |
|
| 10 | +Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); |
|
| 11 | + |
|
| 12 | +// Updated comments for IN1 and IN2 to reflect their role as single control pins |
|
| 13 | +const int IN1 = 4; // Control pin for Motor 1 // D3 (was GPIO2 on NodeMCU D4, now D2/GPIO4) |
|
| 14 | +const int IN2 = 5; // Control pin for Motor 2 // D4 (was GPIO0 on NodeMCU D3, now D1/GPIO5) |
|
| 15 | + |
|
| 16 | +const int PWM_MAX = 255; // ESP8266 PWM range is 0-255 for analogWrite. |
|
| 17 | + // Note: Default ESP8266 analogWrite range is 0-1023. |
|
| 18 | + // Call analogWriteRange(255) in setup if 0-255 is desired. |
|
| 19 | +const int PWM_STOP = PWM_MAX / 2; // Approx. 127, this is brake/neutral for DRV8871 single-pin |
|
| 20 | +const int PWM_MIN_MOVING = 10; // Minimum offset from PWM_STOP to ensure movement |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 24 | +long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 25 | + |
|
| 26 | +// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 27 | +long readAileronControlSignal() { |
|
| 28 | + unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 29 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 30 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 31 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 32 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 33 | + } |
|
| 34 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 35 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 36 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 37 | +} |
|
| 38 | + |
|
| 39 | +// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 40 | +long readElevatorControlSignal() { |
|
| 41 | + unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 42 | + // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 43 | + // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 44 | + if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 45 | + return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 46 | + } |
|
| 47 | + // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 48 | + long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 49 | + return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 50 | +} |
|
| 51 | + |
|
| 52 | +void setup() { |
|
| 53 | + pinMode(aileronPin, INPUT); |
|
| 54 | + pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 55 | + |
|
| 56 | + pinMode(IN1, OUTPUT); |
|
| 57 | + pinMode(IN2, OUTPUT); |
|
| 58 | + |
|
| 59 | + // Initialize motors to brake state |
|
| 60 | + analogWrite(IN1, PWM_STOP); |
|
| 61 | + analogWrite(IN2, PWM_STOP); |
|
| 62 | + |
|
| 63 | + Serial.begin(9600); |
|
| 64 | + // If you intend PWM_MAX to be 255, you might need to call: |
|
| 65 | + // analogWriteRange(255); |
|
| 66 | + // Otherwise, analogWrite will use a 0-1023 range by default on ESP8266. |
|
| 67 | + |
|
| 68 | + strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) |
|
| 69 | + strip.show(); // Turn OFF all pixels ASAP |
|
| 70 | + strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) |
|
| 71 | +} |
|
| 72 | + |
|
| 73 | +// Updated helper function to control a single motor using one control pin |
|
| 74 | +// motorCtrlPin: The pin connected to the motor driver's input (e.g., IN1 for motor 1) |
|
| 75 | +// pwmVal: -255 (full backward) to 255 (full forward), 0 for brake |
|
| 76 | +void setMotorOutput(int motorCtrlPin, int pwmVal) { |
|
| 77 | + int actualPwm; |
|
| 78 | + if (pwmVal == 0) { |
|
| 79 | + actualPwm = PWM_STOP; // Brake |
|
| 80 | + } else if (pwmVal > 0) { // Forward |
|
| 81 | + // Map pwmVal from (1 to 255) to (PWM_STOP + PWM_MIN_MOVING to PWM_MAX) |
|
| 82 | + actualPwm = map(pwmVal, 1, 255, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 83 | + // Ensure the value is within the defined forward motion range |
|
| 84 | + actualPwm = constrain(actualPwm, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 85 | + } else { // Backward (pwmVal < 0) |
|
| 86 | + // Map abs(pwmVal) from (1 to 255) to (PWM_STOP - PWM_MIN_MOVING to 0) |
|
| 87 | + actualPwm = map(abs(pwmVal), 1, 255, PWM_STOP - PWM_MIN_MOVING, 0); |
|
| 88 | + // Ensure the value is within the defined reverse motion range |
|
| 89 | + actualPwm = constrain(actualPwm, 0, PWM_STOP - PWM_MIN_MOVING); |
|
| 90 | + } |
|
| 91 | + analogWrite(motorCtrlPin, actualPwm); |
|
| 92 | +} |
|
| 93 | + |
|
| 94 | +// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 95 | +// with a deadband around the center (e.g., 50). |
|
| 96 | +long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 97 | + long mappedValue = 0; |
|
| 98 | + int deadbandLower = rcCenter - deadbandRadius; |
|
| 99 | + int deadbandUpper = rcCenter + deadbandRadius; |
|
| 100 | + |
|
| 101 | + if (rcValue < deadbandLower) { |
|
| 102 | + // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 103 | + // Ensure deadbandLower - 1 is not less than rcMin |
|
| 104 | + if (deadbandLower -1 < rcMin) { |
|
| 105 | + mappedValue = outMin; |
|
| 106 | + } else { |
|
| 107 | + mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 108 | + } |
|
| 109 | + } else if (rcValue > deadbandUpper) { |
|
| 110 | + // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 111 | + // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 112 | + if (deadbandUpper + 1 > rcMax) { |
|
| 113 | + mappedValue = outMax; |
|
| 114 | + } else { |
|
| 115 | + mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 116 | + } |
|
| 117 | + } else { |
|
| 118 | + // Inside deadband |
|
| 119 | + mappedValue = 0; |
|
| 120 | + } |
|
| 121 | + return constrain(mappedValue, outMin, outMax); |
|
| 122 | +} |
|
| 123 | + |
|
| 124 | +// Function to create a random blinking effect for WS2812 LEDs |
|
| 125 | +void randomBlinkEffect() { |
|
| 126 | + for (int i = 0; i < LED_COUNT; i++) { |
|
| 127 | + // Turn on a random LED with a random color |
|
| 128 | + if (random(0, 2) == 1) { // 50% chance to turn on this LED |
|
| 129 | + strip.setPixelColor(i, strip.Color(random(0, 256), random(0, 256), random(0, 256))); |
|
| 130 | + } else { |
|
| 131 | + strip.setPixelColor(i, strip.Color(0, 0, 0)); // Turn off |
|
| 132 | + } |
|
| 133 | + } |
|
| 134 | + strip.show(); // Send the updated pixel colors to the hardware. |
|
| 135 | + delay(100); // Wait a short period |
|
| 136 | +} |
|
| 137 | + |
|
| 138 | +void loop() { |
|
| 139 | + // Read mapped control signals from each channel |
|
| 140 | + aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 141 | + elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 142 | + |
|
| 143 | + // Print the mapped control signal values to the Serial Monitor |
|
| 144 | + Serial.print("Aileron (Throttle): "); |
|
| 145 | + Serial.print(aileronControl); |
|
| 146 | + Serial.print(" Elevator (Steering): "); |
|
| 147 | + Serial.print(elevatorControl); |
|
| 148 | + Serial.println(); |
|
| 149 | + |
|
| 150 | + // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 151 | + // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 152 | + int deadbandRadius = 15; |
|
| 153 | + float steeringFactor = 1; // Adjust this value to change steering sensitivity |
|
| 154 | + float throttleFactor = 1; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 155 | + |
|
| 156 | + // Map control values with deadband |
|
| 157 | + long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 158 | + long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 159 | + |
|
| 160 | + // Apply sensitivity factors |
|
| 161 | + long throttleValue = rawThrottleValue * throttleFactor; |
|
| 162 | + long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 163 | + |
|
| 164 | + // Mix throttle and steering for differential drive |
|
| 165 | + long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 166 | + long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 167 | + |
|
| 168 | + // Constrain PWM values to the valid range [-255, 255] |
|
| 169 | + motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 170 | + motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 171 | + |
|
| 172 | + // Set motor speeds and directions using the updated function |
|
| 173 | + setMotorOutput(IN1, motor1Pwm); // Motor 1 |
|
| 174 | + setMotorOutput(IN2, motor2Pwm); // Motor 2 |
|
| 175 | + |
|
| 176 | + // Add the LED effect |
|
| 177 | + randomBlinkEffect(); |
|
| 178 | + |
|
| 179 | + delay(20); // Shorter delay for better responsiveness |
|
| 180 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/rover-8871-test.ino
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | +// Define pins for each RC channel |
|
| 2 | +int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | +int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | + |
|
| 5 | +// Motor control pins |
|
| 6 | +const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 7 | +const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 8 | + |
|
| 9 | +const int PWM_MAX = 1023; // ESP8266 PWM range is 0-1023 |
|
| 10 | +const int PWM_STOP = PWM_MAX / 2; // ~511 or 512 |
|
| 11 | + |
|
| 12 | +void setup() { |
|
| 13 | + pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 14 | + pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 15 | + Serial.begin(9600); |
|
| 16 | +} |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +void loop() { |
|
| 20 | + for (int pwm = 0; pwm <= PWM_MAX; pwm += 50) { |
|
| 21 | + |
|
| 22 | + // Apply the PWM value to both motors |
|
| 23 | + analogWrite(MOTOR1_CTRL_PIN, pwm); |
|
| 24 | + analogWrite(MOTOR2_CTRL_PIN, pwm); |
|
| 25 | + |
|
| 26 | + // Wait a moment at this PWM value |
|
| 27 | + delay(500); |
|
| 28 | + } |
|
| 29 | +} |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-code-dat/ultrasonic car-1602.pde
| ... | ... | @@ -0,0 +1,399 @@ |
| 1 | +#include <IRremote.h> |
|
| 2 | +#include <Servo.h> |
|
| 3 | +#include <Wire.h> |
|
| 4 | +#include <LiquidCrystal_I2C.h> |
|
| 5 | + |
|
| 6 | +//***********************定義馬達腳位************************* |
|
| 7 | +int MotorRight1=6; |
|
| 8 | +int MotorRight2=9; |
|
| 9 | +int MotorLeft1=10; |
|
| 10 | +int MotorLeft2=11; |
|
| 11 | +int counter=0; |
|
| 12 | +const int irReceiverPin = 3; //紅外線接收器 OUTPUT 訊號接在 pin 2 |
|
| 13 | + |
|
| 14 | +//***********************設定所偵測到的IRcode************************* |
|
| 15 | +long IRfront= 0x00FF629D; //前進碼 |
|
| 16 | +long IRback=0x00FFA857; //後退 |
|
| 17 | +long IRturnright=0x00FF22DD; //右轉 |
|
| 18 | +long IRturnleft= 0x00FFC23D; //左轉 |
|
| 19 | +long IRstop=0x00FF02FD; //停止 |
|
| 20 | +long IRAutorun=0x00FF6897; //超音波自走模式 |
|
| 21 | +long IRturnsmallleft= 0x00FFB04F; |
|
| 22 | +IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 23 | +decode_results results; |
|
| 24 | +//*************************定義超音波腳位****************************** |
|
| 25 | +int inputPin =A0 ; // 定義超音波信號接收腳位rx |
|
| 26 | +int outputPin =A1; // 定義超音波信號發射腳位'tx |
|
| 27 | +int Fspeedd = 0; // 前方距離 |
|
| 28 | +int Rspeedd = 0; // 右方距離 |
|
| 29 | +int Lspeedd = 0; // 左方距離 |
|
| 30 | +int directionn = 0; // 前=8 後=2 左=4 右=6 |
|
| 31 | +Servo myservo; // 設 myservo |
|
| 32 | +int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 33 | +int Fgo = 8; // 前進 |
|
| 34 | +int Rgo = 6; // 右轉 |
|
| 35 | +int Lgo = 4; // 左轉 |
|
| 36 | +int Bgo = 2; // 倒車 |
|
| 37 | +//********************************************************************(SETUP) |
|
| 38 | +LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display |
|
| 39 | +void setup() |
|
| 40 | +{ |
|
| 41 | + Serial.begin(9600); |
|
| 42 | + pinMode(MotorRight1, OUTPUT); // 腳位 8 (PWM) |
|
| 43 | + pinMode(MotorRight2, OUTPUT); // 腳位 9 (PWM) |
|
| 44 | + pinMode(MotorLeft1, OUTPUT); // 腳位 10 (PWM) |
|
| 45 | + pinMode(MotorLeft2, OUTPUT); // 腳位 11 (PWM) |
|
| 46 | + irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 47 | + digitalWrite(3,HIGH); |
|
| 48 | + pinMode(inputPin, INPUT); // 定義超音波輸入腳位 |
|
| 49 | + pinMode(outputPin, OUTPUT); // 定義超音波輸出腳位 |
|
| 50 | + myservo.attach(5); // 定義伺服馬達輸出第5腳位(PWM) |
|
| 51 | + lcd.init(); // initialize the lcd |
|
| 52 | + lcd.init(); |
|
| 53 | + // Print a message to the LCD. |
|
| 54 | + lcd.backlight(); |
|
| 55 | + |
|
| 56 | + |
|
| 57 | + |
|
| 58 | + } |
|
| 59 | +//******************************************************************(Void) |
|
| 60 | +void advance(int a) // 前進 |
|
| 61 | +{ |
|
| 62 | + digitalWrite(MotorRight1,LOW); |
|
| 63 | + digitalWrite(MotorRight2,HIGH); |
|
| 64 | + digitalWrite(MotorLeft1,LOW); |
|
| 65 | + digitalWrite(MotorLeft2,HIGH); |
|
| 66 | + delay(a * 100); |
|
| 67 | +} |
|
| 68 | +void right(int b) //右轉(單輪) |
|
| 69 | +{ |
|
| 70 | + digitalWrite(MotorLeft1,LOW); |
|
| 71 | + digitalWrite(MotorLeft2,HIGH); |
|
| 72 | + digitalWrite(MotorRight1,LOW); |
|
| 73 | + digitalWrite(MotorRight2,LOW); |
|
| 74 | + delay(b * 100); |
|
| 75 | +} |
|
| 76 | +void left(int c) //左轉(單輪) |
|
| 77 | +{ |
|
| 78 | + digitalWrite(MotorRight1,LOW); |
|
| 79 | + digitalWrite(MotorRight2,HIGH); |
|
| 80 | + digitalWrite(MotorLeft1,LOW); |
|
| 81 | + digitalWrite(MotorLeft2,LOW); |
|
| 82 | + delay(c * 100); |
|
| 83 | +} |
|
| 84 | +void turnR(int d) //右轉(雙輪) |
|
| 85 | +{ |
|
| 86 | + digitalWrite(MotorRight1,HIGH); |
|
| 87 | + digitalWrite(MotorRight2,LOW); |
|
| 88 | + digitalWrite(MotorLeft1,LOW); |
|
| 89 | + digitalWrite(MotorLeft2,HIGH); |
|
| 90 | + delay(d * 100); |
|
| 91 | +} |
|
| 92 | +void turnL(int e) //左轉(雙輪) |
|
| 93 | +{ |
|
| 94 | + digitalWrite(MotorRight1,LOW); |
|
| 95 | + digitalWrite(MotorRight2,HIGH); |
|
| 96 | + digitalWrite(MotorLeft1,HIGH); |
|
| 97 | + digitalWrite(MotorLeft2,LOW); |
|
| 98 | + delay(e * 100); |
|
| 99 | +} |
|
| 100 | +void stopp(int f) //停止 |
|
| 101 | +{ |
|
| 102 | + digitalWrite(MotorRight1,LOW); |
|
| 103 | + digitalWrite(MotorRight2,LOW); |
|
| 104 | + digitalWrite(MotorLeft1,LOW); |
|
| 105 | + digitalWrite(MotorLeft2,LOW); |
|
| 106 | + delay(f * 100); |
|
| 107 | +} |
|
| 108 | +void back(int g) //後退 |
|
| 109 | +{ |
|
| 110 | + digitalWrite(MotorRight1,HIGH); |
|
| 111 | + digitalWrite(MotorRight2,LOW); |
|
| 112 | + digitalWrite(MotorLeft1,HIGH); |
|
| 113 | + digitalWrite(MotorLeft2,LOW);; |
|
| 114 | + delay(g * 100); |
|
| 115 | +} |
|
| 116 | +void detection() //測量3個角度(前.左.右) |
|
| 117 | +{ |
|
| 118 | + int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 119 | + ask_pin_F(); // 讀取前方距離 |
|
| 120 | + |
|
| 121 | + if(Fspeedd < 10) // 假如前方距離小於10公分 |
|
| 122 | + { |
|
| 123 | + stopp(1); // 清除輸出資料 |
|
| 124 | + back(2); // 後退 0.2秒 |
|
| 125 | + |
|
| 126 | + |
|
| 127 | + } |
|
| 128 | + if(Fspeedd < 25) // 假如前方距離小於25公分 |
|
| 129 | + { |
|
| 130 | + stopp(1); // 清除輸出資料 |
|
| 131 | + ask_pin_L(); // 讀取左方距離 |
|
| 132 | + delay(delay_time); // 等待伺服馬達穩定 |
|
| 133 | + ask_pin_R(); // 讀取右方距離 |
|
| 134 | + delay(delay_time); // 等待伺服馬達穩定 |
|
| 135 | + |
|
| 136 | + if(Lspeedd > Rspeedd) //假如 左邊距離大於右邊距離 |
|
| 137 | + { |
|
| 138 | + directionn = Lgo; //向左走 |
|
| 139 | + } |
|
| 140 | + |
|
| 141 | + if(Lspeedd <= Rspeedd) //假如 左邊距離小於或等於右邊距離 |
|
| 142 | + { |
|
| 143 | + directionn = Rgo; //向右走 |
|
| 144 | + } |
|
| 145 | + |
|
| 146 | + if (Lspeedd < 15 && Rspeedd < 15) //假如 左邊距離和右邊距離皆小於10公分 |
|
| 147 | + { |
|
| 148 | + directionn = Bgo; //向後走 |
|
| 149 | + } |
|
| 150 | + } |
|
| 151 | + else //加如前方大於25公分 |
|
| 152 | + { |
|
| 153 | + directionn = Fgo; //向前走 |
|
| 154 | + } |
|
| 155 | +} |
|
| 156 | +//********************************************************************************* |
|
| 157 | +void ask_pin_F() // 量出前方距離 |
|
| 158 | +{ |
|
| 159 | +myservo.write(90); |
|
| 160 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 161 | +delayMicroseconds(2); |
|
| 162 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 163 | +delayMicroseconds(10); |
|
| 164 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 165 | +float Fdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 166 | +Fdistance= Fdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 167 | + |
|
| 168 | +Fspeedd = Fdistance; // 將距離 讀入Fspeedd(前速) |
|
| 169 | +} |
|
| 170 | +//******************************************************************************** |
|
| 171 | +void ask_pin_L() // 量出左邊距離 |
|
| 172 | +{ |
|
| 173 | +myservo.write(177); |
|
| 174 | +delay(delay_time); |
|
| 175 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 176 | +delayMicroseconds(2); |
|
| 177 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 178 | +delayMicroseconds(10); |
|
| 179 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 180 | +float Ldistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 181 | +Ldistance= Ldistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 182 | + |
|
| 183 | +Lspeedd = Ldistance; // 將距離 讀入Lspeedd(左速) |
|
| 184 | +} |
|
| 185 | +//****************************************************************************** |
|
| 186 | +void ask_pin_R() // 量出右邊距離 |
|
| 187 | +{ |
|
| 188 | +myservo.write(5); |
|
| 189 | +delay(delay_time); |
|
| 190 | +digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 191 | +delayMicroseconds(2); |
|
| 192 | +digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 193 | +delayMicroseconds(10); |
|
| 194 | +digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 195 | +float Rdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 196 | +Rdistance= Rdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 197 | + |
|
| 198 | +Rspeedd = Rdistance; // 將距離 讀入Rspeedd(右速) |
|
| 199 | +} |
|
| 200 | +//******************************************************************************(LOOP) |
|
| 201 | +void loop() |
|
| 202 | +{ |
|
| 203 | + |
|
| 204 | +//***************************************************************************正常遙控模式 |
|
| 205 | + if (irrecv.decode(&results)) |
|
| 206 | + { // 解碼成功,收到一組紅外線訊號 |
|
| 207 | +/***********************************************************************/ |
|
| 208 | + if (results.value == IRfront)//前進 |
|
| 209 | + { |
|
| 210 | + |
|
| 211 | + lcd.setCursor(0,0); |
|
| 212 | + lcd.print(" IR mode"); |
|
| 213 | + lcd.setCursor(0,1); |
|
| 214 | + lcd.print(" advance "); |
|
| 215 | + advance(20);//前進 |
|
| 216 | + } |
|
| 217 | +/***********************************************************************/ |
|
| 218 | + if (results.value == IRback)//後退 |
|
| 219 | + { |
|
| 220 | + |
|
| 221 | + lcd.setCursor(0,0); |
|
| 222 | + lcd.print(" IR mode"); |
|
| 223 | + lcd.setCursor(0,1); |
|
| 224 | + lcd.print(" back "); |
|
| 225 | + back(20);//後退 |
|
| 226 | + } |
|
| 227 | +/***********************************************************************/ |
|
| 228 | + if (results.value == IRturnright)//右轉 |
|
| 229 | + { |
|
| 230 | + |
|
| 231 | + lcd.setCursor(0,0); |
|
| 232 | + lcd.print(" IR mode"); |
|
| 233 | + lcd.setCursor(0,1); |
|
| 234 | + lcd.print(" right "); |
|
| 235 | + right(10); // 右轉 |
|
| 236 | + |
|
| 237 | + } |
|
| 238 | +/***********************************************************************/ |
|
| 239 | + if (results.value == IRturnleft)//左轉 |
|
| 240 | + { |
|
| 241 | + |
|
| 242 | + lcd.setCursor(0,0); |
|
| 243 | + lcd.print(" IR mode"); |
|
| 244 | + lcd.setCursor(0,1); |
|
| 245 | + lcd.print(" left "); |
|
| 246 | + left(10); // 左轉); |
|
| 247 | + } |
|
| 248 | +/***********************************************************************/ |
|
| 249 | + if (results.value == IRstop)//停止 |
|
| 250 | + { |
|
| 251 | + lcd.setCursor(0,0); |
|
| 252 | + lcd.print(" IR mode"); |
|
| 253 | + lcd.setCursor(0,1); |
|
| 254 | + lcd.print(" stop "); |
|
| 255 | + digitalWrite(MotorRight1,LOW); |
|
| 256 | + digitalWrite(MotorRight2,LOW); |
|
| 257 | + digitalWrite(MotorLeft1,LOW); |
|
| 258 | + digitalWrite(MotorLeft2,LOW); |
|
| 259 | + |
|
| 260 | + |
|
| 261 | + } |
|
| 262 | + |
|
| 263 | +//***********************************************************************超音波自走模式 |
|
| 264 | + if (results.value ==IRAutorun ) |
|
| 265 | + { |
|
| 266 | + while(IRAutorun) |
|
| 267 | + { |
|
| 268 | + myservo.write(90); //讓伺服馬達回歸 預備位置 準備下一次的測量 |
|
| 269 | + detection(); //測量角度 並且判斷要往哪一方向移動 |
|
| 270 | + if(directionn == 8) //假如directionn(方向) = 8(前進) |
|
| 271 | + { |
|
| 272 | + if (irrecv.decode(&results)) |
|
| 273 | + { |
|
| 274 | + irrecv.resume(); |
|
| 275 | + Serial.println(results.value,HEX); |
|
| 276 | + if(results.value ==IRstop) |
|
| 277 | + { |
|
| 278 | + digitalWrite(MotorRight1,LOW); |
|
| 279 | + digitalWrite(MotorRight2,LOW); |
|
| 280 | + digitalWrite(MotorLeft1,LOW); |
|
| 281 | + digitalWrite(MotorLeft2,LOW); |
|
| 282 | + break; |
|
| 283 | + } |
|
| 284 | + } |
|
| 285 | + results.value=0; |
|
| 286 | + |
|
| 287 | + |
|
| 288 | + lcd.setCursor(0,0); |
|
| 289 | + lcd.print(" aoto mode"); |
|
| 290 | + lcd.setCursor(0,1); |
|
| 291 | + lcd.print(" Advance "); |
|
| 292 | + advance(1); // 正常前進 |
|
| 293 | + } |
|
| 294 | + if(directionn == 2) //假如directionn(方向) = 2(倒車) |
|
| 295 | + { |
|
| 296 | + if (irrecv.decode(&results)) |
|
| 297 | + { |
|
| 298 | + irrecv.resume(); |
|
| 299 | + Serial.println(results.value,HEX); |
|
| 300 | + if(results.value ==IRstop) |
|
| 301 | + { |
|
| 302 | + digitalWrite(MotorRight1,LOW); |
|
| 303 | + digitalWrite(MotorRight2,LOW); |
|
| 304 | + digitalWrite(MotorLeft1,LOW); |
|
| 305 | + digitalWrite(MotorLeft2,LOW); |
|
| 306 | + break; |
|
| 307 | + } |
|
| 308 | + } |
|
| 309 | + results.value=0; |
|
| 310 | + |
|
| 311 | + |
|
| 312 | + lcd.setCursor(0,0); |
|
| 313 | + lcd.print(" aoto mode"); |
|
| 314 | + lcd.setCursor(0,1); |
|
| 315 | + lcd.print(" Reverse "); |
|
| 316 | + back(8); // 倒退(車) |
|
| 317 | + turnL(3); //些微向左方移動(防止卡在死巷裡) |
|
| 318 | + } |
|
| 319 | + if(directionn == 6) //假如directionn(方向) = 6(右轉) |
|
| 320 | + { |
|
| 321 | + if (irrecv.decode(&results)) |
|
| 322 | + { |
|
| 323 | + irrecv.resume(); |
|
| 324 | + Serial.println(results.value,HEX); |
|
| 325 | + if(results.value ==IRstop) |
|
| 326 | + { |
|
| 327 | + digitalWrite(MotorRight1,LOW); |
|
| 328 | + digitalWrite(MotorRight2,LOW); |
|
| 329 | + digitalWrite(MotorLeft1,LOW); |
|
| 330 | + digitalWrite(MotorLeft2,LOW); |
|
| 331 | + break; |
|
| 332 | + } |
|
| 333 | + } |
|
| 334 | + results.value=0; |
|
| 335 | + |
|
| 336 | + |
|
| 337 | + lcd.setCursor(0,0); |
|
| 338 | + lcd.print(" aoto mode"); |
|
| 339 | + lcd.setCursor(0,1); |
|
| 340 | + lcd.print(" Right "); |
|
| 341 | + back(1); |
|
| 342 | + turnR(3); // 右轉 |
|
| 343 | + } |
|
| 344 | + if(directionn == 4) //假如directionn(方向) = 4(左轉) |
|
| 345 | + { |
|
| 346 | + if (irrecv.decode(&results)) |
|
| 347 | + { |
|
| 348 | + irrecv.resume(); |
|
| 349 | + Serial.println(results.value,HEX); |
|
| 350 | + if(results.value ==IRstop) |
|
| 351 | + { |
|
| 352 | + digitalWrite(MotorRight1,LOW); |
|
| 353 | + digitalWrite(MotorRight2,LOW); |
|
| 354 | + digitalWrite(MotorLeft1,LOW); |
|
| 355 | + digitalWrite(MotorLeft2,LOW); |
|
| 356 | + break; |
|
| 357 | + } |
|
| 358 | + } |
|
| 359 | + results.value=0; |
|
| 360 | + |
|
| 361 | + lcd.setCursor(0,0); |
|
| 362 | + lcd.print(" aoto mode"); |
|
| 363 | + lcd.setCursor(0,1); |
|
| 364 | + lcd.print(" Left "); |
|
| 365 | + back(1); |
|
| 366 | + turnL(3); // 左轉 |
|
| 367 | + |
|
| 368 | + } |
|
| 369 | + |
|
| 370 | + if (irrecv.decode(&results)) |
|
| 371 | + { |
|
| 372 | + irrecv.resume(); |
|
| 373 | + Serial.println(results.value,HEX); |
|
| 374 | + if(results.value ==IRstop) |
|
| 375 | + { |
|
| 376 | + digitalWrite(MotorRight1,LOW); |
|
| 377 | + digitalWrite(MotorRight2,LOW); |
|
| 378 | + digitalWrite(MotorLeft1,LOW); |
|
| 379 | + digitalWrite(MotorLeft2,LOW); |
|
| 380 | + break; |
|
| 381 | + } |
|
| 382 | + } |
|
| 383 | + } |
|
| 384 | + results.value=0; |
|
| 385 | + } |
|
| 386 | +/***********************************************************************/ |
|
| 387 | + else |
|
| 388 | + { |
|
| 389 | + digitalWrite(MotorRight1,LOW); |
|
| 390 | + digitalWrite(MotorRight2,LOW); |
|
| 391 | + digitalWrite(MotorLeft1,LOW); |
|
| 392 | + digitalWrite(MotorLeft2,LOW); |
|
| 393 | + } |
|
| 394 | + |
|
| 395 | + |
|
| 396 | + irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 397 | + } |
|
| 398 | +} |
|
| 399 | + |
Network-dat/RC-dat/RC-dat.md
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + |
|
| 2 | +# RC-dat |
|
| 3 | + |
|
| 4 | +- [[RC-system-dat]] |
|
| 5 | + |
|
| 6 | +- [[RC-protocols-dat]] |
|
| 7 | + |
|
| 8 | +- [[RC-TX-dat]] - [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-protocols-dat/CRSF-dat/CRSF-dat.md
| ... | ... | @@ -0,0 +1,99 @@ |
| 1 | + |
|
| 2 | +# CRSF-dat |
|
| 3 | + |
|
| 4 | +CRSF (Crossfire Serial Protocol) is a low-latency, high-speed serial protocol developed by **Team BlackSheep (TBS)** for communication between radio receivers (like TBS Crossfire Nano RX) and flight controllers. |
|
| 5 | + |
|
| 6 | +It’s used in RC applications (especially FPV drones) to transmit RC channel data, telemetry, and link status over a compact serial format. |
|
| 7 | + |
|
| 8 | +CRSF packets are binary data. Here's the basic structure of a CRSF packet: |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## CRSF Packet Structure (General) |
|
| 16 | + |
|
| 17 | +| Byte Index | Name | Description | |
|
| 18 | +|------------|----------------|---------------------------------------------| |
|
| 19 | +| 0 | Device Address | Who is sending (e.g., RX, TX) | |
|
| 20 | +| 1 | Frame Length | Length of payload + 1 (type byte + data) | |
|
| 21 | +| 2 | Frame Type | Type of data (e.g., RC channels, telemetry) | |
|
| 22 | +| 3 - N | Payload | Actual data, varies by Frame Type | |
|
| 23 | +| Last Byte | CRC | Checksum for packet validation | |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +This is how a typical RC channel data packet might look (in hex): |
|
| 27 | + |
|
| 28 | +C8 18 16 A1 84 3F C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9E |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +## RC Channel Encoding (Packed 11-bit) |
|
| 36 | + |
|
| 37 | +Each RC channel is packed as 11-bit little-endian integers, with up to 16 channels per frame. Example values: |
|
| 38 | + |
|
| 39 | +- 1000 → channel center |
|
| 40 | +- 172 → min |
|
| 41 | +- 1811 → max |
|
| 42 | + |
|
| 43 | +## read data via serial |
|
| 44 | + |
|
| 45 | +Yes, you can use a serial port to read CRSF data, because CRSF is a serial protocol — specifically, a half-duplex, asynchronous UART protocol using 8N1 (8 data bits, no parity, 1 stop bit). |
|
| 46 | + |
|
| 47 | +### 📡 CRSF over Serial – Quick Guide |
|
| 48 | + |
|
| 49 | +- **Baud rate**: 420000 or 115200 (depends on TX/RX version or setting) |
|
| 50 | +- **Protocol**: UART (8N1) |
|
| 51 | +- **Signal direction**: Half-duplex (same wire for TX and RX) |
|
| 52 | +- **Voltage**: 3.3V (NOT 5V safe on most Crossfire receivers) |
|
| 53 | +- **Typical usage**: Read CRSF data from TBS Nano RX or TX |
|
| 54 | + |
|
| 55 | +#### 🧰 What You Need: |
|
| 56 | +- A microcontroller or board with UART support (e.g., Arduino, ESP32, STM32, Raspberry Pi) |
|
| 57 | +- Logic-level conversion (if needed for 3.3V safety) |
|
| 58 | +- CRSF-compatible device (e.g., TBS Crossfire Nano RX) |
|
| 59 | + |
|
| 60 | +Code Concept (Pseudocode) |
|
| 61 | + |
|
| 62 | + |
|
| 63 | + Serial.begin(420000); // Or 115200 for some TX modules |
|
| 64 | + |
|
| 65 | + void loop() { |
|
| 66 | + if (Serial.available()) { |
|
| 67 | + uint8_t byte = Serial.read(); |
|
| 68 | + // Process CRSF packet bytes here |
|
| 69 | + } |
|
| 70 | + } |
|
| 71 | + |
|
| 72 | + |
|
| 73 | + |
|
| 74 | +## via ardupilot |
|
| 75 | + |
|
| 76 | +If you wish to use telemetry then a receiver can be connected to a UART utilizing the CRSF protocol. |
|
| 77 | + |
|
| 78 | +CRSF is a full-duplex protocol that supports integrated telemetry and a number of other features. Connect the RX pin of the UART to the CRSF TX pin of the CRSF device and vice versa. Currently a full-duplex UART connection is required. For best performance a UART with DMA capability on its RX port is desirable, but not required. A message will be displayed once on the GCS console, if connected to a UART without this capability on an F4/F7 based autopilot. |
|
| 79 | + |
|
| 80 | +https://ardupilot.org/rover/docs/common-tbs-rc.html#common-tbs-rc |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | + |
|
| 85 | +## arduino code |
|
| 86 | + |
|
| 87 | +- https://github.com/AlfredoSystems/AlfredoCRSF == 75 |
|
| 88 | + |
|
| 89 | +- https://github.com/ZZ-Cat/CRSFforArduino == 218 |
|
| 90 | + |
|
| 91 | + |
|
| 92 | + |
|
| 93 | + |
|
| 94 | + |
|
| 95 | +## ref |
|
| 96 | + |
|
| 97 | +- [[RC-signal-dat]] |
|
| 98 | + |
|
| 99 | +- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-protocols-dat/PPM-dat/PPM-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# PPM-dat |
|
| 3 | + |
|
| 4 | +- [[Wfly-dat]] - [[RC-code-dat]] |
|
| 5 | + |
|
| 6 | +- [[PWM-dat]] |
|
| 7 | + |
|
| 8 | +PPM (Pulse Position Modulation) is a type of analog signal used in radio control (RC) systems to transmit multiple channels of control information (like throttle, steering, elevator, etc.) over a single wire. |
|
| 9 | + |
|
| 10 | +In simple terms: |
|
| 11 | + |
|
| 12 | +- It sends a series of pulses. |
|
| 13 | +- The position (or timing) of each pulse within a repeating frame represents the value for a specific channel. |
|
| 14 | +- A longer "sync" pulse marks the end of one frame and the beginning of the next. |
|
| 15 | + |
|
| 16 | +So, instead of needing a separate wire for each control channel, PPM combines them into one sequential signal. |
|
| 17 | + |
|
| 18 | +## demo video |
|
| 19 | + |
|
| 20 | +[RC #PPM PWM send and receive at Arduino, note the four channels color](https://youtube.com/shorts/BDdSFPlh9KE?si=n1oF2KUIMqEeH1QW) |
|
| 21 | + |
|
| 22 | +Internal control by [[SDR1064-dat]] |
|
| 23 | + |
|
| 24 | +[Wfly #PPM console control toy rover](https://t.me/electrodragon3/369) |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +## ref |
|
| 28 | + |
|
| 29 | +- [[RC-protocols-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-protocols-dat/RC-binding-mode-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# RC-binding-mode-dat |
|
| 3 | + |
|
| 4 | +- [[mobula8-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +**Receiver Bind Mode (ExpressLRS)** |
|
| 8 | + |
|
| 9 | +- Many ELRS receivers (including Mobula8’s built-in) enter **Wi-Fi update mode** or **bind mode** if you power cycle 3 times quickly. |
|
| 10 | +- Example: |
|
| 11 | + - Plug in → unplug → plug in → unplug → plug in (within ~30 seconds). |
|
| 12 | +- After the 3rd time, the receiver LED changes behavior (solid/fast blink), allowing binding with your Radiomaster Pocket. |
|
| 13 | + |
|
| 14 | + |
Network-dat/RC-dat/RC-protocols-dat/RC-protocols-dat.md
| ... | ... | @@ -0,0 +1,129 @@ |
| 1 | + |
|
| 2 | +# RC-protocols-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +# RC Receiver Output Types |
|
| 7 | + |
|
| 8 | +| Output Type | Signal Type | Electrical Level | Latency | Channels | Direction | Notes | |
|
| 9 | +|-------------|-------------------------------------|----------------------|-------------------|----------------|---------------|-------| |
|
| 10 | +| **PWM** | Analog pulse-width (1 per wire) | 3.3–5V (depends RX) | High (~20–30 ms) | 1 per wire | One-way | Oldest style, many wires, bulky. | |
|
| 11 | +| **PPM** | Serial multiplexed pulses (CPPM) | 5V TTL | Medium (~20 ms) | 8–12 | One-way | All channels in one wire, jitter-prone. | |
|
| 12 | +| **SBUS** | Digital serial (inverted UART) | 3.3V (inverted) | Medium-fast (~9–15 ms) | Up to 16 | One-way | Common in FrSky/Futaba, needs inverter handling. | |
|
| 13 | +| **CRSF** | Digital UART serial (bidirectional) | 3.3V TTL | Very low (~3–7 ms) | 12–16+ | Bidirectional | Fastest, includes telemetry & config, reliable long range. | |
|
| 14 | + |
|
| 15 | +# Key Takeaways |
|
| 16 | +- **PWM** → Each channel has its own wire → outdated for multirotors. |
|
| 17 | +- **PPM** → Cleaner wiring, but more jitter due to analog timing. |
|
| 18 | +- **SBUS** → Digital, widely used, good compromise but slightly slower. |
|
| 19 | +- **CRSF** → Modern standard (Crossfire, ELRS), lowest latency, telemetry, smart communication. |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## RC-signals |
|
| 25 | + |
|
| 26 | +- [[WIFI-dat]] |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +### Proprietary modulation schemes(专有调制方案) |
|
| 30 | + |
|
| 31 | +Toy RC systems may use other modulation methods like [[DSSS-dat]], [[FHSS-dat]], or non-standard GFSK configurations. |
|
| 32 | + |
|
| 33 | +- [[GFSK-dat]] = [[NRF24L01-dat]] |
|
| 34 | + |
|
| 35 | +- [[SBUS-dat]] - [[PPM-dat]] - [[PWM-dat]] |
|
| 36 | + |
|
| 37 | +Frequency Hopping: |
|
| 38 | + |
|
| 39 | +Many toy-grade RC transmitters hop between frequencies. |
|
| 40 | + |
|
| 41 | +#### DSSS (Direct Sequence Spread Spectrum) |
|
| 42 | + |
|
| 43 | +DSSS (Direct Sequence Spread Spectrum) is a method of transmitting radio signals by spreading the signal over a wider frequency band than the original data rate requires. |
|
| 44 | + |
|
| 45 | +**How DSSS Works:** |
|
| 46 | + |
|
| 47 | +The original data signal is multiplied by a "chipping code", a sequence of faster bits called "chips." |
|
| 48 | + |
|
| 49 | +This process spreads the energy of the signal over a wider bandwidth. |
|
| 50 | + |
|
| 51 | +The receiver, knowing the same chipping code, can reconstruct the original data. |
|
| 52 | + |
|
| 53 | +**Key Features:** |
|
| 54 | + |
|
| 55 | +Spreads signal across wide frequency band (increases resistance to interference and jamming). |
|
| 56 | + |
|
| 57 | +More secure and harder to intercept. |
|
| 58 | + |
|
| 59 | +Improves signal robustness in noisy environments. |
|
| 60 | + |
|
| 61 | +**DSSS in Real-World Use:** |
|
| 62 | + |
|
| 63 | +Used in older Wi-Fi standards (like 802.11b). |
|
| 64 | + |
|
| 65 | +Also found in some military and commercial RF systems. |
|
| 66 | + |
|
| 67 | +Some toy-grade 2.4GHz systems may use simple DSSS-like techniques to reduce cost and avoid interference. |
|
| 68 | + |
|
| 69 | +**Comparison with FHSS:** |
|
| 70 | + |
|
| 71 | +DSSS spreads signal continuously across a wide band. |
|
| 72 | + |
|
| 73 | +FHSS (Frequency Hopping Spread Spectrum) hops between frequencies in a sequence. |
|
| 74 | + |
|
| 75 | +### Compare with WIFI |
|
| 76 | + |
|
| 77 | +| Feature | Wi-Fi (ESP8266) | DSSS RC (Toy/Hobby) | |
|
| 78 | +| ----------- | --------------------------- | ------------------------------ | |
|
| 79 | +| Range | 30–100m typical | 20m (toy) to >1km (hobby) | |
|
| 80 | +| Latency | Medium | Very low | |
|
| 81 | +| Robustness | Lower (affected by routers) | High (designed for RF control) | |
|
| 82 | +| Ease of Use | Easy (phone control) | Needs RC Tx/Rx | |
|
| 83 | + |
|
| 84 | + |
|
| 85 | +## RC-protocols |
|
| 86 | + |
|
| 87 | +- [[edge-tx-dat]] |
|
| 88 | + |
|
| 89 | +- [[CRSF-dat]] |
|
| 90 | + |
|
| 91 | +- [[FrSky-dat]] == [[CC2500-dat]] |
|
| 92 | + |
|
| 93 | +- [[ELRS-dat]] - [[ELRS-RX-dat]] - [[ELRS-TX-dat]] |
|
| 94 | + |
|
| 95 | + |
|
| 96 | +## SDR |
|
| 97 | + |
|
| 98 | +Reverse engineering with a software-defined radio (SDR) (like RTL-SDR or HackRF). |
|
| 99 | + |
|
| 100 | + You could record the RF signal and analyze it to reverse engineer the protocol. |
|
| 101 | + |
|
| 102 | + This is complex and requires RF/digital signal processing (DSP) knowledge. |
|
| 103 | + |
|
| 104 | +Sniffing with NRF24L01+ in promiscuous mode (some hacks exist, but limited). |
|
| 105 | + |
|
| 106 | + Might capture packets from other NRF24L01 devices only. |
|
| 107 | + |
|
| 108 | + Won’t work for general 2.4GHz devices. |
|
| 109 | + |
|
| 110 | +- [[RTL-SDR-dat]] - [[hackrf-dat]] |
|
| 111 | + |
|
| 112 | + |
|
| 113 | +## Step-by-Step: How to Sniff 2.4GHz RC Signal |
|
| 114 | + |
|
| 115 | +1. Gather Tools |
|
| 116 | +2. |
|
| 117 | +RTL-SDR dongle (most only go up to ~1.7 GHz → Not enough for 2.4GHz) |
|
| 118 | + |
|
| 119 | +→ You need: |
|
| 120 | + |
|
| 121 | +- A HackRF One (recommended – covers 1 MHz to 6 GHz) |
|
| 122 | +- OR a CC2500 module (common 2.4GHz transceiver used in RC gear) |
|
| 123 | +- OR an ESP32 with promiscuous mode (works only for Wi-Fi packets) |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +## ref |
|
| 128 | + |
|
| 129 | +- [[RC-dat]] - [[logic-analyzer-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-protocols-dat/RTL-SDR-dat/RTL-SDR-dat.md
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | + |
|
| 2 | +# RTL-SDR-dat |
|
| 3 | + |
|
| 4 | +1. What You Need |
|
| 5 | + |
|
| 6 | +An RTL-SDR USB dongle (e.g., RTL2832U with R820T2) |
|
| 7 | + |
|
| 8 | +A Windows, Linux, macOS, or Android device |
|
| 9 | + |
|
| 10 | +An antenna (usually included) |
|
| 11 | + |
|
| 12 | +Software (like SDR# or Universal Radio Hacker) |
|
| 13 | + |
|
| 14 | +SDRSharp |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +4. Signal Analysis (for reverse engineering) |
|
| 18 | + |
|
| 19 | +Use Universal Radio Hacker (URH): |
|
| 20 | + |
|
| 21 | +Record raw signals from 2.4GHz toy remote (if within range) |
|
| 22 | + |
|
| 23 | +Analyze bit patterns, timing, modulation |
|
| 24 | + |
|
| 25 | +Use Audacity to visualize audio-like modulated signals. |
|
| 26 | + |
|
| 27 | +5. On Android (Optional) |
|
| 28 | + |
|
| 29 | +Use SDR Touch with an OTG cable and RTL-SDR dongle. |
|
| 30 | + |
|
| 31 | +Works well for listening to FM, air band, etc. |
|
| 32 | + |
|
| 33 | +What You Can Do With RTL-SDR |
|
| 34 | + |
|
| 35 | +- Listen to FM radio, air traffic, police, weather stations |
|
| 36 | +- Track airplanes (ADS-B) |
|
| 37 | +- Capture RF from garage remotes, key fobs, toy RC |
|
| 38 | +- Reverse engineer simple RF protocols |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## Alternative: Use an SDR to Sniff Raw RF |
|
| 43 | + |
|
| 44 | +To analyze the actual RF signal, you need a Software Defined Radio (SDR) like: |
|
| 45 | + |
|
| 46 | +HackRF, LimeSDR, or USRP |
|
| 47 | + |
|
| 48 | +Record the 2.4GHz spectrum |
|
| 49 | + |
|
| 50 | +Analyze bursts from the remote |
|
| 51 | + |
|
| 52 | +Use Universal Radio Hacker (URH) or GNU Radio to decode the signal |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-protocols-dat/SBUS-dat/SBUS-dat.md
| ... | ... | @@ -0,0 +1,75 @@ |
| 1 | + |
|
| 2 | +# SBUS-dat |
|
| 3 | + |
|
| 4 | +- [[futaba-dat]] |
|
| 5 | + |
|
| 6 | +## 📡 What is SBUS? — Simple Explanation |
|
| 7 | + |
|
| 8 | +**SBUS (Serial Bus)** is a digital protocol used in RC systems to send multiple control signals (channels) over a single wire. |
|
| 9 | + |
|
| 10 | +--- |
|
| 11 | + |
|
| 12 | +### 🧩 Key Features |
|
| 13 | + |
|
| 14 | +- 🔢 **Up to 16 channels** in one signal |
|
| 15 | +- 💬 **Digital serial protocol** |
|
| 16 | +- 📦 Sends data in **serial frames** |
|
| 17 | +- ⏱️ **100,000 baud**, **inverted UART** |
|
| 18 | +- ↪️ Invented by **Futaba**, widely used (FrSky, Radiolink, etc.) |
|
| 19 | +- 🧠 Needs **inversion** to be read by normal UART (hardware or software) |
|
| 20 | + |
|
| 21 | +--- |
|
| 22 | + |
|
| 23 | +### 🧱 Simple Analogy |
|
| 24 | + |
|
| 25 | +> SBUS is like 16 people taking turns speaking very fast on one microphone. |
|
| 26 | +> Each frame contains all channel values packed tightly together. |
|
| 27 | + |
|
| 28 | +--- |
|
| 29 | + |
|
| 30 | +### 🧪 Data Frame Structure |
|
| 31 | + |
|
| 32 | +Each SBUS frame is 25 bytes: |
|
| 33 | + |
|
| 34 | +| 1 byte | 22 bytes | 1 byte | 1 byte | |
|
| 35 | +| ------ | ----------- | ------ | ------ | |
|
| 36 | +| Header | 16 channels | Flags | End | |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +- **Header**: 0x0F |
|
| 41 | +- **End**: 0x00 |
|
| 42 | +- Sent **every ~9ms** (111Hz refresh rate) |
|
| 43 | + |
|
| 44 | +--- |
|
| 45 | + |
|
| 46 | +### 🔌 Common Use Cases |
|
| 47 | + |
|
| 48 | +- RC Receiver → Flight Controller (e.g., FrSky RX to Betaflight FC) |
|
| 49 | +- RC Receiver → Microcontroller (Arduino, ESP32) |
|
| 50 | +- RC → Servo controller boards (if SBUS supported) |
|
| 51 | + |
|
| 52 | +--- |
|
| 53 | + |
|
| 54 | +### ⚖️ SBUS vs PWM vs PPM |
|
| 55 | + |
|
| 56 | +| Feature | SBUS | PWM | PPM | |
|
| 57 | +|---------------|-------------|---------------|---------------| |
|
| 58 | +| Channels | 16 | 1 per wire | 8 (typically) | |
|
| 59 | +| Wires needed | 1 | 1 per channel | 1 | |
|
| 60 | +| Type | Digital | Analog pulse | Analog pulse | |
|
| 61 | +| Speed | Very fast | Slow | Medium | |
|
| 62 | +| Latency | Very low | High | Medium | |
|
| 63 | + |
|
| 64 | +--- |
|
| 65 | + |
|
| 66 | +### 🧰 Tip for Developers |
|
| 67 | + |
|
| 68 | +To read SBUS using a microcontroller: |
|
| 69 | +- Use **UART** at **100000 baud**, **8E2**, **inverted signal** |
|
| 70 | +- Some MCUs (like ESP32) support inversion natively |
|
| 71 | +- Otherwise, use an **inverter circuit** or a software decoder |
|
| 72 | + |
|
| 73 | +## ref |
|
| 74 | + |
|
| 75 | +- [[network-dat]] |
Network-dat/RC-dat/RC-protocols-dat/edge-tx-dat/edge-tx-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# edge-tx-dat |
|
| 3 | + |
|
| 4 | +https://github.com/EdgeTX/edgetx |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/RC-system-dat.md
| ... | ... | @@ -0,0 +1,37 @@ |
| 1 | + |
|
| 2 | +# RC-system-dat |
|
| 3 | + |
|
| 4 | +- [[betaflight-dat]] - [[heli-configurator-dat]] |
|
| 5 | + |
|
| 6 | +- [[ardupilot-dat]] - [[PX4-dat]] - [[iNav-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | +## RC-configurator-dat |
|
| 14 | + |
|
| 15 | +- [[betaflight-dat]] |
|
| 16 | + |
|
| 17 | +- [[heli-configurator-dat]] |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## commerlized projects |
|
| 22 | + |
|
| 23 | +- **speedybee** == https://www.speedybee.com/ == SpeedyBee is a company that specializes in providing high-quality drone components and accessories, including flight controllers, ESCs, and other related products. They are known for their innovative designs and user-friendly interfaces, making them a popular choice among drone enthusiasts. |
|
| 24 | +- **betafpv** == https://www.betafpv.com/ == BETAFPV is a company that focuses on producing small and lightweight drones, particularly for FPV (First Person View) racing and freestyle flying. They offer a range of products, including flight controllers, cameras, and other accessories tailored for FPV enthusiasts. |
|
| 25 | +- happymodel |
|
| 26 | +- iFlight |
|
| 27 | +- Holybro |
|
| 28 | +- TBS |
|
| 29 | +- Flywoo |
|
| 30 | +- HGLRC |
|
| 31 | +- Diatone |
|
| 32 | +- GepRC |
|
| 33 | +- Racerstar |
|
| 34 | +- Emax |
|
| 35 | +- Eachine |
|
| 36 | +- HGLRC |
|
| 37 | +- Racerstar |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-41-34.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-41-34.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-45-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-45-29.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-20-15.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-20-15.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-05.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-23.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-23.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-23-18.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-23-18.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-29-48.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-29-48.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-31-37.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-31-37.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-32-43.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-32-43.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-PID-dat.md
| ... | ... | @@ -0,0 +1,288 @@ |
| 1 | + |
|
| 2 | +# PID-dat |
|
| 3 | + |
|
| 4 | +- [[betaflight-PID-fliter-dat]] |
|
| 5 | + |
|
| 6 | +- [[betaflight-rateprofile-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +- [[indoor-fly-PID-tuning-dat]] |
|
| 10 | + |
|
| 11 | +## works |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +- suspension == spring + damper |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## mobula8 for example |
|
| 24 | + |
|
| 25 | +default profile |
|
| 26 | + |
|
| 27 | +| value | Proportional | Integral | D Max | Derivative | Feedforward | |
|
| 28 | +| ---------- | ------------ | -------- | ----- | ---------- | ----------- | |
|
| 29 | +| Basic/Acro | | | | | | |
|
| 30 | +| ROLL | 53 | 95 | 46 | 43 | 143 | |
|
| 31 | +| PITCH | 56 | 100 | 52 | 48 | 149 | |
|
| 32 | +| YAW | 53 | 95 | 00 | 0 | 143 | |
|
| 33 | + |
|
| 34 | +**Proportional (P):** Controls how strongly the quad reacts to the difference between the current and desired position (error). Higher P means faster correction, but too high can cause oscillations. |
|
| 35 | + |
|
| 36 | +**Integral (I):** Corrects for small, persistent errors over time (like wind drift). It accumulates error and helps the quad hold its attitude. Too much I can cause slow oscillations or “wind-up.” |
|
| 37 | + |
|
| 38 | +**D Max:** The maximum value the Derivative (D) term can reach during fast movements. It helps control overshoot and quick direction changes, especially when Damping is set low. |
|
| 39 | + |
|
| 40 | +**Derivative (D):** Reacts to how quickly the error is changing (rate of change). It damps rapid movements and helps prevent overshoot and oscillations. Too much D can make motors hot or noisy. |
|
| 41 | + |
|
| 42 | +**Feedforward (FF):** Predicts and responds to your stick inputs directly, making the quad feel more responsive and “snappy.” It doesn’t rely on error, so it improves stick tracking and reduces latency. |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +tuned profile |
|
| 46 | + |
|
| 47 | +| value | Proportional | Integral | D Max | Derivative | Feedforward | |
|
| 48 | +| ---------- | ------------ | -------- | ----- | ---------- | ----------- | |
|
| 49 | +| Basic/Acro | | | | | | |
|
| 50 | +| ROLL | 48 | 100 | 41 | 43 | 143 | |
|
| 51 | +| PITCH | 41 | 105 | 48 | 48 | 149 | |
|
| 52 | +| YAW | 53 | 95 | 00 | 0 | 143 | |
|
| 53 | + |
|
| 54 | + |
|
| 55 | +## slider |
|
| 56 | + |
|
| 57 | +PID Tuning Slider Mode |
|
| 58 | + |
|
| 59 | +ID tuning slider mode can |
|
| 60 | +be: |
|
| 61 | +- OFF - no sliders, enter values manually |
|
| 62 | +- RP - sliders control Roll and Pitch only, enter Yaw values manually |
|
| 63 | +- RPY - sliders control all PID |
|
| 64 | + |
|
| 65 | +Warning: Going from RP to RPY mode will overwrite Yaw settings with firmware settings. |
|
| 66 | + |
|
| 67 | + |
|
| 68 | +| set | value | | |
|
| 69 | +| ------------------------------------ | ----- | -------------------------------------------- | |
|
| 70 | +| Damping: D Gains | 1.4 | | |
|
| 71 | +| Tracking: P & I Gains | 1 | | |
|
| 72 | +| Stick Response: FF Gains | 0 | | |
|
| 73 | +| Dynamic Damping: D Max | 0 | starting from 0 | |
|
| 74 | +| Drift - Wobble: /Gains | 0 | | |
|
| 75 | +| Pitch Damping: Pitch:Roll D | | | |
|
| 76 | +| Pitch Tracking: Pitch:Roll P, I & FF | | | |
|
| 77 | +| Master Multiplier: | 1.6 | Indoor: keep lower to avoid twitchy behavior | |
|
| 78 | + |
|
| 79 | +### Damping: D Gains |
|
| 80 | + |
|
| 81 | +Relatively high D-gain will dampen stick responsiveness and may make motors hot, but should help control fast oscillations and will improve prop-wash. |
|
| 82 | + |
|
| 83 | +Relatively low D-term gives quicker stick responsiveness, but will weaken prop-wash performance and reacting to external forces (wind). |
|
| 84 | + |
|
| 85 | +### Tracking: P & I Gains |
|
| 86 | + |
|
| 87 | +Increase the Tracking slider to sharpen the quads response to your influences; avoiding the nose of the quad going off course in any condition. |
|
| 88 | + |
|
| 89 | +Lower 'Tracking' values will will go off course on stick moves and in prop wash. |
|
| 90 | + |
|
| 91 | +High 'Tracking' may result in oscillation and fast bounceback (hard to see but you canhear). |
|
| 92 | + |
|
| 93 | +Excessive Tracking may result in oscillations and hot motors. |
|
| 94 | + |
|
| 95 | +### Stick Response: FF Gains |
|
| 96 | + |
|
| 97 | +Lower Stick Response will increase the **latency** of the quad movements to commands and may result in slow bounceback at the end of a flip or roll. |
|
| 98 | + |
|
| 99 | +Higher Stick Response will give snappier quad response to sharp stick moves. Too much Stick Response can cause flip or roll. |
|
| 100 | + |
|
| 101 | +Note: "I-term Relax" can reduce authority quads or if low Stick Response Gains are used. |
|
| 102 | + |
|
| 103 | +### Dynamic Damping: D Max |
|
| 104 | + |
|
| 105 | +Increases D max, the maximum amount that D can increase to during faster movements. |
|
| 106 | + |
|
| 107 | +For race quads, where the main Damping slider has been set low to minimize motor heat, moving this slider to the **right** will improve overshoot control for quick direction changes. |
|
| 108 | + |
|
| 109 | +For HD or cinematic quads, instability in forward flight is best addressed by moving the Damping slider (not the Dynamic Damping slider) to the **right**. Check for motor heat and listen for weird noises during quick inputs when moving this slider to the right. |
|
| 110 | + |
|
| 111 | +For freestyle quads, especially heavier builds, moving this slider to the **right** may help control overshoot in flips and rolls. |
|
| 112 | + |
|
| 113 | +Note: Generally overshoot in flips and rolls is due to not enough 'i-Term Relax', or motor desyncs, or inadequate authority (a.k.a. Motor Saturation). If you find that moving the Damping Boost slider to the right doesn't improve flip or roll overshoot, put it back to the normal position, and seek out the reason for the overshoot or wobble. |
|
| 114 | + |
|
| 115 | + |
|
| 116 | + |
|
| 117 | + |
|
| 118 | + |
|
| 119 | +use PIDtoolbox to find the best value |
|
| 120 | + |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + |
|
| 124 | +### Master Multiplier |
|
| 125 | + |
|
| 126 | +- hear motor sound and feel the response |
|
| 127 | + |
|
| 128 | +- Start to gradually increase your Master Slider from ~0.5 |
|
| 129 | +- Pay attention to motor temperature, the sound of the motors, and propwash handling |
|
| 130 | + |
|
| 131 | + |
|
| 132 | + |
|
| 133 | + |
|
| 134 | + |
|
| 135 | +### Angle/Horizon |
|
| 136 | + |
|
| 137 | +| set | Strength | Transition | |
|
| 138 | +| ----------- | -------- | ---------- | |
|
| 139 | +| Angle | 50 | | |
|
| 140 | +| Horizon | 75 | 75 | |
|
| 141 | +| Angle Limit | 60 | | |
|
| 142 | + |
|
| 143 | +optimized for indoor fly |
|
| 144 | + |
|
| 145 | +| set | Strength | Transition | |
|
| 146 | +| ----------- | -------- | ---------- | |
|
| 147 | +| Angle | 32 | | |
|
| 148 | +| Horizon | 50 | 75 | |
|
| 149 | +| Angle Limit | 45 | | |
|
| 150 | + |
|
| 151 | +- angle mode == can not full roll or flip |
|
| 152 | +- Angle == less respone |
|
| 153 | +- Angle Limit == less speed and angle, but inability to fly in wind |
|
| 154 | + |
|
| 155 | + |
|
| 156 | + |
|
| 157 | + |
|
| 158 | + |
|
| 159 | +### slider screenshort |
|
| 160 | + |
|
| 161 | + |
|
| 162 | + |
|
| 163 | + |
|
| 164 | + |
|
| 165 | + |
|
| 166 | + |
|
| 167 | + |
|
| 168 | +CAUTioN: Current sllder positlons may cause flyaways, motor damage or unsafe craft behaviour. Please proceed with cautlon. |
|
| 169 | + |
|
| 170 | +Note: Slider access and range is restricted because you are not in expert mode. Basic mode should be suitable for most builds and beginners. |
|
| 171 | + |
|
| 172 | +Note: Slider(s) are disabled because current values are outside the Basic Mode adjustment range. Switch to Expert Mode to make changes |
|
| 173 | + |
|
| 174 | + |
|
| 175 | +## PID controller settings |
|
| 176 | + |
|
| 177 | +- Feedforward transition |
|
| 178 | +- Acro Trainer Angle Limit |
|
| 179 | +- Throttle Boost |
|
| 180 | +- Dynamic Idle Value [* 100 RPM] |
|
| 181 | +- Absolute Control |
|
| 182 | +- I Term Rotation |
|
| 183 | +- Vbat PID Compensation |
|
| 184 | +- Integrated Yaw |
|
| 185 | +- I Term Relax |
|
| 186 | + - RP - Axes |
|
| 187 | + - Setpoint - Type |
|
| 188 | + - 5 - Cutoff - [[indoor-fly-dat]] |
|
| 189 | + |
|
| 190 | +A feature that reduces (relaxes) the effect of the I-term (integral) in the PID controller during fast stick movements, helping to avoid overshoot and improve flight feel. |
|
| 191 | + |
|
| 192 | +- D Min |
|
| 193 | + |
|
| 194 | + |
|
| 195 | + |
|
| 196 | +## PID Controller Settings |
|
| 197 | + |
|
| 198 | +### feed-foward in PID Controller Settings |
|
| 199 | + |
|
| 200 | + set f_pitch = 160 |
|
| 201 | + set f_roll = 155 |
|
| 202 | + set f_yaw = 150 |
|
| 203 | + set feedforward_boost = 20 |
|
| 204 | + save |
|
| 205 | + |
|
| 206 | +If you prefer a softer, more stable indoor tune |
|
| 207 | + |
|
| 208 | + set f_pitch = 135 |
|
| 209 | + set f_roll = 130 |
|
| 210 | + set f_yaw = 130 |
|
| 211 | + set feedforward_boost = 10 |
|
| 212 | + save |
|
| 213 | + |
|
| 214 | + |
|
| 215 | + |
|
| 216 | +### Anti Gravity |
|
| 217 | + |
|
| 218 | +- [x] Permanently enable Anti Gravity |
|
| 219 | +- [x] Smooth [x] support - Mode |
|
| 220 | +- 10 - Gain - [[indoor-fly-dat]] |
|
| 221 | + |
|
| 222 | +A feature that temporarily boosts the I-term (integral) of the PID controller during rapid throttle changes to help maintain stable flight and prevent sudden altitude drops or surges. |
|
| 223 | + |
|
| 224 | +Enable anti-gravity for **stable throttle changes**. |
|
| 225 | + |
|
| 226 | + |
|
| 227 | + |
|
| 228 | +## Throttle and Motor Settings |
|
| 229 | + |
|
| 230 | +| set | value | expalination | |
|
| 231 | +| --------------------- | ----- | --------------------------------------------------------------------------------------- | |
|
| 232 | +| Throttle Boost | 5 | Increases throttle response when you make quick stick movements. | |
|
| 233 | +| Motor Output Limit | 100 | Limits the maximum power sent to the motors (as a percentage). | |
|
| 234 | +| Dynamic Idle | 35 | Sets a minimum motor RPM (as a percentage of throttle) when the throttle is at zero. | |
|
| 235 | +| Vbat Sag Compensation | 100% | Compensates for voltage drop (“sag”) as the battery drains. | |
|
| 236 | +| Thrust Linearization | 40% | Adjusts throttle curve to make thrust output more linear (proportional) to stick input. | |
|
| 237 | + |
|
| 238 | +indoor |
|
| 239 | + |
|
| 240 | + set throttle_limit_percent = 75 ## rateprofile |
|
| 241 | + |
|
| 242 | + set throttle_boost = 7 ## ? |
|
| 243 | + # set throttle_boost = 0 ## ? |
|
| 244 | + |
|
| 245 | + set dyn_idle_min_rpm = 30 |
|
| 246 | + set dshot_idle_value = 600 ## ? |
|
| 247 | + |
|
| 248 | + set motor_output_limit = 75 |
|
| 249 | + save |
|
| 250 | + |
|
| 251 | + |
|
| 252 | +#### dynamic idle |
|
| 253 | + |
|
| 254 | +- 2" == 30 |
|
| 255 | + |
|
| 256 | + |
|
| 257 | + |
|
| 258 | + |
|
| 259 | + |
|
| 260 | + |
|
| 261 | +## TPA (Throttle PID Attenuation) Explained |
|
| 262 | + |
|
| 263 | +→ **TPA = Throttle PID Attenuation** |
|
| 264 | +- Reduces the influence of **P, I, D** at high throttle |
|
| 265 | +- Prevents aggressive PID corrections when motors are near full power |
|
| 266 | + |
|
| 267 | +→ **TPA Breakpoint** |
|
| 268 | +- Defines the **throttle point (%)** where TPA starts reducing PID |
|
| 269 | +- Example: TPA Breakpoint = 1500 → above 1500/2000 throttle, PID attenuation begins |
|
| 270 | + |
|
| 271 | +→ **How it Works** |
|
| 272 | +- At low/mid throttle → full PID control → precise, stable hover |
|
| 273 | +- At high throttle → PID reduced → prevents oscillations caused by strong motor output |
|
| 274 | + |
|
| 275 | +→ **Indoor Fly Recommendation** |
|
| 276 | +- TPA can be **0–0.1** for small indoor quads → usually not needed |
|
| 277 | +- Breakpoint → not critical for indoor hover, keep default |
|
| 278 | + |
|
| 279 | + |
|
| 280 | + |
|
| 281 | + |
|
| 282 | +## ref |
|
| 283 | + |
|
| 284 | +- [[PID]] - [[tech]] |
|
| 285 | + |
|
| 286 | +- [damping tuning on meteor75](https://www.youtube.com/watch?v=CsD5sV7xOPc) |
|
| 287 | + |
|
| 288 | +- [Betaflight 4.5 PID Tuning](https://www.youtube.com/watch?v=1oYoVE4xu1U) |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-PID-fliter-dat/betaflight-PID-fliter-dat.md
| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | + |
|
| 2 | +# betaflight-PID-fliter-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +### filter settings |
|
| 6 | + |
|
| 7 | +Profile dependent Filter Settings |
|
| 8 | + |
|
| 9 | +D Term Lowpass Filters |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | +## safe indoor tune |
|
| 14 | + |
|
| 15 | +### Gyro Lowpass Filters + Gyro RPM Filter + Dynamic Notch Filter |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + set gyro_lpf1_static_hz = 250 |
|
| 19 | + set gyro_lpf2_static_hz = OFF |
|
| 20 | + |
|
| 21 | + set gyro_lpf1_dyn_min_hz = 200 |
|
| 22 | + set gyro_lpf1_dyn_max_hz = 550 |
|
| 23 | + |
|
| 24 | + set rpm_filter_min_hz = 150 |
|
| 25 | + set dyn_notch_min_hz = 200 |
|
| 26 | + set dyn_notch_q = 500 |
|
| 27 | + |
|
| 28 | +If motors get hot in <1 min → lower **gyro_lpf1_static_hz** back to 200. |
|
| 29 | + |
|
| 30 | +If motors stay cool → you can even push **gyro_lpf1_dyn_max_hz** to 600. |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +### D Term LowpassFilters + D Term Notch Filter + Yaw Lowpass Filter |
|
| 35 | + |
|
| 36 | + set dterm_lpf1_static_hz = 150 |
|
| 37 | + set dterm_lpf1_dyn_min_hz = 100 |
|
| 38 | + set dterm_lpf1_dyn_max_hz = 200 |
|
| 39 | + set dterm_lpf2_static_hz = OFF |
|
| 40 | + set yaw_lowpass_hz = 0 |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-38-55.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-38-55.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-45-34.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-45-34.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-06-12-32-30.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-06-12-32-30.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/betaflight-rateprofile-dat.md
| ... | ... | @@ -0,0 +1,161 @@ |
| 1 | + |
|
| 2 | +# betaflight-rateprofile-dat |
|
| 3 | + |
|
| 4 | +- Controls **stick sensitivity** and **how fast the quad responds** |
|
| 5 | +- Lower values = slower, smoother indoor control |
|
| 6 | +- Higher values = faster, more aggressive control |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## Rates Type == Betaflight |
|
| 10 | + |
|
| 11 | +| set | RC Rate | Rate | Expo | Max Vel [deg/s] | |
|
| 12 | +| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 13 | +| Basic/Acro Rates | | | | | |
|
| 14 | +| ROLL | 1.06 | 0.56 | 0.15 | 482 | |
|
| 15 | +| PITCH | 1.06 | 0.56 | 0.15 | 482 | |
|
| 16 | +| YAW | 1.06 | 0.56 | 0.05 | 482 | |
|
| 17 | + |
|
| 18 | +Rates Type? == Betaflight BETAFLIGHT == cinewhoop |
|
| 19 | + |
|
| 20 | +| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 21 | +| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 22 | +| Basic/Acro Rates | | | | | |
|
| 23 | +| ROLL | 0.6 | 0.6 | 0.3 | 300 | |
|
| 24 | +| PITCH | 0.6 | 0.6 | 0.3 | 300 | |
|
| 25 | +| YAW | 0.6 | 0.6 | 0.3 | 300 | |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +Lower **RC Rate** → overall slower stick response. |
|
| 30 | + |
|
| 31 | +- Roll: RC Rate 1.0 | Super Rate 0.65 | Expo 0.25 |
|
| 32 | +- Pitch: RC Rate 1.0 | Super Rate 0.65 | Expo 0.25 |
|
| 33 | +- Yaw: RC Rate 0.8 | Super Rate 0.70 | Expo 0.30 |
|
| 34 | +- Throttle Mid: 0.30 |
|
| 35 | +- Throttle Expo: 0.25 |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | +## Rates Type == Actual |
|
| 40 | + |
|
| 41 | +- **Center Sensitivity** → how responsive the quad is around stick center. |
|
| 42 | +- **Max Rate (deg/s)** → maximum rotation speed at full stick deflection. |
|
| 43 | +- **Expo** → how much the curve softens near center stick. |
|
| 44 | + |
|
| 45 | +### 1. Center Sensitivity |
|
| 46 | + |
|
| 47 | +- Controls responsiveness near stick center. |
|
| 48 | +- Indoor flying → set **lower** than outdoor to avoid twitchiness. |
|
| 49 | +- Example: `Center Sensitivity = 120` (instead of 200+ for outdoors). |
|
| 50 | + |
|
| 51 | +--- |
|
| 52 | + |
|
| 53 | +### 2. Max Rate |
|
| 54 | +- Sets the maximum rotation speed (°/s). |
|
| 55 | +- Indoor = keep rotation slower to avoid overshooting in tight spaces. |
|
| 56 | +- Example: `Max Rate = 400–500°/s` (outdoor freestyle often 700–1000°/s+). |
|
| 57 | + |
|
| 58 | +--- |
|
| 59 | + |
|
| 60 | +### 3. Expo |
|
| 61 | +- Smooths stick center further while keeping full rate at stick ends. |
|
| 62 | +- Indoor = a bit more expo to help small corrections. |
|
| 63 | +- Example: `Expo = 0.3–0.4`. |
|
| 64 | + |
|
| 65 | +- Roll: Center Sensitivity = 120 | Max Rate = 450 | Expo = 0.35 |
|
| 66 | +- Pitch: Center Sensitivity = 120 | Max Rate = 450 | Expo = 0.35 |
|
| 67 | +- Yaw: Center Sensitivity = 100 | Max Rate = 400 | Expo = 0.30 |
|
| 68 | + |
|
| 69 | + |
|
| 70 | +| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 71 | +| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 72 | +| Basic/Acro Rates | | | | | |
|
| 73 | +| ROLL | 70 | 670 | 0 | 670 | |
|
| 74 | +| PITCH | 70 | 670 | 0 | 670 | |
|
| 75 | +| YAW | 70 | 670 | 0 | 670 | |
|
| 76 | + |
|
| 77 | + |
|
| 78 | +RC Rate == Center Sensitivity |
|
| 79 | + |
|
| 80 | +Rate RC == Max Rate == how many degree per second |
|
| 81 | + |
|
| 82 | +**Expo** (Exponential) adjusts the sensitivity of your stick inputs around the center position. |
|
| 83 | + |
|
| 84 | +- **Expo** = 0: Stick response is linear—movements are directly proportional. |
|
| 85 | +- **Higher Expo**: Makes the center of the stick less sensitive (smoother, easier for small corrections), while the ends remain more responsive. |
|
| 86 | + |
|
| 87 | +This helps pilots make precise, gentle movements without sacrificing full stick authority for fast maneuvers. |
|
| 88 | + |
|
| 89 | +optimized |
|
| 90 | + |
|
| 91 | +| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 92 | +| ---------------- | -------- | ---------- | -------- | --------------- | |
|
| 93 | +| Basic/Acro Rates | | | | | |
|
| 94 | +| ROLL | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 95 | +| PITCH | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 96 | +| YAW | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 97 | + |
|
| 98 | + |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 102 | +## Throttle Limit / Throttle Limit % / Throttle MID / Throttle EXPO |
|
| 103 | + |
|
| 104 | +| Throttle Limit | Throttle Limit % | Throttle MID | Throttle EXPO | |
|
| 105 | +| -------------- | ---------------- | ------------ | ------------- | |
|
| 106 | +| OFF | 80 | 0.20 | 0.70 | |
|
| 107 | + |
|
| 108 | + |
|
| 109 | + |
|
| 110 | + |
|
| 111 | + |
|
| 112 | +1. Enable **Throttle Expo**: |
|
| 113 | + - Set `Throttle Expo = 0.2–0.4`. |
|
| 114 | + - Reduces sensitivity around mid-throttle. |
|
| 115 | +2. Adjust **Throttle Mid**: |
|
| 116 | + - If hover is at ~30% stick, set `Throttle Mid = 0.3`. |
|
| 117 | + - Matches your hover point with expo curve. |
|
| 118 | + |
|
| 119 | +## optimized version 2 for indoor flying |
|
| 120 | + |
|
| 121 | +| Throttle Limit | Throttle Limit % | Throttle MID | Throttle EXPO | |
|
| 122 | +| -------------- | ---------------- | ------------ | ------------- | |
|
| 123 | +| SCALE | 55 | 0.5 | 0.5 | |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +Throttle Limit |
|
| 128 | + |
|
| 129 | +- `Scale`: reduces power evenly across whole range. |
|
| 130 | +- `Clip`: cuts off only top-end throttle. |
|
| 131 | + |
|
| 132 | + |
|
| 133 | + |
|
| 134 | +## TPA / TPA Breakpoint |
|
| 135 | + |
|
| 136 | + |
|
| 137 | +- TPA = smooths high-throttle behavior |
|
| 138 | +- Breakpoint = throttle point where TPA starts |
|
| 139 | +- Indoor: minimal effect, focus more on PID, Rates, and Throttle MID |
|
| 140 | + |
|
| 141 | + |
|
| 142 | +## hover == throttle mid |
|
| 143 | + |
|
| 144 | +→ **Throttle MID** controls how stick input translates to motor power |
|
| 145 | +- Lower = more sensitive at low throttle |
|
| 146 | +- Higher = more stable at low throttle |
|
| 147 | + |
|
| 148 | +→ **Test Flight** |
|
| 149 | +- Arm the quad, hover at mid-throttle |
|
| 150 | +- If drone rises too fast → increase Throttle MID slightly |
|
| 151 | +- If drone feels sluggish → decrease Throttle MID slightly |
|
| 152 | + |
|
| 153 | + |
|
| 154 | + |
|
| 155 | + |
|
| 156 | + |
|
| 157 | + |
|
| 158 | + |
|
| 159 | +## ref |
|
| 160 | + |
|
| 161 | +- [[betaflight-PID-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-configuration-dat/betaflight-configuration-dat.md
| ... | ... | @@ -0,0 +1,99 @@ |
| 1 | + |
|
| 2 | +# betaflight-configuration-dat |
|
| 3 | + |
|
| 4 | +## options |
|
| 5 | + |
|
| 6 | +### Crash Recovery |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +if not work, try CLI set **crash_recovery = ON** |
|
| 10 | + |
|
| 11 | +→ Connect flight controller → open **Betaflight Configurator** → click **Connect** |
|
| 12 | + |
|
| 13 | +→ Go to **Configuration Tab** → scroll to **Other Features** |
|
| 14 | + |
|
| 15 | +→ Tick **Crash Recovery** → click **Save and Reboot** |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## Configuration |
|
| 20 | + |
|
| 21 | +### Accelerometer Trim |
|
| 22 | + |
|
| 23 | +- Accelerometer Roll Trim |
|
| 24 | +- Accelerometer Pitch Trim |
|
| 25 | + |
|
| 26 | +| roll | roll trim | pitch | pitch trim | |
|
| 27 | +| ----- | --------- | ----- | ---------- | |
|
| 28 | +| left | -- | back | -- | |
|
| 29 | +| right | ++ | front | ++ | |
|
| 30 | + |
|
| 31 | +#### 1. Accelerometer Trim |
|
| 32 | +- General setting that shifts the "zero level" of the accelerometer. |
|
| 33 | +- Used if your quad drifts in Angle/Horizon mode even after calibration. |
|
| 34 | +- Instead of recalibrating, you can apply a small trim value here. |
|
| 35 | + |
|
| 36 | +--- |
|
| 37 | + |
|
| 38 | +#### 2. Accelerometer Roll Trim |
|
| 39 | +- Adjusts the accelerometer’s idea of "level" on the **Roll axis** (left ↔ right). |
|
| 40 | +- Example: |
|
| 41 | + - Drone drifts **right** in Angle Mode → add **positive Roll Trim**. |
|
| 42 | + - Drone drifts **left** → add **negative Roll Trim**. |
|
| 43 | + |
|
| 44 | +--- |
|
| 45 | + |
|
| 46 | +#### 3. Accelerometer Pitch Trim |
|
| 47 | +- Adjusts the accelerometer’s "level" on the **Pitch axis** (forward ↔ backward). |
|
| 48 | +- Example: |
|
| 49 | + - Drone drifts **forward** in Angle Mode → add **positive Pitch Trim**. |
|
| 50 | + - Drone drifts **backward** → add **negative Pitch Trim**. |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +### Board and Sensor Alignment |
|
| 54 | + |
|
| 55 | +- 0 == Roll Degrees - 0 Pitch Degrees - 0 Yaw Degrees |
|
| 56 | +- **First** GYRO/ACCEL - **CW 90°** First GYRO |
|
| 57 | +- **Default** <MAG Alignment |
|
| 58 | + |
|
| 59 | +### System configuration |
|
| 60 | + |
|
| 61 | +Note: Make sure your FC is able to operate at these speeds! Check CPU and cycletime stability. Changing this may require PID re-tuning. TIP: Disable Accelerometer and other sensors to gain more performance. |
|
| 62 | + |
|
| 63 | +- 8.00 kHzGyro update frequency |
|
| 64 | +- 1.00 kHz PID loop frequency |
|
| 65 | +- Accelerometer |
|
| 66 | +- Barometer (if supported) |
|
| 67 | +- Magnetometer (if supported) |
|
| 68 | + |
|
| 69 | + |
|
| 70 | +### Dshot Beacon Configuration |
|
| 71 | + |
|
| 72 | +Beacon Tone |
|
| 73 | + |
|
| 74 | +- RX_LOST - Beeps when TX is turned off or signal lost (repeat until TX is okay) |
|
| 75 | +- RX_SET - Beeps when aux channel is set for beep |
|
| 76 | + |
|
| 77 | +### other features |
|
| 78 | + |
|
| 79 | +- air mode - consider turn this off, it may cause the whoop bump (hop round) when touch the ground |
|
| 80 | + |
|
| 81 | +- [] INFLIGHT_ACC_CAL |
|
| 82 | +- [] SERVO_TILT |
|
| 83 | +- [x] SOFT SERIAL |
|
| 84 | +- [] SONAR |
|
| 85 | +- [] LED_STRIP |
|
| 86 | +- [] DISPLAY |
|
| 87 | +- [x] OSD |
|
| 88 | +- [] CHANNEL_FORWARDING |
|
| 89 | +- [] TRANSPONDER |
|
| 90 | +- [] AIRMODE |
|
| 91 | +- [?] DYNAMIC_FILTER |
|
| 92 | + |
|
| 93 | + |
|
| 94 | +### Beeper Configuration |
|
| 95 | + |
|
| 96 | + |
|
| 97 | +## ref |
|
| 98 | + |
|
| 99 | +- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-dat.md
| ... | ... | @@ -0,0 +1,155 @@ |
| 1 | + |
|
| 2 | +# betaflight-dat |
|
| 3 | + |
|
| 4 | +- [[FPV-dat]] - [[mobula8-dat]] |
|
| 5 | + |
|
| 6 | +- [[radiomaster-dat]] - [[rc-controller-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +- [[betaflight-presents-dat]] - [[betaflight-configuration-dat]] |
|
| 11 | + |
|
| 12 | +- [[betaflight-receiver-dat]] - [[betaflight-modes-dat]] - [[betaflight-motors-dat]] - [[betaflight-modes-dat]] |
|
| 13 | + |
|
| 14 | +- [[betaflight-OSD-dat]] - [[betaflight-video-transmitter-dat]] - [[betaflight-blackbox-dat]] |
|
| 15 | + |
|
| 16 | +- [[betaflight-PID-dat]] - [[betaflight-rateprofile-dat]] - [[indoor-fly-dat]] |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## betaflight supports |
|
| 21 | + |
|
| 22 | +| model | supported | from | |
|
| 23 | +| ----------------------- | --------- | ------------------ | |
|
| 24 | +| [[Mobula8-dat]] / 7 / 6 | yes | [[happymodel-dat]] | |
|
| 25 | +| [[aquila16-dat]] | no | [[betaFPV-dat]] | |
|
| 26 | +| [[Meteor65-Pro-dat]] | yes | [[betaFPV-dat]] | |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +## betaflight features |
|
| 32 | + |
|
| 33 | +- RC smoothing - [[indoor-fly-dat]] |
|
| 34 | +- crash recovery - [[betaflight-configuration-dat]] |
|
| 35 | + |
|
| 36 | +## betaflight HDK features |
|
| 37 | + |
|
| 38 | +- [[GPS-dat]] |
|
| 39 | + |
|
| 40 | +- [[optic-flow-dat]] sensor |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +## CLI |
|
| 46 | + |
|
| 47 | + # version |
|
| 48 | + # Betaflight / STM32F411 (S411) 4.4.2 Jun 1 2023 / 02:20:34 (23d066d08) MSP API: 1.45 |
|
| 49 | + |
|
| 50 | + # config: YES |
|
| 51 | + # board: manufacturer_id: HAMO, board_name: CRAZYBEEF4SX1280 |
|
| 52 | + |
|
| 53 | + |
|
| 54 | +board == CRAZY BEE F4SX1280 |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## flash |
|
| 58 | + |
|
| 59 | +- CRAZYBEEF4SX1280 - [[CRAZYBEEF4SX1280-dat]] |
|
| 60 | +- 4.5.2 [19-Mar-2025] |
|
| 61 | + |
|
| 62 | +- Radio Protocol == CRSF |
|
| 63 | +- Other Options == xAcro Trainer / xGPS / xLED Strip / xOSD (Analog) / xOSD (Digital) / xPin 10 / xVTX |
|
| 64 | +- Telemetry Protocol == Automatically Included |
|
| 65 | +- Motor Protocol == DSHOT |
|
| 66 | + |
|
| 67 | +## SETUP |
|
| 68 | + |
|
| 69 | +- THE MOST IMPORTANT STEP: CALIBRATE ACCELEROMETER |
|
| 70 | +- **NO NOT CALIBRATE ON A TABLE**, PUT THE WHOOP ON THE FLOOR, MAKE SURE IT IS LEVEL |
|
| 71 | +- AFTER CALIBRATION, TURN ON MOTORS OR HOLD BY FINGERS, RECHECK |
|
| 72 | +- IF NEEDED, REPEAT CALIBRATION PROCESS UNTIL SATISFIED |
|
| 73 | + |
|
| 74 | + |
|
| 75 | +## ports |
|
| 76 | + |
|
| 77 | + |
|
| 78 | +## failsafe |
|
| 79 | + |
|
| 80 | +- console - failsafe mode - no pulse |
|
| 81 | + |
|
| 82 | +## PID |
|
| 83 | + |
|
| 84 | +- keep all factory default |
|
| 85 | + |
|
| 86 | + |
|
| 87 | + |
|
| 88 | +### after reset |
|
| 89 | + |
|
| 90 | +The following problems with your configuration were detected: |
|
| 91 | + |
|
| 92 | +o there Is no motor output protocol selected. |
|
| 93 | + |
|
| 94 | +- Please select a motor output protocol appropriate for your ESCs in 'EsC/Motor Features' on the 'Motors' tab. |
|
| 95 | +- Caution: Selecting a motor output protocol that is not supported by your ESCs can lead to the ESC spinning up as soon as a battery is connected. For this reason, always make sure to remove the props before connecting a battery for the first time after changing the motor output protocol. |
|
| 96 | + |
|
| 97 | +?? ed but It Is not callbrated. |
|
| 98 | + |
|
| 99 | +- If you plan to use the accelerometer, please follow the instructions for 'Calibrate Accelerometer' on the 'Setup' tab. If any function that requires the accelerometer (auto |
|
| 100 | +- level modes, GPS rescue, .) is enabled, arming of the craft will be disabled until the accelerometer has been calibrated. |
|
| 101 | +- If you are not planning on using the accelerometer it is recommended that you disable it in 'System configuration' on the 'Configuration' tab. |
|
| 102 | +- You need to fix these problems before attempting to fly your craft. |
|
| 103 | + |
|
| 104 | + |
|
| 105 | + |
|
| 106 | +## error log |
|
| 107 | + |
|
| 108 | + status |
|
| 109 | + MCU F411 Clock=108MHz (PLLP-HSE), Vref=3.31V, Core temp=71degC |
|
| 110 | + Stack size: 2048, Stack address: 0x2001fff0 |
|
| 111 | + Configuration: CONFIGURED, size: 3630, max available: 16384 |
|
| 112 | + Devices detected: SPI:1, I2C:0 |
|
| 113 | + Gyros detected: gyro 1 locked dma |
|
| 114 | + GYRO=ICM42688P, ACC=ICM42688P |
|
| 115 | + OSD: MAX7456 (30 x 13) |
|
| 116 | + BUILD KEY: ec13320be6dfb3454403e841b0669684 (4.4.2) |
|
| 117 | + System Uptime: 50 seconds, Current Time: 2025-09-02T09:08:26.240+00:00 |
|
| 118 | + CPU:22%, cycle time: 124, GYRO rate: 8064, RX rate: 249, System rate: 9 |
|
| 119 | + Voltage: 731 * 0.01V (2S battery - OK) |
|
| 120 | + I2C Errors: 0 |
|
| 121 | + Arming disable flags: BADRX ANGLE CLI ARMSWITCH |
|
| 122 | + |
|
| 123 | +Arming disable flags: BADRX ANGLE CLI ARMSWITCH |
|
| 124 | + |
|
| 125 | +- BADRX is the most common cause when telemetry works but motors don’t spin. |
|
| 126 | +- ANGLE prevents arming if FC is not level — always flat on table for first arm. |
|
| 127 | +- Don’t arm with props attached until confirmed on table. |
|
| 128 | + |
|
| 129 | + |
|
| 130 | +Arming disable flags: THROTTLE CLI MSP |
|
| 131 | + |
|
| 132 | + |
|
| 133 | + |
|
| 134 | + |
|
| 135 | + |
|
| 136 | + |
|
| 137 | +## black box |
|
| 138 | + |
|
| 139 | +Outboard serial logging device |
|
| 140 | + |
|
| 141 | +You can log to an external logging device (such as an OpenLager) by using a serial port. Configure the port on the Ports tab. |
|
| 142 | + |
|
| 143 | + |
|
| 144 | + |
|
| 145 | +## betaflight-dat.md |
|
| 146 | + |
|
| 147 | +Betaflight is an open-source firmware for drones and other unmanned aerial vehicles (UAVs). It is designed to provide advanced flight control capabilities, making it popular among hobbyists and enthusiasts in the drone community. Betaflight is known for its flexibility, configurability, and support for a wide range of hardware platforms. |
|
| 148 | + |
|
| 149 | + |
|
| 150 | + |
|
| 151 | + |
|
| 152 | + |
|
| 153 | +## ref |
|
| 154 | + |
|
| 155 | +- [[RC-configurator-dat]] - [[betaflight]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-modes-dat/betaflight-modes-dat.md
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | + |
|
| 2 | +# betaflight-modes-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[radiomaster-dat]] |
|
| 6 | + |
|
| 7 | +## Modes |
|
| 8 | + |
|
| 9 | +| Mode | AUX | radiomaster | set | Notes | |
|
| 10 | +| ------------------ | ----------- | ----------- | ---- | ----- | |
|
| 11 | +| ARM | AUX 1 | SA | HIGH | | |
|
| 12 | +| Angle | AUX 2 HIGH | SB | HIGH | | |
|
| 13 | +| Horizon | AUX 2 | SB | MID | | |
|
| 14 | +| acro Mode | AUX 2 | SB | x | | |
|
| 15 | +| Air Mode | AUX 3 | SC | MID | | |
|
| 16 | +| Flip After a Crash | AUX 3 | SC | HIGH | | |
|
| 17 | +| Beeper | AUX 4 | SD | HIGH | | |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +Air mode is very stable, good for beginners |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +### What is Air Mode? |
|
| 28 | + |
|
| 29 | +Air Mode is a **Betaflight flight feature** that keeps the motors active and responsive even at **zero throttle**. |
|
| 30 | + |
|
| 31 | +- Without Air Mode: |
|
| 32 | + - When you cut throttle, motors almost stop spinning. |
|
| 33 | + - The quad loses control authority and can "fall" or tumble. |
|
| 34 | +- With Air Mode ON: |
|
| 35 | + - Motors always maintain some thrust (idle speed). |
|
| 36 | + - You can still control pitch, roll, and yaw when throttle stick is at minimum. |
|
| 37 | + |
|
| 38 | +### Why Use Air Mode on Whoops? |
|
| 39 | +- ✅ Smoother hovering and stable control, even at low throttle. |
|
| 40 | +- ✅ Prevents sudden drop when you release throttle indoors. |
|
| 41 | +- ✅ Essential for flips, rolls, or freestyle tricks. |
|
| 42 | +- ⚠️ For very small **brushed whoops**, it can make them bounce indoors (too sensitive). |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +In the standard mixer/ mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors will be reduced equally. |
|
| 47 | + |
|
| 48 | +When a motor goes below minimum it gets clipped off. Say you had your throttle just above minimum and tried to pull a quick roll - since two motors can't go any lower, you essentially get half the power (half of your PID gain). |
|
| 49 | + |
|
| 50 | +If your inputs would have asked for more than a 100% difference between the high and low motors, the low motors would get clipped, breaking the Symmetry of the motor balance by unevenly reducing the gain |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-motors-dat/betaflight-motors-dat.md
| ... | ... | @@ -0,0 +1,80 @@ |
| 1 | + |
|
| 2 | +# betaflight-motors-dat |
|
| 3 | + |
|
| 4 | +- [[ex1103-dat]] - [[motor-fpv-dat]] |
|
| 5 | + |
|
| 6 | +## motors |
|
| 7 | + |
|
| 8 | +- mixer |
|
| 9 | + |
|
| 10 | +### ✅ Recommended ESC/Motor Protocol for Mobula8 |
|
| 11 | +- **DSHOT600** → most common, reliable, and default for Mobula8. |
|
| 12 | + |
|
| 13 | +### ⚡ Alternatives (if you have issues) |
|
| 14 | +- **DSHOT300** → safer fallback if you experience desyncs or motor twitching. |
|
| 15 | +- **DSHOT1200** → possible on some boards, but not necessary (no real benefit on Mobula8). |
|
| 16 | + |
|
| 17 | +test |
|
| 18 | +- [x] DSHOT 300 |
|
| 19 | +- [x] DSHOT 600 |
|
| 20 | + |
|
| 21 | +### settings |
|
| 22 | + |
|
| 23 | +DSHOT300 -- ESC/Motor protocol |
|
| 24 | + |
|
| 25 | +[] - MOTOR_STOP Don't spin the motors when armed |
|
| 26 | +[] - ESC_SENSOR Use KISS/BLHeli_32 ESC telemetry over a separate wlre |
|
| 27 | +[x] - Bidirectional Dshot (requires supported ESC firmware) |
|
| 28 | +12 - Motor poles (number of magnets on the motor bell) |
|
| 29 | +0 - Dynamic Idle Value [* 100 RPM] |
|
| 30 | +8% - Motor Idle ( %, static) |
|
| 31 | + |
|
| 32 | +EX1103 - KV11000 == Standard tiny whoop motors like EX1103 11000KV have 6 poles / 3-phase, but some high-torque variations may use 12 poles. |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +### What is ESC Bi-Directional DShot? |
|
| 36 | + |
|
| 37 | +#### 1. DShot Protocol (normal) |
|
| 38 | +- A **digital protocol** to send throttle signals from the flight controller (FC) to the ESC. |
|
| 39 | +- More reliable than analog PWM or Oneshot/Multishot. |
|
| 40 | +- Normally one-way: FC → ESC only. |
|
| 41 | + |
|
| 42 | +#### 2. Bi-Directional DShot |
|
| 43 | +- Extension of DShot where communication is **two-way**: |
|
| 44 | + - FC → ESC (throttle command) |
|
| 45 | + - ESC → FC (motor feedback data) |
|
| 46 | + |
|
| 47 | +#### 3. What Data Comes Back? |
|
| 48 | +- **RPM (motor speed)** in real-time |
|
| 49 | +- **Current, voltage, temperature** (if ESC supports it) |
|
| 50 | +- This allows the FC to know exactly how fast each motor is spinning. |
|
| 51 | + |
|
| 52 | +#### 4. Why is it Useful? |
|
| 53 | +- Enables **RPM Filtering** in Betaflight / INAV: |
|
| 54 | + - Filters gyro noise at exact motor frequencies. |
|
| 55 | + - Makes flight smoother and more efficient. |
|
| 56 | +- More accurate telemetry than traditional ESC sensors. |
|
| 57 | +- Helps with diagnostics (e.g., if one motor is desyncing). |
|
| 58 | + |
|
| 59 | +--- |
|
| 60 | + |
|
| 61 | +#### Summary |
|
| 62 | +**Bi-Directional DShot = digital two-way protocol between FC and ESC.** |
|
| 63 | +It not only controls motors, but also lets ESC report **real-time motor RPM & telemetry** back, enabling advanced features like **RPM filtering** for smoother flights. |
|
| 64 | + |
|
| 65 | +#### 2. How to Check in Betaflight |
|
| 66 | +1. Plug Mobula8 into Betaflight Configurator. |
|
| 67 | +2. Go to **Configuration tab → ESC/Motor Features**. |
|
| 68 | +3. Look for **"Bidirectional DShot"** checkbox. |
|
| 69 | + - If available, try enabling it. |
|
| 70 | +4. Save & reboot. |
|
| 71 | + |
|
| 72 | +#### 3. Verify in Motors Tab |
|
| 73 | +- Go to **Motors tab** in Betaflight. |
|
| 74 | +- If bi-directional DShot works, you should see **motor RPM values** in real time. |
|
| 75 | +- If you only see throttle % but no RPM, your ESC firmware doesn’t support it. |
|
| 76 | + |
|
| 77 | + |
|
| 78 | +## ref |
|
| 79 | + |
|
| 80 | +- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/Chris-Rosser-presents-dat/Chris-Rosser-presents-dat.md
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | + |
|
| 2 | +# Chris-Rosser-presents-dat |
|
| 3 | + |
|
| 4 | +- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 5 | + |
|
| 6 | +- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## tune |
|
| 10 | + |
|
| 11 | +AOS Cine25 tune by Chris Rosser |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## ref |
|
| 16 | + |
|
| 17 | +- [[betaflight-presents-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-18.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-18.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-39.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-39.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/UAV-tech-presents-dat.md
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | + |
|
| 2 | +# UAV-tech-presents-dat |
|
| 3 | + |
|
| 4 | +- [[uav-tech-tune-cinewhoop-dat]] - [[uav-tech-rates-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +https://www.youtube.com/@uavtech |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## tune |
|
| 11 | + |
|
| 12 | +### UAV Tech - Micro (2" to 4") |
|
| 13 | + |
|
| 14 | +### UAV Tech - Whoop (1S&2S) |
|
| 15 | + |
|
| 16 | +- Set **48kHz** for a good balance (smoother + longer flight time). |
|
| 17 | +- Use **96kHz** if you want maximum efficiency indoors (at the cost of a little punch). |
|
| 18 | + |
|
| 19 | +### CaddxBNF Gofilm20 |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## ref |
|
| 27 | + |
|
| 28 | +- [[betaflight-presents-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/betaflight-presents-dat.md
| ... | ... | @@ -0,0 +1,122 @@ |
| 1 | + |
|
| 2 | +# betaflight-presents-dat |
|
| 3 | + |
|
| 4 | +- [[betaflight-dat]] |
|
| 5 | + |
|
| 6 | +- [[Chris-Rosser-presents-dat]] - [[UAV-tech-presents-dat]] |
|
| 7 | + |
|
| 8 | +- [[FPV-dat]] |
|
| 9 | + |
|
| 10 | +## FPV purpose |
|
| 11 | + |
|
| 12 | +- [[indoor-fly-dat]] |
|
| 13 | + |
|
| 14 | +## setup |
|
| 15 | + |
|
| 16 | +### filters |
|
| 17 | + |
|
| 18 | +- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 19 | + |
|
| 20 | +### tune |
|
| 21 | + |
|
| 22 | +- [[mobula8-presents-dat]] |
|
| 23 | + |
|
| 24 | +- [[uav-tech-tune-cinewhoop-dat]] |
|
| 25 | + |
|
| 26 | +- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 27 | + |
|
| 28 | +- [[reddit-cine-present]] |
|
| 29 | + |
|
| 30 | +### rates |
|
| 31 | + |
|
| 32 | +- [[uav-tech-rates-dat]] |
|
| 33 | + |
|
| 34 | +- [[Chris-Rosser-rates-AOS-dat]] |
|
| 35 | + |
|
| 36 | +### RC_LINK |
|
| 37 | + |
|
| 38 | +- [[bf-presents-rc_link-dat]] |
|
| 39 | + |
|
| 40 | +- expressLRS 250Hz |
|
| 41 | + |
|
| 42 | +## category |
|
| 43 | + |
|
| 44 | +- [] BNF |
|
| 45 | +- [x] FILTERS |
|
| 46 | + - Gyro filters |
|
| 47 | + - D-term filters |
|
| 48 | + - RPM filters (if bidirectional DShot is enabled) |
|
| 49 | +- [] LEDS |
|
| 50 | +- [] MODES |
|
| 51 | +- [] OSD |
|
| 52 | +- [] OTHER |
|
| 53 | +- [x] RATES |
|
| 54 | + - **Roll / Pitch / Yaw rates** |
|
| 55 | + - **Expo / RC rate** |
|
| 56 | + - **Rate profiles** for different flight styles |
|
| 57 | +- [x] RC_LINK |
|
| 58 | +- [x] TUNE == **PID controller settings** |
|
| 59 | +- [] VTX |
|
| 60 | + |
|
| 61 | +common used for a flight - [x] TUNE - [x] RATES - [x] FILTERS - [x] RC_LINK |
|
| 62 | + |
|
| 63 | + |
|
| 64 | +## other tuner |
|
| 65 | + |
|
| 66 | +### FPV_CAM |
|
| 67 | + |
|
| 68 | + |
|
| 69 | +### tune |
|
| 70 | + |
|
| 71 | +- UWL 75mm Whoop Tune by Fresh Bread |
|
| 72 | + |
|
| 73 | +- freestyle |
|
| 74 | + |
|
| 75 | +### RC_LINK |
|
| 76 | + |
|
| 77 | +- ExpressLRS 250Hz |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +## info |
|
| 81 | + |
|
| 82 | +### Prop Wash Performance Booster (PWPF) |
|
| 83 | + |
|
| 84 | +### 1) Prop Wash Performance Booster (PWPF) |
|
| 85 | + |
|
| 86 | +### What it does |
|
| 87 | +- Helps stabilize the quad in **prop wash / turbulence** (low-speed yaw/pitch/roll oscillations caused by disturbed airflow). |
|
| 88 | +- Mainly improves **tiny whoop or cinewhoop stability** during hover or close-quarter flight. |
|
| 89 | + |
|
| 90 | +### Requirements |
|
| 91 | +- **FC:** Betaflight 4.3+ (most Mobula8 FCs can run this) |
|
| 92 | +- **Motor & ESC:** Works with any brushless motors + DShot or multishot PWM ESCs |
|
| 93 | +- **Notes:** Very useful for **indoor 1S Mobula8**, smooths hover & slow flight. |
|
| 94 | + |
|
| 95 | +### How to enable |
|
| 96 | +- Betaflight Configurator → Configuration → “Prop Wash Performance Booster” → enable |
|
| 97 | +- Adjust “PWPF Strength” in PID tuning → Motor tab if needed |
|
| 98 | + |
|
| 99 | +--- |
|
| 100 | + |
|
| 101 | +### 2) Dynamic Idle |
|
| 102 | + |
|
| 103 | +### What it does |
|
| 104 | +- Reduces idle motor throttle **automatically** during flight to reduce prop wash, save battery, and smooth low-throttle flight. |
|
| 105 | +- Improves **hover stability**, especially in micro FPV like 85mm Mobula8. |
|
| 106 | + |
|
| 107 | +### Requirements |
|
| 108 | +- **FC:** Betaflight 4.3+ (Configurable in Motors tab) |
|
| 109 | +- **ESC:** Must support **bidirectional DShot** or at least **telemetry** for accurate RPM sensing. |
|
| 110 | +- If your Mobula8 has **BLHeli_S ESC without telemetry**, Dynamic Idle will be **limited or less effective**. |
|
| 111 | +- Works better with **Bluejay or BLHeli_32 ESCs**. |
|
| 112 | + |
|
| 113 | +### How to enable |
|
| 114 | +- Betaflight Configurator → Configuration → Motors → Dynamic Idle → enable |
|
| 115 | +- Adjust min motor idle and gain if necessary |
|
| 116 | + |
|
| 117 | + |
|
| 118 | + |
|
| 119 | + |
|
| 120 | +## ref |
|
| 121 | + |
|
| 122 | +- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-filters-dat/Chris-Rosser-filter-AOS-cine20-dat.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | + |
|
| 2 | +# Chris-Rosser-filter-AOS-cine20-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- AOS Cine20 Filters |
|
| 6 | + |
|
| 7 | +Developed for the AOS Cine20 based on a build with 1303 6000KV motors and 550mAh 4S battery. |
|
| 8 | +NOTE this needs bidirectional Dshot support and RPM filtering active to use. DO NOT ATEMPT TO USE WITHOUT RPM FILTERING! |
|
| 9 | +Follow the usual process of hover testing and safely checking out your tune before using. USE AT YOUR OWN RISK. |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/2025-09-12-16-59-45.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/2025-09-12-16-59-45.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/uav-tech-rates-dat.md
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + |
|
| 2 | +# uav-tech-rates-dat.md |
|
| 3 | + |
|
| 4 | +### rates |
|
| 5 | + |
|
| 6 | +#### UAV Tech Rates (w/ Cinematic/Whoop Options) |
|
| 7 | + |
|
| 8 | + |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rc_link-dat/bf-presents-rc_link-dat.md
| ... | ... | @@ -0,0 +1,15 @@ |
| 1 | + |
|
| 2 | +# bf-presents-rc_link-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## RC_LINK |
|
| 6 | + |
|
| 7 | +- Generic 250Hz Ultra Cinematic |
|
| 8 | + |
|
| 9 | +## Generic 250Hz Cinematic - Author:Ivan Efimov (Limon) |
|
| 10 | + |
|
| 11 | +Generic RC link settings for cinematic flying with 250Hz RC link. |
|
| 12 | +WARNING: make ABSOLUTELY SURE that the OpenTx or EdgeTx Hardware ADC Filter is un-checked! |
|
| 13 | +WARNING: check that you are using a compatible version of EdgeTx or OpenTx! |
|
| 14 | + |
|
| 15 | + |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/2025-09-12-16-39-59.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/2025-09-12-16-39-59.png differ |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/Chris-Rosser-tune-AOs-Cine20-dat.md
| ... | ... | @@ -0,0 +1,37 @@ |
| 1 | + |
|
| 2 | +# Chris-Rosser-tune-AOs-Cine20-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +#### AOs Cine20 tune by Chris Rosser |
|
| 6 | + |
|
| 7 | +Filters |
|
| 8 | +- [x] AOs Filters (Recommended) |
|
| 9 | +- [x] **RPM Filter Weights** for **triblade props** |
|
| 10 | +- [] RPM Filter Weights for other props |
|
| 11 | + |
|
| 12 | +Motor Settlngs |
|
| 13 | +- [x] DShot Motor Beeping (Recommended) |
|
| 14 | +- [x] 12 pole motors (Most 1404 motors have 12 poles) |
|
| 15 | + |
|
| 16 | +Rates |
|
| 17 | +- [x] Cinematic Rates (Recommended) |
|
| 18 | + |
|
| 19 | +Typical Board Alignment for 25mm AlO |
|
| 20 | +- [x] Typical Board Alignment for 25mm AlO (Test in setup tab BEFORE take-off!) |
|
| 21 | + |
|
| 22 | +EXCLUSIVE): Choose your RC llnk (or apply another preset separately) |
|
| 23 | +- [x] ELRS_250HZ (Recommended) |
|
| 24 | +- [] ELRS_500HZ |
|
| 25 | +- [] DJI Normal |
|
| 26 | +- [] DJI SBUS FAST |
|
| 27 | +- [] Crossfire 50Hz |
|
| 28 | +- [] Crossfire 150Hz |
|
| 29 | + |
|
| 30 | +Check all of these (recommended) |
|
| 31 | +- [x] Full battery sag compensation |
|
| 32 | +- [] No stick deadband |
|
| 33 | +- [] Arm at any angle |
|
| 34 | +- [] Props out (check motor direction!) |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/reddit-cine-present/Mobula8-Tune.txt
| ... | ... | @@ -0,0 +1,117 @@ |
| 1 | +# profile 0 |
|
| 2 | +set profile_name = - |
|
| 3 | +set dterm_lpf1_dyn_min_hz = 90 |
|
| 4 | +set dterm_lpf1_dyn_max_hz = 180 |
|
| 5 | +set dterm_lpf1_dyn_expo = 5 |
|
| 6 | +set dterm_lpf1_type = PT1 |
|
| 7 | +set dterm_lpf1_static_hz = 90 |
|
| 8 | +set dterm_lpf2_type = PT1 |
|
| 9 | +set dterm_lpf2_static_hz = 180 |
|
| 10 | +set dterm_notch_hz = 0 |
|
| 11 | +set dterm_notch_cutoff = 0 |
|
| 12 | +set vbat_sag_compensation = 100 |
|
| 13 | +set pid_at_min_throttle = ON |
|
| 14 | +set anti_gravity_gain = 90 |
|
| 15 | +set anti_gravity_cutoff_hz = 5 |
|
| 16 | +set anti_gravity_p_gain = 100 |
|
| 17 | +set acc_limit_yaw = 0 |
|
| 18 | +set acc_limit = 0 |
|
| 19 | +set crash_dthreshold = 50 |
|
| 20 | +set crash_gthreshold = 400 |
|
| 21 | +set crash_setpoint_threshold = 350 |
|
| 22 | +set crash_time = 500 |
|
| 23 | +set crash_delay = 0 |
|
| 24 | +set crash_recovery_angle = 10 |
|
| 25 | +set crash_recovery_rate = 100 |
|
| 26 | +set crash_limit_yaw = 200 |
|
| 27 | +set crash_recovery = OFF |
|
| 28 | +set iterm_rotation = OFF |
|
| 29 | +set iterm_relax = RP |
|
| 30 | +set iterm_relax_type = SETPOINT |
|
| 31 | +set iterm_relax_cutoff = 5 |
|
| 32 | +set iterm_windup = 85 |
|
| 33 | +set iterm_limit = 400 |
|
| 34 | +set pidsum_limit = 1000 |
|
| 35 | +set pidsum_limit_yaw = 1000 |
|
| 36 | +set yaw_lowpass_hz = 125 |
|
| 37 | +set throttle_boost = 5 |
|
| 38 | +set throttle_boost_cutoff = 15 |
|
| 39 | +set acro_trainer_angle_limit = 20 |
|
| 40 | +set acro_trainer_lookahead_ms = 50 |
|
| 41 | +set acro_trainer_debug_axis = ROLL |
|
| 42 | +set acro_trainer_gain = 75 |
|
| 43 | +set p_pitch = 75 |
|
| 44 | +set i_pitch = 134 |
|
| 45 | +set d_pitch = 65 |
|
| 46 | +set f_pitch = 199 |
|
| 47 | +set p_roll = 71 |
|
| 48 | +set i_roll = 127 |
|
| 49 | +set d_roll = 57 |
|
| 50 | +set f_roll = 191 |
|
| 51 | +set p_yaw = 71 |
|
| 52 | +set i_yaw = 127 |
|
| 53 | +set d_yaw = 0 |
|
| 54 | +set f_yaw = 191 |
|
| 55 | +set angle_p_gain = 50 |
|
| 56 | +set angle_feedforward = 50 |
|
| 57 | +set angle_feedforward_smoothing_ms = 80 |
|
| 58 | +set angle_limit = 60 |
|
| 59 | +set angle_earth_ref = 100 |
|
| 60 | +set horizon_level_strength = 75 |
|
| 61 | +set horizon_limit_sticks = 75 |
|
| 62 | +set horizon_limit_degrees = 135 |
|
| 63 | +set horizon_ignore_sticks = OFF |
|
| 64 | +set horizon_delay_ms = 500 |
|
| 65 | +set abs_control_gain = 0 |
|
| 66 | +set abs_control_limit = 90 |
|
| 67 | +set abs_control_error_limit = 20 |
|
| 68 | +set abs_control_cutoff = 11 |
|
| 69 | +set use_integrated_yaw = OFF |
|
| 70 | +set integrated_yaw_relax = 200 |
|
| 71 | +set d_min_roll = 57 |
|
| 72 | +set d_min_pitch = 65 |
|
| 73 | +set d_min_yaw = 0 |
|
| 74 | +set d_max_gain = 37 |
|
| 75 | +set d_max_advance = 20 |
|
| 76 | +set motor_output_limit = 100 |
|
| 77 | +set auto_profile_cell_count = 0 |
|
| 78 | +set launch_control_mode = NORMAL |
|
| 79 | +set launch_trigger_allow_reset = ON |
|
| 80 | +set launch_trigger_throttle_percent = 20 |
|
| 81 | +set launch_angle_limit = 0 |
|
| 82 | +set launch_control_gain = 40 |
|
| 83 | +set thrust_linear = 20 |
|
| 84 | +set transient_throttle_limit = 0 |
|
| 85 | +set feedforward_transition = 0 |
|
| 86 | +set feedforward_averaging = OFF |
|
| 87 | +set feedforward_smooth_factor = 25 |
|
| 88 | +set feedforward_jitter_factor = 7 |
|
| 89 | +set feedforward_boost = 15 |
|
| 90 | +set feedforward_max_rate_limit = 90 |
|
| 91 | +set dyn_idle_min_rpm = 40 |
|
| 92 | +set dyn_idle_p_gain = 50 |
|
| 93 | +set dyn_idle_i_gain = 50 |
|
| 94 | +set dyn_idle_d_gain = 50 |
|
| 95 | +set dyn_idle_max_increase = 150 |
|
| 96 | +set dyn_idle_start_increase = 50 |
|
| 97 | +set level_race_mode = OFF |
|
| 98 | +set simplified_pids_mode = RPY |
|
| 99 | +set simplified_master_multiplier = 160 |
|
| 100 | +set simplified_i_gain = 100 |
|
| 101 | +set simplified_d_gain = 120 |
|
| 102 | +set simplified_pi_gain = 100 |
|
| 103 | +set simplified_dmax_gain = 0 |
|
| 104 | +set simplified_feedforward_gain = 100 |
|
| 105 | +set simplified_pitch_d_gain = 100 |
|
| 106 | +set simplified_pitch_pi_gain = 100 |
|
| 107 | +set simplified_dterm_filter = ON |
|
| 108 | +set simplified_dterm_filter_multiplier = 120 |
|
| 109 | +set tpa_mode = D |
|
| 110 | +set tpa_rate = 65 |
|
| 111 | +set tpa_breakpoint = 1350 |
|
| 112 | +set tpa_low_rate = 20 |
|
| 113 | +set tpa_low_breakpoint = 1050 |
|
| 114 | +set tpa_low_always = OFF |
|
| 115 | +set ez_landing_threshold = 25 |
|
| 116 | +set ez_landing_limit = 5 |
|
| 117 | +set ez_landing_speed = 5 |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/reddit-cine-present/reddit-cine-present.md
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# reddit-cine-present.md |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +Given what I know about Mobula8 (a small whoop / micro style quad), here’s what I think: |
|
| 7 | + |
|
| 8 | +If your ESC & frame / airflow are decent and you mostly fly indoors or want quieter motors: go with 48 kHz. It’s a safe, good all-round choice. |
|
| 9 | + |
|
| 10 | +If you want the quietest possible operation and are willing to manage heat, 96 kHz+ may be okay if your ESC supports it and you monitor temps. |
|
| 11 | + |
|
| 12 | +If you fly outdoors a lot, or you want max efficiency (battery life, less heat), and don’t mind a little noise / less silky low-throttle, 16-24 kHz might be more reliable. |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +- [[Mobula8-Tune.txt]] == https://www.reddit.com/r/TinyWhoop/comments/1lguely/mobula_8_pilots/ |
|
| 18 | + |
|
| 19 | + |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/uav-tech-tune-cinewhoop-dat/UAV_tech_Cinewhoop.txt
| ... | ... | @@ -0,0 +1,137 @@ |
| 1 | +#$ TITLE: UAV Tech - Cinewhoop |
|
| 2 | +#$ FIRMWARE_VERSION: 4.5 |
|
| 3 | +#$ FIRMWARE_VERSION: 4.5 |
|
| 4 | +#$ CATEGORY: TUNE |
|
| 5 | +#$ STATUS: OFFICIAL |
|
| 6 | +#$ KEYWORDS: cinewhoop |
|
| 7 | +#$ AUTHOR: UAV Tech (Mark Spatz) |
|
| 8 | + |
|
| 9 | +#$ PARSER: MARKED |
|
| 10 | + |
|
| 11 | +#$ DESCRIPTION: I am a Betaflight contributor, Youtube content creator, and professional tuner [www.theuavtech.com](https://www.theuavtech.com) |
|
| 12 | +#$ DESCRIPTION: |
|
| 13 | +#$ DESCRIPTION: - [Preset Overview Video](https://youtu.be/dEuNa-V6pys) |
|
| 14 | +#$ DESCRIPTION: |
|
| 15 | +#$ DESCRIPTION: |
|
| 16 | +#$ DESCRIPTION: Preset for this class of quadcopters: |
|
| 17 | +#$ DESCRIPTION: ----------- |
|
| 18 | +#$ DESCRIPTION: <img src="https://theuavtech.com/wp-content/uploads/2023/02/cinewhoop-drone.png" width="350px"/> |
|
| 19 | +#$ DESCRIPTION: |
|
| 20 | +#$ DESCRIPTION: Description: |
|
| 21 | +#$ DESCRIPTION: ----------- |
|
| 22 | +#$ DESCRIPTION: Base tune for a Cinewhoop. This tune is good for 4S or 6S batteries. |
|
| 23 | +#$ DESCRIPTION: The base preset assume you have your ESC set to 48K PWM (default). If you are on 24k or 96K, click the option above. Also if you would like to use with the RPM filtering or Dynamic Idle, click the option above. If you don't know what these features mean, click the links below for videos on each topic. Also check out the "Discussions" button below if you want to see what settings this preset changes (screen shots). |
|
| 24 | +#$ DESCRIPTION: |
|
| 25 | +#$ DESCRIPTION: <img src="https://i0.wp.com/theuavtech.com/wp-content/uploads/2020/10/icon-150x150-1.png" width="100px" style="margin-left: auto; margin-right: auto; display: block;"/> |
|
| 26 | +#$ DESCRIPTION: |
|
| 27 | +#$ DESCRIPTION: Options (click for video): |
|
| 28 | +#$ DESCRIPTION: ----------- |
|
| 29 | +#$ DESCRIPTION: - [What is ESC PWM Frequency?](https://youtu.be/v3806Incpvo) |
|
| 30 | +#$ DESCRIPTION: - [More Whoop Battery @ 48k PWM!](https://youtu.be/iyQoOrXuldc) |
|
| 31 | +#$ DESCRIPTION: |
|
| 32 | +#$ DESCRIPTION: (Recommendation: 48k | make sure to adjust in ESC settings) |
|
| 33 | +#$ DESCRIPTION: |
|
| 34 | +#$ DESCRIPTION: |
|
| 35 | +#$ DESCRIPTION: - [What is the RPM Filter?](https://youtu.be/ve_TNB0D87U) |
|
| 36 | +#$ DESCRIPTION: - [RPM vs. Dynamic Notch ONLY](https://youtu.be/ve_TNB0D87U) |
|
| 37 | +#$ DESCRIPTION: |
|
| 38 | +#$ DESCRIPTION: |
|
| 39 | +#$ DESCRIPTION: - [What is Dynamic Idle?](https://youtu.be/2Mr-AP7K8YE) |
|
| 40 | +#$ DESCRIPTION: |
|
| 41 | +#$ DESCRIPTION: Need more HELP? |
|
| 42 | +#$ DESCRIPTION: ----------- |
|
| 43 | +#$ DESCRIPTION: - [UAV Tech Discord](https://discordapp.com/invite/rCCzgeT) |
|
| 44 | +#$ DESCRIPTION: - [Take it to the NEXT LEVEL!](https://theuavtech.com/tuning) |
|
| 45 | +#$ DESCRIPTION: |
|
| 46 | +#$ WARNING: Prior to selecting the "RPM Filter" or "Dynamic Idle" options, Bi-Directional DSHOT must be setup for your quad. If you have not setup yet, click "CANCEL" and setup first (PROPS OFF to test). If you have NOT selected the "RPM Filter" or "Dynamic Idle" options, YOU CAN IGNORE THIS MESSAGE. |
|
| 47 | +#$ DISCUSSION: https://github.com/betaflight/firmware-presets/pull/208 |
|
| 48 | +#$ INCLUDE: presets/4.5/tune/defaults.txt |
|
| 49 | +#$ INCLUDE: presets/4.5/filters/defaults.txt |
|
| 50 | + |
|
| 51 | +# -- PID Settings -- |
|
| 52 | +set simplified_d_gain = 140 |
|
| 53 | +set simplified_pi_gain = 100 |
|
| 54 | +set simplified_feedforward_gain = 100 |
|
| 55 | +set simplified_dmax_gain = 0 |
|
| 56 | +set simplified_i_gain = 100 |
|
| 57 | +set simplified_pitch_d_gain = 100 |
|
| 58 | +set simplified_pitch_pi_gain = 100 |
|
| 59 | +set simplified_master_multiplier = 160 |
|
| 60 | + |
|
| 61 | +set iterm_relax_cutoff = 5 |
|
| 62 | +set vbat_sag_compensation = 100 |
|
| 63 | +set anti_gravity_gain = 90 |
|
| 64 | +set pidsum_limit = 1000 |
|
| 65 | +set pidsum_limit_yaw = 1000 |
|
| 66 | + |
|
| 67 | +#$ OPTION_GROUP BEGIN: Choose ONE Filter option (+ RPM filter if desired) |
|
| 68 | + #$ OPTION BEGIN (UNCHECKED): low Build Quality |
|
| 69 | + # -- ADDER: For HIGH gyro vibration builds -- |
|
| 70 | + set simplified_gyro_filter = ON |
|
| 71 | + set simplified_gyro_filter_multiplier = 40 |
|
| 72 | + set simplified_dterm_filter = ON |
|
| 73 | + set simplified_dterm_filter_multiplier = 100 |
|
| 74 | + set dyn_notch_count = 4 |
|
| 75 | + set dyn_notch_min_hz = 80 |
|
| 76 | + set dyn_notch_max_hz = 550 |
|
| 77 | + set yaw_lowpass_hz = 90 |
|
| 78 | + #$ OPTION END |
|
| 79 | + |
|
| 80 | + #$ OPTION BEGIN (CHECKED): Medium Build Quality |
|
| 81 | + # -- ADDER: For Medium gyro vibration builds -- |
|
| 82 | + set simplified_gyro_filter = ON |
|
| 83 | + set simplified_gyro_filter_multiplier = 60 |
|
| 84 | + set simplified_dterm_filter = ON |
|
| 85 | + set simplified_dterm_filter_multiplier = 120 |
|
| 86 | + set dyn_notch_count = 3 |
|
| 87 | + set dyn_notch_min_hz = 100 |
|
| 88 | + set dyn_notch_max_hz = 550 |
|
| 89 | + set yaw_lowpass_hz = 125 |
|
| 90 | + #$ OPTION END |
|
| 91 | + |
|
| 92 | + #$ OPTION BEGIN (UNCHECKED): HIGH Build Quality |
|
| 93 | + # -- ADDER: For low gyro vibration builds -- |
|
| 94 | + set simplified_gyro_filter = ON |
|
| 95 | + set simplified_gyro_filter_multiplier = 100 |
|
| 96 | + set simplified_dterm_filter = ON |
|
| 97 | + set simplified_dterm_filter_multiplier = 120 |
|
| 98 | + set dyn_notch_count = 2 |
|
| 99 | + set dyn_notch_min_hz = 125 |
|
| 100 | + set dyn_notch_max_hz = 550 |
|
| 101 | + set yaw_lowpass_hz = 0 |
|
| 102 | + #$ OPTION END |
|
| 103 | + |
|
| 104 | + #$ OPTION BEGIN (UNCHECKED): ... + enable RPM filter (if supported) |
|
| 105 | + # -- ADDER: Enabled RPM filtering -- |
|
| 106 | + set motor_pwm_protocol = DSHOT600 |
|
| 107 | + set dshot_bidir = ON |
|
| 108 | + set rpm_filter_harmonics = 2 |
|
| 109 | + set dyn_notch_count = 2 |
|
| 110 | + #$ OPTION END |
|
| 111 | +#$ OPTION_GROUP END |
|
| 112 | + |
|
| 113 | +#$ OPTION_GROUP BEGIN: (EXCLUSIVE) ESC PWM Options ... |
|
| 114 | + #$ OPTION BEGIN (UNCHECKED): 16 & 24k ESC PWM Settings |
|
| 115 | + # -- ADDER: For 16 & 24k ESC PWM Settings -- |
|
| 116 | + set thrust_linear = 0 |
|
| 117 | + #$ OPTION END |
|
| 118 | + |
|
| 119 | + #$ OPTION BEGIN (CHECKED): 48k ESC PWM Settings |
|
| 120 | + # -- ADDER: For 48k ESC PWM Settings -- |
|
| 121 | + set thrust_linear = 20 |
|
| 122 | + #$ OPTION END |
|
| 123 | + |
|
| 124 | + #$ OPTION BEGIN (UNCHECKED): 96k+ ESC PWM Settings |
|
| 125 | + # -- ADDER: For 96k ESC PWM Settings -- |
|
| 126 | + set thrust_linear = 40 |
|
| 127 | + #$ OPTION END |
|
| 128 | +#$ OPTION_GROUP END |
|
| 129 | + |
|
| 130 | +#$ OPTION_GROUP BEGIN: Prop Wash Performance Booster ... |
|
| 131 | + #$ OPTION BEGIN (UNCHECKED): Dynamic Idle |
|
| 132 | + # -- ADDER: Enabling Dynamic Idle -- |
|
| 133 | + set dyn_idle_min_rpm = 35 |
|
| 134 | + #$ OPTION END |
|
| 135 | +#$ OPTION_GROUP END |
|
| 136 | + |
|
| 137 | +simplified_tuning apply |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/uav-tech-tune-cinewhoop-dat/uav-tech-tune-cinewhoop-dat.md
| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | + |
|
| 2 | +# uav-tech-tune-cinewhoop-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +#### UAV Tech - Cinewhoop |
|
| 6 | + |
|
| 7 | +- [[UAV_tech_Cinewhoop.txt]] |
|
| 8 | + |
|
| 9 | +Prior to selecting the "RPM Filter" or "Dynamic Idle" options, Bi-Directional DShot must be setup for your quad. If you have not setup yet, click "CANCEL" and setup first (PROPS OFF to test). If you have NO selected the "RPM Filter" or "Dynamic Idle" options, YOU CAN IGNORE THIS MESSAGE. |
|
| 10 | + |
|
| 11 | +https://github.com/betaflight/firmware-presets/pull/208 |
|
| 12 | + |
|
| 13 | +https://github.com/betaflight/firmware-presets/blob/master/presets/4.5/tune/uav_tech/UAV_tech_Cinewhoop.txt |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +(EXCLUSIVE) ESC PWM Optlons... |
|
| 21 | +- [] 16 & 24k ESC PWM Settings |
|
| 22 | +- [] 48k ESC PWM Settings |
|
| 23 | +- [] 96k+ ESC PWM Settings |
|
| 24 | + |
|
| 25 | +- [[motor-FPV-dat]] |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +PropWash Performance Booster.. |
|
| 29 | + |
|
| 30 | +- [] Dynamic Idle (EsC bi-directional Dshot required) |
|
| 31 | + |
|
| 32 | + |
|
| 33 | +[[Mobula8-Tune.txt]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/mobula8-presents-dat/Mobula8-SPI-ELRS-dump-file-for-betaflight-4.5.0-.txt
| ... | ... | @@ -0,0 +1,1067 @@ |
| 1 | +# Betaflight / STM32F411 (S411) 4.5.0 Apr 28 2024 / 03:19:08 (c155f5830) MSP API: 1.46 |
|
| 2 | +# config rev: 3068e6e |
|
| 3 | + |
|
| 4 | +# start the command batch |
|
| 5 | +batch start |
|
| 6 | + |
|
| 7 | +board_name CRAZYBEEF4SX1280 |
|
| 8 | +manufacturer_id HAMO |
|
| 9 | + |
|
| 10 | +# name: Mobula8 |
|
| 11 | + |
|
| 12 | +# resources |
|
| 13 | +resource BEEPER 1 C15 |
|
| 14 | +resource MOTOR 1 B10 |
|
| 15 | +resource MOTOR 2 B06 |
|
| 16 | +resource MOTOR 3 B07 |
|
| 17 | +resource MOTOR 4 B08 |
|
| 18 | +resource MOTOR 5 NONE |
|
| 19 | +resource MOTOR 6 NONE |
|
| 20 | +resource MOTOR 7 NONE |
|
| 21 | +resource MOTOR 8 NONE |
|
| 22 | +resource LED_STRIP 1 NONE |
|
| 23 | +resource SERIAL_TX 1 A09 |
|
| 24 | +resource SERIAL_TX 2 A02 |
|
| 25 | +resource SERIAL_TX 3 NONE |
|
| 26 | +resource SERIAL_TX 4 NONE |
|
| 27 | +resource SERIAL_TX 5 NONE |
|
| 28 | +resource SERIAL_TX 6 NONE |
|
| 29 | +resource SERIAL_TX 7 NONE |
|
| 30 | +resource SERIAL_TX 8 NONE |
|
| 31 | +resource SERIAL_TX 9 NONE |
|
| 32 | +resource SERIAL_TX 10 NONE |
|
| 33 | +resource SERIAL_RX 1 A10 |
|
| 34 | +resource SERIAL_RX 2 A03 |
|
| 35 | +resource SERIAL_RX 3 NONE |
|
| 36 | +resource SERIAL_RX 4 NONE |
|
| 37 | +resource SERIAL_RX 5 NONE |
|
| 38 | +resource SERIAL_RX 6 NONE |
|
| 39 | +resource SERIAL_RX 7 NONE |
|
| 40 | +resource SERIAL_RX 8 NONE |
|
| 41 | +resource SERIAL_RX 9 NONE |
|
| 42 | +resource SERIAL_RX 10 NONE |
|
| 43 | +resource INVERTER 1 NONE |
|
| 44 | +resource INVERTER 2 NONE |
|
| 45 | +resource INVERTER 3 NONE |
|
| 46 | +resource INVERTER 4 NONE |
|
| 47 | +resource INVERTER 5 NONE |
|
| 48 | +resource INVERTER 6 NONE |
|
| 49 | +resource INVERTER 7 NONE |
|
| 50 | +resource INVERTER 8 NONE |
|
| 51 | +resource INVERTER 9 NONE |
|
| 52 | +resource INVERTER 10 NONE |
|
| 53 | +resource INVERTER 11 NONE |
|
| 54 | +resource SOFTSERIAL_TX 1 NONE |
|
| 55 | +resource SOFTSERIAL_TX 2 NONE |
|
| 56 | +resource SOFTSERIAL_RX 1 NONE |
|
| 57 | +resource SOFTSERIAL_RX 2 NONE |
|
| 58 | +resource I2C_SCL 1 NONE |
|
| 59 | +resource I2C_SCL 2 NONE |
|
| 60 | +resource I2C_SCL 3 NONE |
|
| 61 | +resource I2C_SDA 1 NONE |
|
| 62 | +resource I2C_SDA 2 NONE |
|
| 63 | +resource I2C_SDA 3 NONE |
|
| 64 | +resource LED 1 C13 |
|
| 65 | +resource LED 2 NONE |
|
| 66 | +resource LED 3 NONE |
|
| 67 | +resource SPI_SCK 1 A05 |
|
| 68 | +resource SPI_SCK 2 B13 |
|
| 69 | +resource SPI_SCK 3 B03 |
|
| 70 | +resource SPI_SDI 1 A06 |
|
| 71 | +resource SPI_SDI 2 B14 |
|
| 72 | +resource SPI_SDI 3 B04 |
|
| 73 | +resource SPI_SDO 1 A07 |
|
| 74 | +resource SPI_SDO 2 B15 |
|
| 75 | +resource SPI_SDO 3 B05 |
|
| 76 | +resource ESCSERIAL 1 NONE |
|
| 77 | +resource ADC_BATT 1 B00 |
|
| 78 | +resource ADC_RSSI 1 NONE |
|
| 79 | +resource ADC_CURR 1 B01 |
|
| 80 | +resource ADC_EXT 1 NONE |
|
| 81 | +resource PINIO 1 NONE |
|
| 82 | +resource PINIO 2 NONE |
|
| 83 | +resource PINIO 3 NONE |
|
| 84 | +resource PINIO 4 NONE |
|
| 85 | +resource USB_MSC_PIN 1 NONE |
|
| 86 | +resource FLASH_CS 1 A14 |
|
| 87 | +resource OSD_CS 1 B12 |
|
| 88 | +resource RX_SPI_CS 1 A15 |
|
| 89 | +resource RX_SPI_EXTI 1 C14 |
|
| 90 | +resource RX_SPI_BIND 1 B02 |
|
| 91 | +resource RX_SPI_LED 1 B09 |
|
| 92 | +resource RX_SPI_EXPRESSLRS_RESET 1 A08 |
|
| 93 | +resource RX_SPI_EXPRESSLRS_BUSY 1 A13 |
|
| 94 | +resource GYRO_EXTI 1 A01 |
|
| 95 | +resource GYRO_EXTI 2 NONE |
|
| 96 | +resource GYRO_CS 1 A04 |
|
| 97 | +resource GYRO_CS 2 NONE |
|
| 98 | +resource USB_DETECT 1 NONE |
|
| 99 | +resource PULLUP 1 NONE |
|
| 100 | +resource PULLUP 2 NONE |
|
| 101 | +resource PULLUP 3 NONE |
|
| 102 | +resource PULLUP 4 NONE |
|
| 103 | +resource PULLDOWN 1 NONE |
|
| 104 | +resource PULLDOWN 2 NONE |
|
| 105 | +resource PULLDOWN 3 NONE |
|
| 106 | +resource PULLDOWN 4 NONE |
|
| 107 | + |
|
| 108 | +# timer |
|
| 109 | +timer A03 AF3 |
|
| 110 | +# pin A03: TIM9 CH2 (AF3) |
|
| 111 | +timer B10 AF1 |
|
| 112 | +# pin B10: TIM2 CH3 (AF1) |
|
| 113 | +timer B06 AF2 |
|
| 114 | +# pin B06: TIM4 CH1 (AF2) |
|
| 115 | +timer B07 AF2 |
|
| 116 | +# pin B07: TIM4 CH2 (AF2) |
|
| 117 | +timer B08 AF2 |
|
| 118 | +# pin B08: TIM4 CH3 (AF2) |
|
| 119 | +timer A00 AF2 |
|
| 120 | +# pin A00: TIM5 CH1 (AF2) |
|
| 121 | +timer A02 AF3 |
|
| 122 | +# pin A02: TIM9 CH1 (AF3) |
|
| 123 | +timer A09 AF1 |
|
| 124 | +# pin A09: TIM1 CH2 (AF1) |
|
| 125 | +timer A10 AF1 |
|
| 126 | +# pin A10: TIM1 CH3 (AF1) |
|
| 127 | + |
|
| 128 | +# dma |
|
| 129 | +dma SPI_SDO 1 NONE |
|
| 130 | +dma SPI_SDO 2 NONE |
|
| 131 | +dma SPI_SDO 3 NONE |
|
| 132 | +dma SPI_SDI 1 NONE |
|
| 133 | +dma SPI_SDI 2 NONE |
|
| 134 | +dma SPI_SDI 3 NONE |
|
| 135 | +dma SPI_TX 1 NONE |
|
| 136 | +dma SPI_TX 2 NONE |
|
| 137 | +dma SPI_TX 3 NONE |
|
| 138 | +dma SPI_RX 1 NONE |
|
| 139 | +dma SPI_RX 2 NONE |
|
| 140 | +dma SPI_RX 3 NONE |
|
| 141 | +dma ADC 1 1 |
|
| 142 | +# ADC 1: DMA2 Stream 4 Channel 0 |
|
| 143 | +dma ADC 2 NONE |
|
| 144 | +dma ADC 3 NONE |
|
| 145 | +dma UART_TX 1 NONE |
|
| 146 | +dma UART_TX 2 NONE |
|
| 147 | +dma UART_TX 3 NONE |
|
| 148 | +dma UART_TX 4 NONE |
|
| 149 | +dma UART_TX 5 NONE |
|
| 150 | +dma UART_TX 6 NONE |
|
| 151 | +dma UART_TX 7 NONE |
|
| 152 | +dma UART_TX 8 NONE |
|
| 153 | +dma UART_TX 9 NONE |
|
| 154 | +dma UART_TX 10 NONE |
|
| 155 | +dma UART_TX 11 NONE |
|
| 156 | +dma UART_RX 1 NONE |
|
| 157 | +dma UART_RX 2 NONE |
|
| 158 | +dma UART_RX 3 NONE |
|
| 159 | +dma UART_RX 4 NONE |
|
| 160 | +dma UART_RX 5 NONE |
|
| 161 | +dma UART_RX 6 NONE |
|
| 162 | +dma UART_RX 7 NONE |
|
| 163 | +dma UART_RX 8 NONE |
|
| 164 | +dma UART_RX 9 NONE |
|
| 165 | +dma UART_RX 10 NONE |
|
| 166 | +dma UART_RX 11 NONE |
|
| 167 | +dma pin A03 NONE |
|
| 168 | +dma pin B10 0 |
|
| 169 | +# pin B10: DMA1 Stream 1 Channel 3 |
|
| 170 | +dma pin B06 0 |
|
| 171 | +# pin B06: DMA1 Stream 0 Channel 2 |
|
| 172 | +dma pin B07 0 |
|
| 173 | +# pin B07: DMA1 Stream 3 Channel 2 |
|
| 174 | +dma pin B08 0 |
|
| 175 | +# pin B08: DMA1 Stream 7 Channel 2 |
|
| 176 | +dma pin A00 0 |
|
| 177 | +# pin A00: DMA1 Stream 2 Channel 6 |
|
| 178 | +dma pin A02 NONE |
|
| 179 | +dma pin A09 0 |
|
| 180 | +# pin A09: DMA2 Stream 6 Channel 0 |
|
| 181 | +dma pin A10 0 |
|
| 182 | +# pin A10: DMA2 Stream 6 Channel 0 |
|
| 183 | + |
|
| 184 | +# feature |
|
| 185 | +feature -RX_PPM |
|
| 186 | +feature -INFLIGHT_ACC_CAL |
|
| 187 | +feature -RX_SERIAL |
|
| 188 | +feature -MOTOR_STOP |
|
| 189 | +feature -SERVO_TILT |
|
| 190 | +feature -SOFTSERIAL |
|
| 191 | +feature -GPS |
|
| 192 | +feature -RANGEFINDER |
|
| 193 | +feature -TELEMETRY |
|
| 194 | +feature -3D |
|
| 195 | +feature -RX_PARALLEL_PWM |
|
| 196 | +feature -RX_MSP |
|
| 197 | +feature -RSSI_ADC |
|
| 198 | +feature -LED_STRIP |
|
| 199 | +feature -DISPLAY |
|
| 200 | +feature -OSD |
|
| 201 | +feature -CHANNEL_FORWARDING |
|
| 202 | +feature -TRANSPONDER |
|
| 203 | +feature -AIRMODE |
|
| 204 | +feature -RX_SPI |
|
| 205 | +feature -ESC_SENSOR |
|
| 206 | +feature -ANTI_GRAVITY |
|
| 207 | +feature OSD |
|
| 208 | +feature AIRMODE |
|
| 209 | +feature RX_SPI |
|
| 210 | +feature ANTI_GRAVITY |
|
| 211 | + |
|
| 212 | +# serial |
|
| 213 | +serial 20 1 115200 57600 0 115200 |
|
| 214 | +serial 0 0 115200 57600 0 115200 |
|
| 215 | +serial 1 2048 115200 57600 0 115200 |
|
| 216 | + |
|
| 217 | +# mixer |
|
| 218 | +mixer QUADX |
|
| 219 | + |
|
| 220 | +mmix reset |
|
| 221 | + |
|
| 222 | + |
|
| 223 | +# beeper |
|
| 224 | +beeper GYRO_CALIBRATED |
|
| 225 | +beeper RX_LOST |
|
| 226 | +beeper RX_LOST_LANDING |
|
| 227 | +beeper DISARMING |
|
| 228 | +beeper ARMING |
|
| 229 | +beeper ARMING_GPS_FIX |
|
| 230 | +beeper ARMING_GPS_NO_FIX |
|
| 231 | +beeper BAT_CRIT_LOW |
|
| 232 | +beeper BAT_LOW |
|
| 233 | +beeper GPS_STATUS |
|
| 234 | +beeper RX_SET |
|
| 235 | +beeper ACC_CALIBRATION |
|
| 236 | +beeper ACC_CALIBRATION_FAIL |
|
| 237 | +beeper READY_BEEP |
|
| 238 | +beeper MULTI_BEEPS |
|
| 239 | +beeper DISARM_REPEAT |
|
| 240 | +beeper ARMED |
|
| 241 | +beeper SYSTEM_INIT |
|
| 242 | +beeper ON_USB |
|
| 243 | +beeper BLACKBOX_ERASE |
|
| 244 | +beeper CRASH_FLIP |
|
| 245 | +beeper CAM_CONNECTION_OPEN |
|
| 246 | +beeper CAM_CONNECTION_CLOSE |
|
| 247 | +beeper RC_SMOOTHING_INIT_FAIL |
|
| 248 | + |
|
| 249 | +# beacon |
|
| 250 | +beacon RX_LOST |
|
| 251 | +beacon RX_SET |
|
| 252 | + |
|
| 253 | +# map |
|
| 254 | +map TAER1234 |
|
| 255 | + |
|
| 256 | +# led |
|
| 257 | +led 0 0,0::C:0 |
|
| 258 | +led 1 0,0::C:0 |
|
| 259 | +led 2 0,0::C:0 |
|
| 260 | +led 3 0,0::C:0 |
|
| 261 | +led 4 0,0::C:0 |
|
| 262 | +led 5 0,0::C:0 |
|
| 263 | +led 6 0,0::C:0 |
|
| 264 | +led 7 0,0::C:0 |
|
| 265 | +led 8 0,0::C:0 |
|
| 266 | +led 9 0,0::C:0 |
|
| 267 | +led 10 0,0::C:0 |
|
| 268 | +led 11 0,0::C:0 |
|
| 269 | +led 12 0,0::C:0 |
|
| 270 | +led 13 0,0::C:0 |
|
| 271 | +led 14 0,0::C:0 |
|
| 272 | +led 15 0,0::C:0 |
|
| 273 | +led 16 0,0::C:0 |
|
| 274 | +led 17 0,0::C:0 |
|
| 275 | +led 18 0,0::C:0 |
|
| 276 | +led 19 0,0::C:0 |
|
| 277 | +led 20 0,0::C:0 |
|
| 278 | +led 21 0,0::C:0 |
|
| 279 | +led 22 0,0::C:0 |
|
| 280 | +led 23 0,0::C:0 |
|
| 281 | +led 24 0,0::C:0 |
|
| 282 | +led 25 0,0::C:0 |
|
| 283 | +led 26 0,0::C:0 |
|
| 284 | +led 27 0,0::C:0 |
|
| 285 | +led 28 0,0::C:0 |
|
| 286 | +led 29 0,0::C:0 |
|
| 287 | +led 30 0,0::C:0 |
|
| 288 | +led 31 0,0::C:0 |
|
| 289 | + |
|
| 290 | +# color |
|
| 291 | +color 0 0,0,0 |
|
| 292 | +color 1 0,255,255 |
|
| 293 | +color 2 0,0,255 |
|
| 294 | +color 3 30,0,255 |
|
| 295 | +color 4 60,0,255 |
|
| 296 | +color 5 90,0,255 |
|
| 297 | +color 6 120,0,255 |
|
| 298 | +color 7 150,0,255 |
|
| 299 | +color 8 180,0,255 |
|
| 300 | +color 9 210,0,255 |
|
| 301 | +color 10 240,0,255 |
|
| 302 | +color 11 270,0,255 |
|
| 303 | +color 12 300,0,255 |
|
| 304 | +color 13 330,0,255 |
|
| 305 | +color 14 0,0,0 |
|
| 306 | +color 15 0,0,0 |
|
| 307 | + |
|
| 308 | +# mode_color |
|
| 309 | +mode_color 0 0 1 |
|
| 310 | +mode_color 0 1 11 |
|
| 311 | +mode_color 0 2 2 |
|
| 312 | +mode_color 0 3 13 |
|
| 313 | +mode_color 0 4 10 |
|
| 314 | +mode_color 0 5 3 |
|
| 315 | +mode_color 1 0 5 |
|
| 316 | +mode_color 1 1 11 |
|
| 317 | +mode_color 1 2 3 |
|
| 318 | +mode_color 1 3 13 |
|
| 319 | +mode_color 1 4 10 |
|
| 320 | +mode_color 1 5 3 |
|
| 321 | +mode_color 2 0 10 |
|
| 322 | +mode_color 2 1 11 |
|
| 323 | +mode_color 2 2 4 |
|
| 324 | +mode_color 2 3 13 |
|
| 325 | +mode_color 2 4 10 |
|
| 326 | +mode_color 2 5 3 |
|
| 327 | +mode_color 3 0 8 |
|
| 328 | +mode_color 3 1 11 |
|
| 329 | +mode_color 3 2 4 |
|
| 330 | +mode_color 3 3 13 |
|
| 331 | +mode_color 3 4 10 |
|
| 332 | +mode_color 3 5 3 |
|
| 333 | +mode_color 4 0 7 |
|
| 334 | +mode_color 4 1 11 |
|
| 335 | +mode_color 4 2 3 |
|
| 336 | +mode_color 4 3 13 |
|
| 337 | +mode_color 4 4 10 |
|
| 338 | +mode_color 4 5 3 |
|
| 339 | +mode_color 5 0 0 |
|
| 340 | +mode_color 5 1 0 |
|
| 341 | +mode_color 5 2 0 |
|
| 342 | +mode_color 5 3 0 |
|
| 343 | +mode_color 5 4 0 |
|
| 344 | +mode_color 5 5 0 |
|
| 345 | +mode_color 6 0 6 |
|
| 346 | +mode_color 6 1 10 |
|
| 347 | +mode_color 6 2 1 |
|
| 348 | +mode_color 6 3 0 |
|
| 349 | +mode_color 6 4 0 |
|
| 350 | +mode_color 6 5 2 |
|
| 351 | +mode_color 6 6 3 |
|
| 352 | +mode_color 6 7 6 |
|
| 353 | +mode_color 6 8 0 |
|
| 354 | +mode_color 6 9 0 |
|
| 355 | +mode_color 6 10 0 |
|
| 356 | +mode_color 7 0 3 |
|
| 357 | + |
|
| 358 | +# aux |
|
| 359 | +aux 0 0 0 1700 2100 0 0 |
|
| 360 | +aux 1 1 1 900 1300 0 0 |
|
| 361 | +aux 2 35 2 1700 2100 0 0 |
|
| 362 | +aux 3 0 0 900 900 0 0 |
|
| 363 | +aux 4 0 0 900 900 0 0 |
|
| 364 | +aux 5 0 0 900 900 0 0 |
|
| 365 | +aux 6 0 0 900 900 0 0 |
|
| 366 | +aux 7 0 0 900 900 0 0 |
|
| 367 | +aux 8 0 0 900 900 0 0 |
|
| 368 | +aux 9 0 0 900 900 0 0 |
|
| 369 | +aux 10 0 0 900 900 0 0 |
|
| 370 | +aux 11 0 0 900 900 0 0 |
|
| 371 | +aux 12 0 0 900 900 0 0 |
|
| 372 | +aux 13 0 0 900 900 0 0 |
|
| 373 | +aux 14 0 0 900 900 0 0 |
|
| 374 | +aux 15 0 0 900 900 0 0 |
|
| 375 | +aux 16 0 0 900 900 0 0 |
|
| 376 | +aux 17 0 0 900 900 0 0 |
|
| 377 | +aux 18 0 0 900 900 0 0 |
|
| 378 | +aux 19 0 0 900 900 0 0 |
|
| 379 | + |
|
| 380 | +# adjrange |
|
| 381 | +adjrange 0 0 3 1500 2100 12 3 0 0 |
|
| 382 | +adjrange 1 0 3 900 1500 12 3 0 0 |
|
| 383 | +adjrange 2 0 1 1800 2100 12 1 0 0 |
|
| 384 | +adjrange 3 0 0 900 900 0 0 0 0 |
|
| 385 | +adjrange 4 0 0 900 900 0 0 0 0 |
|
| 386 | +adjrange 5 0 0 900 900 0 0 0 0 |
|
| 387 | +adjrange 6 0 0 900 900 0 0 0 0 |
|
| 388 | +adjrange 7 0 0 900 900 0 0 0 0 |
|
| 389 | +adjrange 8 0 0 900 900 0 0 0 0 |
|
| 390 | +adjrange 9 0 0 900 900 0 0 0 0 |
|
| 391 | +adjrange 10 0 0 900 900 0 0 0 0 |
|
| 392 | +adjrange 11 0 0 900 900 0 0 0 0 |
|
| 393 | +adjrange 12 0 0 900 900 0 0 0 0 |
|
| 394 | +adjrange 13 0 0 900 900 0 0 0 0 |
|
| 395 | +adjrange 14 0 0 900 900 0 0 0 0 |
|
| 396 | +adjrange 15 0 0 900 900 0 0 0 0 |
|
| 397 | +adjrange 16 0 0 900 900 0 0 0 0 |
|
| 398 | +adjrange 17 0 0 900 900 0 0 0 0 |
|
| 399 | +adjrange 18 0 0 900 900 0 0 0 0 |
|
| 400 | +adjrange 19 0 0 900 900 0 0 0 0 |
|
| 401 | +adjrange 20 0 0 900 900 0 0 0 0 |
|
| 402 | +adjrange 21 0 0 900 900 0 0 0 0 |
|
| 403 | +adjrange 22 0 0 900 900 0 0 0 0 |
|
| 404 | +adjrange 23 0 0 900 900 0 0 0 0 |
|
| 405 | +adjrange 24 0 0 900 900 0 0 0 0 |
|
| 406 | +adjrange 25 0 0 900 900 0 0 0 0 |
|
| 407 | +adjrange 26 0 0 900 900 0 0 0 0 |
|
| 408 | +adjrange 27 0 0 900 900 0 0 0 0 |
|
| 409 | +adjrange 28 0 0 900 900 0 0 0 0 |
|
| 410 | +adjrange 29 0 0 900 900 0 0 0 0 |
|
| 411 | + |
|
| 412 | +# rxrange |
|
| 413 | +rxrange 0 1000 2000 |
|
| 414 | +rxrange 1 1000 2000 |
|
| 415 | +rxrange 2 1000 2000 |
|
| 416 | +rxrange 3 1000 2000 |
|
| 417 | + |
|
| 418 | +# vtxtable |
|
| 419 | +vtxtable bands 6 |
|
| 420 | +vtxtable channels 8 |
|
| 421 | +vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725 |
|
| 422 | +vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866 |
|
| 423 | +vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665 0 5885 5905 0 0 |
|
| 424 | +vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880 |
|
| 425 | +vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917 |
|
| 426 | +vtxtable band 6 LOWRACE L FACTORY 5333 5373 5413 5453 5493 5533 5573 5613 |
|
| 427 | +vtxtable powerlevels 5 |
|
| 428 | +vtxtable powervalues 10 2 14 20 26 |
|
| 429 | +vtxtable powerlabels 0 RCE 25 100 400 |
|
| 430 | + |
|
| 431 | +# vtx |
|
| 432 | +vtx 0 0 0 0 0 900 900 |
|
| 433 | +vtx 1 0 0 0 0 900 900 |
|
| 434 | +vtx 2 0 0 0 0 900 900 |
|
| 435 | +vtx 3 0 0 0 0 900 900 |
|
| 436 | +vtx 4 0 0 0 0 900 900 |
|
| 437 | +vtx 5 0 0 0 0 900 900 |
|
| 438 | +vtx 6 0 0 0 0 900 900 |
|
| 439 | +vtx 7 0 0 0 0 900 900 |
|
| 440 | +vtx 8 0 0 0 0 900 900 |
|
| 441 | +vtx 9 0 0 0 0 900 900 |
|
| 442 | + |
|
| 443 | +# rxfail |
|
| 444 | +rxfail 0 a |
|
| 445 | +rxfail 1 a |
|
| 446 | +rxfail 2 a |
|
| 447 | +rxfail 3 a |
|
| 448 | +rxfail 4 h |
|
| 449 | +rxfail 5 h |
|
| 450 | +rxfail 6 h |
|
| 451 | +rxfail 7 h |
|
| 452 | +rxfail 8 h |
|
| 453 | +rxfail 9 h |
|
| 454 | +rxfail 10 h |
|
| 455 | +rxfail 11 h |
|
| 456 | +rxfail 12 h |
|
| 457 | +rxfail 13 h |
|
| 458 | +rxfail 14 h |
|
| 459 | +rxfail 15 h |
|
| 460 | +rxfail 16 h |
|
| 461 | +rxfail 17 h |
|
| 462 | + |
|
| 463 | +# master |
|
| 464 | +set gyro_hardware_lpf = NORMAL |
|
| 465 | +set gyro_lpf1_type = PT1 |
|
| 466 | +set gyro_lpf1_static_hz = 200 |
|
| 467 | +set gyro_lpf2_type = PT1 |
|
| 468 | +set gyro_lpf2_static_hz = 250 |
|
| 469 | +set gyro_notch1_hz = 0 |
|
| 470 | +set gyro_notch1_cutoff = 0 |
|
| 471 | +set gyro_notch2_hz = 0 |
|
| 472 | +set gyro_notch2_cutoff = 0 |
|
| 473 | +set gyro_calib_duration = 125 |
|
| 474 | +set gyro_calib_noise_limit = 48 |
|
| 475 | +set gyro_offset_yaw = 0 |
|
| 476 | +set gyro_overflow_detect = ALL |
|
| 477 | +set yaw_spin_recovery = AUTO |
|
| 478 | +set yaw_spin_threshold = 1950 |
|
| 479 | +set gyro_to_use = FIRST |
|
| 480 | +set dyn_notch_count = 3 |
|
| 481 | +set dyn_notch_q = 500 |
|
| 482 | +set dyn_notch_min_hz = 150 |
|
| 483 | +set dyn_notch_max_hz = 600 |
|
| 484 | +set gyro_lpf1_dyn_min_hz = 200 |
|
| 485 | +set gyro_lpf1_dyn_max_hz = 550 |
|
| 486 | +set gyro_lpf1_dyn_expo = 5 |
|
| 487 | +set gyro_filter_debug_axis = ROLL |
|
| 488 | +set acc_hardware = AUTO |
|
| 489 | +set acc_lpf_hz = 10 |
|
| 490 | +set acc_trim_pitch = 1 |
|
| 491 | +set acc_trim_roll = 0 |
|
| 492 | +set acc_calibration = 1,-38,27,1 |
|
| 493 | +set mid_rc = 1500 |
|
| 494 | +set min_check = 1050 |
|
| 495 | +set max_check = 1900 |
|
| 496 | +set rssi_channel = 0 |
|
| 497 | +set rssi_src_frame_errors = OFF |
|
| 498 | +set rssi_scale = 100 |
|
| 499 | +set rssi_offset = 0 |
|
| 500 | +set rssi_invert = OFF |
|
| 501 | +set rssi_src_frame_lpf_period = 30 |
|
| 502 | +set rssi_smoothing = 125 |
|
| 503 | +set rc_smoothing = ON |
|
| 504 | +set rc_smoothing_auto_factor = 25 |
|
| 505 | +set rc_smoothing_auto_factor_throttle = 25 |
|
| 506 | +set rc_smoothing_setpoint_cutoff = 0 |
|
| 507 | +set rc_smoothing_feedforward_cutoff = 0 |
|
| 508 | +set rc_smoothing_throttle_cutoff = 0 |
|
| 509 | +set rc_smoothing_debug_axis = ROLL |
|
| 510 | +set fpv_mix_degrees = 0 |
|
| 511 | +set max_aux_channels = 14 |
|
| 512 | +set serialrx_provider = SPEK1024 |
|
| 513 | +set serialrx_inverted = OFF |
|
| 514 | +set crsf_use_negotiated_baud = OFF |
|
| 515 | +set airmode_start_throttle_percent = 25 |
|
| 516 | +set rx_min_usec = 885 |
|
| 517 | +set rx_max_usec = 2115 |
|
| 518 | +set serialrx_halfduplex = OFF |
|
| 519 | +set msp_override_channels_mask = 0 |
|
| 520 | +set msp_override_failsafe = OFF |
|
| 521 | +set rx_spi_protocol = EXPRESSLRS |
|
| 522 | +set rx_spi_bus = 3 |
|
| 523 | +set rx_spi_led_inversion = OFF |
|
| 524 | +set adc_device = 1 |
|
| 525 | +set adc_vrefint_calibration = 0 |
|
| 526 | +set adc_tempsensor_calibration30 = 0 |
|
| 527 | +set adc_tempsensor_calibration110 = 0 |
|
| 528 | +set blackbox_sample_rate = 1/2 |
|
| 529 | +set blackbox_device = SPIFLASH |
|
| 530 | +set blackbox_disable_pids = OFF |
|
| 531 | +set blackbox_disable_rc = OFF |
|
| 532 | +set blackbox_disable_setpoint = OFF |
|
| 533 | +set blackbox_disable_bat = OFF |
|
| 534 | +set blackbox_disable_rssi = OFF |
|
| 535 | +set blackbox_disable_gyro = OFF |
|
| 536 | +set blackbox_disable_gyrounfilt = OFF |
|
| 537 | +set blackbox_disable_acc = OFF |
|
| 538 | +set blackbox_disable_debug = OFF |
|
| 539 | +set blackbox_disable_motors = OFF |
|
| 540 | +set blackbox_disable_rpm = OFF |
|
| 541 | +set blackbox_disable_gps = OFF |
|
| 542 | +set blackbox_mode = NORMAL |
|
| 543 | +set blackbox_high_resolution = OFF |
|
| 544 | +set min_throttle = 1070 |
|
| 545 | +set max_throttle = 2000 |
|
| 546 | +set min_command = 1000 |
|
| 547 | +set motor_kv = 1960 |
|
| 548 | +set dshot_idle_value = 800 |
|
| 549 | +set dshot_burst = AUTO |
|
| 550 | +set dshot_bidir = ON |
|
| 551 | +set dshot_edt = OFF |
|
| 552 | +set dshot_bitbang = AUTO |
|
| 553 | +set dshot_bitbang_timer = AUTO |
|
| 554 | +set use_unsynced_pwm = OFF |
|
| 555 | +set motor_pwm_protocol = DSHOT300 |
|
| 556 | +set motor_pwm_rate = 480 |
|
| 557 | +set motor_pwm_inversion = OFF |
|
| 558 | +set motor_poles = 12 |
|
| 559 | +set motor_output_reordering = 0,1,2,3,4,5,6,7 |
|
| 560 | +set thr_corr_value = 0 |
|
| 561 | +set thr_corr_angle = 800 |
|
| 562 | +set failsafe_delay = 4 |
|
| 563 | +set failsafe_off_delay = 10 |
|
| 564 | +set failsafe_throttle = 1000 |
|
| 565 | +set failsafe_switch_mode = STAGE1 |
|
| 566 | +set failsafe_throttle_low_delay = 100 |
|
| 567 | +set failsafe_procedure = DROP |
|
| 568 | +set failsafe_recovery_delay = 20 |
|
| 569 | +set failsafe_stick_threshold = 30 |
|
| 570 | +set align_board_roll = 0 |
|
| 571 | +set align_board_pitch = 0 |
|
| 572 | +set align_board_yaw = 0 |
|
| 573 | +set bat_capacity = 0 |
|
| 574 | +set vbat_max_cell_voltage = 450 |
|
| 575 | +set vbat_full_cell_voltage = 410 |
|
| 576 | +set vbat_min_cell_voltage = 310 |
|
| 577 | +set vbat_warning_cell_voltage = 320 |
|
| 578 | +set vbat_hysteresis = 1 |
|
| 579 | +set current_meter = ADC |
|
| 580 | +set battery_meter = ADC |
|
| 581 | +set vbat_detect_cell_voltage = 300 |
|
| 582 | +set use_vbat_alerts = ON |
|
| 583 | +set use_cbat_alerts = OFF |
|
| 584 | +set cbat_alert_percent = 10 |
|
| 585 | +set vbat_cutoff_percent = 100 |
|
| 586 | +set force_battery_cell_count = 0 |
|
| 587 | +set vbat_display_lpf_period = 30 |
|
| 588 | +set vbat_sag_lpf_period = 2 |
|
| 589 | +set ibat_lpf_period = 10 |
|
| 590 | +set vbat_duration_for_warning = 0 |
|
| 591 | +set vbat_duration_for_critical = 0 |
|
| 592 | +set vbat_scale = 110 |
|
| 593 | +set vbat_divider = 10 |
|
| 594 | +set vbat_multiplier = 1 |
|
| 595 | +set ibata_scale = 470 |
|
| 596 | +set ibata_offset = 0 |
|
| 597 | +set ibatv_scale = 0 |
|
| 598 | +set ibatv_offset = 0 |
|
| 599 | +set beeper_inversion = ON |
|
| 600 | +set beeper_od = OFF |
|
| 601 | +set beeper_frequency = 0 |
|
| 602 | +set beeper_dshot_beacon_tone = 1 |
|
| 603 | +set yaw_motors_reversed = ON |
|
| 604 | +set mixer_type = LEGACY |
|
| 605 | +set crashflip_motor_percent = 0 |
|
| 606 | +set crashflip_expo = 35 |
|
| 607 | +set 3d_deadband_low = 1406 |
|
| 608 | +set 3d_deadband_high = 1514 |
|
| 609 | +set 3d_neutral = 1460 |
|
| 610 | +set 3d_deadband_throttle = 50 |
|
| 611 | +set 3d_limit_low = 1000 |
|
| 612 | +set 3d_limit_high = 2000 |
|
| 613 | +set 3d_switched_mode = OFF |
|
| 614 | +set reboot_character = 82 |
|
| 615 | +set serial_update_rate_hz = 100 |
|
| 616 | +set imu_dcm_kp = 2500 |
|
| 617 | +set imu_dcm_ki = 0 |
|
| 618 | +set small_angle = 180 |
|
| 619 | +set imu_process_denom = 2 |
|
| 620 | +set auto_disarm_delay = 5 |
|
| 621 | +set gyro_cal_on_first_arm = OFF |
|
| 622 | +set gps_provider = NMEA |
|
| 623 | +set gps_sbas_mode = NONE |
|
| 624 | +set gps_auto_config = ON |
|
| 625 | +set gps_auto_baud = OFF |
|
| 626 | +set gps_ublox_acquire_model = STATIONARY |
|
| 627 | +set gps_ublox_flight_model = AIRBORNE_4G |
|
| 628 | +set gps_update_rate_hz = 10 |
|
| 629 | +set gps_ublox_utc_standard = AUTO |
|
| 630 | +set gps_ublox_use_galileo = OFF |
|
| 631 | +set gps_set_home_point_once = OFF |
|
| 632 | +set gps_use_3d_speed = OFF |
|
| 633 | +set gps_sbas_integrity = OFF |
|
| 634 | +set gps_nmea_custom_commands = - |
|
| 635 | +set gps_rescue_min_start_dist = 30 |
|
| 636 | +set gps_rescue_alt_mode = MAX_ALT |
|
| 637 | +set gps_rescue_initial_climb = 10 |
|
| 638 | +set gps_rescue_ascend_rate = 500 |
|
| 639 | +set gps_rescue_return_alt = 30 |
|
| 640 | +set gps_rescue_ground_speed = 2000 |
|
| 641 | +set gps_rescue_max_angle = 45 |
|
| 642 | +set gps_rescue_roll_mix = 150 |
|
| 643 | +set gps_rescue_pitch_cutoff = 75 |
|
| 644 | +set gps_rescue_imu_yaw_gain = 10 |
|
| 645 | +set gps_rescue_descent_dist = 200 |
|
| 646 | +set gps_rescue_descend_rate = 100 |
|
| 647 | +set gps_rescue_landing_alt = 5 |
|
| 648 | +set gps_rescue_disarm_threshold = 20 |
|
| 649 | +set gps_rescue_throttle_min = 1100 |
|
| 650 | +set gps_rescue_throttle_max = 1600 |
|
| 651 | +set gps_rescue_throttle_hover = 1280 |
|
| 652 | +set gps_rescue_sanity_checks = RESCUE_SANITY_ON |
|
| 653 | +set gps_rescue_min_sats = 8 |
|
| 654 | +set gps_rescue_allow_arming_without_fix = OFF |
|
| 655 | +set gps_rescue_throttle_p = 150 |
|
| 656 | +set gps_rescue_throttle_i = 20 |
|
| 657 | +set gps_rescue_throttle_d = 50 |
|
| 658 | +set gps_rescue_velocity_p = 80 |
|
| 659 | +set gps_rescue_velocity_i = 20 |
|
| 660 | +set gps_rescue_velocity_d = 15 |
|
| 661 | +set gps_rescue_yaw_p = 40 |
|
| 662 | +set deadband = 1 |
|
| 663 | +set yaw_deadband = 1 |
|
| 664 | +set yaw_control_reversed = OFF |
|
| 665 | +set pid_process_denom = 4 |
|
| 666 | +set runaway_takeoff_prevention = ON |
|
| 667 | +set runaway_takeoff_deactivate_delay = 500 |
|
| 668 | +set runaway_takeoff_deactivate_throttle_percent = 20 |
|
| 669 | +set simplified_gyro_filter = OFF |
|
| 670 | +set simplified_gyro_filter_multiplier = 100 |
|
| 671 | +set tlm_inverted = OFF |
|
| 672 | +set tlm_halfduplex = ON |
|
| 673 | +set hott_alarm_int = 5 |
|
| 674 | +set pid_in_tlm = OFF |
|
| 675 | +set report_cell_voltage = OFF |
|
| 676 | +set telemetry_disabled_voltage = OFF |
|
| 677 | +set telemetry_disabled_current = OFF |
|
| 678 | +set telemetry_disabled_fuel = OFF |
|
| 679 | +set telemetry_disabled_mode = OFF |
|
| 680 | +set telemetry_disabled_acc_x = OFF |
|
| 681 | +set telemetry_disabled_acc_y = OFF |
|
| 682 | +set telemetry_disabled_acc_z = OFF |
|
| 683 | +set telemetry_disabled_pitch = OFF |
|
| 684 | +set telemetry_disabled_roll = OFF |
|
| 685 | +set telemetry_disabled_heading = OFF |
|
| 686 | +set telemetry_disabled_altitude = OFF |
|
| 687 | +set telemetry_disabled_vario = OFF |
|
| 688 | +set telemetry_disabled_lat_long = OFF |
|
| 689 | +set telemetry_disabled_ground_speed = OFF |
|
| 690 | +set telemetry_disabled_distance = OFF |
|
| 691 | +set telemetry_disabled_esc_current = ON |
|
| 692 | +set telemetry_disabled_esc_voltage = ON |
|
| 693 | +set telemetry_disabled_esc_rpm = ON |
|
| 694 | +set telemetry_disabled_esc_temperature = ON |
|
| 695 | +set telemetry_disabled_temperature = OFF |
|
| 696 | +set telemetry_disabled_cap_used = ON |
|
| 697 | +set ledstrip_visual_beeper = OFF |
|
| 698 | +set ledstrip_visual_beeper_color = WHITE |
|
| 699 | +set ledstrip_grb_rgb = GRB |
|
| 700 | +set ledstrip_profile = STATUS |
|
| 701 | +set ledstrip_race_color = ORANGE |
|
| 702 | +set ledstrip_beacon_color = WHITE |
|
| 703 | +set ledstrip_beacon_period_ms = 500 |
|
| 704 | +set ledstrip_beacon_percent = 50 |
|
| 705 | +set ledstrip_beacon_armed_only = OFF |
|
| 706 | +set ledstrip_brightness = 100 |
|
| 707 | +set ledstrip_rainbow_delta = 0 |
|
| 708 | +set ledstrip_rainbow_freq = 120 |
|
| 709 | +set osd_units = METRIC |
|
| 710 | +set osd_warn_bitmask = 270335 |
|
| 711 | +set osd_rssi_alarm = 20 |
|
| 712 | +set osd_link_quality_alarm = 80 |
|
| 713 | +set osd_rssi_dbm_alarm = -60 |
|
| 714 | +set osd_rsnr_alarm = 4 |
|
| 715 | +set osd_cap_alarm = 2200 |
|
| 716 | +set osd_alt_alarm = 100 |
|
| 717 | +set osd_distance_alarm = 0 |
|
| 718 | +set osd_esc_temp_alarm = 0 |
|
| 719 | +set osd_esc_rpm_alarm = -1 |
|
| 720 | +set osd_esc_current_alarm = -1 |
|
| 721 | +set osd_core_temp_alarm = 70 |
|
| 722 | +set osd_ah_max_pit = 20 |
|
| 723 | +set osd_ah_max_rol = 40 |
|
| 724 | +set osd_ah_invert = OFF |
|
| 725 | +set osd_logo_on_arming = OFF |
|
| 726 | +set osd_logo_on_arming_duration = 5 |
|
| 727 | +set osd_tim1 = 2560 |
|
| 728 | +set osd_tim2 = 2561 |
|
| 729 | +set osd_vbat_pos = 341 |
|
| 730 | +set osd_rssi_pos = 314 |
|
| 731 | +set osd_link_quality_pos = 2392 |
|
| 732 | +set osd_link_tx_power_pos = 341 |
|
| 733 | +set osd_rssi_dbm_pos = 2360 |
|
| 734 | +set osd_rsnr_pos = 341 |
|
| 735 | +set osd_tim_1_pos = 341 |
|
| 736 | +set osd_tim_2_pos = 2433 |
|
| 737 | +set osd_remaining_time_estimate_pos = 341 |
|
| 738 | +set osd_flymode_pos = 2457 |
|
| 739 | +set osd_anti_gravity_pos = 341 |
|
| 740 | +set osd_g_force_pos = 341 |
|
| 741 | +set osd_throttle_pos = 2425 |
|
| 742 | +set osd_vtx_channel_pos = 2305 |
|
| 743 | +set osd_crosshairs_pos = 312 |
|
| 744 | +set osd_ah_sbar_pos = 313 |
|
| 745 | +set osd_ah_pos = 185 |
|
| 746 | +set osd_current_pos = 2336 |
|
| 747 | +set osd_mah_drawn_pos = 2368 |
|
| 748 | +set osd_wh_drawn_pos = 341 |
|
| 749 | +set osd_motor_diag_pos = 341 |
|
| 750 | +set osd_craft_name_pos = 2442 |
|
| 751 | +set osd_pilot_name_pos = 341 |
|
| 752 | +set osd_gps_speed_pos = 341 |
|
| 753 | +set osd_gps_lon_pos = 341 |
|
| 754 | +set osd_gps_lat_pos = 341 |
|
| 755 | +set osd_gps_sats_pos = 341 |
|
| 756 | +set osd_home_dir_pos = 341 |
|
| 757 | +set osd_home_dist_pos = 341 |
|
| 758 | +set osd_flight_dist_pos = 341 |
|
| 759 | +set osd_compass_bar_pos = 341 |
|
| 760 | +set osd_altitude_pos = 341 |
|
| 761 | +set osd_pid_roll_pos = 341 |
|
| 762 | +set osd_pid_pitch_pos = 341 |
|
| 763 | +set osd_pid_yaw_pos = 341 |
|
| 764 | +set osd_debug_pos = 341 |
|
| 765 | +set osd_power_pos = 341 |
|
| 766 | +set osd_pidrate_profile_pos = 341 |
|
| 767 | +set osd_warnings_pos = 2345 |
|
| 768 | +set osd_avg_cell_voltage_pos = 2401 |
|
| 769 | +set osd_pit_ang_pos = 341 |
|
| 770 | +set osd_rol_ang_pos = 341 |
|
| 771 | +set osd_battery_usage_pos = 341 |
|
| 772 | +set osd_disarmed_pos = 2314 |
|
| 773 | +set osd_nheading_pos = 341 |
|
| 774 | +set osd_up_down_reference_pos = 312 |
|
| 775 | +set osd_ready_mode_pos = 341 |
|
| 776 | +set osd_nvario_pos = 341 |
|
| 777 | +set osd_esc_tmp_pos = 341 |
|
| 778 | +set osd_esc_rpm_pos = 161 |
|
| 779 | +set osd_esc_rpm_freq_pos = 341 |
|
| 780 | +set osd_rtc_date_time_pos = 341 |
|
| 781 | +set osd_adjustment_range_pos = 341 |
|
| 782 | +set osd_flip_arrow_pos = 341 |
|
| 783 | +set osd_core_temp_pos = 2328 |
|
| 784 | +set osd_log_status_pos = 341 |
|
| 785 | +set osd_stick_overlay_left_pos = 341 |
|
| 786 | +set osd_stick_overlay_right_pos = 341 |
|
| 787 | +set osd_stick_overlay_radio_mode = 2 |
|
| 788 | +set osd_rate_profile_name_pos = 341 |
|
| 789 | +set osd_pid_profile_name_pos = 341 |
|
| 790 | +set osd_profile_name_pos = 341 |
|
| 791 | +set osd_rcchannels_pos = 341 |
|
| 792 | +set osd_camera_frame_pos = 142 |
|
| 793 | +set osd_efficiency_pos = 341 |
|
| 794 | +set osd_total_flights_pos = 341 |
|
| 795 | +set osd_aux_pos = 341 |
|
| 796 | +set osd_sys_goggle_voltage_pos = 341 |
|
| 797 | +set osd_sys_vtx_voltage_pos = 341 |
|
| 798 | +set osd_sys_bitrate_pos = 341 |
|
| 799 | +set osd_sys_delay_pos = 341 |
|
| 800 | +set osd_sys_distance_pos = 341 |
|
| 801 | +set osd_sys_lq_pos = 341 |
|
| 802 | +set osd_sys_goggle_dvr_pos = 341 |
|
| 803 | +set osd_sys_vtx_dvr_pos = 341 |
|
| 804 | +set osd_sys_warnings_pos = 341 |
|
| 805 | +set osd_sys_vtx_temp_pos = 341 |
|
| 806 | +set osd_sys_fan_speed_pos = 341 |
|
| 807 | +set osd_stat_bitmask = 14124 |
|
| 808 | +set osd_profile = 1 |
|
| 809 | +set osd_profile_1_name = - |
|
| 810 | +set osd_profile_2_name = - |
|
| 811 | +set osd_profile_3_name = - |
|
| 812 | +set osd_gps_sats_show_pdop = OFF |
|
| 813 | +set osd_displayport_device = AUTO |
|
| 814 | +set osd_rcchannels = -1,-1,-1,-1 |
|
| 815 | +set osd_camera_frame_width = 24 |
|
| 816 | +set osd_camera_frame_height = 11 |
|
| 817 | +set osd_stat_avg_cell_value = OFF |
|
| 818 | +set osd_framerate_hz = 12 |
|
| 819 | +set osd_menu_background = TRANSPARENT |
|
| 820 | +set osd_aux_channel = 1 |
|
| 821 | +set osd_aux_scale = 200 |
|
| 822 | +set osd_aux_symbol = 65 |
|
| 823 | +set osd_canvas_width = 30 |
|
| 824 | +set osd_canvas_height = 13 |
|
| 825 | +set osd_craftname_msgs = OFF |
|
| 826 | +set system_hse_mhz = 8 |
|
| 827 | +set task_statistics = ON |
|
| 828 | +set debug_mode = DUAL_GYRO_SCALED |
|
| 829 | +set rate_6pos_switch = OFF |
|
| 830 | +set cpu_overclock = 108MHZ |
|
| 831 | +set pwr_on_arm_grace = 5 |
|
| 832 | +set enable_stick_arming = OFF |
|
| 833 | +set vtx_band = 5 |
|
| 834 | +set vtx_channel = 8 |
|
| 835 | +set vtx_power = 5 |
|
| 836 | +set vtx_low_power_disarm = ON |
|
| 837 | +set vtx_softserial_alt = OFF |
|
| 838 | +set vtx_freq = 5917 |
|
| 839 | +set vtx_pit_mode_freq = 0 |
|
| 840 | +set vtx_halfduplex = ON |
|
| 841 | +set vcd_video_system = NTSC |
|
| 842 | +set vcd_h_offset = 0 |
|
| 843 | +set vcd_v_offset = 0 |
|
| 844 | +set max7456_clock = NOMINAL |
|
| 845 | +set max7456_spi_bus = 2 |
|
| 846 | +set max7456_preinit_opu = OFF |
|
| 847 | +set displayport_msp_col_adjust = 0 |
|
| 848 | +set displayport_msp_row_adjust = 0 |
|
| 849 | +set displayport_msp_fonts = 0,1,2,3 |
|
| 850 | +set displayport_msp_use_device_blink = OFF |
|
| 851 | +set displayport_max7456_col_adjust = 0 |
|
| 852 | +set displayport_max7456_row_adjust = 0 |
|
| 853 | +set displayport_max7456_inv = OFF |
|
| 854 | +set displayport_max7456_blk = 0 |
|
| 855 | +set displayport_max7456_wht = 2 |
|
| 856 | +set esc_sensor_halfduplex = OFF |
|
| 857 | +set esc_sensor_current_offset = 0 |
|
| 858 | +set led_inversion = 0 |
|
| 859 | +set pinio_config = 1,1,1,1 |
|
| 860 | +set pinio_box = 255,255,255,255 |
|
| 861 | +set usb_hid_cdc = OFF |
|
| 862 | +set usb_msc_pin_pullup = ON |
|
| 863 | +set flash_spi_bus = 2 |
|
| 864 | +set rcdevice_init_dev_attempts = 6 |
|
| 865 | +set rcdevice_init_dev_attempt_interval = 1000 |
|
| 866 | +set rcdevice_protocol_version = 0 |
|
| 867 | +set rcdevice_feature = 0 |
|
| 868 | +set gyro_1_bustype = SPI |
|
| 869 | +set gyro_1_spibus = 1 |
|
| 870 | +set gyro_1_i2cBus = 0 |
|
| 871 | +set gyro_1_i2c_address = 0 |
|
| 872 | +set gyro_1_sensor_align = CW90 |
|
| 873 | +set gyro_1_align_roll = 0 |
|
| 874 | +set gyro_1_align_pitch = 0 |
|
| 875 | +set gyro_1_align_yaw = 900 |
|
| 876 | +set gyro_2_bustype = NONE |
|
| 877 | +set gyro_2_spibus = 0 |
|
| 878 | +set gyro_2_i2cBus = 0 |
|
| 879 | +set gyro_2_i2c_address = 0 |
|
| 880 | +set gyro_2_sensor_align = DEFAULT |
|
| 881 | +set gyro_2_align_roll = 0 |
|
| 882 | +set gyro_2_align_pitch = 0 |
|
| 883 | +set gyro_2_align_yaw = 0 |
|
| 884 | +set i2c1_pullup = OFF |
|
| 885 | +set i2c1_clockspeed_khz = 800 |
|
| 886 | +set i2c2_pullup = OFF |
|
| 887 | +set i2c2_clockspeed_khz = 800 |
|
| 888 | +set i2c3_pullup = OFF |
|
| 889 | +set i2c3_clockspeed_khz = 800 |
|
| 890 | +set mco2_on_pc9 = OFF |
|
| 891 | +set expresslrs_uid = 0,0,224,214,254,20 |
|
| 892 | +set expresslrs_domain = ISM2400 |
|
| 893 | +set expresslrs_rate_index = 1 |
|
| 894 | +set expresslrs_switch_mode = WIDE |
|
| 895 | +set expresslrs_model_id = 255 |
|
| 896 | +set scheduler_relax_rx = 1 |
|
| 897 | +set scheduler_relax_osd = 1 |
|
| 898 | +set cpu_late_limit_permille = 10 |
|
| 899 | +set serialmsp_halfduplex = OFF |
|
| 900 | +set timezone_offset_minutes = 0 |
|
| 901 | +set rpm_filter_harmonics = 3 |
|
| 902 | +set rpm_filter_weights = 100,100,100 |
|
| 903 | +set rpm_filter_q = 500 |
|
| 904 | +set rpm_filter_min_hz = 200 |
|
| 905 | +set rpm_filter_fade_range_hz = 50 |
|
| 906 | +set rpm_filter_lpf_hz = 150 |
|
| 907 | +set stats_min_armed_time_s = -1 |
|
| 908 | +set stats_total_flights = 0 |
|
| 909 | +set stats_total_time_s = 0 |
|
| 910 | +set stats_total_dist_m = 0 |
|
| 911 | +set craft_name = Mobula8 |
|
| 912 | +set pilot_name = - |
|
| 913 | +set altitude_source = DEFAULT |
|
| 914 | +set altitude_prefer_baro = 100 |
|
| 915 | +set altitude_lpf = 300 |
|
| 916 | +set altitude_d_lpf = 100 |
|
| 917 | +set box_user_1_name = - |
|
| 918 | +set box_user_2_name = - |
|
| 919 | +set box_user_3_name = - |
|
| 920 | +set box_user_4_name = - |
|
| 921 | + |
|
| 922 | +profile 0 |
|
| 923 | + |
|
| 924 | +# profile 0 |
|
| 925 | +set profile_name = - |
|
| 926 | +set dterm_lpf1_dyn_min_hz = 60 |
|
| 927 | +set dterm_lpf1_dyn_max_hz = 145 |
|
| 928 | +set dterm_lpf1_dyn_expo = 5 |
|
| 929 | +set dterm_lpf1_type = PT1 |
|
| 930 | +set dterm_lpf1_static_hz = 150 |
|
| 931 | +set dterm_lpf2_type = PT1 |
|
| 932 | +set dterm_lpf2_static_hz = 128 |
|
| 933 | +set dterm_notch_hz = 0 |
|
| 934 | +set dterm_notch_cutoff = 0 |
|
| 935 | +set vbat_sag_compensation = 100 |
|
| 936 | +set pid_at_min_throttle = ON |
|
| 937 | +set anti_gravity_gain = 80 |
|
| 938 | +set anti_gravity_cutoff_hz = 5 |
|
| 939 | +set anti_gravity_p_gain = 100 |
|
| 940 | +set acc_limit_yaw = 0 |
|
| 941 | +set acc_limit = 0 |
|
| 942 | +set crash_dthreshold = 50 |
|
| 943 | +set crash_gthreshold = 400 |
|
| 944 | +set crash_setpoint_threshold = 350 |
|
| 945 | +set crash_time = 500 |
|
| 946 | +set crash_delay = 0 |
|
| 947 | +set crash_recovery_angle = 10 |
|
| 948 | +set crash_recovery_rate = 100 |
|
| 949 | +set crash_limit_yaw = 200 |
|
| 950 | +set crash_recovery = OFF |
|
| 951 | +set iterm_rotation = OFF |
|
| 952 | +set iterm_relax = RP |
|
| 953 | +set iterm_relax_type = SETPOINT |
|
| 954 | +set iterm_relax_cutoff = 25 |
|
| 955 | +set iterm_windup = 85 |
|
| 956 | +set iterm_limit = 400 |
|
| 957 | +set pidsum_limit = 500 |
|
| 958 | +set pidsum_limit_yaw = 400 |
|
| 959 | +set yaw_lowpass_hz = 0 |
|
| 960 | +set throttle_boost = 5 |
|
| 961 | +set throttle_boost_cutoff = 15 |
|
| 962 | +set acro_trainer_angle_limit = 20 |
|
| 963 | +set acro_trainer_lookahead_ms = 50 |
|
| 964 | +set acro_trainer_debug_axis = ROLL |
|
| 965 | +set acro_trainer_gain = 75 |
|
| 966 | +set p_pitch = 56 |
|
| 967 | +set i_pitch = 100 |
|
| 968 | +set d_pitch = 52 |
|
| 969 | +set f_pitch = 149 |
|
| 970 | +set p_roll = 53 |
|
| 971 | +set i_roll = 95 |
|
| 972 | +set d_roll = 46 |
|
| 973 | +set f_roll = 143 |
|
| 974 | +set p_yaw = 53 |
|
| 975 | +set i_yaw = 95 |
|
| 976 | +set d_yaw = 0 |
|
| 977 | +set f_yaw = 143 |
|
| 978 | +set angle_p_gain = 50 |
|
| 979 | +set angle_feedforward = 50 |
|
| 980 | +set angle_feedforward_smoothing_ms = 80 |
|
| 981 | +set angle_limit = 60 |
|
| 982 | +set angle_earth_ref = 100 |
|
| 983 | +set horizon_level_strength = 75 |
|
| 984 | +set horizon_limit_sticks = 75 |
|
| 985 | +set horizon_limit_degrees = 135 |
|
| 986 | +set horizon_ignore_sticks = OFF |
|
| 987 | +set horizon_delay_ms = 500 |
|
| 988 | +set abs_control_gain = 0 |
|
| 989 | +set abs_control_limit = 90 |
|
| 990 | +set abs_control_error_limit = 20 |
|
| 991 | +set abs_control_cutoff = 11 |
|
| 992 | +set use_integrated_yaw = OFF |
|
| 993 | +set integrated_yaw_relax = 200 |
|
| 994 | +set d_min_roll = 43 |
|
| 995 | +set d_min_pitch = 48 |
|
| 996 | +set d_min_yaw = 0 |
|
| 997 | +set d_max_gain = 37 |
|
| 998 | +set d_max_advance = 0 |
|
| 999 | +set motor_output_limit = 100 |
|
| 1000 | +set auto_profile_cell_count = 0 |
|
| 1001 | +set launch_control_mode = NORMAL |
|
| 1002 | +set launch_trigger_allow_reset = ON |
|
| 1003 | +set launch_trigger_throttle_percent = 20 |
|
| 1004 | +set launch_angle_limit = 0 |
|
| 1005 | +set launch_control_gain = 40 |
|
| 1006 | +set thrust_linear = 20 |
|
| 1007 | +set transient_throttle_limit = 0 |
|
| 1008 | +set feedforward_transition = 0 |
|
| 1009 | +set feedforward_averaging = OFF |
|
| 1010 | +set feedforward_smooth_factor = 25 |
|
| 1011 | +set feedforward_jitter_factor = 5 |
|
| 1012 | +set feedforward_boost = 18 |
|
| 1013 | +set feedforward_max_rate_limit = 95 |
|
| 1014 | +set dyn_idle_min_rpm = 0 |
|
| 1015 | +set dyn_idle_p_gain = 50 |
|
| 1016 | +set dyn_idle_i_gain = 50 |
|
| 1017 | +set dyn_idle_d_gain = 50 |
|
| 1018 | +set dyn_idle_max_increase = 150 |
|
| 1019 | +set dyn_idle_start_increase = 50 |
|
| 1020 | +set level_race_mode = OFF |
|
| 1021 | +set simplified_pids_mode = OFF |
|
| 1022 | +set simplified_master_multiplier = 120 |
|
| 1023 | +set simplified_i_gain = 65 |
|
| 1024 | +set simplified_d_gain = 120 |
|
| 1025 | +set simplified_pi_gain = 190 |
|
| 1026 | +set simplified_dmax_gain = 20 |
|
| 1027 | +set simplified_feedforward_gain = 130 |
|
| 1028 | +set simplified_pitch_d_gain = 85 |
|
| 1029 | +set simplified_pitch_pi_gain = 90 |
|
| 1030 | +set simplified_dterm_filter = ON |
|
| 1031 | +set simplified_dterm_filter_multiplier = 100 |
|
| 1032 | +set tpa_mode = PD |
|
| 1033 | +set tpa_rate = 65 |
|
| 1034 | +set tpa_breakpoint = 1250 |
|
| 1035 | +set tpa_low_rate = 20 |
|
| 1036 | +set tpa_low_breakpoint = 1050 |
|
| 1037 | +set tpa_low_always = OFF |
|
| 1038 | +set ez_landing_threshold = 25 |
|
| 1039 | +set ez_landing_limit = 15 |
|
| 1040 | +set ez_landing_speed = 50 |
|
| 1041 | + |
|
| 1042 | +rateprofile 2 |
|
| 1043 | + |
|
| 1044 | +# rateprofile 2 |
|
| 1045 | +set rateprofile_name = - |
|
| 1046 | +set thr_mid = 50 |
|
| 1047 | +set thr_expo = 0 |
|
| 1048 | +set rates_type = BETAFLIGHT |
|
| 1049 | +set quickrates_rc_expo = OFF |
|
| 1050 | +set roll_rc_rate = 106 |
|
| 1051 | +set pitch_rc_rate = 106 |
|
| 1052 | +set yaw_rc_rate = 106 |
|
| 1053 | +set roll_expo = 15 |
|
| 1054 | +set pitch_expo = 15 |
|
| 1055 | +set yaw_expo = 5 |
|
| 1056 | +set roll_srate = 56 |
|
| 1057 | +set pitch_srate = 56 |
|
| 1058 | +set yaw_srate = 56 |
|
| 1059 | +set throttle_limit_type = OFF |
|
| 1060 | +set throttle_limit_percent = 100 |
|
| 1061 | +set roll_rate_limit = 1998 |
|
| 1062 | +set pitch_rate_limit = 1998 |
|
| 1063 | +set yaw_rate_limit = 1998 |
|
| 1064 | + |
|
| 1065 | +# end the command batch |
|
| 1066 | +batch end |
|
| 1067 | +save |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-presents-dat/mobula8-presents-dat/mobula8-presents-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# mobula8-presents-dat |
|
| 3 | + |
|
| 4 | +- [[Mobula8-SPI-ELRS-dump-file-for-betaflight-4.5.0-.txt]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-receiver-dat/betaflight-receiver-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# betaflight-receiver-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[radiomaster-dat]] |
|
| 6 | + |
|
| 7 | +## receiver |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## ref |
|
| 11 | + |
|
| 12 | +- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/betaflight-video-transmitter-dat/betaflight-video-transmitter-dat.md
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | + |
|
| 2 | +# betaflight-video-transmitter-dat |
|
| 3 | + |
|
| 4 | +power == 25mW / 200mW / 500mW, 100 == good starting point |
|
| 5 | + |
|
| 6 | +low power disarm == turn ON |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## ref |
|
| 10 | + |
|
| 11 | +- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/indoor-fly-dat/indoor-fly-PID-tuning-dat.md
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | + |
|
| 2 | +# indoor-fly-PID-tuning-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +→ **Damping: D Gains → 1.0–1.4** |
|
| 6 | +- Keep moderate to reduce fast oscillations |
|
| 7 | +- Avoid too high → jitter on small indoor props |
|
| 8 | + |
|
| 9 | +→ **Tracking: P & I Gains → 1.0** |
|
| 10 | +- Stable for indoor hover |
|
| 11 | +- Low enough to prevent twitchy movement |
|
| 12 | + |
|
| 13 | +→ **Stick Response: FF (Feedforward) Gains → 0.8–1.0** |
|
| 14 | +- Smooth, predictable response to stick input |
|
| 15 | +- Don’t overdo → prevents overcorrecting during small indoor maneuvers |
|
| 16 | + |
|
| 17 | +→ **Dynamic Damping: D Max → 0** |
|
| 18 | +- Disable aggressive D scaling for indoor flight |
|
| 19 | +- Keeps quad smooth in low-throttle hover |
|
| 20 | + |
|
| 21 | +→ **Drift / Wobble: /Gains → 0.8–1.0** |
|
| 22 | +- Helps slow drift correction |
|
| 23 | +- Avoid too high → quad oscillates slowly |
|
| 24 | + |
|
| 25 | +→ **Pitch Damping: Pitch:Roll D → 1.0** |
|
| 26 | +- Keep pitch & roll D similar → balanced indoor control |
|
| 27 | + |
|
| 28 | +→ **Pitch Tracking: Pitch:Roll P, I & FF → 1.0** |
|
| 29 | +- Keeps stable hover during small corrections |
|
| 30 | + |
|
| 31 | +→ **Master Multiplier → 1.5–1.6** |
|
| 32 | +- Adjust global scale of all PID terms |
|
| 33 | +- Indoor: keep lower to avoid twitchy behavior |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | +✅ Notes: |
|
| 38 | + |
|
| 39 | +- Test hover after each adjustment |
|
| 40 | +- Make small increments (0.05–0.1) |
|
| 41 | +- Goal: smooth, steady indoor hover with minimal stick corrections |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +## ref |
|
| 45 | + |
|
| 46 | +- [[betaflight-PID-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/betaflight-dat/indoor-fly-dat/indoor-fly-dat.md
| ... | ... | @@ -0,0 +1,245 @@ |
| 1 | + |
|
| 2 | +# indoor-fly-dat |
|
| 3 | + |
|
| 4 | +- [[mobula8-dat]] - [[indoor-fly-PID-tuning-dat]] |
|
| 5 | + |
|
| 6 | +- the way to fly indoor = do not control your throttle, use pitch |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## Motor Output Limit |
|
| 11 | + |
|
| 12 | + |
|
| 13 | +Many pilots set Motor Output Limit around 65–75% for whoops. |
|
| 14 | + |
|
| 15 | +50% is safe if you’re flying indoor cruising / training. |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +✅ Benefits |
|
| 19 | + |
|
| 20 | +Much easier to hover and cruise smoothly indoors. |
|
| 21 | + |
|
| 22 | +Prevents sudden “rocket up” when you accidentally push throttle too much. |
|
| 23 | + |
|
| 24 | +Extends battery life (you don’t spike current as hard). |
|
| 25 | + |
|
| 26 | +Motors run cooler. |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## updates |
|
| 33 | + |
|
| 34 | +- RC smoothing == [PT3 based RC smoothing](https://betaflight.com/docs/wiki/tuning/4-3-Tuning-Notes) |
|
| 35 | + |
|
| 36 | + set rc_smoothing = ON |
|
| 37 | + set rc_smoothing_setpoint_cutoff = 10 |
|
| 38 | + set rc_smoothing_feedforward_cutoff = 10 |
|
| 39 | + |
|
| 40 | +- Random wobbles in HD footage == [PT3 based RC smoothing](https://betaflight.com/docs/wiki/tuning/4-3-Tuning-Notes) |
|
| 41 | + |
|
| 42 | +- turn off air mode indoor |
|
| 43 | + |
|
| 44 | +- airmode strengh = 10 in [[betaflight-PID-dat]] - https://www.youtube.com/shorts/PBAo4fW7DDQ |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +## presents combination test |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +== filters + tune + rates + RC_LINK |
|
| 51 | + |
|
| 52 | + |
|
| 53 | + |
|
| 54 | +### filters |
|
| 55 | + |
|
| 56 | +- [] [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 57 | + |
|
| 58 | +### tune |
|
| 59 | + |
|
| 60 | +- [] [[mobula8-presents-dat]] == default not for indoor fly |
|
| 61 | + |
|
| 62 | +- [] [[uav-tech-tune-cinewhoop-dat]] |
|
| 63 | + |
|
| 64 | +- [] [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 65 | + |
|
| 66 | +- [] [[reddit-cine-present]] |
|
| 67 | + |
|
| 68 | +### rates |
|
| 69 | + |
|
| 70 | +- [] [[uav-tech-rates-dat]] |
|
| 71 | + |
|
| 72 | +- [] [[Chris-Rosser-rates-AOS-dat]] |
|
| 73 | + |
|
| 74 | +### RC_LINK |
|
| 75 | + |
|
| 76 | +- [] [[bf-presents-rc_link-dat]] |
|
| 77 | + |
|
| 78 | +- [] expressLRS 250Hz |
|
| 79 | + |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | +## Mobula8 Betaflight Indoor Setup Guide (Beginner-Friendly) |
|
| 85 | + |
|
| 86 | +### 1. Install and Connect |
|
| 87 | +1. Install [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases) on your PC. |
|
| 88 | +2. Connect Mobula8 via USB. |
|
| 89 | +3. Flash the latest compatible Betaflight firmware for **F4 FC** (Mobula8 usually F4 1S or 2S version). |
|
| 90 | +4. After flashing, reconnect to Betaflight Configurator. |
|
| 91 | + |
|
| 92 | + |
|
| 93 | + |
|
| 94 | +### 2. Ports Tab |
|
| 95 | +- **UART1**: Serial RX (for FrSky or other receiver) |
|
| 96 | +- **UART2**: Blackbox (optional) |
|
| 97 | +- **UART3**: Unused |
|
| 98 | +- Save and reboot. |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 102 | +### 3. Configuration Tab |
|
| 103 | + |
|
| 104 | +- **Mixer**: `Quad X` |
|
| 105 | +- **ESC/Motor protocol**: `DSHOT600` |
|
| 106 | +- **Gyro Update Frequency**: `8 kHz` |
|
| 107 | +- **PID Loop Frequency**: `4 kHz` (smooth indoor flight) |
|
| 108 | +- **Motor Stop**: `ON` |
|
| 109 | +- **Air Mode**: `ON` |
|
| 110 | +- **Small Angle Mode**: `ON` (helps beginner indoor flying) |
|
| 111 | +- **Arming Angle Limit**: `180°` |
|
| 112 | +- **Gyro Lowpass Filter**: default |
|
| 113 | + |
|
| 114 | + |
|
| 115 | + |
|
| 116 | +### 4. Modes Tab |
|
| 117 | +- **ARM**: assign a switch on your transmitter |
|
| 118 | +- **ANGLE / HORIZON Mode**: assign a switch for beginner-friendly flight |
|
| 119 | +- **BEEPER**: assign for lost quad alert |
|
| 120 | + |
|
| 121 | +### 5. PID / Rate Profiles (Indoor Smooth) |
|
| 122 | + |
|
| 123 | + |
|
| 124 | +- Lower **Roll / Pitch / Yaw rates** for smooth, slow indoor flight |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +#### Tune PID* |
|
| 128 | + |
|
| 129 | +- Indoor: **slightly lower P** to avoid twitchy oscillations -- 以避免抖动和震荡 |
|
| 130 | +- Indoor: **keep moderate I** → prevents slow drift without overcompensating -- 防止慢速漂移且不过度补偿 |
|
| 131 | +- Indoor: **lower D** slightly → avoids jitter from small prop wash -- 可减少小范围螺旋桨气流引起的抖动 |
|
| 132 | + |
|
| 133 | +- Start with stock values |
|
| 134 | +- Reduce **P / D** slightly to avoid oscillation |
|
| 135 | +- Test hover → watch for drift or tilt |
|
| 136 | +- Adjust **I term** to reduce slow drift |
|
| 137 | + |
|
| 138 | + |
|
| 139 | +#### Rate Profile: Indoor Smooth |
|
| 140 | + |
|
| 141 | +- RC Rate: 0.60 |
|
| 142 | +- Super Rate: 0.45 |
|
| 143 | +- Expo: 0.30 |
|
| 144 | + |
|
| 145 | +**PID Values** |
|
| 146 | + |
|
| 147 | +ROLL / PITCH P: 38 / I: 40 / D: 18 |
|
| 148 | + |
|
| 149 | +YAW P: 55 / I: 50 / D: 0 |
|
| 150 | + |
|
| 151 | +- Low and soft values for smooth response. |
|
| 152 | +- Adjust slightly if oscillation occurs. |
|
| 153 | +- Lower values = smoother, less twitchy flight. |
|
| 154 | + |
|
| 155 | + |
|
| 156 | + |
|
| 157 | + |
|
| 158 | + |
|
| 159 | +#### 6. Filters Tab |
|
| 160 | + |
|
| 161 | + |
|
| 162 | +→ **Check Filters** |
|
| 163 | +- Low-pass filters reduce high-frequency jitters |
|
| 164 | +- Keep aggressive filtering low to maintain smooth control |
|
| 165 | + |
|
| 166 | +- **Gyro Lowpass / Dynamic Filter**: default |
|
| 167 | +- **Dterm Lowpass**: default |
|
| 168 | +- **Motor Lowpass / Boost**: default |
|
| 169 | +- Avoid aggressive filtering indoors (may introduce lag). |
|
| 170 | + |
|
| 171 | + |
|
| 172 | + |
|
| 173 | +### 7. Receiver Tab |
|
| 174 | +- **Channel Map**: usually `AETR1234` |
|
| 175 | +- Verify RX is responding in real-time graph. |
|
| 176 | +- **Deadband**: 5 (smooth small stick movements) |
|
| 177 | + |
|
| 178 | +### 8. Battery and Power |
|
| 179 | +- Indoor 1S or 2S: use 3.7V–7.4V 300–450mAh LiPo |
|
| 180 | +- Enable **Battery Voltage Monitoring** in Configuration |
|
| 181 | +- Safe cut-off for 1S: 3.5V |
|
| 182 | + |
|
| 183 | +### 9. Motor Test / Prop Safety |
|
| 184 | +- Remove props before testing. |
|
| 185 | +- Test each motor spins in correct direction. |
|
| 186 | +- Reverse motors in Motors tab if needed. |
|
| 187 | + |
|
| 188 | +### 10. Tips for Indoor Flying |
|
| 189 | +- Fly in **ANGLE or HORIZON** mode for smooth control. |
|
| 190 | +- Gentle stick movements only; avoid aggressive flips indoors. |
|
| 191 | +- Lower rates = easier for beginners. |
|
| 192 | +- Slightly increase I term (+5) if drifting too much. |
|
| 193 | + |
|
| 194 | +### 11. Optional Enhancements |
|
| 195 | +- **Blackbox**: record and analyze PID tuning. |
|
| 196 | +- **Battery Beeper**: low voltage alert. |
|
| 197 | +- **LED Strip**: orientation aid indoors. |
|
| 198 | + |
|
| 199 | + |
|
| 200 | +## tune 2 - Indoor Cinematic Whoop PID Tuning |
|
| 201 | + |
|
| 202 | + |
|
| 203 | +| Category | Parameter | Value / Tip | Purpose | |
|
| 204 | +| ------------------ | ----------------- | --------------------------- | ---------------------------- | |
|
| 205 | +| **Basic Setup** | AirMode | Enabled | Control at low throttle | |
|
| 206 | +| | Throttle MID | 0.48–0.52 | Balanced hover | |
|
| 207 | +| | RC Rate | 0.7–0.9 | Smooth stick response | |
|
| 208 | +| | Super Rate | 0.5–0.7 | Prevent overshoot | |
|
| 209 | +| | Expo | 0.2–0.4 | Soft center stick | |
|
| 210 | +| **PID Gains** | P Gains | Slightly lower than stock | Reduce twitchiness | |
|
| 211 | +| | I Gains | Moderate | Correct slow drift | |
|
| 212 | +| | D Gains | Lower than stock | Reduce propwash oscillations | |
|
| 213 | +| | Feedforward (FF) | 0.8–1.0 | Smooth stick response | |
|
| 214 | +| | Master Multiplier | 1.5–1.6 | Global PID/FF scale | |
|
| 215 | +| **Filters & Axis** | Filters | Moderate (dynamic optional) | Reduce propwash | |
|
| 216 | +| | Pitch = Roll | Keep equal | Balanced indoor control | |
|
| 217 | +| | Yaw | Slightly lower rates & D | Smooth cinematic turns | |
|
| 218 | + |
|
| 219 | + |
|
| 220 | + |
|
| 221 | +## Motor Output Limit |
|
| 222 | + |
|
| 223 | + |
|
| 224 | +Many pilots set Motor Output Limit around 65–75% for whoops. |
|
| 225 | + |
|
| 226 | +50% is safe if you’re flying indoor cruising / training. |
|
| 227 | + |
|
| 228 | + |
|
| 229 | +✅ Benefits |
|
| 230 | + |
|
| 231 | +Much easier to hover and cruise smoothly indoors. |
|
| 232 | + |
|
| 233 | +Prevents sudden “rocket up” when you accidentally push throttle too much. |
|
| 234 | + |
|
| 235 | +Extends battery life (you don’t spike current as hard). |
|
| 236 | + |
|
| 237 | +Motors run cooler. |
|
| 238 | + |
|
| 239 | + |
|
| 240 | + |
|
| 241 | +## ref |
|
| 242 | + |
|
| 243 | +- [[betaflight-dat]] |
|
| 244 | + |
|
| 245 | +- [[indoor-fly]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-20-52-07.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-20-52-07.png differ |
Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-20-52-35.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-20-52-35.png differ |
Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-21-03-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/2025-09-12-21-03-05.png differ |
Network-dat/RC-dat/RC-system-dat/heli-configurator-dat/heli-configurator-dat.md
| ... | ... | @@ -0,0 +1,47 @@ |
| 1 | + |
|
| 2 | +# heli-configurator-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## blheli-configurator |
|
| 6 | + |
|
| 7 | +last commit is about 5 years ago |
|
| 8 | + |
|
| 9 | +- no more chrome store |
|
| 10 | + |
|
| 11 | +https://github.com/blheli-configurator/blheli-configurator/releases |
|
| 12 | + |
|
| 13 | +- set ESC motor directions |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## first launch |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## flash |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +## BLHeliSuite32 Rev32.10.0.0 |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +Found no valid ESC configuration: |
|
| 32 | +- ESC# 1: BLHeli/_S 8bit! |
|
| 33 | +- ESC# 2: BLHeli/_S 8bit! |
|
| 34 | +- ESC# 3 : BLHeli/_S 8bit! |
|
| 35 | +- ESC# 4: BLHeli/_S 8bit! |
|
| 36 | + |
|
| 37 | +One or more BLHeli/BLHeli_S 8Bit ESC found. |
|
| 38 | + |
|
| 39 | +BLHeliSuite32 is only intended to be used with BLHeli_32 type ESCs! |
|
| 40 | + |
|
| 41 | +https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +## BLHeliSuite |
|
| 46 | + |
|
| 47 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/flight-controller-dat/2025-05-28-16-21-09.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/2025-05-28-16-21-09.png differ |
Network-dat/RC-dat/flight-controller-dat/CRAZYBEEF4SX1280-dat/CRAZYBEEF4SX1280-dat.md
| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | + |
|
| 2 | +# CRAZYBEEF4SX1280-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +== [[X12-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-36.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-36.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-44.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-44.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-54.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-54.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-52-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-52-03.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-53-21.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-53-21.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-14.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-14.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-23.png
| ... | ... | Binary files /dev/null and b/Network-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-23.png differ |
Network-dat/RC-dat/flight-controller-dat/X12-dat/X12-dat.md
| ... | ... | @@ -0,0 +1,108 @@ |
| 1 | + |
|
| 2 | +# X12-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## X12 ELRS V2.2 |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## Version |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## Info |
|
| 26 | +# X12-dat |
|
| 27 | + |
|
| 28 | +- **Product Name:** X12 AIO 5-IN-1 Flight controller built-in 12A ESC and OPENVTX |
|
| 29 | +- **Brand Name:** Happymodel |
|
| 30 | +- **Overview:** |
|
| 31 | + - The world's first 5-IN-1 AIO flight controller. |
|
| 32 | + - Features OPENVTX (up to 400mW), 12A Brushless Blheli_S ESC, and Betaflight OSD. |
|
| 33 | + - It comes with an onboard SPI ELRS receiver which supports ELRS TX module 2.x firmware. |
|
| 34 | + - It also provides other receiver options like SPI Frsky receiver which support Frsky D8/D16, REDPINE, and SFHSS. |
|
| 35 | + - This is an amazing flight controller for Brushless whoop. You could get unbelievable RX and VTX range by using this flight controller. |
|
| 36 | +- **General Specifications:** |
|
| 37 | + - VTX antenna: U.FL |
|
| 38 | + - Weight: 5.1g |
|
| 39 | + - Size: 30mm*30mm*8mm |
|
| 40 | + |
|
| 41 | +## Flight Controller Details |
|
| 42 | + |
|
| 43 | +- **Betaflight Firmware Targets:** |
|
| 44 | + - ELRS Version: CRAZYBEEF4SX1280 |
|
| 45 | + - FRSKY Version: CRAZYBEEF4FR |
|
| 46 | + - PNP Version: CRAZYBEEF4DX |
|
| 47 | + - LITE Version: CRAZYBEEF4SX1280 |
|
| 48 | +- **Specific Versions & Targets:** |
|
| 49 | + - X12 ELRS V2.0 flight controller built-in ELRS 2.4G receiver Target: CRAZYBEEF4SX1280 |
|
| 50 | + - X12 Frsky V1.0 flight controller built-in FRSKY 2.4G receiver Target: CRAZYBEEF4FR |
|
| 51 | + - X12 PNP V1.0 flight controller without onboard receiver Target: CRAZYBEEF4DX |
|
| 52 | + - X12 LITE V1.0 flight controller built-in ELRS 2.4G receiver Target: CRAZYBEEF4SX1280 |
|
| 53 | +- **MCU:** STM32F411CEU6 (100MHZ, 512K FLASH) |
|
| 54 | +- **Sensor:** MPU6000 or ICM20689 or BMI270 (SPI connection) |
|
| 55 | +- **Mounting hole size:** 25.5mm*25.5mm |
|
| 56 | +- **Power supply:** 1-2S battery input (DC 2.9V-8.7V) |
|
| 57 | +- **Built-in Features:** |
|
| 58 | + - 12A (each) Blheli_S 4in1 ESC |
|
| 59 | + - Betaflight OSD (SPI Control) |
|
| 60 | + - 5.8G OpenVTX (0mW~400mW) |
|
| 61 | + - ExpressLRS 2.4G, Frsky D8/D16 |
|
| 62 | + - Voltage meter sensor (voltage meter scale 110) |
|
| 63 | + - Current meter sensor (current meter scale 470) |
|
| 64 | + |
|
| 65 | +## Onboard 4in1 ESC |
|
| 66 | + |
|
| 67 | +- **Power supply:** 1-2S LiPo/LiPo HV |
|
| 68 | +- **Current:** 12A continuous, peak 15A (3 seconds) |
|
| 69 | +- **Programmability:** Supports BLHeliSuite |
|
| 70 | +- **Factory firmware:** Z_H_30_REV16_7.HEX |
|
| 71 | +- **Default protocol:** DSHOT300 |
|
| 72 | +- **Bluejay Firmware Support:** |
|
| 73 | + - Supports Bluejay firmware. |
|
| 74 | + - When using Bluejay firmware with 48kHz, startup power should be set to 1100/1200. |
|
| 75 | + |
|
| 76 | +## Onboard SPI ExpressLRS 2.4GHz Receiver |
|
| 77 | + |
|
| 78 | +- **Packet Rate options:** 50Hz/150Hz/250Hz/500Hz |
|
| 79 | +- **ExpressLRS Firmware version:** V2.0 |
|
| 80 | +- **RF Frequency:** 2.4GHz |
|
| 81 | +- **Antenna:** SMD antenna |
|
| 82 | +- **Telemetry output Power:** <12dBm |
|
| 83 | +- **Receiver protocol:** SPI ExpressLRS |
|
| 84 | +- **Compatibility:** Compatible with ExpressLRS V2.0 TX Module |
|
| 85 | +- **Firmware Flashing:** Cannot flash ExpressLRS firmware separately. |
|
| 86 | + |
|
| 87 | +## Onboard Frsky SPI D8/D16 Receiver Version |
|
| 88 | + |
|
| 89 | +- **Receiver Type:** SPI BUS receiver |
|
| 90 | +- **RF Chip:** CC2500 RF |
|
| 91 | +- **Compatibility:** Compatible with Non-EU transmitter D8 model |
|
| 92 | +- **Channels:** 8ch |
|
| 93 | +- **Range:** No ground interference (Transmitter and receiver 1m from the ground): 200 meters |
|
| 94 | +- **Failsafe:** Failsafe support |
|
| 95 | +- **Supported Protocols:** Frsky D8/D16, Redpine, SFHSS |
|
| 96 | + |
|
| 97 | +## Onboard 5.8g OPENVTX |
|
| 98 | + |
|
| 99 | +- **Firmware version:** OPENVTX |
|
| 100 | +- **Smartaudio:** v2.1 |
|
| 101 | +- **Modes:** |
|
| 102 | + - PIT Mode support |
|
| 103 | + - RCE Mode support |
|
| 104 | +- **Channels:** 48ch |
|
| 105 | +- **Transmitting Power:** 0/RCE/25mW/100mW/400mW |
|
| 106 | +- **Power supply:** DC 5V |
|
| 107 | +- **Current (5V):** <650mA (at 400mW) |
|
| 108 | +- **Antenna connector:** U.FL |
|
| ... | ... | \ No newline at end of file |
Network-dat/RC-dat/flight-controller-dat/flight-controller-dat.md
| ... | ... | @@ -0,0 +1,31 @@ |
| 1 | + |
|
| 2 | +# flight-controller-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +- **Flight Controller**: The brain of the drone, responsible for stabilizing and controlling the flight. It processes data from sensors and executes commands from the pilot or autopilot system. |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +ALL-in-One Option |
|
| 12 | + |
|
| 13 | +- [[ELRS-dat]] - [[radio-dat]] |
|
| 14 | +- [[Flight-controller-dat]] |
|
| 15 | +- [[ESC-dat]] - [[motor-FPV-dat]] |
|
| 16 | +- [[VTX-dat]] - [[camera-dat]] |
|
| 17 | + |
|
| 18 | +- [[X12-dat]] - [[CRAZYBEEF4SX1280-dat]] |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +## FC AIO = flight controller all in one |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +## ref |
|
| 29 | + |
|
| 30 | +- [[motor-dat]] - [[VTX-dat]] |
|
| 31 | + |
Network-dat/RF-dat/LORA-DAT/2025-06-26-19-16-44.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/2025-06-26-19-16-44.png differ |
Network-dat/RF-dat/LORA-DAT/2025-06-27-13-25-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-25-29.png differ |
Network-dat/RF-dat/LORA-DAT/2025-06-27-13-26-55.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-26-55.png differ |
Network-dat/RF-dat/LORA-DAT/LORA-node-dat/LORA-node-dat.md
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | + |
|
| 2 | +# LORA-node-dat |
|
| 3 | + |
|
| 4 | +- [[sensor-dat]] |
|
| 5 | + |
|
| 6 | +- [[location-dat]] |
|
| 7 | + |
|
| 8 | +Measure, track, and connect == [[lora-node-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## ref |
|
| 12 | + |
|
| 13 | +- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/2025-06-23-18-46-43.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/2025-06-23-18-46-43.png differ |
Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/Lora-SDK-dat.md
| ... | ... | @@ -0,0 +1,217 @@ |
| 1 | +# Lora-SDK-dat |
|
| 2 | + |
|
| 3 | +- [[Lora-HDK-dat]] - [[12P-BTB-dat]] |
|
| 4 | + |
|
| 5 | +## network ID and address |
|
| 6 | + |
|
| 7 | +For LoRa coding, the network ID and address (often called device address or node address) are typically set in the software/firmware of the device, not in the data payload or by hardware switches. |
|
| 8 | + |
|
| 9 | +**LoRaWAN**: The device address (DevAddr), network session keys, and other identifiers are set in the device firmware and used by the LoRaWAN protocol stack. These are not sent in the application data payload; instead, they are part of the protocol headers. |
|
| 10 | + |
|
| 11 | +**Raw LoRa (non-LoRaWAN)**: If you are implementing your own protocol, you can choose to include a node address or network ID in the data payload, or you can set it in the firmware and use it as part of your packet structure. |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## stm32 code |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +Path: The files in LR_driversrc are the LoRa drivers. These drivers are downloaded from Semtech and only modified to adapt to the STM32F103 HAL library; no other changes have been made. |
|
| 19 | + |
|
| 20 | +The sx126xhal.c file is used for direct data interaction and control with the LoRa module. In theory, to port to a new IC, you only need to modify this part. |
|
| 21 | + |
|
| 22 | +Path: The UserConfig.c file in LR_driver is a common file generated when adapting the IC driver. It includes some configurations such as SPI, dio1 pins, etc. Modify it as needed during porting. |
|
| 23 | + |
|
| 24 | +- Core: Core files extracted from the SDK for easier modification |
|
| 25 | +- Driver: User-written peripheral driver files |
|
| 26 | +- LR_driver: LoRa (LLCC68, SX1262 shared) RF driver files, currently downloaded from Semtech's official website |
|
| 27 | +- Main: Main function file and configuration files |
|
| 28 | +- Project: Project files, including target binary files |
|
| 29 | +- queue: This file is a queue SPI interface. Add the path and include it to use. The demo is used for UART data processing |
|
| 30 | +- SDK: CMSIS and HAL libraries, only the used libraries are included. Add other peripheral libraries as needed |
|
| 31 | +- Readme.txt: Project description file |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +## arduino library |
|
| 36 | + |
|
| 37 | +- https://github.com/sandeepmistry/arduino-LoRa |
|
| 38 | + |
|
| 39 | + #else |
|
| 40 | + #define LORA_DEFAULT_SPI SPI |
|
| 41 | + #define LORA_DEFAULT_SPI_FREQUENCY 8E6 |
|
| 42 | + #define LORA_DEFAULT_SS_PIN 10 |
|
| 43 | + #define LORA_DEFAULT_RESET_PIN 9 |
|
| 44 | + #define LORA_DEFAULT_DIO0_PIN 2 |
|
| 45 | + #endif |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +- [[radiohead-dat]] |
|
| 49 | + |
|
| 50 | +- https://jgromes.github.io/RadioLib/ |
|
| 51 | + |
|
| 52 | + // ESP8266 -- [[12P-BTB-dat]] |
|
| 53 | + SX1262 lora = new Module(15, 0, 16); |
|
| 54 | + |
|
| 55 | + |
|
| 56 | +- https://github.com/beegee-tokyo/SX126x-Arduino |
|
| 57 | + |
|
| 58 | + |
|
| 59 | + |
|
| 60 | + #ifdef ESP8266 |
|
| 61 | + // ESP32 - SX126x pin configuration |
|
| 62 | + int PIN_LORA_RESET = 0; // LORA RESET |
|
| 63 | + int PIN_LORA_DIO_1 = 15; // LORA DIO_1 |
|
| 64 | + int PIN_LORA_BUSY = 16; // LORA SPI BUSY |
|
| 65 | + int PIN_LORA_NSS = 2; // LORA SPI CS |
|
| 66 | + int PIN_LORA_SCLK = SCK; // LORA SPI CLK |
|
| 67 | + int PIN_LORA_MISO = MISO; // LORA SPI MISO |
|
| 68 | + int PIN_LORA_MOSI = MOSI; // LORA SPI MOSI |
|
| 69 | + int RADIO_TXEN = -1; // LORA ANTENNA TX ENABLE |
|
| 70 | + int RADIO_RXEN = -1; // LORA ANTENNA RX ENABLE |
|
| 71 | + #endif |
|
| 72 | + |
|
| 73 | + |
|
| 74 | +custom setup |
|
| 75 | + |
|
| 76 | + #ifdef ESP8266 |
|
| 77 | + // ESP8266 - SX126x pin configuration |
|
| 78 | + int PIN_LORA_RESET = -1; // LORA RESET (GPIO 4 / D2) |
|
| 79 | + int PIN_LORA_DIO_1 = 0; // LORA DIO_1 (GPIO 2 / D4) |
|
| 80 | + int PIN_LORA_BUSY = 16; // LORA SPI BUSY (GPIO 5 / D1) |
|
| 81 | + int PIN_LORA_NSS = 15; // LORA SPI CS (GPIO 15 / D8) |
|
| 82 | + int PIN_LORA_SCLK = 14; // LORA SPI CLK (GPIO 14 / D5) |
|
| 83 | + int PIN_LORA_MISO = 12; // LORA SPI MISO (GPIO 12 / D6) |
|
| 84 | + int PIN_LORA_MOSI = 13; // LORA SPI MOSI (GPIO 13 / D7) |
|
| 85 | + int RADIO_TXEN = 5; // LORA ANTENNA TX ENABLE (not used) |
|
| 86 | + int RADIO_RXEN = 4; // LORA ANTENNA RX ENABLE (not used) |
|
| 87 | + #endif |
|
| 88 | + |
|
| 89 | + |
|
| 90 | + // Define LoRa parameters |
|
| 91 | + #define RF_FREQUENCY 916100000 // Hz |
|
| 92 | + #define TX_OUTPUT_POWER 22 // dBm |
|
| 93 | + #define LORA_BANDWIDTH 0 // [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved] |
|
| 94 | + #define LORA_SPREADING_FACTOR 7 // [SF7..SF12] |
|
| 95 | + #define LORA_CODINGRATE 1 // [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] |
|
| 96 | + #define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx |
|
| 97 | + #define LORA_SYMBOL_TIMEOUT 0 // Symbols |
|
| 98 | + #define LORA_FIX_LENGTH_PAYLOAD_ON false |
|
| 99 | + #define LORA_IQ_INVERSION_ON false |
|
| 100 | + #define RX_TIMEOUT_VALUE 3000 |
|
| 101 | + #define TX_TIMEOUT_VALUE 5000 |
|
| 102 | + |
|
| 103 | + |
|
| 104 | + SDK:2.2.2-dev(38a443e)/Core:3.1.2=30102000/lwIP:STABLE-2_1_3_RELEASE/glue:1.2-65-g06164fb/BearSSL:b024386 |
|
| 105 | + ===================================== |
|
| 106 | + SX126x PingPong test |
|
| 107 | + ===================================== |
|
| 108 | + BoardId: 00-0A-04-4D-00-0A-04-4D |
|
| 109 | + Starting lora_hardware_init |
|
| 110 | + LoRa init success |
|
| 111 | + |
|
| 112 | + |
|
| 113 | + |
|
| 114 | +- [[FreeRTOS-dat]] |
|
| 115 | + |
|
| 116 | + |
|
| 117 | +- [Single Channel LoRaWAN Gateway == SX1262-SC-GW](https://github.com/beegee-tokyo/SX1262-SC-GW) |
|
| 118 | + |
|
| 119 | + |
|
| 120 | + |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + |
|
| 124 | +## code repro |
|
| 125 | + |
|
| 126 | +- info for EE22, EE32, EE2 == https://github.com/Edragon/lora |
|
| 127 | +- lora2 designs == https://github.com/Edragon/Lora2 |
|
| 128 | +- https://github.com/Edragon/alios-asr-lora |
|
| 129 | +- E:\Git-category\git-lora |
|
| 130 | + |
|
| 131 | + |
|
| 132 | +## Config |
|
| 133 | + |
|
| 134 | +### STM32 code |
|
| 135 | + |
|
| 136 | + sx126x_mod_params_lora_t params; |
|
| 137 | + params.bw = SX126X_LORA_BW_125; // Set bandwidth to 125 kHz |
|
| 138 | + params.sf = SX126X_LORA_SF9; // Set spreading factor to 9 |
|
| 139 | + params.cr = SX126X_LORA_CR_4_6; // Set coding rate to 4/6 |
|
| 140 | + params.ldro = 0x00; // Low Data Rate Optimization disabled |
|
| 141 | + sx126x_set_lora_mod_params(NULL, ¶ms); // Apply these parameters to the radio |
|
| 142 | + |
|
| 143 | +### arduino sandeepmistry/arduino-LoRa Config |
|
| 144 | + |
|
| 145 | + LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin |
|
| 146 | + |
|
| 147 | + if (!LoRa.begin(915E6)) { // initialize ratio at 915 MHz |
|
| 148 | + Serial.println("LoRa init failed. Check your connections."); |
|
| 149 | + while (true); // if failed, do nothing |
|
| 150 | + } |
|
| 151 | + |
|
| 152 | + LoRa.setSignalBandwidth(125E3); |
|
| 153 | + LoRa.setSpreadingFactor(9); // ranges from 6-12,default 7 see API docs |
|
| 154 | + LoRa.setCodingRate4(4/6); |
|
| 155 | + |
|
| 156 | + |
|
| 157 | + |
|
| 158 | +## lora encrpytion |
|
| 159 | + |
|
| 160 | +- [[encryption-dat]] |
|
| 161 | + |
|
| 162 | +To encrypt data for LoRa by coding, you typically use a symmetric encryption algorithm like AES before sending the data. Here’s a general approach: |
|
| 163 | + |
|
| 164 | +1. Choose an Encryption Library |
|
| 165 | + |
|
| 166 | +Most platforms (Arduino, STM32, Raspberry Pi, etc.) have AES libraries available. For example, on Arduino you can use [AESLib](https://github.com/DavyLandman/AESLib). |
|
| 167 | + |
|
| 168 | +2. Encrypt Data Before Sending |
|
| 169 | + |
|
| 170 | +Encrypt your payload before passing it to the LoRa send function. |
|
| 171 | + |
|
| 172 | +Example (Arduino, using AESLib): |
|
| 173 | + |
|
| 174 | + #include <AESLib.h> |
|
| 175 | + |
|
| 176 | + AESLib aesLib; |
|
| 177 | + |
|
| 178 | + byte aes_key[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
|
| 179 | + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }; // 16 bytes key |
|
| 180 | + |
|
| 181 | + char plainText[] = "Hello, LoRa!"; |
|
| 182 | + byte encrypted[32]; |
|
| 183 | + |
|
| 184 | + int dataLen = strlen(plainText); |
|
| 185 | + int encLen = aesLib.encrypt((byte*)plainText, dataLen, encrypted, aes_key, 128); |
|
| 186 | + |
|
| 187 | + LoRa.beginPacket(); |
|
| 188 | + LoRa.write(encrypted, encLen); |
|
| 189 | + LoRa.endPacket(); |
|
| 190 | + |
|
| 191 | +3. Decrypt on Receiver Side |
|
| 192 | + |
|
| 193 | +On the receiver, use the same key to decrypt the received data. |
|
| 194 | + |
|
| 195 | +Example (Arduino, using AESLib): |
|
| 196 | + |
|
| 197 | + byte decrypted[32]; |
|
| 198 | + int decLen = aesLib.decrypt(receivedData, receivedLen, decrypted, aes_key, 128); |
|
| 199 | + // Now 'decrypted' contains your original message |
|
| 200 | + |
|
| 201 | + |
|
| 202 | +### Notes |
|
| 203 | + |
|
| 204 | +- Key Management: Both sender and receiver must use the same key. |
|
| 205 | +- LoRaWAN: If you use LoRaWAN, encryption is handled by the protocol stack automatically. |
|
| 206 | +- Raw LoRa: You must implement encryption/decryption yourself as shown above. |
|
| 207 | + |
|
| 208 | + |
|
| 209 | + |
|
| 210 | + |
|
| 211 | +## ref |
|
| 212 | + |
|
| 213 | +- [[arduino-ide-dat]] |
|
| 214 | + |
|
| 215 | +- [[lora-dat]] - [[lora-HDK-dat]] - [[lora-SDK-dat]] |
|
| 216 | + |
|
| 217 | +- [[RAKwireless-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/LORA-DAT/Lora-dat.md
| ... | ... | @@ -0,0 +1,207 @@ |
| 1 | +# lora-dat |
|
| 2 | + |
|
| 3 | +- [[lora-hdk-dat]] - [[Lora-SDK-dat]] |
|
| 4 | + |
|
| 5 | +legacy wiki page |
|
| 6 | +- https://w.electrodragon.com/w/Lora_Tech |
|
| 7 | +- https://www.electrodragon.com/w/Category:Wireless |
|
| 8 | + |
|
| 9 | +AIT lora |
|
| 10 | +- https://w.electrodragon.com/w/AIT_LORA_MOD |
|
| 11 | + |
|
| 12 | +- [[lorawan-dat]] - [[LORA-node-dat]] |
|
| 13 | + |
|
| 14 | +- [[samtech-dat]] |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## Board |
|
| 18 | + |
|
| 19 | +- [[arduino-dat]] == [[DVA1007-dat]] - [[DVA1008-dat]] - [[loraduino-dat]] == [[lora-node-dat]] |
|
| 20 | + |
|
| 21 | +- [[DAS1069-dat]] |
|
| 22 | + |
|
| 23 | +- [[MPC1056-dat]] |
|
| 24 | + |
|
| 25 | +- [[NWL1103-dat]] - [[LLCC68-dat]] |
|
| 26 | + |
|
| 27 | +- [[DAS1069-dat]] - [[ESP8266-dat]] - [[LORA-dat]] - [[arduino-shields-dat]] |
|
| 28 | + |
|
| 29 | +- [[NWL1071-dat]] - [[NWL1072-dat]] |
|
| 30 | + |
|
| 31 | +- [[NWL1074-dat]] - [[NWL1075-dat]] - [[NWL1077-dat]] |
|
| 32 | + |
|
| 33 | +## Info |
|
| 34 | + |
|
| 35 | +- LoRa is the physical layer or in simple words is the modulation, the modem or radio, the hardware. |
|
| 36 | +- [[LoRaWAN-dat]] is the network protocol or architecture that works on LoRa. |
|
| 37 | + |
|
| 38 | +### Lora |
|
| 39 | + |
|
| 40 | +LoRa ™ is a long-range radio technology "Lo ng- Ra nge" its main features: |
|
| 41 | + |
|
| 42 | +- Its spread spectrum modulation allows a significantly greater scope to other technologies. |
|
| 43 | +- High sensitivity (-168dB) combined with high immunity to interference. |
|
| 44 | +- Low Consumption (up to 10 years with a battery, good depends on certain characteristics). |
|
| 45 | +- Low data transfer (up to 255 bytes). |
|
| 46 | + |
|
| 47 | +- [[networking-dat]] - [[encryption-dat]] |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +[[Semtech-dat]] LoRa is a long-range, low-power wireless platform for IoT, generally referring to RF chips using LoRa technology. Its main features are as follows: |
|
| 51 | + |
|
| 52 | +LoRa (short for "long range") uses spread spectrum modulation technology derived from Chirp Spread Spectrum (CSS). It is a type of long-distance wireless transmission and LPWAN communication technology. Spread spectrum technology trades bandwidth for sensitivity; Wi-Fi, ZigBee, and others also use spread spectrum, but LoRa modulation is close to the Shannon limit, maximizing sensitivity. |
|
| 53 | + |
|
| 54 | +Compared to traditional [[FSK-dat]] technology, **at the same data rate, LoRa is 8~12dBm more sensitive than FSK**. |
|
| 55 | + |
|
| 56 | +Currently, LoRa mainly operates in the sub-GHz ISM band. |
|
| 57 | + |
|
| 58 | +LoRa technology integrates digital spread spectrum, digital signal processing, and forward error correction coding, greatly improving long-distance communication performance. |
|
| 59 | + |
|
| 60 | +LoRa’s link budget is superior to any other standardized communication technology. Link budget refers to the main factor determining distance in a given environment. |
|
| 61 | + |
|
| 62 | +The main LoRa RF chips are the SX127X series, SX126X series, and SX130X series. The SX127X and SX126X series are used for LoRa nodes, while the SX130X is used for LoRa gateways. For details, refer to Semtech’s product list. |
|
| 63 | + |
|
| 64 | +### Lora Tech |
|
| 65 | + |
|
| 66 | +- [[RSSI-dat]] |
|
| 67 | + |
|
| 68 | +frequency hopping, spread spectrum, and other technologies are used to improve anti-interference and anti-collision capabilities. |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +- [[low-power-dat]] == LORA CAD Mode |
|
| 73 | + |
|
| 74 | +Flexible configuration |
|
| 75 | + |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +#### LBT |
|
| 81 | + |
|
| 82 | +The module actively monitors channel environmental noise before transmitting. If the noise exceeds a threshold, transmission is delayed. |
|
| 83 | + |
|
| 84 | +This feature improves communication success in harsh environments and can be used for networking and collision avoidance. |
|
| 85 | + |
|
| 86 | + |
|
| 87 | + |
|
| 88 | + |
|
| 89 | + |
|
| 90 | + |
|
| 91 | +## Module |
|
| 92 | + |
|
| 93 | +### EE1 - common series |
|
| 94 | +[[NWL1071-dat]] - [[NWL1072-dat]] |
|
| 95 | + |
|
| 96 | +### classic |
|
| 97 | +HPD Series - [[NWL1074-dat]] - [[NWL1075-dat]] - [[NWL1077-dat]] |
|
| 98 | + |
|
| 99 | +### high power lora series |
|
| 100 | +- [[EE2-dat]] - [[NWL1078-dat]] - [[NWL1081-dat]] - [[NWL1079-dat]] |
|
| 101 | +- antenna connection type = 内孔 = internal hole |
|
| 102 | + |
|
| 103 | +## Chip |
|
| 104 | + |
|
| 105 | +- [[semtech-dat]] - [[sx1262-dat]] - [[LLCC68-dat]] - [[SX1278-dat]] - [[SX1268-dat]] |
|
| 106 | + |
|
| 107 | +- [[ASR6500-dat]] - [[ASR-dat]] |
|
| 108 | + |
|
| 109 | + |
|
| 110 | +- [[crystal-dat]] |
|
| 111 | + |
|
| 112 | +- [[PAN3031-dat]] |
|
| 113 | + |
|
| 114 | + |
|
| 115 | +## lora power and tranmission |
|
| 116 | + |
|
| 117 | +| dbm | mW | range (km) | range (miles) | |
|
| 118 | +| ------ | ---- | ---------- | ------------- | |
|
| 119 | +| 30 dbm | 5000 | 10 | 6.2 | |
|
| 120 | +| 22 dbm | 500 | 5 | 3.1 | |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + |
|
| 124 | +## lora APP |
|
| 125 | + |
|
| 126 | +- USB + Lora = [[Lora-USB-dat]] |
|
| 127 | +- [[loraduino-dat]] |
|
| 128 | + |
|
| 129 | + |
|
| 130 | +LoRa devices and networks (such as LoRaWAN) enable smart IoT applications to help address major global challenges like energy management, depletion of natural resources, pollution control, infrastructure efficiency, and disaster prevention. Semtech’s LoRa devices have achieved hundreds of successful application cases in smart cities, homes and buildings, communities, metering, supply chain and logistics, agriculture, and more. LoRa networks now cover hundreds of millions of devices in over 100 countries/regions, aiming to create a smarter planet. |
|
| 131 | + |
|
| 132 | +## lora frequency |
|
| 133 | + |
|
| 134 | +| Version | Frequency Range | Applicable Regions | |
|
| 135 | +| ------- | --------------- | ------------------------ | |
|
| 136 | +| HF | 850~930 MHz | Europe, America, Oceania | |
|
| 137 | +| LF | 410~510 MHz | Asia, Europe | |
|
| 138 | + |
|
| 139 | +LoRa工作在不同地区的频段范围如下: |
|
| 140 | + |
|
| 141 | +- 中国:470mhz |
|
| 142 | +- 美国:902-928mhz |
|
| 143 | +- 印度:865-867MHz |
|
| 144 | +- 欧洲:863-870/873MHz |
|
| 145 | +- 澳大利亚:915MHz |
|
| 146 | +- 韩国:920-923MHz |
|
| 147 | +- 部分亚洲地区:923MHz |
|
| 148 | + |
|
| 149 | + |
|
| 150 | +## common configuration |
|
| 151 | + |
|
| 152 | +| Parameter Name | Default Value | Optional Values / Range | |
|
| 153 | +| ------------------------ | ----------------- | ---------------------------------------------- | |
|
| 154 | +| Spreading Factor | 7 | 7~12 | |
|
| 155 | +| Bandwidth | 0: 125KHz | 1: 250KHz, 2: 500KHz | |
|
| 156 | +| Coding Rate | 4/5 | 4/5, 4/6, 4/7, 4/8 | |
|
| 157 | +| Transmit Power | 22dBm | 10~22dBm | |
|
| 158 | +| **Network ID** | 0 | 0~255 | |
|
| 159 | +| LBT (Listen Before Talk) | 0: Disabled | 1: Enabled | |
|
| 160 | +| **Working Mode** | 1: Stream Mode | 2: Packet Mode, 3: Relay Mode | |
|
| 161 | +| **TX Channel (HF)** | 18 (868MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 162 | +| **TX Channel (LF)** | 23 (433MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 163 | +| **RX Channel (HF)** | 18 (868MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 164 | +| **RX Channel (LF)** | 23 (433MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 165 | +| **Address** | 0 | 0~65535 (65535 is broadcast listening address) | |
|
| 166 | +| Interface Selection | 3: RS232 | 1: RS422, 2: RS485, 3: RS232 | |
|
| 167 | +| Interface Baud Rate | 115200bps | 1200~115200bps | |
|
| 168 | +| Interface Parity | None | None, Odd, Even | |
|
| 169 | +| Key | 0 (No encryption) | 0~65535 | |
|
| 170 | + |
|
| 171 | + |
|
| 172 | +## museum module |
|
| 173 | + |
|
| 174 | +- [[RFM92-dat]] |
|
| 175 | + |
|
| 176 | + |
|
| 177 | +## demo code |
|
| 178 | + |
|
| 179 | +https://github.com/Edragon/lora |
|
| 180 | + |
|
| 181 | +third party |
|
| 182 | + |
|
| 183 | +https://github.com/Edragon/alios-asr-lora |
|
| 184 | + |
|
| 185 | +https://github.com/dragino/Lora |
|
| 186 | + |
|
| 187 | + |
|
| 188 | + |
|
| 189 | + |
|
| 190 | +## ref |
|
| 191 | + |
|
| 192 | +- [[DTU-dat]] |
|
| 193 | + |
|
| 194 | +- [[meshtastic-dat]] - [[opensource-dat]] |
|
| 195 | + |
|
| 196 | +https://randomnerdtutorials.com/esp32-lora-rfm95-transceiver-arduino-ide/ |
|
| 197 | + |
|
| 198 | +- [[RFM95-dat]] |
|
| 199 | + |
|
| 200 | +- [[crystal-dat]] |
|
| 201 | + |
|
| 202 | +- [[frequency-dat]] |
|
| 203 | + |
|
| 204 | +- [[lora]] - [[USB-lora]] |
|
| 205 | + |
|
| 206 | + |
|
| 207 | + |
Network-dat/RF-dat/LORA-DAT/RFM95-dat/2024-11-19-17-36-52.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/RFM95-dat/2024-11-19-17-36-52.png differ |
Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# RFM95-dat |
|
| 3 | + |
|
| 4 | +- RFM92 |
|
| 5 | +- RFM93 |
|
| 6 | +- RFM95 |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +- datasheet - [[RFM95_96_97_98W.pdf]] |
|
| 11 | + |
|
| 12 | +## pin Diagram |
|
| 13 | + |
|
| 14 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95_96_97_98W.pdf
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95_96_97_98W.pdf differ |
Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-17-59-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-17-59-05.png differ |
Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-15-55.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-15-55.png differ |
Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-19-02.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-19-02.png differ |
Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/lora-hdk-dat.md
| ... | ... | @@ -0,0 +1,62 @@ |
| 1 | + |
|
| 2 | +# lora-hdk-dat |
|
| 3 | + |
|
| 4 | +- [[LORA-HDK-dat]] - [[SX1262-MD1-dat]] - [[SX1262-HDK-dat]] - [[SX1262-dat]] |
|
| 5 | + |
|
| 6 | +- [[lora-SDK-dat]] |
|
| 7 | + |
|
| 8 | +- [[LNA-dat]] - [[rf-switch-dat]] |
|
| 9 | + |
|
| 10 | +## Dev board SCH |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## 2025 [[SX1262-dat]] with [[STM32-dat]] - [[STM32-HDK-dat]] |
|
| 15 | + |
|
| 16 | +- [[STM32-HDK-dat]] |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +- [[auto-serial-dat]] |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## 2022 RFM92 with [[atmega328-dat]] |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +## RFM92 with [[RPI-dat]] |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | + |
|
| 33 | +## wiring to ESP32 |
|
| 34 | + |
|
| 35 | +| Lora Module | ESP32 | |
|
| 36 | +| ----------- | ------- | |
|
| 37 | +| ANA | Antenna | |
|
| 38 | +| GND | GND | |
|
| 39 | +| DIO3 | - | |
|
| 40 | +| DIO4 | - | |
|
| 41 | +| 3.3V | 3.3V | |
|
| 42 | +| DIO0 | IO 2 | |
|
| 43 | +| DIO1 | - | |
|
| 44 | +| DIO2 | - | |
|
| 45 | +| GND | - | |
|
| 46 | +| DIO5 | - | |
|
| 47 | +| RESET | IO 14 | |
|
| 48 | +| NSS | IO 5 | |
|
| 49 | +| SCK | IO 18 | |
|
| 50 | +| MOSI | IO 23 | |
|
| 51 | +| MISO | IO 19 | |
|
| 52 | +| GND | - | |
|
| 53 | + |
|
| 54 | +- based on [[ESP32-SPI-dat]] |
|
| 55 | + |
|
| 56 | + |
|
| 57 | + |
|
| 58 | +## |
|
| 59 | + |
|
| 60 | +## ref |
|
| 61 | + |
|
| 62 | +- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-22-12.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-22-12.png differ |
Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-23-18.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-23-18.png differ |
Network-dat/RF-dat/LORA-DAT/lorawan-dat/lorawan-dat.md
| ... | ... | @@ -0,0 +1,47 @@ |
| 1 | + |
|
| 2 | +# lorawan-dat |
|
| 3 | + |
|
| 4 | +# LoRaWAN Technology Explained |
|
| 5 | + |
|
| 6 | +LoRaWAN (Long Range Wide Area Network) is a wireless communication technology designed for low-power devices to send small amounts of data over long distances. It is mainly used for IoT (Internet of Things) applications, like smart agriculture, smart cities, and industrial monitoring. |
|
| 7 | + |
|
| 8 | +## Key Features |
|
| 9 | + |
|
| 10 | +- **Long Range**: Can transmit data up to 10–15 km in rural areas and 2–5 km in cities. |
|
| 11 | +- **Low Power**: Devices can run for years on small batteries. |
|
| 12 | +- **Low Data Rate**: Best for sending small packets of data (e.g., sensor readings). |
|
| 13 | +- **License-Free Bands**: Uses unlicensed radio frequencies (e.g., 868 MHz in Europe, 915 MHz in the U.S.). |
|
| 14 | +- **Star Network Topology**: Devices communicate with gateways, which forward data to a central server. |
|
| 15 | + |
|
| 16 | +## Common Applications |
|
| 17 | + |
|
| 18 | +- **Smart Agriculture**: Monitoring soil moisture, weather conditions, and livestock tracking. |
|
| 19 | +- **Smart Cities**: Managing streetlights, parking spaces, and waste collection. |
|
| 20 | +- **Industrial IoT**: Equipment monitoring, predictive maintenance, and asset tracking. |
|
| 21 | +- **Environmental Monitoring**: Tracking air quality, water levels, and weather conditions. |
|
| 22 | + |
|
| 23 | +LoRaWAN is widely used because of its long-range, low-power, and cost-effective connectivity for IoT devices. |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +What is LoRaWAN? |
|
| 27 | + |
|
| 28 | +LoRaWAN is an open low-power wide-area network protocol built on LoRa radio modulation technology. It is designed to wirelessly connect battery-powered "things" to the Internet in regional, national, or global networks, and addresses key IoT (Internet of Things) requirements such as bidirectional communication, end-to-end security, mobility, and localization services. Nodes connect wirelessly to the Internet with network authentication, essentially establishing an encrypted communication channel between the node and the server. The protocol stack of LoRaWAN is shown in the diagram below. |
|
| 29 | + |
|
| 30 | +- The MAC layer includes three types of node devices: Class A/B/C, which basically cover all IoT application scenarios. The main difference between them is the timing of node transmission and reception. |
|
| 31 | +- The Modulation layer includes EU868, AS430, etc., indicating that different countries use different frequency band parameters. For regional parameters, please refer to the reference link. |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +To achieve LoRaWAN network coverage in a city or other area, four components are required: nodes (LoRa node RF chips), gateways (also called base stations, LoRa gateway RF chips), servers, and the cloud, as shown in the diagram below. |
|
| 36 | + |
|
| 37 | +- DEVICE (node device) must first send a network join request packet to the GATEWAY (gateway), then to the server. Only after authentication can it normally send and receive application data with the server. |
|
| 38 | +- GATEWAY (gateway) can communicate with the server via wired networks or 3/4/5G wireless networks. |
|
| 39 | +- Main server operators include TTN, etc. For self-hosted cloud services, please refer to lorawan-stack and chirpstack. |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +## ref |
|
| 46 | + |
|
| 47 | +- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/RF-2.4Ghz-dat/RF-2.4Ghz-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# RF-2.4Ghz-dat |
|
| 3 | + |
|
| 4 | +- [[NRF52832-dat]] - [[NRF52840-dat]] |
|
| 5 | + |
|
| 6 | +- [[MCU-dat]] |
|
| 7 | + |
|
| 8 | +- [[MD7105-dat]] |
|
| 9 | + |
|
| 10 | +- [[A7105-dat]] - [[NWL1058-dat]] |
|
| 11 | + |
|
| 12 | +- [[NRF24L01-dat]] - [[NRF24L01-clone-dat]] |
|
| 13 | + |
|
| 14 | +- [[LT8920-dat]] - [[CIC1064-dat]] |
|
| 15 | + |
|
| 16 | +- [[CC2530-dat]] |
|
| 17 | + |
|
| 18 | +- [[JDY-40-dat]] |
|
| 19 | + |
|
| 20 | +- LC-12S |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +## ref |
|
| 28 | + |
|
| 29 | +- [[RF-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/RF-5.8Ghz-dat/RF-5.8Ghz-dat.md
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + |
|
| 2 | +# 5.8Ghz-dat |
|
| 3 | + |
|
| 4 | +What is 5.8GHz commonly used for? |
|
| 5 | + |
|
| 6 | +- FPV analog video (VTX) 🖥️ |
|
| 7 | +- Digital video (e.g. DJI FPV Air Unit, HDZero) |
|
| 8 | +- Wi-Fi (802.11ac/n) |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/RF-DAT.md
| ... | ... | @@ -0,0 +1,70 @@ |
| 1 | + |
|
| 2 | +# RF-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +- [[CRSF-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## chips |
|
| 10 | + |
|
| 11 | +Sub-1GHz |
|
| 12 | +- [[RF905-DAT]] - [[CC1101-DAT]] - [[SI4432-DAT]] - [[SI4463-DAT]] - [[Lora-dat]] |
|
| 13 | + |
|
| 14 | +2.4Ghz |
|
| 15 | + |
|
| 16 | +- [[NRF24L01]] |
|
| 17 | + |
|
| 18 | +- [[LT8920-dat]] |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## Boards |
|
| 25 | + |
|
| 26 | +- [[NWL1089-dat]] - [[NWL1070-dat]] - [[NWL1068-dat]] |
|
| 27 | + |
|
| 28 | +- [[CIC1064-dat]] |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## antenna |
|
| 33 | + |
|
| 34 | +- [[antenna-dat]] |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | +## Network |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +### UHF |
|
| 43 | +UHF is a range of radio waves which allows a radio or television receiver to produce a good quality of sound. UHF is an abbreviation for 'ultra-high frequency'. |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +Ultra high frequency (UHF) is the ITU designation for radio frequencies in the range between 300 megahertz (MHz) and 3 gigahertz (GHz), also known as the decimetre band as the wavelengths range from one meter to one tenth of a meter (one decimeter). |
|
| 47 | + |
|
| 48 | +Radio waves with frequencies above the UHF band fall into the super-high frequency (SHF) or microwave frequency range. |
|
| 49 | + |
|
| 50 | +Lower frequency signals fall into the VHF (very high frequency) or lower bands. |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +### DMR Radio |
|
| 54 | + |
|
| 55 | +Digital Mobile Radio (DMR) is a digital radio standard that allows for two-way radios to work together on the same network. |
|
| 56 | + |
|
| 57 | +The European Telecommunications Standards Institute (ETSI) created DMR in 2005. DMR equipment works between 30 MHz and 1000 MHz, with two categories of frequencies: |
|
| 58 | +- Very High Frequency (VHF): 30 MHz to 300 MHz |
|
| 59 | +- Ultra High Frequency (UHF): 300 MHz to 1 GHz |
|
| 60 | + |
|
| 61 | +DMR is a TDMA mode (Time Division Multiple Access) that allows multiple users to share a frequency channel by dividing the signal into different time slots. DMR can cover distances ranging from a few hundred meters in indoor settings to several kilometers in outdoor environments. |
|
| 62 | + |
|
| 63 | +When buying a DMR radio, you can consider things like: Battery life, Power output, Range, License. |
|
| 64 | + |
|
| 65 | +Programming DMR radios can be complex, so it may be helpful to get sample codeplugs from a local club to get started. |
|
| 66 | + |
|
| 67 | + |
|
| 68 | +### REF |
|
| 69 | + |
|
| 70 | +- [[RF]] - [[rf-voice]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-15-27.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-15-27.png differ |
Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-19-01.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-19-01.png differ |
Network-dat/RF-dat/RF-LINK-dat/2025-07-08-13-40-47.png
| ... | ... | Binary files /dev/null and b/Network-dat/RF-dat/RF-LINK-dat/2025-07-08-13-40-47.png differ |
Network-dat/RF-dat/RF-LINK-dat/RF-LINK-dat.md
| ... | ... | @@ -0,0 +1,265 @@ |
| 1 | + |
|
| 2 | +# RF-LINK-dat |
|
| 3 | + |
|
| 4 | +- [more info please find at legacy wiki page](https://w.electrodragon.com/w/Category:RF-Link) |
|
| 5 | + |
|
| 6 | +[legacy wiki page 2](https://www.electrodragon.com/w/Category:Wireless) |
|
| 7 | + |
|
| 8 | +- [[RF-Modulation-dat]] |
|
| 9 | + |
|
| 10 | +- learning code RF link, rolling code RF link, fixed code RF link, etc. |
|
| 11 | + |
|
| 12 | +## products |
|
| 13 | + |
|
| 14 | +- [[NWL1016-dat]] - [[NWL1017-dat]] |
|
| 15 | + |
|
| 16 | +https://www.electrodragon.com/product/433m-rf-wireless-module-a-pair-of-receiver-and-transmitter/ |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +Clasic RF LINK |
|
| 20 | + |
|
| 21 | +- [[NWL1021-dat]] - [[NWL1022-dat]] |
|
| 22 | + |
|
| 23 | +- [[NWL1026-dat]] - [[NWL1027-dat]] |
|
| 24 | + |
|
| 25 | +## Transmitter == Sender |
|
| 26 | + |
|
| 27 | +- [[NWL1007-dat]] - [[NWL1008-dat]] |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## Receiver == EDRF1 and EDRF2 Decoder |
|
| 33 | + |
|
| 34 | +- [[NWL1089-dat]] == EDRF1 |
|
| 35 | + |
|
| 36 | +- [[NWL1068-dat]] / [[NWL1070-dat]] == EDRF2 |
|
| 37 | + |
|
| 38 | +### snap button |
|
| 39 | + |
|
| 40 | +- [[NRF1003-dat]] == https://www.electrodragon.com/product/press-button-round-rf-ask-transmitter-433mhz-w-adhesive/ |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +## APP |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +### RF-LINK relay |
|
| 49 | + |
|
| 50 | +[[SCU1001-dat]] == https://www.electrodragon.com/product/wireless-relay-kit-learning-code/ |
|
| 51 | + |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | +## tech |
|
| 56 | + |
|
| 57 | +Manchester encoding |
|
| 58 | + |
|
| 59 | +- [[PT2262-dat]] - [[PT2272-dat]] - [[EV1527-dat]] |
|
| 60 | + |
|
| 61 | +learning code |
|
| 62 | + |
|
| 63 | +fixed (welding code) code |
|
| 64 | + |
|
| 65 | +- [[rolling-code-dat]] - [[rolling-code-encoder-dat]] - [[rolling-code-decoder-dat]] |
|
| 66 | + |
|
| 67 | +## working mode |
|
| 68 | + |
|
| 69 | +### Jog (M4) Single Working Mode Description: |
|
| 70 | + |
|
| 71 | +When the transmitter button is pressed, the corresponding channel outputs a high level. When the button is released, it returns to a low level, with a VT (valid transmission) pulse output. |
|
| 72 | +Example: If button A has been learned by channel D0, pressing button A will make channel D0 output a high level; releasing the button will return it to a low level. Other channels are not affected. |
|
| 73 | + |
|
| 74 | +### Interlock (H4) |
|
| 75 | + |
|
| 76 | +When a valid signal is received, the corresponding output channel toggles its state: |
|
| 77 | +If it was previously high, it becomes low; if it was low, it becomes high. |
|
| 78 | + |
|
| 79 | +### Self-lock (T4) |
|
| 80 | + |
|
| 81 | +When a valid signal is received, the corresponding output channel turns on, and all other channels turn off. Signal indication: |
|
| 82 | +When a valid signal is present, VT outputs a high level; when the valid signal disappears, VT outputs a low level. |
|
| 83 | + |
|
| 84 | + |
|
| 85 | +## Common Pairing 1 |
|
| 86 | + |
|
| 87 | +### Pairing Method 1 (board with learning button) |
|
| 88 | + |
|
| 89 | +Press the button on the receiver board and release it when the indicator light turns on; this means it has entered learning mode. |
|
| 90 | + |
|
| 91 | +Then, press any button on the remote control to transmit. If the indicator light on the receiver board flashes, pairing is successful, and the output pins are matched accordingly. Exit learning mode. |
|
| 92 | + |
|
| 93 | +Note: |
|
| 94 | + |
|
| 95 | +You only need to pair one button; the other buttons will also be paired and matched to their corresponding output pins. There is no need to pair each button individually. |
|
| 96 | + |
|
| 97 | +清码方法: |
|
| 98 | + |
|
| 99 | +持续按住学习键,指示灯会常亮,按住不放大约8秒后指示灯熄灭,表示代码已全部清除成功。 |
|
| 100 | + |
|
| 101 | + |
|
| 102 | +### Pairing Method 2 (board without learning button) |
|
| 103 | + |
|
| 104 | +1. Remote control button learning identification and control channel setting: |
|
| 105 | + |
|
| 106 | +- Within 6 seconds of module power-on, long press the button you want to learn for more than 2 seconds, until the learning indicator light flashes twice quickly - this indicates successful button learning. Then within 6 seconds after this button learning success, |
|
| 107 | +- Press this button different numbers of times to set control for different channels: |
|
| 108 | + - If this button is pressed once (learning indicator flashes once), this button controls D0 channel; |
|
| 109 | + - If pressed twice (learning indicator flashes twice), this button controls D1 channel; |
|
| 110 | + - If pressed 3 times (learning indicator flashes 3 times), this button controls D2 channel; |
|
| 111 | + - If pressed 4 times or more than 4 times (learning indicator flashes 4 times), this button controls D3 channel; |
|
| 112 | +- According to your needs, after pressing the corresponding number of times, long press this button again (about 0.5 seconds, as confirmation signal) until the indicator light flashes twice - this indicates successful setting; |
|
| 113 | +- At this point you can immediately proceed to learn and set the next button's identification and control channel; if no operation is performed, it will automatically exit learning mode after 6 seconds; |
|
| 114 | + |
|
| 115 | +Example: To set remote control button A to control D3 channel, the learning setup process is as follows: |
|
| 116 | +- Within 6 seconds of chip power-on, long press button A until the learning indicator flashes twice - button learning is successful, |
|
| 117 | +- Immediately within the following 6 seconds, press button A 4 times (learning indicator flashes 4 times), |
|
| 118 | +- Long press button A once more until the learning indicator flashes twice for confirmation - channel setting is successful; |
|
| 119 | + |
|
| 120 | +2. Clear remote control codes |
|
| 121 | + |
|
| 122 | +EDRF can store up to 32 remote control buttons (each channel can learn and identify 8 buttons, 4 channels total 32 buttons); when each channel exceeds 8 buttons, the first learned button code will be overwritten; The method to clear button codes is: long press the learned button before module power-on, then power on the module until the learning indicator flashes twice quickly, then release the button, then long press this button for more than 3 seconds until the learning indicator flashes twice quickly - this clears all button codes stored in the module; if clearing fails, repeat the above operation. |
|
| 123 | + |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +## schematic and APP |
|
| 128 | + |
|
| 129 | +**Application Fields** |
|
| 130 | + |
|
| 131 | +- Wireless remote control switches |
|
| 132 | +- Wireless remote control sockets |
|
| 133 | +- Wireless burglar alarms |
|
| 134 | +- Wireless remote control door locks |
|
| 135 | +- Wireless doorbells |
|
| 136 | +- Wireless remote control electric rolling doors and windows |
|
| 137 | +- Wireless LED lighting |
|
| 138 | +- Industrial wireless remote control products |
|
| 139 | +- Wireless data transmission |
|
| 140 | +- Wireless industrial controllers |
|
| 141 | +- Wireless curtain controllers |
|
| 142 | +- Remote keyless entry (RKE) for cars |
|
| 143 | +- Wireless gate openers |
|
| 144 | + |
|
| 145 | + |
|
| 146 | + |
|
| 147 | + |
|
| 148 | + |
|
| 149 | +min. SCH |
|
| 150 | + |
|
| 151 | + |
|
| 152 | + |
|
| 153 | +## Note |
|
| 154 | + |
|
| 155 | + |
|
| 156 | +Note about distance: |
|
| 157 | + |
|
| 158 | +If the distance required for far, can be connected to the 1/4 wavelength of the antenna, generally use 50 ohm single conductor, the length of the antenna 315M of about 23cm, 433M of about 17cm; |
|
| 159 | + |
|
| 160 | +The position of the antenna has also affected the reception of the module, install the antenna as straight as possible away from the shield, high pressure, and interference sources; |
|
| 161 | + |
|
| 162 | + |
|
| 163 | + |
|
| 164 | + |
|
| 165 | +## RF Link Pair (Learning Code) – Typical Transmission Range |
|
| 166 | + |
|
| 167 | +These modules typically use chips like **PT2262**, **EV1527**, or **SC2262**, operating on **433 MHz or 315 MHz** ISM bands. |
|
| 168 | + |
|
| 169 | +### ✅ Typical Transmission Range |
|
| 170 | + |
|
| 171 | +| **Environment** | **Max Range** | |
|
| 172 | +|------------------------------------|-----------------------------------| |
|
| 173 | +| Indoor (with walls) | 10–30 meters | |
|
| 174 | +| Outdoor, line-of-sight | 100–200 meters (typical) | |
|
| 175 | +| Enhanced with good antenna | Up to 500 meters | |
|
| 176 | +| Directional antenna + LNA (ideal) | 1–2 kilometers (rare, ideal) | |
|
| 177 | +| High-power RF modules (e.g. [[LoRa-dat]]) | 5–15 kilometers (different tech) | |
|
| 178 | + |
|
| 179 | +### ❗ Real-World Limitations |
|
| 180 | +- **Antenna quality and placement**: Crucial for maximizing range. |
|
| 181 | +- **Interference**: Metal, walls, and Wi-Fi can reduce effective distance. |
|
| 182 | +- **Power supply**: Low voltage or poor regulation limits performance. |
|
| 183 | +- **Design purpose**: Learning code RF links are made for **short-range** control, not long-distance data transmission. |
|
| 184 | + |
|
| 185 | +### 📌 Summary |
|
| 186 | +If you're using **common learning-code RF modules**: |
|
| 187 | +- **Realistic range**: 50–200 meters outdoors, 10–30 meters indoors. |
|
| 188 | +- For **kilometer-level range**, consider: |
|
| 189 | + - **[[LoRa-dat]] modules** (e.g., SX1278, SX1262) |
|
| 190 | + - **High-power modules** (e.g., EBYTE E32-433T30D) |
|
| 191 | + - Use **directional antennas** or **RF amplifiers** |
|
| 192 | + |
|
| 193 | + |
|
| 194 | +## chip options |
|
| 195 | + |
|
| 196 | +- [[SYN480-dat]] - [[SYN115-dat]] - [[SYN470-dat]] |
|
| 197 | + |
|
| 198 | +- [[EV1527-dat]] |
|
| 199 | + |
|
| 200 | +- [[RF600-dat]] |
|
| 201 | + |
|
| 202 | +2264、2262、2260、2240、1527、527、SMC918 |
|
| 203 | + |
|
| 204 | +- clones of the PIC12xxx == [[PIC12-dat]] - [[PIC-dat]] |
|
| 205 | + |
|
| 206 | + |
|
| 207 | +## Copier |
|
| 208 | + |
|
| 209 | + |
|
| 210 | + |
|
| 211 | + |
|
| 212 | +### 1️⃣ Clear Existing Codes (Code Erase) |
|
| 213 | + |
|
| 214 | +> **Purpose:** |
|
| 215 | +> Remove all previously stored codes from the remote. |
|
| 216 | +> **Note:** Only perform this on a new remote. Do **not** clear your original remote unless necessary. |
|
| 217 | + |
|
| 218 | +**Steps:** |
|
| 219 | +1. **Press and hold** the two upper buttons on the remote **simultaneously** (regardless of their symbols). |
|
| 220 | +2. **Keep holding** until the indicator LED flashes rapidly and continuously. |
|
| 221 | +3. **Release** both buttons. |
|
| 222 | + → The remote's memory is now cleared. |
|
| 223 | + |
|
| 224 | +--- |
|
| 225 | + |
|
| 226 | +### 2️⃣ Copy (Pair) Codes from Old Remote to New Remote |
|
| 227 | + |
|
| 228 | +> **Purpose:** |
|
| 229 | +> Clone the code from your original remote to the new remote. |
|
| 230 | + |
|
| 231 | +**Steps:** |
|
| 232 | +1. Hold the **old** and **new** remotes close together. |
|
| 233 | +2. **Press and hold** the same button on both remotes at the same time. |
|
| 234 | +3. Wait until the indicator LED on the new remote flashes rapidly. |
|
| 235 | +4. **Release** both buttons. |
|
| 236 | + → The code is copied successfully. |
|
| 237 | + |
|
| 238 | +**Notes:** |
|
| 239 | +- Repeat the process **for each button** (all four buttons must be copied individually). |
|
| 240 | +- Button symbols may differ between remotes, but the function will be copied as per the original. |
|
| 241 | + |
|
| 242 | +--- |
|
| 243 | + |
|
| 244 | +### ⚠️ Important Reminders |
|
| 245 | + |
|
| 246 | +- Only clear codes on a new remote, not your original one. |
|
| 247 | +- Each button must be paired separately, even if the symbols are different. |
|
| 248 | +- Keep remotes close together during the copying process for best results. |
|
| 249 | + |
|
| 250 | +--- |
|
| 251 | + |
|
| 252 | +## code |
|
| 253 | + |
|
| 254 | +### arduino |
|
| 255 | + |
|
| 256 | + |
|
| 257 | + |
|
| 258 | +## demo video |
|
| 259 | + |
|
| 260 | +https://www.youtube.com/watch?v=LDGr38Ie1L4 |
|
| 261 | + |
|
| 262 | + |
|
| 263 | +## ref |
|
| 264 | + |
|
| 265 | +- [[RF-LINK]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RF-dat/RF-LINK-dat/rolling-code-dat/rolling-code-dat.md
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | + |
|
| 2 | +# rolling-code-dat |
|
| 3 | + |
|
| 4 | +- HCS301 |
|
| 5 | +- HCS101 |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## ref |
|
| 9 | + |
|
| 10 | +- [[RF-link-dat]] |
|
| 11 | + |
Network-dat/RF-dat/RF-Modulation-dat/RF-Modulation-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# RF-Modulation-dat.md |
|
| 3 | + |
|
| 4 | +- [[ASK]] == Amplitude Shift Keying - [[OOK]] == On-Off Keying - [[FSK]] == Frequency Shift Keying - [[GFSK]] == Gaussian Frequency Shift Keying |
|
| 5 | + |
|
| 6 | +- less common [[PSK]] == Phase Shift Keying - [[QPSK]] == Quadrature Phase Shift Keying - [[MSK]] == Minimum Shift Keying - [[DSSS]] == Direct Sequence Spread Spectrum - [[OFDM]] == Orthogonal Frequency Division Multiplexing |
|
| 7 | + |
|
| 8 | +## ref |
|
| 9 | + |
|
| 10 | +- [[RF-LINK-dat]] |
|
| 11 | +- [[SYN470-dat]] |
|
| 12 | +- [[NWL1070-dat]] |
Network-dat/RF-dat/rf-switch-dat/rf-switch-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# rf-switch-dat |
|
| 3 | + |
|
| 4 | +Here's a complete wiring diagram for using the SX1262 with DIO2 controlling RF switch (TX/RX EN) and all required connections, assuming: |
|
| 5 | + |
|
| 6 | +You're using a single-pin RF switch like the SKY66420-11 (or similar). |
|
| 7 | + |
|
| 8 | +You're interfacing it with a microcontroller (MCU), such as ESP32 or STM32. |
|
| 9 | + |
|
| 10 | +You are not using DIO3 or DIO1 for FEM control. |
|
| 11 | + |
|
| 12 | +SPI interface is used between the MCU and the SX1262. |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/125khz-dat/125khz-dat.md
| ... | ... | @@ -0,0 +1,22 @@ |
| 1 | + |
|
| 2 | +# 125khz-dat |
|
| 3 | + |
|
| 4 | +https://w.electrodragon.com/w/Category:125KHz_RFID |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +| card type | use 45mm Dia. antenna | use 97x97mm rectangular antenna | |
|
| 9 | +| --------------- | --------------------- | ------------------------------- | |
|
| 10 | +| “nail” pin card | 11 cm | 14 cm | |
|
| 11 | +| Dia. 2.5CM card | 13 cm | 20 cm | |
|
| 12 | +| Dia. 3CM card | 16 cm | 24 cm | |
|
| 13 | +| normal card | 18 cm | 25 cm | |
|
| 14 | +| thick card | 25 cm | 41 cm | |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## ref |
|
| 19 | + |
|
| 20 | +- [[125khz]] |
|
| 21 | + |
|
| 22 | +- [[13.56mhz-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/13.56mhz-dat/13.56mhz-dat.md
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | +# 13.56mhz |
|
| 4 | + |
|
| 5 | +- [[ISO15693]] |
|
| 6 | + |
|
| 7 | + |
Network-dat/RFID-dat/134.2khz-dat/134.2khz-dat.md
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | + |
|
| 2 | +# 134.2khz-dat |
|
| 3 | + |
|
| 4 | +## ref |
|
| 5 | + |
|
| 6 | +- [[134.2khz]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/2023-12-11-16-15-25.png
| ... | ... | Binary files /dev/null and b/Network-dat/RFID-dat/2023-12-11-16-15-25.png differ |
Network-dat/RFID-dat/2023-12-11-16-15-43.png
| ... | ... | Binary files /dev/null and b/Network-dat/RFID-dat/2023-12-11-16-15-43.png differ |
Network-dat/RFID-dat/EM4100-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# EM4100-dat |
|
| 3 | + |
|
| 4 | +- [[125khz-dat]] - [[NID1005-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/ISO15693.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | + |
|
| 2 | + |
|
| 3 | + |
|
| 4 | +- https://en.wikipedia.org/wiki/ISO/IEC_15693 |
|
| 5 | +- [[13.56mhz-dat]] |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +- [[ST25DV]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/RFID-Card-dat.md
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | + |
|
| 2 | +# RFID-Card-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## Types |
|
| 6 | + |
|
| 7 | +- IC - read and write, higher security level |
|
| 8 | +- ID - read only |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +* [[EM4100-dat]] - [[NID1009-dat]] - [[NID1010-dat]] |
|
| 16 | + |
|
| 17 | +- [[NID1021-dat]] - [[NIE1022-dat]] |
|
| 18 | + |
|
| 19 | +- [[NID1009]] - [[NID1010]] |
|
| 20 | + |
|
| 21 | +- [[NID1021]] - [[NID1022]] |
|
| 22 | + |
|
| 23 | + |
Network-dat/RFID-dat/rfid-dat.md
| ... | ... | @@ -0,0 +1,30 @@ |
| 1 | + |
|
| 2 | +# rfid-dat |
|
| 3 | + |
|
| 4 | +- [[rfid-card-dat]] |
|
| 5 | + |
|
| 6 | +- [[EM4100-dat]] - [[125khz-dat]] |
|
| 7 | + |
|
| 8 | +- [[13.56mhz-dat]] - [[134.2khz-dat]] |
|
| 9 | + |
|
| 10 | +- [[wiegand-dat]] |
|
| 11 | + |
|
| 12 | +- [[NFC-dat]] |
|
| 13 | + |
|
| 14 | +## Boards |
|
| 15 | + |
|
| 16 | +[[125khz-dat]] - [[NID1020-dat]] - cards and keys - [[NID1021-dat]] - [[NID1022-dat]] |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +[[125khz-dat]] - [[NID1005-dat]] - cards and keys - [[NID1003-dat]] - [[NID1009-dat]] |
|
| 20 | + |
|
| 21 | +readers [[USB-dat]] based - [[NID1024-dat]] |
|
| 22 | + |
|
| 23 | +[[NFC-dat]] - [[NID1026-dat]] |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +## ref |
|
| 29 | + |
|
| 30 | +- [[rfid]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RFID-dat/wiegand-dat/wiegand-dat.md
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | + |
|
| 2 | +# wiegand-dat |
|
| 3 | + |
|
| 4 | +A **Wiegand device** typically refers to a component in an access control system that uses the **Wiegand interface** to communicate. This interface is a de facto standard for transmitting data from a card reader (like those for ID badges) to an access control panel. |
|
| 5 | + |
|
| 6 | +Key characteristics: |
|
| 7 | +* **Data Lines:** Uses two data lines, typically DATA0 (D0) and DATA1 (D1). |
|
| 8 | +* **Signaling:** A pulse on D0 represents a binary '0', and a pulse on D1 represents a binary '1'. |
|
| 9 | +* **Format:** Data is sent in a specific bit format (e.g., 26-bit Wiegand is common, but many others exist), which includes parity bits, facility codes, and card numbers. |
|
| 10 | +* **One-Way Communication:** It's generally a one-way communication from the reader to the controller. |
|
| 11 | +* **Physical Layer:** Originally based on the Wiegand effect in specially prepared wires, though modern readers often emulate this electrical interface. |
|
| 12 | + |
|
| 13 | +In short, it's the technology that allows a card reader to send identification data to a control panel to grant or deny access. |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## ref |
|
| 18 | + |
|
| 19 | +- [[rfid-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/RSSI-dat/2025-06-26-19-18-14.png
| ... | ... | Binary files /dev/null and b/Network-dat/RSSI-dat/2025-06-26-19-18-14.png differ |
Network-dat/RSSI-dat/RSSI-dat.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + |
|
| 2 | +# RSSI-dat |
|
| 3 | + |
|
| 4 | +This refers to the Received Signal Strength Indicator (RSSI) function. |
|
| 5 | + |
|
| 6 | +The module supports serial output of packet signal strength, which can be used to evaluate signal quality, improve communication networks, and measure distance. |
|
| 7 | + |
|
| 8 | +The module also supports serial output of environmental noise signal strength, which can be used to manually implement the LBT (Listen Before Talk) function. |
|
| 9 | + |
|
| 10 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/RTU-dat/RTU-dat.md
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | + |
|
| 2 | +# RTU-dat |
|
| 3 | + |
|
| 4 | +A **Remote Terminal Unit (RTU)** is a microprocessor-controlled electronic device that interfaces objects in the physical world to a distributed control system or SCADA (Supervisory Control and Data Acquisition) system by transmitting telemetry data to a master system, and by using messages from the master supervisory system to control connected objects. |
|
| 5 | + |
|
| 6 | +Key functions and characteristics of an RTU include: |
|
| 7 | + |
|
| 8 | +* **Data Acquisition:** Reading analog and digital inputs from sensors and field devices (e.g., temperature, pressure, flow, status of a switch). |
|
| 9 | +* **Control Output:** Sending digital and analog output signals to control actuators (e.g., opening/closing a valve, starting/stopping a motor). |
|
| 10 | +* **Communication:** Communicating with a central master station (often a SCADA master or a Distributed Control System - DCS) using various communication protocols (e.g., Modbus, DNP3, IEC 60870-5-101/104) over different media (radio, cellular, satellite, wired networks). |
|
| 11 | +* **Local Intelligence:** Modern RTUs often have processing capabilities to perform local control logic, data logging, and alarming, even if communication with the master station is lost. |
|
| 12 | +* **Ruggedness:** Designed to operate in harsh environmental conditions often found in industrial settings (e.g., wide temperature ranges, humidity, vibrations). |
|
| 13 | +* **Autonomy:** Can operate autonomously for periods based on pre-programmed instructions. |
|
| 14 | + |
|
| 15 | +**Common Applications:** |
|
| 16 | +RTUs are widely used in various industries for remote monitoring and control, such as: |
|
| 17 | + |
|
| 18 | +* **Oil and Gas:** Monitoring pipelines, wellheads, and remote facilities. |
|
| 19 | +* **Water and Wastewater:** Managing pumping stations, reservoirs, and treatment plants. |
|
| 20 | +* **Electric Utilities:** Monitoring substations, reclosers, and distribution networks. |
|
| 21 | +* **Environmental Monitoring:** Collecting data from remote sensor stations. |
|
| 22 | +* **Transportation:** Monitoring traffic signals and railway systems. |
|
| 23 | + |
|
| 24 | +In essence, an RTU acts as a bridge between the physical equipment in the field and the central supervisory control system. |
|
| 25 | + |
|
| 26 | +## ref |
|
| 27 | + |
|
| 28 | +- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/USB-WIFI-dat/usb-wifi-dat.md
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | + |
|
| 2 | +# usb-wifi-dat |
|
| 3 | + |
|
| 4 | +- [[realtek-dat]] |
|
| 5 | + |
|
| 6 | +- [[usb-wifi]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/WIFI-DAT.md
| ... | ... | @@ -0,0 +1,59 @@ |
| 1 | + |
|
| 2 | +# Wifi |
|
| 3 | + |
|
| 4 | +- [[wifi-sdk-dat]] |
|
| 5 | + |
|
| 6 | +## tech |
|
| 7 | + |
|
| 8 | +- [[IEEE-dat]] - [[WIFI-Halow-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## cheatsheet |
|
| 12 | + |
|
| 13 | +- AP = access point |
|
| 14 | +- STA = station |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +- [[espressif-dat]] - [[esp8266-dat]] - [[ESP32-dat]] |
|
| 18 | + |
|
| 19 | +- [[bouffalolab-dat]] - [[BL616-dat]] |
|
| 20 | + |
|
| 21 | +- [[realtek-dat]] - [[RTL8188-dat]] - [[RTL8189-dat]] - [[RTL8723-dat]] |
|
| 22 | + |
|
| 23 | +- [[xradiotech-dat]] - [[XR829-dat]] |
|
| 24 | + |
|
| 25 | +- PHY6222, EWM110 |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## boards |
|
| 31 | + |
|
| 32 | +- [[MPC1070-dat]] |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | +## WPA/WPA2 |
|
| 39 | + |
|
| 40 | +## 七层网络模型: |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +记忆方法:“物数网传会表应”,记住这7个字,就记住了这七层 |
|
| 45 | + |
|
| 46 | +数据最终通过数据链路层+物理层传输到硬件网络,在数据链路层和物理层上的数据都是通过层层数据封装实现的。 |
|
| 47 | + |
|
| 48 | +- [[TCPIP-dat]] - [[TCPUDP-dat]] |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | +## ref |
|
| 56 | + |
|
| 57 | +- [[ethernet-dat]] |
|
| 58 | + |
|
| 59 | +- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/ethernet-dat/2023-11-30-15-43-51.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2023-11-30-15-43-51.png differ |
Network-dat/ethernet-dat/2024-03-22-17-34-40.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2024-03-22-17-34-40.png differ |
Network-dat/ethernet-dat/2025-04-25-02-07-43.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2025-04-25-02-07-43.png differ |
Network-dat/ethernet-dat/2025-04-25-04-49-35.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2025-04-25-04-49-35.png differ |
Network-dat/ethernet-dat/2025-08-07-12-43-02.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2025-08-07-12-43-02.png differ |
Network-dat/ethernet-dat/2025-08-09-12-57-04.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2025-08-09-12-57-04.png differ |
Network-dat/ethernet-dat/2025-09-04-21-08-01.png
| ... | ... | Binary files /dev/null and b/Network-dat/ethernet-dat/2025-09-04-21-08-01.png differ |
Network-dat/ethernet-dat/PHY-dat/PHY-dat.md
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | + |
|
| 2 | +# PHY-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## PHY (Physical Layer Transceiver) |
|
| 8 | + |
|
| 9 | +In networking, a PHY is a hardware component responsible for the Physical Layer (Layer 1) of the OSI model, which deals with the electrical or optical signal transmission and reception. It's typically used in Ethernet systems to interface between the digital data from a MAC (Media Access Controller) and the physical medium, such as twisted-pair cables or fiber optics. |
|
| 10 | + |
|
| 11 | +Key roles of a PHY: |
|
| 12 | + |
|
| 13 | +- Signal encoding/decoding: Converts digital data (from the MAC) into signals suitable for transmission over physical media (and vice versa). |
|
| 14 | +- Clock recovery: Extracts clock signals from incoming data streams. |
|
| 15 | +- Auto-negotiation: Determines connection parameters like speed (10/100/1000 Mbps) and duplex mode (full/half). |
|
| 16 | +- Media-dependent interfaces: Provides the electrical interface for the transmission medium, such as copper wires or fiber. |
|
| 17 | + |
|
| 18 | +The PHY communicates with the MAC through standardized interfaces like RGMII, MII, or GMII. |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +## RGMII (Reduced Gigabit Media Independent Interface) |
|
| 23 | + |
|
| 24 | +RGMII is a standard interface used between a MAC and a PHY to support Gigabit Ethernet (1 Gbps) connectivity. It is a more compact and efficient version of GMII, reducing the number of data pins. |
|
| 25 | + |
|
| 26 | +Features of RGMII: |
|
| 27 | + |
|
| 28 | +1. Reduced pin count: Uses only 12 data pins (compared to GMII's 24 pins) by transmitting data on both the rising and falling edges of the clock (DDR - Double Data Rate). |
|
| 29 | +2. Speed support: Capable of operating at 10 Mbps, 100 Mbps, and 1 Gbps. |
|
| 30 | +3. Signals in RGMII: |
|
| 31 | +- TX (Transmit) and RX (Receive) data signals |
|
| 32 | +- Clock signals for TX and RX |
|
| 33 | +- Control signals (TX_EN, RX_DV) |
|
| 34 | + |
|
| 35 | +RGMII enables the MAC and PHY to communicate effectively while optimizing space and complexity. |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## MDIO (Management Data Input/Output) |
|
| 41 | + |
|
| 42 | +The MDIO (Management Data Input/Output) interface is a two-wire protocol used for managing and configuring Ethernet PHYs. It allows the MAC (or a host controller) to: |
|
| 43 | + |
|
| 44 | +- Read status registers in the PHY. |
|
| 45 | +- Configure operating modes (e.g., speed, duplex, auto-negotiation settings). |
|
| 46 | + |
|
| 47 | +MDIO Interface Components: |
|
| 48 | +- MDIO Signal: A bidirectional data line that transfers register addresses and data between the controller and the PHY. |
|
| 49 | +- MDC (Management Data Clock): A clock signal provided by the MAC or host to synchronize MDIO operations. |
|
| 50 | + |
|
| 51 | + |
|
| 52 | +Using the MDIO interface, a host can control multiple PHY devices on the same bus by assigning unique addresses to each PHY. |
|
| ... | ... | \ No newline at end of file |
Network-dat/ethernet-dat/RGMII-dat/RGMII-dat.md
| ... | ... | @@ -0,0 +1,64 @@ |
| 1 | + |
|
| 2 | +# RGMII-dat |
|
| 3 | + |
|
| 4 | +## 🌐 What is RGMII? |
|
| 5 | + |
|
| 6 | +**RGMII** stands for **Reduced Gigabit Media Independent Interface**. |
|
| 7 | + |
|
| 8 | +It's a type of **electrical interface** used to connect a **MAC** (Media Access Controller) to a **PHY** (Physical Layer Transceiver) in Ethernet devices. |
|
| 9 | + |
|
| 10 | +--- |
|
| 11 | + |
|
| 12 | +### 📦 What is it used for? |
|
| 13 | + |
|
| 14 | +- Used in **Gigabit Ethernet (1000 Mbps)** hardware |
|
| 15 | +- Common in **routers, switches, SoCs, FPGAs**, and other networking devices |
|
| 16 | + |
|
| 17 | +--- |
|
| 18 | + |
|
| 19 | +### 🧠 Why "Reduced"? |
|
| 20 | + |
|
| 21 | +RGMII reduces the number of data lines compared to **GMII**: |
|
| 22 | + |
|
| 23 | +| Interface | Data Lines | Speed | |
|
| 24 | +|-----------|------------|-------| |
|
| 25 | +| GMII | 24 | Up to 1 Gbps | |
|
| 26 | +| RGMII | 12 | Up to 1 Gbps | |
|
| 27 | + |
|
| 28 | +🔧 RGMII uses **double data rate (DDR)** — it transfers data on **both rising and falling edges** of the clock signal, so it needs **fewer wires**. |
|
| 29 | + |
|
| 30 | +--- |
|
| 31 | + |
|
| 32 | +### ⚙️ Key Features |
|
| 33 | + |
|
| 34 | +- ✅ Supports **10/100/1000 Mbps** Ethernet |
|
| 35 | +- ✅ Uses **DDR clocking** to reduce pin count |
|
| 36 | +- ✅ Total of **12 signals**: |
|
| 37 | + - 4 TX data |
|
| 38 | + - 4 RX data |
|
| 39 | + - TX control |
|
| 40 | + - RX control |
|
| 41 | + - TX clock |
|
| 42 | + - RX clock |
|
| 43 | + |
|
| 44 | +--- |
|
| 45 | + |
|
| 46 | +### 🛠️ Typical RGMII Pinout |
|
| 47 | + |
|
| 48 | +| Signal | Direction | Description | |
|
| 49 | +|--------------|----------------|------------------------------| |
|
| 50 | +| TXD[3:0] | MAC → PHY | Transmit data | |
|
| 51 | +| RXD[3:0] | PHY → MAC | Receive data | |
|
| 52 | +| TX_CTL | MAC → PHY | Transmit control | |
|
| 53 | +| RX_CTL | PHY → MAC | Receive control | |
|
| 54 | +| TXC | MAC → PHY | Transmit clock | |
|
| 55 | +| RXC | PHY → MAC | Receive clock | |
|
| 56 | + |
|
| 57 | +--- |
|
| 58 | + |
|
| 59 | +### 🔌 Summary |
|
| 60 | + |
|
| 61 | +- **RGMII = Compact, fast interface** for Gigabit Ethernet |
|
| 62 | +- **Used between Ethernet MAC and PHY** |
|
| 63 | +- **Saves pins** compared to GMII |
|
| 64 | +- **Supports up to 1 Gbps** using DDR signaling |
|
| ... | ... | \ No newline at end of file |
Network-dat/ethernet-dat/TCPUDP-dat.md
Network-dat/ethernet-dat/ethernet-dat.md
| ... | ... | @@ -0,0 +1,90 @@ |
| 1 | + |
|
| 2 | +# ethernet-dat |
|
| 3 | + |
|
| 4 | +- [[TCPUDP-dat]] |
|
| 5 | + |
|
| 6 | +- [[PHY-dat]] |
|
| 7 | + |
|
| 8 | +- [[ethernet-SDK-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## info |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +### Basic Ethernet Concepts |
|
| 15 | + |
|
| 16 | +Ethernet is an asynchronous, carrier-sense multiple access with collision detection (CSMA/CD) protocol/interface. While Ethernet is generally not ideal for low-power applications, it is widely used due to its broad deployment, efficient network connectivity, high data rates, and unlimited scalability. Nearly all wired communications can be achieved via Ethernet. |
|
| 17 | + |
|
| 18 | +Ethernet is categorized by speed: |
|
| 19 | +- Standard Ethernet (10 Mbit/s) |
|
| 20 | +- Fast Ethernet (100 Mbit/s) |
|
| 21 | +- Gigabit Ethernet (1000 Mbit/s) |
|
| 22 | +- 10-Gigabit Ethernet (10 Gbit/s) and higher |
|
| 23 | + |
|
| 24 | +Ethernet interface types include RJ45 (the most common for computers and the ESP32-P4 board), and RJ11 (telephone line interface). - [[RJ45-dat]] - [[RJ11-dat]] |
|
| 25 | + |
|
| 26 | +The ESP32-P4 network model can be explained as follows: |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +- **Network Interface Layer**: ESP32-P4 connects to the IP101GRI PHY via RMII interface, and the network transformer leads to the RJ45 port. The MAC layer is integrated in the ESP32-P4 chip, handling frame encapsulation, checksums, and MAC addresses. |
|
| 31 | +- **Network and Transport Layers**: Managed by ESP32-P4 driving the IP101GRI PHY. |
|
| 32 | +- **Application Layer**: Once network connection is established, ESP32-P4 can perform HTTP requests, use MQTT, and other server communications. |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | +## chip |
|
| 39 | + |
|
| 40 | +- [[W5500-dat]] - [[ENC28J60-dat]] |
|
| 41 | + |
|
| 42 | +- [[LAN8720-dat]] |
|
| 43 | + |
|
| 44 | +## RJ45 breakout board |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## SCH RPI CM4 |
|
| 51 | + |
|
| 52 | +- [[RPI-CM4-expansion-board-dat]] - [[ESD-dat]] |
|
| 53 | + |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## SCH |
|
| 58 | + |
|
| 59 | +- [[RJ45-dat]] |
|
| 60 | + |
|
| 61 | +RJ-45 |
|
| 62 | + |
|
| 63 | +HY951180A |
|
| 64 | +HY931147C |
|
| 65 | +HR931130A |
|
| 66 | + |
|
| 67 | + |
|
| 68 | + |
|
| 69 | + |
|
| 70 | +RJ-45 w/[[CH579-dat]] |
|
| 71 | + |
|
| 72 | + |
|
| 73 | + |
|
| 74 | +transfomer == G2406S_C507595 and RJ45 |
|
| 75 | + |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | +## CAT6 |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | +## ref |
|
| 85 | + |
|
| 86 | +- [[RGMII-dat]] - [[PHY-dat]] - [[TCPUDP-dat]] - [[TCPIP-dat]] |
|
| 87 | + |
|
| 88 | +- [[RTL8211-dat]] |
|
| 89 | + |
|
| 90 | +- [[ethernet]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/2025-03-28-17-43-30.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/2025-03-28-17-43-30.png differ |
Network-dat/fiber-optic-dat/2025-04-21-14-29-37.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/2025-04-21-14-29-37.png differ |
Network-dat/fiber-optic-dat/Photolink-dat/2025-04-21-16-00-21.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-21-16-00-21.png differ |
Network-dat/fiber-optic-dat/Photolink-dat/2025-04-24-18-39-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-24-18-39-29.png differ |
Network-dat/fiber-optic-dat/Photolink-dat/2025-06-19-15-43-32.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/Photolink-dat/2025-06-19-15-43-32.png differ |
Network-dat/fiber-optic-dat/Photolink-dat/Photolink-dat.md
| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | + |
|
| 2 | +# Photolink-dat |
|
| 3 | + |
|
| 4 | +## photo-link PLx237 |
|
| 5 | + |
|
| 6 | +[PLT237 SERIES](https://en.everlight.com/wp-content/plugins/ItemRelationship/product_files/pdf/DPL-0000040_PLT237_series_V3.pdf?utm_source=Datasheets&utm_medium=Part-details&utm_campaign=DS_Referrals&utm_content=Datasheet_Button&utm_term=PLT237/S19) |
|
| 7 | + |
|
| 8 | +[Photolink- Fiber Optic **Receiver** PLR237/T10BK ](https://www.everlighteurope.com/custom/files/datasheets/DPL-0000261.pdf) |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +Photo-link Light **Transmitter** Unit PLT237/T10WH |
|
| 12 | + |
|
| 13 | +https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/5335/PLT237-T10WH_Rev1_3-22-21.pdf |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +| Feature | PLT131/T10WH | PLT237/T10WH | |
|
| 17 | +|-----------------|----------------------------------|----------------------------------| |
|
| 18 | +| **Type** | Light Transmitter Unit | Light Transmitter Unit | |
|
| 19 | +| **Wavelength** | 650 nm (Typical, Red) | 650 nm (Typical, Red) | |
|
| 20 | +| **Data Rate** | Lower Speed (Often used for Digital Audio/TOSLINK, e.g., < 1 Mbps) | Higher Speed (Up to 16 Mbps) | |
|
| 21 | +| **Application** | Digital Audio, Low-Speed Data | Data Communication | |
|
| 22 | +| **Package** | Photo-link Connector | Photo-link Connector | |
|
| 23 | +| **Manufacturer**| Everlight (Likely) | Everlight | |
|
| 24 | + |
|
| 25 | +- compatible with [[toslink-dat]] |
|
| 26 | + |
|
| 27 | +[[TOSLINK-dat]] [[SPDIF-dat]] connector - [[interface-dat]] |
|
| 28 | + |
|
| 29 | +[reference](https://wiki.odroid.com/odroid-c2/application_note/external_connector/spdif) |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## Everlight PLT131/T1/12 Photolink Fiber Optic Transmitter 650nm |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +## PLR135/T8 |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## PLx133 series |
|
| 41 | + |
|
| 42 | +[PLT133 SERIES](https://www.everlight.com/wp-content/plugins/ItemRelationship/product_files/pdf/DPL-0000107_PLT133_series_v8.pdf) |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## ref |
|
| 51 | + |
|
| 52 | +- [[fiber-optic-dat]] - [[fiber-optic]] |
|
| 53 | + |
|
| 54 | +- [[photolink]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-13-45-34.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-13-45-34.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-06.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-06.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-35.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-35.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-45-45.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-45-45.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-46-38.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-46-38.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-47-47.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-47-47.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-58-02.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-58-02.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-00-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-00-29.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-29.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-52.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-52.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/TOSLINK-dat.md
| ... | ... | @@ -0,0 +1,188 @@ |
| 1 | + |
|
| 2 | +# TOSLINK-dat |
|
| 3 | + |
|
| 4 | +- [[sharp-dat]] - [[toslink]] |
|
| 5 | + |
|
| 6 | +- [[TOTX178-dat]] |
|
| 7 | + |
|
| 8 | +## compare |
|
| 9 | + |
|
| 10 | +| Feature | TOSLINK | General Fiber Optic | |
|
| 11 | +| ------------------ | -------------------- | ------------------------ | |
|
| 12 | +| **Purpose** | Audio (S/PDIF) | Data, telecom, internet | |
|
| 13 | +| **Fiber Type** | Plastic (POF) | Glass (SMF/MMF) | |
|
| 14 | +| **Distance** | ~5–10 meters | Up to kilometers | |
|
| 15 | +| **Bandwidth** | Limited (audio only) | Very high (Gbps to Tbps) | |
|
| 16 | +| **Connector Type** | Square TOSLINK | LC, SC, ST, etc. | |
|
| 17 | +| **Wavelength** | ~650 nm (red light) | 850, 1310, or 1550 nm | |
|
| 18 | +| **Use Case** | Home audio systems | Enterprise, telecom, ISP | |
|
| 19 | + |
|
| 20 | +in market the maximium length toslink cable is 30 meters |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## Are SPDIF and TOSLINK the Same? |
|
| 24 | + |
|
| 25 | +- [[SPDIF-dat]] |
|
| 26 | + |
|
| 27 | +**Short answer:** |
|
| 28 | +**TOSLINK is one type of SPDIF connection.** |
|
| 29 | + |
|
| 30 | +--- |
|
| 31 | + |
|
| 32 | +### Detailed Explanation |
|
| 33 | + |
|
| 34 | +| Term | What it is | Key Detail | |
|
| 35 | +| ----------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | |
|
| 36 | +| **SPDIF** | A digital audio **protocol/standard** | Stands for **Sony/Philips Digital Interface**. It defines **how** digital audio data is formatted and transmitted. | |
|
| 37 | +| **TOSLINK** | A **type of physical connector** (using optical fiber) | Developed by Toshiba; one way of transmitting SPDIF using light (fiber optic). | |
|
| 38 | + |
|
| 39 | +--- |
|
| 40 | + |
|
| 41 | +### SPDIF Transmission Types |
|
| 42 | + |
|
| 43 | +1. **Coaxial SPDIF** (electrical signal) |
|
| 44 | + - Connector: RCA (looks like typical video/audio jacks) |
|
| 45 | + - Uses **copper wire** (electrical signal) |
|
| 46 | + |
|
| 47 | +2. **Optical SPDIF (TOSLINK)** |
|
| 48 | + - Connector: TOSLINK or Mini-TOSLINK |
|
| 49 | + - Uses **fiber optic cable** (light signal) |
|
| 50 | + |
|
| 51 | +--- |
|
| 52 | + |
|
| 53 | +### Key Differences |
|
| 54 | + |
|
| 55 | +| Feature | Coaxial SPDIF | Optical SPDIF (TOSLINK) | |
|
| 56 | +| ------------------ | ----------------------------------- | ------------------------------------------- | |
|
| 57 | +| Signal Type | Electrical (copper) | Optical (light) | |
|
| 58 | +| Connector Type | RCA | TOSLINK (square) or Mini-TOSLINK (3.5mm) | |
|
| 59 | +| Susceptible to EMI | Yes | No (immune to electromagnetic interference) | |
|
| 60 | +| Cable Length Limit | Up to ~10m (longer with good cable) | Usually up to ~5m for reliable signal | |
|
| 61 | + |
|
| 62 | +--- |
|
| 63 | + |
|
| 64 | +### Summary |
|
| 65 | + |
|
| 66 | +- **SPDIF** = the **format/protocol** |
|
| 67 | +- **TOSLINK** = one **type of SPDIF connector** using optical fiber |
|
| 68 | + |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +## TOSLINK |
|
| 73 | + |
|
| 74 | +- TOSLINK is a standardized optical fiber connection system for transmitting digital audio signals between devices. |
|
| 75 | +- It uses a fiber optic cable with a plastic or glass core to carry the light signal, which represents the audio data. |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | +https://en.wikipedia.org/wiki/TOSLINK |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | + |
|
| 85 | +## TOSLINK Cable and connectors |
|
| 86 | + |
|
| 87 | +== [[SPDIF-dat]] |
|
| 88 | + |
|
| 89 | + |
|
| 90 | + |
|
| 91 | + |
|
| 92 | + |
|
| 93 | +These cables and connectors are **TOSLINK optical digital audio cables** with **Mini-TOSLINK** adapters or plugs on the end. |
|
| 94 | + |
|
| 95 | +Explanation: |
|
| 96 | + |
|
| 97 | +**TOSLINK (Toshiba Link)** is a standardized optical fiber connection system used for transmitting digital audio signals. |
|
| 98 | + |
|
| 99 | +The black rectangular connector with a square end is the **standard TOSLINK connector**. |
|
| 100 | + |
|
| 101 | +The gold-tipped center pin is actually a **Mini-TOSLINK plug**, which is an optical connector in the shape and size of a standard 3.5mm headphone jack, used in some laptops and portable devices (e.g., MacBooks, MiniDisc players). |
|
| 102 | + |
|
| 103 | +These cables are often used to **transmit high-quality audio (like Dolby Digital or DTS)** from a source like a DVD player, gaming console, or PC to an AV receiver or soundbar. |
|
| 104 | + |
|
| 105 | +**OD: 2.2mm** |
|
| 106 | + |
|
| 107 | +This refers to the outer diameter of the cable (2.2mm), which is relatively thin, indicating it's a lightweight optical fiber cable. |
|
| 108 | + |
|
| 109 | + |
|
| 110 | + |
|
| 111 | +## DLT1120 fiber optic transmitter |
|
| 112 | + |
|
| 113 | +Toslink DLT1120 fiber optic transmitter The light-emitting unit is a standard packaging product with connectors and optoelectronic components, and is packaged with LEDs and driver ICs. The function of the unit converts electrical signals into optical signals and transmits. |
|
| 114 | + |
|
| 115 | + |
|
| 116 | + |
|
| 117 | + |
|
| 118 | + |
|
| 119 | + |
|
| 120 | +project [SPDIF to TOSLink Adapter Hat for Quartz64](https://github.com/CounterPillow/quartz64-toslink-hat) |
|
| 121 | + |
|
| 122 | + |
|
| 123 | +## DLR 1121 |
|
| 124 | + |
|
| 125 | + |
|
| 126 | +## DLR 2180 |
|
| 127 | + |
|
| 128 | + |
|
| 129 | + |
|
| 130 | + |
|
| 131 | + |
|
| 132 | + |
|
| 133 | + |
|
| 134 | + |
|
| 135 | + |
|
| 136 | +[toslink-guide](https://www.tme.eu/Document/3363e65f4c705941469014401686faf2/TOFC100-xx.pdf) |
|
| 137 | + |
|
| 138 | + |
|
| 139 | + |
|
| 140 | +## Optical SPDIF (TOSLINK): |
|
| 141 | + |
|
| 142 | +- Uses optical fiber (plastic or glass). |
|
| 143 | +- Has a TOSLINK connector (square-ish plug). |
|
| 144 | +- Carries light-based digital signals. |
|
| 145 | +- Immune to electrical interference (a bonus in noisy environments). |
|
| 146 | + |
|
| 147 | +## Why Not Use TOSLINK for Transferring 5V TTL Serial Signals? |
|
| 148 | + |
|
| 149 | +While **TOSLINK** (optical) is a popular and widely used optical standard, especially for **consumer audio** (like SPDIF), it's **not ideally suited** for directly transferring TTL serial signals like 5V logic. Here's why **POF** (Plastic Optical Fiber) is often a better choice for serial TTL communication over **TOSLINK**: |
|
| 150 | + |
|
| 151 | +### 🔍 Key Differences: |
|
| 152 | + |
|
| 153 | +#### 1. Signal Type: |
|
| 154 | +- **TOSLINK (SPDIF)** carries **digital audio** data, which is encoded in a **biphase-mark** format (a specific way of encoding 1s and 0s for audio). |
|
| 155 | + - It's not **raw TTL**, so you'd need a **decoder** or **receiver chip** to convert it back into useful serial data. |
|
| 156 | + - It's designed for **audio signals**, not serial communication. |
|
| 157 | +- **POF (Plastic Optical Fiber)** with **TTL transceivers** is specifically designed to carry **digital data signals** such as serial UART, which is just **raw bits** (high and low voltages) transmitted directly over light. |
|
| 158 | + |
|
| 159 | +#### 2. Electrical Compatibility: |
|
| 160 | +- **TOSLINK** optical transmitters and receivers are **designed for audio** signals that operate at relatively lower frequencies (44.1kHz or 48kHz for audio sampling). |
|
| 161 | + - **TTL signals**, on the other hand, are **high-speed** and require a continuous **stream of binary data** (e.g., 115200 baud rate or higher) without the need for extra encoding schemes. |
|
| 162 | +- **POF with TTL transceivers** directly handles **5V logic signals**, making it simpler and **more compatible** with serial communication. |
|
| 163 | + |
|
| 164 | + |
|
| 165 | +## TOTX |
|
| 166 | + |
|
| 167 | +### TOTX147 |
|
| 168 | + |
|
| 169 | +- connector-less |
|
| 170 | + |
|
| 171 | +### TOTX1350 |
|
| 172 | + |
|
| 173 | + |
|
| 174 | + |
|
| 175 | + |
|
| 176 | +## SCH? |
|
| 177 | + |
|
| 178 | +refer more info from [[pmod-dat]] |
|
| 179 | +TX |
|
| 180 | + |
|
| 181 | + |
|
| 182 | +RX |
|
| 183 | + |
|
| 184 | + |
|
| 185 | +## ref |
|
| 186 | + |
|
| 187 | +- [[TOSlink]] - [[fiber-optic]] |
|
| 188 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/2025-04-24-18-52-13.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/2025-04-24-18-52-13.png differ |
Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178-dat.md
| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | + |
|
| 2 | +# totx178-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## TOTX178A |
|
| 6 | + |
|
| 7 | +- [[totx178.pdf]] |
|
| 8 | + |
|
| 9 | + |
Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178.pdf
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178.pdf differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-03.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-21.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-21.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-33.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-33.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-03.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-21.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-21.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-45-31.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-45-31.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-47-18.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-47-18.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-48-29.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-48-29.png differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/PCM2906C-POF.jpg
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/PCM2906C-POF.jpg differ |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/USB-player-dat.md
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | + |
|
| 2 | +# USB-player-dat |
|
| 3 | + |
|
| 4 | +https://www.instructables.com/External-USB-audio-card-with-optical-SPDIF-POF-in/ |
|
| 5 | + |
|
| 6 | +- [[PCM2906-dat]] -> DOUT -> -> [[74ACT00-dat]] -> TX -> [[FC300T-dat]] -> |
|
| 7 | + |
|
| 8 | +- [[FC300T-dat]] -> RX -> [[OPA2380-dat]] -> DIN -> [[PCM2906-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## ref |
|
| 16 | + |
|
| 17 | +- [[TI-audio-dat]] - [[74xx-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/fiber-optic-app-dat.md
| ... | ... | @@ -0,0 +1,82 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-app-dat |
|
| 3 | + |
|
| 4 | +== fiber-optic-solutions-dat |
|
| 5 | + |
|
| 6 | +small solutions based on [[POF-dat]] |
|
| 7 | + |
|
| 8 | +- [[TI-audio-dat]] - [[USB-player-dat]] |
|
| 9 | + |
|
| 10 | +[TOSLINK DAC](https://hackaday.io/project/181024-toslink-dac) |
|
| 11 | + |
|
| 12 | +- [[fiber-optic-serial-dat]] - [[video-RC-car-dat]] |
|
| 13 | + |
|
| 14 | +- [[fiber-analog-video-dat]] - [[video-dat]] |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +- [[fiber-optic-transceiver-dat]] - [[SFP-transceiver-dat]] |
|
| 18 | + |
|
| 19 | +## analog video to fiber-optic |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## UART to fiber-optic |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## fiber-optic bucket |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## demo |
|
| 33 | + |
|
| 34 | +- [#fiber-optic wire bucket solutions](https://t.me/electrodragon3/344) |
|
| 35 | + |
|
| 36 | +## ref |
|
| 37 | + |
|
| 38 | +- [[fiber-optic-dat]] |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | +## Home networking |
|
| 44 | + |
|
| 45 | +[How to Run Fiber Optic Cable in Your Backyard - My 10 Gig Install for Starlink](https://www.youtube.com/watch?v=pOKZlwB-lKQ) |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## More Concept Apps |
|
| 51 | + |
|
| 52 | +FPV remote communication |
|
| 53 | + |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | + |
|
| 58 | + |
|
| 59 | + |
|
| 60 | +- [demo video how it works](https://www.youtube.com/shorts/GSPIDlSw020) |
|
| 61 | + |
|
| 62 | +emergancy support |
|
| 63 | + |
|
| 64 | + |
|
| 65 | + |
|
| 66 | + |
|
| 67 | + |
|
| 68 | +underwater robot communication |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +tube communication |
|
| 73 | + |
|
| 74 | + |
|
| 75 | + |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +## ref |
|
| 81 | + |
|
| 82 | +- [[fiber-optic-dat]] - [[fiber-optic-app]] |
Network-dat/fiber-optic-dat/fiber-optic-app-dat/fiber-optic-serial-dat/fiber-optic-serial-dat.md
| ... | ... | @@ -0,0 +1,70 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-serial-dat |
|
| 3 | + |
|
| 4 | +# Sending UART Serial Data over Plastic Optical Fiber (POF) |
|
| 5 | + |
|
| 6 | +Using plastic optical fiber (POF) to transmit UART serial data provides EMI resistance and electrical isolation. Here's how to do it: |
|
| 7 | + |
|
| 8 | +--- |
|
| 9 | + |
|
| 10 | +## 🧰 What You Need |
|
| 11 | + |
|
| 12 | +1. **Plastic Optical Fiber (POF)** – typically 1mm core, 650nm red LED compatible. |
|
| 13 | +2. **Optical Transceivers** – e.g., Avago HFBR-1521 (TX) and HFBR-2521 (RX) |
|
| 14 | +3. **Microcontrollers or USB-to-UART adapters** |
|
| 15 | +4. **Resistors and capacitors** – per the transceiver datasheet |
|
| 16 | +5. **Logic level shifters** – if voltage levels don't match |
|
| 17 | + |
|
| 18 | +--- |
|
| 19 | + |
|
| 20 | +## 🔌 Basic Wiring Overview |
|
| 21 | + |
|
| 22 | +### TX Side (UART → Optical) |
|
| 23 | +- Microcontroller UART TX → Optical Transmitter (e.g., HFBR-1521) |
|
| 24 | +- Power (3.3V or 5V) |
|
| 25 | +- Current-limiting resistor for LED (per datasheet) |
|
| 26 | + |
|
| 27 | +### RX Side (Optical → UART) |
|
| 28 | +- Optical Receiver (e.g., HFBR-2521) → UART RX |
|
| 29 | +- Power supply |
|
| 30 | +- Pull-up resistor on RX output (if open collector) |
|
| 31 | + |
|
| 32 | +--- |
|
| 33 | + |
|
| 34 | +## 🛠️ Wiring Example with HFBR-15X1 / 25X1 |
|
| 35 | + |
|
| 36 | +- **TX Module (HFBR-1521)**: |
|
| 37 | + - Anode → Vcc through resistor |
|
| 38 | + - Cathode → UART TX (possibly via transistor) |
|
| 39 | + |
|
| 40 | +- **RX Module (HFBR-2521)**: |
|
| 41 | + - Output → UART RX with pull-up resistor to Vcc |
|
| 42 | + |
|
| 43 | +> ⚠️ Note: These modules output non-inverted logic compatible with UART. |
|
| 44 | + |
|
| 45 | +--- |
|
| 46 | + |
|
| 47 | +## ⚙️ UART Settings |
|
| 48 | + |
|
| 49 | +- Baud Rate: up to **250 kbps** recommended for stable operation |
|
| 50 | +- Settings: Standard 8N1 (e.g., 9600 8N1) |
|
| 51 | + |
|
| 52 | +--- |
|
| 53 | + |
|
| 54 | +## 📏 Max Transmission Distance |
|
| 55 | + |
|
| 56 | +- Up to **20 meters** for typical POF setups |
|
| 57 | + |
|
| 58 | +--- |
|
| 59 | + |
|
| 60 | +## 🧪 Testing |
|
| 61 | + |
|
| 62 | +- Connect USB-to-UART adapter to one side, microcontroller or another adapter to the other |
|
| 63 | +- Use serial terminal (PuTTY, Arduino IDE, etc.) to send test messages |
|
| 64 | +- Perform loopback or echo tests |
|
| 65 | + |
|
| 66 | +## ref |
|
| 67 | + |
|
| 68 | +- [[fiber-optic-serial]] - [[fiber-optic]] |
|
| 69 | + |
|
| 70 | +- [[fiber-optic-app-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/2025-04-21-15-53-41.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/2025-04-21-15-53-41.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-22-14-24-56.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-22-14-24-56.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-25-04-40-38.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-25-04-40-38.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-dat.md
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | + |
|
| 2 | +# DLR2180-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +DLR28012 |
|
| 6 | +https://www.edison-opto.com/_i/assets/file/productlist/8DLR28000000000A.pdf |
|
| 7 | + |
|
| 8 | +- [[DLR2180-datasheet.pdf]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## DLT1111A |
|
| 12 | + |
|
| 13 | +http://www.hy1688.com.tw/SWITCH/DC%20JACK%20HOME/Optical_File/DLT1111A.pdf |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-datasheet.pdf
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-datasheet.pdf differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-17-54.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-17-54.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-19-15.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-19-15.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-15-11-45.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-15-11-45.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/FC300T-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# FC300T-dat |
|
| 3 | + |
|
| 4 | +### FC300T |
|
| 5 | + |
|
| 6 | +650 nm Analog Fiber Opticc Transceiver with Termination for Bare POF |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/firecomms/fc300t.pdf |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-07.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-07.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-39.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-39.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-19.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-19.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-53.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-53.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-13.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-13.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-31.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-31.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-29-14-34-51.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-29-14-34-51.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-0500Z-Series-dat/HFBR-0500Z-Series-dat.md
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | + |
|
| 2 | +# HFBR-0500Z-Series-dat |
|
| 3 | + |
|
| 4 | +Internal optics have been optimized for use with 1-mm diameter polymer optical fiber. Versatile Link specifications incorporate all connector interface losses. Therefore, optical calculations for common link applications are simplified. |
|
| 5 | + |
|
| 6 | +[HFBR-0500Z Series Versatile Link Fiber-Optic Connection](https://docs.broadcom.com/doc/AV02-1501EN) |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +Yes, you can insert a bare end POF cable into the Broadcom HFBR-0500 Series transceivers (e.g., HFBR-1521Z, HFBR-2521Z, etc.) — that’s one of their key advantages. |
|
| 10 | + |
|
| 11 | +✅ Here's how it works: |
|
| 12 | + |
|
| 13 | +The HFBR-0500 series is designed for tool-less, field-installable connections. |
|
| 14 | + |
|
| 15 | +You can directly cut and insert a 1 mm core POF cable (typically with 2.2 mm jacket) into the transceiver. |
|
| 16 | + |
|
| 17 | +No pre-attached connector is required. |
|
| 18 | + |
|
| 19 | +https://www.broadcom.com/products/fiber-optic-modules-components/industrial/industrial-control-general-purpose/650nm/hfbr-1521z |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-dat.md
| ... | ... | @@ -0,0 +1,74 @@ |
| 1 | + |
|
| 2 | +# HFBR-dat |
|
| 3 | + |
|
| 4 | +HFBR-4503Z |
|
| 5 | + |
|
| 6 | +- [[HFBR-0500Z-Series-dat]] |
|
| 7 | + |
|
| 8 | +- [[HFBR]] - [[POF]] |
|
| 9 | + |
|
| 10 | +## Best Way to Use POF for 5V TTL Serial: |
|
| 11 | + |
|
| 12 | + TX Side (Microcontroller) |
|
| 13 | + -------------------------- |
|
| 14 | + MCU TX ──► HFBR-1521 (Transmitter) |
|
| 15 | + GND ─────┬──────────────────────┐ |
|
| 16 | + Vcc (5V) ──────────────────────► |
|
| 17 | + |
|
| 18 | + RX Side (Receiver) |
|
| 19 | + ------------------- |
|
| 20 | + POF Fiber ──► HFBR-2521 (Receiver) |
|
| 21 | + Output ─────► MCU RX |
|
| 22 | + GND ─────────┴────────────────── |
|
| 23 | + |
|
| 24 | +## 🧩 2. Integrated Fiber Optic Transceivers |
|
| 25 | + |
|
| 26 | +These are dedicated fiber optic ICs that handle the light/electrical signal conversion for **analog or digital baseband signals** — suitable for video. |
|
| 27 | + |
|
| 28 | +### 🔹 Avago HFBR-0500 Series (Now Broadcom) |
|
| 29 | +- **HFBR-1521** – Transmitter |
|
| 30 | +- **HFBR-2521** – Receiver |
|
| 31 | + |
|
| 32 | +**✔ Features:** |
|
| 33 | +- Accept **analog or digital signals** (bandwidth limited to ~50 MHz) |
|
| 34 | +- Compatible with **1 mm Plastic Optical Fiber (POF)** |
|
| 35 | +- Accepts **TTL or analog-like baseband** signals |
|
| 36 | +- Can work with **buffered composite/S-video signals** |
|
| 37 | + |
|
| 38 | +> **Note:** For pure analog video, you’ll need **pre-emphasis or buffering** before the transmitter to match signal levels. |
|
| 39 | + |
|
| 40 | +## HFBR series |
|
| 41 | + |
|
| 42 | +- [[HFBR-0500Z-Series-dat]] - [[HFBR-x4xx-dat]] |
|
| 43 | + |
|
| 44 | +HFBR-4501 / HFBR-4511 == TX / RX |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +HFBR-4503 / HFBR-4513 == TX / RX |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +HFBR-4531 / HFBR-4533 == TX / RX |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +HFBR-4532 / HFBR-4532 == TX / RX |
|
| 54 | + |
|
| 55 | + |
|
| 56 | +HFBR-4506 |
|
| 57 | + |
|
| 58 | + |
|
| 59 | +HFBR-4516 |
|
| 60 | + |
|
| 61 | + |
|
| 62 | +HFBR-4505对接器(灰色) / HFBR-4515对接器(蓝色) |
|
| 63 | + |
|
| 64 | + |
|
| 65 | + |
|
| 66 | +## AFBR-0553Z Evaluation Kit |
|
| 67 | + |
|
| 68 | +DC-to-50 MBd 650-nm Link with RSSI Versatile Link Fiber Optic Evaluation Kit |
|
| 69 | + |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +## ref |
|
| 73 | + |
|
| 74 | +- [[TOSlink-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-04-29-14-36-48.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-04-29-14-36-48.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-06-18-19-51-39.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-06-18-19-51-39.png differ |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/HFBR-x4xx-dat.md
| ... | ... | @@ -0,0 +1,24 @@ |
| 1 | + |
|
| 2 | +# HFBR-x4xx-dat |
|
| 3 | + |
|
| 4 | +- [[NWL1116-dat]] - [[POF-dat]] - [[HFBR-x4xx-dat]] |
|
| 5 | + |
|
| 6 | +The series includes HFBR-2414TZ and HFBR-1414TZ |
|
| 7 | + |
|
| 8 | +HFBR-14xxZ and HFBR-24xxZ Series Low-Cost, 820-nm Miniature Link Fiber-Optic Components with ST, SMA, SC, and FC Ports |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## APPs |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## rx - 2414TZ |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## ref |
|
| 21 | + |
|
| 22 | +- [[broadcom-dat]] - [[TI-logic-dat]] - [[SN74541-dat]] |
|
| 23 | + |
|
| 24 | + |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/POF-connector-less-dat/POF-connector-less-dat.md
| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | + |
|
| 2 | +# POF-connector-less-dat |
|
| 3 | + |
|
| 4 | +## 🔌 Connector-less / Bare Fiber Alternatives to PLT237/PLR237 |
|
| 5 | + |
|
| 6 | +### 1. **Toslink Modules (TOTX/TORX Series)** |
|
| 7 | +- Examples: `TOTX147`, `TORX147` |
|
| 8 | +- ✅ Accepts 1mm POF directly |
|
| 9 | +- 🟢 Easy to use, low-cost |
|
| 10 | +- 🔴 Limited to short range, <6 Mbps |
|
| 11 | + |
|
| 12 | +--- |
|
| 13 | + |
|
| 14 | +### 2. **Avago / Broadcom HFBR Series** |
|
| 15 | +- Examples: `HFBR-1414TZ`, `HFBR-2412TZ` |
|
| 16 | +- ✅ Supports bare 1mm plastic fiber |
|
| 17 | +- 🟢 Reliable, up to 10 Mbps |
|
| 18 | + |
|
| 19 | +--- |
|
| 20 | + |
|
| 21 | +### 3. **Vishay SFH / TCPT Series** |
|
| 22 | +- Examples: `SFH757V`, `SFH250V` |
|
| 23 | +- ✅ Push-in design for bare POF |
|
| 24 | +- 🟢 Simple, direct fiber insertion |
|
| 25 | + |
|
| 26 | +--- |
|
| 27 | + |
|
| 28 | +### 4. **Industrial Fiber Optics IF-E96 / IF-D96** |
|
| 29 | +- ✅ Made for bare fiber with clip/screw mounting |
|
| 30 | +- 🟢 Great for low-speed serial comms (e.g., 9600 baud) |
|
| 31 | + |
|
| 32 | +--- |
|
| 33 | + |
|
| 34 | +### 5. **DIY LED/Photodiode Setup** |
|
| 35 | +- ✅ Use IR/Red LED + phototransistor |
|
| 36 | +- 🔧 For very short links (~1m) |
|
| 37 | +- 🧪 Good for experiments/prototyping |
|
| 38 | + |
|
| 39 | +--- |
|
| 40 | + |
|
| 41 | +### 🔍 Keywords to Search |
|
| 42 | +- `"bare fiber optic transmitter POF"` |
|
| 43 | +- `"HFBR plastic fiber transceiver"` |
|
| 44 | +- `"1mm POF UART optical link"` |
|
| 45 | + |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/POF-dat.md
| ... | ... | @@ -0,0 +1,164 @@ |
| 1 | + |
|
| 2 | +# POF-dat |
|
| 3 | + |
|
| 4 | +- get more compare info here: [[glass-fiber-dat]] |
|
| 5 | + |
|
| 6 | +- [[fiber-optic-app-dat]] |
|
| 7 | + |
|
| 8 | +- [[FC300T-dat]] - [[Photolink-dat]] - [[HFBR-dat]] - [[HFBR-0500Z-Series-dat]] |
|
| 9 | + |
|
| 10 | +- [[DLR2180-dat]] - [[TCPT1200-dat]] - [[vishay-dat]] - [[sharp-dat]] |
|
| 11 | + |
|
| 12 | +- [[toshiba-dat]] - [[TOTX-TORX-dat]] - [[toslink-dat]] |
|
| 13 | + |
|
| 14 | +- [[POF]] |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## boards |
|
| 18 | + |
|
| 19 | +- [[NWL1116-dat]] - [[POF-dat]] - [[HFBR-x4xx-dat]] |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +## What is POF? |
|
| 23 | + |
|
| 24 | +POF stands for plastic optical fiber with the term plastic being used a vulgarization for polymer materials. |
|
| 25 | + |
|
| 26 | +The 1mm fiber diameter is about **500 times thicker** than a glass optical fiber. |
|
| 27 | + |
|
| 28 | +96% of the cores cross section conducts modulated light for data transmission similar to glass optical fiber applications. |
|
| 29 | + |
|
| 30 | +The maximal transmission distance amounts to about 100m without active repeaters. |
|
| 31 | + |
|
| 32 | +Polymer fibers are used for high speed data network in homes, commerce and industry as well as in cars and airplanes. POF is often regarded as an optical home network because POF is easy to install. The fiber is thin, can be shortened to the desired length by a sharp knife and requires no connectors on its ends. Anyone can set up a robust, high performance and Ethernet compatible network without any special tools. |
|
| 33 | + |
|
| 34 | +## The key advantages of POF networks are: |
|
| 35 | + |
|
| 36 | +- No electromagnetic radiation |
|
| 37 | +- Electrically isolated network |
|
| 38 | +- Immunity against electromagnetic coupling |
|
| 39 | +- No electromagnetic cross talk |
|
| 40 | +- Flexible, reliable and maintenance-free |
|
| 41 | +- Low weight |
|
| 42 | +- Resistant to humidity, heat and vibration |
|
| 43 | +- Visible light that is eye-safe |
|
| 44 | + |
|
| 45 | +🧵 POF (Plastic Optical Fiber) |
|
| 46 | + |
|
| 47 | +## PMMA Fiber specs |
|
| 48 | + |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +- Jacket: Black PE |
|
| 52 | +- Core Refractive Index: 1.49 |
|
| 53 | +- Numerical Aperture: 0.5 |
|
| 54 | +- Heat Resistance Temperature: -55℃ ~ 70℃ |
|
| 55 | +- Transmission Loss: 200dB/km |
|
| 56 | +- Minimum Bending Radius: 25mm |
|
| 57 | +- Wavelength: 650nm |
|
| 58 | +- Finished Fiber Products: Servo cables, sensor patch cords, plastic optical fiber patch cords |
|
| 59 | +- Use Cases: Medical imaging, fiber optic sensing, servo machines, drilling machines... |
|
| 60 | +- Recommended Storage Temperature: -55℃ ~ 85℃ |
|
| 61 | +- Suggested Operating Temperature: -25℃ ~ 70℃ |
|
| 62 | + |
|
| 63 | +## Feature Description |
|
| 64 | + |
|
| 65 | +- 🌟 Material Core made from plastic (usually PMMA) instead of glass |
|
| 66 | +- 📏 Core Size Typically 1 mm (much thicker than glass fiber) |
|
| 67 | +- 📡 Distance Short range (up to ~100 meters) |
|
| 68 | +- 🔌 Use Cases Consumer electronics, asutomotive, home networks |
|
| 69 | +- 💰 Cost Cheaper and more flexible, easy to handle |
|
| 70 | +- ⚠️ Limitation High signal loss (attenuation), not suitable for long-ditance or high-speed telecom links |
|
| 71 | + |
|
| 72 | +## POF distance |
|
| 73 | + |
|
| 74 | +| POF Type | Max Distance | Typical Data Rate | Notes | |
|
| 75 | +|------------------|--------------|-------------------|--------------------------------| |
|
| 76 | +| PMMA (Standard) | 50–100 m | 100 Mbps–1 Gbps | Common in home networks | |
|
| 77 | +| PF-POF | 200–500 m+ | 1 Gbps+ | Used in industrial/high-speed | |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +## POF transmitter/receiver (Analog Fiber Opticc Transceiver) |
|
| 81 | + |
|
| 82 | + |
|
| 83 | +For the POF transmitter/receiver part was used the Firecomms Optolock FC300T. |
|
| 84 | + |
|
| 85 | +It includes the transmitting LED and the receiving PIN photodiode in one package. |
|
| 86 | + |
|
| 87 | +More information about the device can be found under the link: http://www.firecomms.com/ . The used Optolock is analog. |
|
| 88 | + |
|
| 89 | +Under desire a different type can be used (there are some which contain the receiver part embedded inside the same package), but the schematic and the PCB of the current implementation must be changed according the new requirements (in some cases differential to single ended conversion must be done). |
|
| 90 | + |
|
| 91 | +### more transceiver |
|
| 92 | + |
|
| 93 | +https://www.mouser.com/c/optoelectronics/fiber-optics/fiber-optic-transmitters-receivers-transceivers/?q=POF%20Transceiver |
|
| 94 | + |
|
| 95 | + |
|
| 96 | +## POF range == UART up to 100 Meters? |
|
| 97 | + |
|
| 98 | +Yes, it's possible to use POF for UART over 100 meters, but it requires careful setup. |
|
| 99 | + |
|
| 100 | +--- |
|
| 101 | + |
|
| 102 | +### ⚠️ Challenges |
|
| 103 | + |
|
| 104 | +- **Attenuation:** ~0.15–0.20 dB/m → 15–20 dB loss at 100m |
|
| 105 | +- **Transceiver Limitations:** Basic modules like HFBR-1521/2521 are rated for ~50m |
|
| 106 | +- **Baud Rate:** Longer distances need lower baud rates for reliability |
|
| 107 | + |
|
| 108 | +--- |
|
| 109 | + |
|
| 110 | +### 🔧 How to Make It Work |
|
| 111 | + |
|
| 112 | +#### 1. Use Better Transceivers |
|
| 113 | +- Choose high-power modules like: |
|
| 114 | + - **HFBR-1414TZ / 2412TZ** |
|
| 115 | + - Or similar industrial-grade parts |
|
| 116 | + |
|
| 117 | +#### 2. Use Quality Fiber |
|
| 118 | +- Use **ESKA SK-40/SK-80** POF |
|
| 119 | +- Keep fibers clean and avoid tight bends |
|
| 120 | + |
|
| 121 | +#### 3. Lower the Baud Rate |
|
| 122 | +- Recommended for 100m: |
|
| 123 | + - **9600 or 19200 bps** (safe) |
|
| 124 | + - **38400 bps** (possible with care) |
|
| 125 | + |
|
| 126 | +#### 4. Optional: Add Signal Conditioning |
|
| 127 | +- Use Schmitt triggers or line drivers (e.g., 74HC14) to clean up weak signals |
|
| 128 | + |
|
| 129 | +--- |
|
| 130 | + |
|
| 131 | +### 🧠 Alternatives |
|
| 132 | +- For better reliability, consider: |
|
| 133 | + - **Glass fiber with serial-fiber converters** |
|
| 134 | + - **RS-485 over twisted pair** (up to 1200m) |
|
| 135 | + |
|
| 136 | +--- |
|
| 137 | + |
|
| 138 | +### ✅ Summary |
|
| 139 | + |
|
| 140 | +| Feature | Up to 50m | Up to 100m | |
|
| 141 | +|----------------|-------------------|--------------------------| |
|
| 142 | +| Baud Rate | 9600–115200 bps | 9600–38400 bps | |
|
| 143 | +| Transceivers | HFBR-15X1 series | HFBR-14XX or similar | |
|
| 144 | +| Fiber Quality | Basic POF | High-grade POF (SK-40) | |
|
| 145 | + |
|
| 146 | + |
|
| 147 | +## IF |
|
| 148 | + |
|
| 149 | +IF-D91, a fiber-optic photodiode, |
|
| 150 | +and one IF-E97, a fiber-optic LED, both from Industrial Fiber Optics. |
|
| 151 | + |
|
| 152 | +It provides a plastic optic connection feature over a plastic fiber cable with data rates of up to 512Kbps. |
|
| 153 | + |
|
| 154 | +Received data from the IF-D91 photodiode is filtered and amplified through dual operational amplifier, the [[MCP6022-dat]] from Microchip, and sent for further processing via selected mikroBUS™ lines. |
|
| 155 | + |
|
| 156 | +This Click board™ makes the perfect solution for high-speed digital data links, local area networks, video links, EMC/EMI signal isolation, fiber optic modems, and more. |
|
| 157 | + |
|
| 158 | + |
|
| 159 | + |
|
| 160 | +## ref |
|
| 161 | + |
|
| 162 | +https://www.instructables.com/External-USB-audio-card-with-optical-SPDIF-POF-in/ |
|
| 163 | + |
|
| 164 | +- [[POF]] - [[fiber-optic]] |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/fiber-optic-cable-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-cable-dat |
|
| 3 | + |
|
| 4 | +## dual in and out POF cable |
|
| 5 | + |
|
| 6 | +- [[POF-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## cable assembly |
|
| 13 | + |
|
| 14 | +- [cable assembly, looks complex ](https://www.youtube.com/shorts/w1MxLufzwF4) |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-cable-dat/glass-fiber-dat/glass-fiber-dat.md
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | + |
|
| 2 | +# glass-fiber-dat |
|
| 3 | + |
|
| 4 | +| Feature | Glass Optical Fiber | Plastic Optical Fiber (POF) | |
|
| 5 | +|---------------------|--------------------------------------------------|----------------------------------------------| |
|
| 6 | +| **Core Diameter** | 8–10 µm (singlemode), 50–62.5 µm (multimode) | **1000 µm (1 mm)** | |
|
| 7 | +| **Cladding Diameter** | 125 µm (standard) | **2.2 mm** (core + cladding + jacket) | |
|
| 8 | +| **Jacket Diameter** | 250 µm to 900 µm (tight-buffered or loose tube) | **2.2 mm** (same as outer diameter) | |
|
| 9 | +| **Bend Radius** | ≥10× diameter (sensitive to bending) | **Very flexible**, tolerates sharp bends | |
|
| 10 | +| **Handling** | Requires tools, fragile | **Tool-less, easy to cut and use** | |
|
| 11 | +| **Max Distance** | 10s–100s of kilometers | **Typically <100 meters** | |
|
| 12 | +| **Bandwidth** | Extremely high (Gbps–Tbps) | **Lower (up to hundreds of Mbps)** | |
|
| 13 | +| **Common Use Cases**| Telecom, datacenters, internet infrastructure | **Consumer electronics, automotive, DIY** | |
|
| 14 | +| **Light Source** | Laser (singlemode), LED (multimode) | **LED (visible or IR)** | |
|
| 15 | +| **Cost** | Higher | **Low cost** | |
|
| 16 | + |
|
| 17 | +### 🔍 Visual Size Comparison (Proportional to Scale) |
|
| 18 | + |
|
| 19 | +| Fiber Type | Visual Size Representation | |
|
| 20 | +|--------------------|----------------------------------| |
|
| 21 | +| Singlemode Glass | ░ (8 µm core) | |
|
| 22 | +| Multimode Glass | ▒ (50 µm core) | |
|
| 23 | +| Plastic (POF) | █ (1000 µm / 1 mm core) | |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-19-33.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-19-33.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-22-34.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-22-34.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-24-18-03-15.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-24-18-03-15.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-11-19.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-11-19.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-13-04.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-13-04.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/LC-connector-dat.md
| ... | ... | @@ -0,0 +1,51 @@ |
| 1 | + |
|
| 2 | +# LC-connector-dat.md |
|
| 3 | + |
|
| 4 | +## LC module |
|
| 5 | + |
|
| 6 | +LC stands for Lucent Connector. |
|
| 7 | + |
|
| 8 | +LC connectors are smaller versions of SC connectors, commonly used in high-density fiber optic applications. |
|
| 9 | + |
|
| 10 | +### Features: |
|
| 11 | + |
|
| 12 | +Small form factor: Half the size of SC connectors, making them ideal for space-limited environments like data centers. |
|
| 13 | + |
|
| 14 | +Latch mechanism: Uses a clip-on design for easy and secure connection. |
|
| 15 | + |
|
| 16 | +High-density applications: Commonly used in network switches, routers, and patch panels. |
|
| 17 | + |
|
| 18 | +Fiber types: Can be used with both single-mode and multi-mode fibers. |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## usage |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +This device is a fiber optic transceiver module, specifically an SFP (Small Form-Factor Pluggable) transceiver with an LC (Lucent Connector) interface. |
|
| 28 | + |
|
| 29 | +Here's a breakdown of what each part is and what it does: |
|
| 30 | + |
|
| 31 | +**SFP Transceiver** (the main black body with the gold pins): This is a hot-pluggable module used for data communications. It converts electrical signals into optical signals for transmission over fiber optic cables, and then converts incoming optical signals back into electrical signals. SFPs are commonly used in network devices like switches, routers, and network interface cards to connect them to a fiber optic network. |
|
| 32 | + |
|
| 33 | +**LC Connector** (the black part at the end of the orange cable that plugs into the SFP): As identified earlier, this is a type of fiber optic connector known for its small form factor, which allows for high-density connections. |
|
| 34 | + |
|
| 35 | +**Fiber Optic Cable** (the orange cable): This cable is used to transmit data using light pulses. The color (orange in this case) typically indicates it's a multimode fiber optic cable, which is generally used for shorter distances. |
|
| 36 | + |
|
| 37 | +In summary, this device facilitates high-speed data transmission over a fiber optic network, allowing network equipment to communicate using light signals. |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## seperate |
|
| 41 | + |
|
| 42 | +Yes, you can often separate the LC connector, especially if it's a duplex LC connector. |
|
| 43 | + |
|
| 44 | +Here's why and how: |
|
| 45 | + |
|
| 46 | +**Duplex LC connectors** are essentially two simplex (single fiber) LC connectors held together by a clip or a "mating sleeve." This clip can often be carefully removed, allowing you to separate the two individual LC connectors. This is commonly done when you need to switch the polarity of the fibers (e.g., if you have an A-A wiring and need A-B). |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +**Simplex LC connectors** are designed for a single fiber and generally do not separate into smaller components in the same way. The connector itself is a single unit terminated onto the fiber. |
|
| 51 | + |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-04-22-12-35-06.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-04-22-12-35-06.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-16-59-05.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-16-59-05.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-09.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-09.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-44.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-44.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/MTP-MPO-Connector-dat.md
| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | + |
|
| 2 | +# MTP-MPO-Connector-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +That connector is an **MTP/MPO (Multi-Fiber Push-On/Pull-off) connector**, commonly used in high-density fiber optic networks. |
|
| 7 | + |
|
| 8 | +Details: |
|
| 9 | + |
|
| 10 | +Connector Type: MTP or MPO (they look nearly identical; MTP is a higher-performance version by US Conec). |
|
| 11 | + |
|
| 12 | +Fiber Count: Typically supports **12, 24, or more fibers** in a single rectangular ferrule. |
|
| 13 | + |
|
| 14 | +Color: Aqua cable and connector usually indicate **OM3 or OM4 multimode fiber**, used for high-speed data (like **10/40/100Gbps Ethernet**). |
|
| 15 | + |
|
| 16 | +Use Case: **Data centers**, backbone cabling, high-speed interconnects. |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +You’ll need an MTP/MPO adapter or cassette to fan out into **LC or SC connectors** if you're patching it to more standard fiber connections. |
|
| 20 | + |
|
| 21 | +## use guide |
|
| 22 | + |
|
| 23 | +- [MPO housing remove guide](https://www.youtube.com/shorts/soxnNBGLyRI) |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | + |
|
| 33 | +## ref |
|
| 34 | + |
|
| 35 | +- [[optic-fiber-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-32-51.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-32-51.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-33-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-33-03.png differ |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/SC-Connector-dat.md
| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | + |
|
| 2 | +# SC-Connector-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +The object you're holding is an **SC (Subscriber Connector) fiber optic connector**. These connectors are commonly used in network and telecom setups for fiber optic cables. Here's a quick rundown: |
|
| 9 | + |
|
| 10 | +Connector Type: SC |
|
| 11 | + |
|
| 12 | +- **Color**: Blue typically indicates single-mode fiber (usually used for long-distance data transmission). |
|
| 13 | +- **Ferrule**: The white cylindrical part at the tip is the ferrule, which aligns the fiber and is crucial for precise data transmission. |
|
| 14 | +- **Push-pull design**: SC connectors use a push-pull mechanism for easy insertion and removal. |
|
| 15 | + |
|
| 16 | +## SC/APC |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +The connector shown is an **SC/APC (Angled Physical Contact)** type fiber optic connector, but let’s get specific: |
|
| 20 | + |
|
| 21 | +Based on What I See: |
|
| 22 | + |
|
| 23 | +The **blue housing** usually indicates an **SC/UPC (Ultra Physical Contact)** connector. |
|
| 24 | + |
|
| 25 | +The **ferrule** end in your image looks flat, which is consistent with UPC rather than the angled end of an APC (which would be green and have an 8° angled polish). |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +## SC module |
|
| 32 | + |
|
| 33 | +SC stands for Subscriber Connector. |
|
| 34 | + |
|
| 35 | +SC connectors are a type of fiber optic connector commonly used with fiber optic cables. |
|
| 36 | + |
|
| 37 | +### Features: |
|
| 38 | + |
|
| 39 | +Push-pull coupling mechanism: Allows easy insertion and removal of connectors. |
|
| 40 | + |
|
| 41 | +Duplex design: Typically used in dual-core fiber optic cables (sending and receiving signals). |
|
| 42 | + |
|
| 43 | +Durable and reliable, often used in telecommunications, data centers, and other long-distance fiber optic links. |
|
| 44 | + |
|
| 45 | +Size: Relatively large compared to other connectors like LC. |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## ref |
|
| 51 | + |
|
| 52 | +device - [[SFP-transceiver-dat]] |
|
| 53 | + |
|
| 54 | +- [[fiber-optic-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-connector-dat/fiber-optic-connector-dat.md
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-connector-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## LC FC connector |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +- [[LC-connector-dat]] - [[SC-connector-dat]] |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## MTP-MPO-Connector |
|
| 13 | + |
|
| 14 | +- [[MTP-MPO-Connector-dat]] |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## LC/UPC, SC/UPC, LC/APC, SC/APC, FC/APC, FC/UPC Connector |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## LC/UPC, SC/UPC, LC/APC, SC/APC, FC/APC, FC/UPC Connector |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +## SC/APC connector installation |
|
| 32 | + |
|
| 33 | +[Installation Instruction for SC/APC FUSEConnect® Fusion-Spliced Connectors](https://www.youtube.com/watch?v=JnqhVENXHjU) |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
Network-dat/fiber-optic-dat/fiber-optic-dat.md
| ... | ... | @@ -0,0 +1,84 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-dat |
|
| 3 | + |
|
| 4 | +info and knowledge |
|
| 5 | + |
|
| 6 | +- [[SFP-transceiver-dat]] - [[SFP-housing-dat]] |
|
| 7 | + |
|
| 8 | +- [[fiber-optic-transceiver-dat]] |
|
| 9 | + |
|
| 10 | +- [[fiber-optic-cable-dat]] - [[POF-dat]] |
|
| 11 | + |
|
| 12 | +- [[fiber-optic-connector-dat]] - [[LC-connector-dat]] - [[SC-connector-dat]] - [[MTP-MPO-Connector-dat]] |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +already to go systems - [[toslink-dat]] - [[photolink-dat]] |
|
| 16 | + |
|
| 17 | +apps and solutions - [[fiber-optic-app-dat]] |
|
| 18 | + |
|
| 19 | +Signal == [[SerDes-dat]] |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +## note |
|
| 23 | + |
|
| 24 | +Gigabit optical-to-electrical modules must be used with Category 5e, Category 6, and Category 6e network cables |
|
| 25 | + |
|
| 26 | +10G optical-to-electrical modules must be used with Category 7 and Category 8 10G network cables |
|
| 27 | + |
|
| 28 | +## advantage |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## demo |
|
| 35 | + |
|
| 36 | +- https://t.me/electrodragon3/342 |
|
| 37 | + |
|
| 38 | +## specs |
|
| 39 | + |
|
| 40 | +圆形单工光缆,9/125 单模,Riser 等级,2.0mm |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | + |
|
| 45 | +## Usage |
|
| 46 | + |
|
| 47 | +- [[self-loop-test-dat]] |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## comparison |
|
| 51 | + |
|
| 52 | +| Feature | 🔌 RS-485 (Twisted Pair) | 🔴 Plastic Optical Fiber (POF) | 🧪 Glass Optical Fiber | |
|
| 53 | +| ------------------------ | -------------------------- | ---------------------------------- | ----------------------------------- | |
|
| 54 | +| **Max Distance** | ~1200 m (4000 ft) | ~50–100 m | >10 km (with proper transceivers) | |
|
| 55 | +| **Typical Data Rates** | 9.6 kbps – 10 Mbps (short) | 10 kbps – 250 kbps (up to ~100m) | 10 Mbps – 100 Gbps+ | |
|
| 56 | +| **Best Range vs Speed** | 9.6 kbps @ 1.2 km | 9600–38400 bps @ 100 m | 1 Gbps @ 10+ km (SM fiber) | |
|
| 57 | +| **Signal Medium** | Electrical (differential) | Light (650nm LED, red) | Light (laser or LED, 1310/1550nm) | |
|
| 58 | +| **EMI Immunity** | Good | Excellent | Excellent | |
|
| 59 | +| **Electrical Isolation** | Optional (via ICs) | Yes (complete) | Yes (complete) | |
|
| 60 | +| **Installation Cost** | Low | Medium | High | |
|
| 61 | +| **Ease of Termination** | Simple (screw/crimp) | Easy (cut and polish or click-fit) | Difficult (cleave, polish, splice) | |
|
| 62 | +| **Connectors** | Screw terminal, DB9, etc. | Snap-in (HFBR, Versatile Link) | SC, LC, ST, FC | |
|
| 63 | +| **Multi-node Support** | Yes (up to 32 nodes) | Point-to-point | Point-to-point (or splitter system) | |
|
| 64 | +| **Use Cases** | Industrial control, MODBUS | EMI-safe short serial links, DIY | High-speed data, WAN/LAN, telecom | |
|
| 65 | + |
|
| 66 | + |
|
| 67 | + |
|
| 68 | +## fiber & copper ethernet PHY board |
|
| 69 | + |
|
| 70 | +[DP83869EVM - Copper & fiber industrial Ethernet PHY evaluation module](https://www.ti.com/tool/DP83869EVM) |
|
| 71 | + |
|
| 72 | +- DP83869HM |
|
| 73 | + |
|
| 74 | + |
|
| 75 | + |
|
| 76 | +## Applications |
|
| 77 | + |
|
| 78 | +[From the drones community on Reddit: Unjammable drones being flown via 12 mile long fiber optic cables.](https://www.reddit.com/r/drones/s/VfXIHkhMBL) |
|
| 79 | + |
|
| 80 | +## ref |
|
| 81 | + |
|
| 82 | +- [[RJ45-DAT]] - [[RS485-dat]] - [[ethernet-dat]] |
|
| 83 | + |
|
| 84 | +- [[fiber-optic]] - [[maker]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-08-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-08-03.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-16-26.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-16-26.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-15-58.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-15-58.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-14.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-14.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-28.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-28.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-17-07.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-17-07.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-25-01-31-55.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-25-01-31-55.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-10-22.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-10-22.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-48-49.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-48-49.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/SFP-housing-dat.md
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | + |
|
| 2 | +# SFP-housing-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## TE/AMP 1367073-1 20-pin connector |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## SCH |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## ref |
|
| 24 | + |
|
| 25 | +- [[kicad-footprint-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-31-03.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-31-03.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-55-17.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-55-17.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-03-01.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-03-01.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-41-19.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-41-19.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-46-06.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-46-06.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-22-12-39-52.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-22-12-39-52.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-07.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-07.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-33.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-33.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/SFP-transceiver-dat.md
| ... | ... | @@ -0,0 +1,189 @@ |
| 1 | + |
|
| 2 | +# SFP-transceiver-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[SFP-receiver-housing-dat]] - [[SFP]] - [[pmod-dat]] |
|
| 6 | + |
|
| 7 | +Most SFP modules use LC connectors, though some may use SC (older gear) or others for special applications. - [[LC-connector-dat]] |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## What is inside a SFP transceiver? |
|
| 11 | + |
|
| 12 | +Fiber optic transceivers are key components of the fiber optic transmission network. They are designed in small form-factor with some integrated optical sub-assemblies which can be suitable for the high-density network. There are many SFPs available in the market with different features and specifications(SFP & SFP+). |
|
| 13 | + |
|
| 14 | +Aren’t you aware of the major functions of these transceiver modules? |
|
| 15 | + |
|
| 16 | +- SFPs will transmit data and receive the data. |
|
| 17 | +- Transceivers provide the conversion of electrical signals to optical signals and vice versa. |
|
| 18 | + |
|
| 19 | +Inside the metal casing of a transceiver, there are several components and sub-assemblies that join together to form this. |
|
| 20 | + |
|
| 21 | +- Transmitter Optical Sub Assembly (TOSA) |
|
| 22 | +- Receiver Optical Sub Assembly (ROSA) |
|
| 23 | +- Bi-Directional Optical Sub Assembly (BOSA) |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +## 🔌 Common SFP Solutions for Optical Fiber |
|
| 30 | + |
|
| 31 | +SFP (Small Form-factor Pluggable) modules are compact, hot-swappable transceivers used to connect networking equipment (like switches and routers) to fiber optic or copper cables. |
|
| 32 | + |
|
| 33 | +### 📦 Common Types of SFP Modules |
|
| 34 | + |
|
| 35 | +| SFP Type | Description | Fiber Type | Wavelength | Typical Distance | |
|
| 36 | +| -------- | --------------------------- | ---------- | ------------------ | ---------------- | |
|
| 37 | +| SFP SX | Short-range (Multimode) | Multimode | 850 nm | Up to 550 m | |
|
| 38 | +| SFP LX | Long-range (Singlemode) | Singlemode | 1310 nm | Up to 10 km | |
|
| 39 | +| SFP ZX | Extended reach (Singlemode) | Singlemode | 1550 nm | Up to 80 km | |
|
| 40 | +| SFP BX | Bidirectional (BiDi) | Singlemode | 1310/1490 nm | 10–40 km | |
|
| 41 | +| SFP CWDM | Coarse Wavelength Division | Singlemode | 1270–1610 nm | 20–80 km | |
|
| 42 | +| SFP DWDM | Dense Wavelength Division | Singlemode | Various (ITU grid) | 40–100+ km | |
|
| 43 | + |
|
| 44 | +### 🔧 Things to Consider |
|
| 45 | + |
|
| 46 | +- **Connector Type:** Most fiber SFPs use LC connectors. |
|
| 47 | +- **Vendor Compatibility:** Some switches (e.g., Cisco, HPE) may require brand-specific or coded modules. |
|
| 48 | +- **Fiber Type:** Match your module to either Singlemode (SMF) or Multimode (MMF) cable. |
|
| 49 | +- **Wavelength Matching:** For BiDi or WDM modules, ensure the transmit/receive wavelengths match. |
|
| 50 | +- **Distance Needs:** Choose SX, LX, ZX, etc., based on your required reach. |
|
| 51 | + |
|
| 52 | +### ✅ Example Use Cases |
|
| 53 | + |
|
| 54 | +- 🌐 Short-distance data center links: Use SFP SX with OM3/OM4 multimode fiber |
|
| 55 | +- 🏢 Building-to-building links: Use SFP LX or BX with singlemode fiber |
|
| 56 | +- 🌍 Long-haul backbone links: Use CWDM or DWDM SFPs for multiplexed transport |
|
| 57 | + |
|
| 58 | + |
|
| 59 | +## What Type of Fiber Does SFP Use? |
|
| 60 | + |
|
| 61 | +| SFP Type | Fiber Type | Connector | Description | |
|
| 62 | +| ------------- | ----------------- | --------- | -------------------------------------------- | |
|
| 63 | +| SFP SX | Multimode (MMF) | LC | Short-range, up to 550m (850 nm) | |
|
| 64 | +| SFP LX | Single-mode (SMF) | LC | Long-range, up to 10 km (1310 nm) | |
|
| 65 | +| SFP ZX | Single-mode (SMF) | LC | Extended-range, up to 80 km (1550 nm) | |
|
| 66 | +| SFP BX (BiDi) | Single-mode (SMF) | LC | Bidirectional over 1 fiber, 10–40 km | |
|
| 67 | +| SFP CWDM/DWDM | Single-mode (SMF) | LC | Wavelength-division multiplexing, 40–100+ km | |
|
| 68 | + |
|
| 69 | +## SFP+ transceiver |
|
| 70 | + |
|
| 71 | +### AFBR-709SMZ SFP+ transceiver module. |
|
| 72 | + |
|
| 73 | + |
|
| 74 | + |
|
| 75 | +Here's a breakdown of the information on the label: |
|
| 76 | + |
|
| 77 | + * Avago: The manufacturer (now part of Broadcom). |
|
| 78 | + * AFBR-709SMZ: The specific model number. |
|
| 79 | + * 850nm LASER PROD: Indicates it uses an 850-nanometer wavelength laser. This is typically used for short-range communication over multi-mode fiber optic cables. |
|
| 80 | + * 21CFR(J) CLASS 1: Refers to its laser safety classification (Class 1 is generally safe under reasonably foreseeable conditions). |
|
| 81 | + * CHINA: Country of manufacture. |
|
| 82 | + * 1811: Likely a date code, possibly indicating it was manufactured in the 11th week of 2018. |
|
| 83 | + * SN: AD181130KK4: The unique serial number for this specific unit. |
|
| 84 | + |
|
| 85 | +In simple terms, this is a pluggable module used in networking equipment (like switches or routers) to convert electrical signals to optical signals (and vice-versa) for transmitting data over fiber optic cables, likely at 10 Gigabit per second speeds (10GBASE-SR standard). |
|
| 86 | + |
|
| 87 | +## 20-pin electrical edge connector of an SFP (Small Form-factor Pluggable) module. |
|
| 88 | + |
|
| 89 | +The pin functions are defined by the SFP Multi-Source Agreement (MSA), which ensures interoperability between different vendors' modules and host equipment. |
|
| 90 | + |
|
| 91 | +Pin Numbering Convention: |
|
| 92 | + |
|
| 93 | +When looking directly at the module's edge connector pins as shown in your picture (with the contacts facing you): |
|
| 94 | + * Top Row: Pins 20 down to 11 (from left to right in your image) |
|
| 95 | + * Bottom Row: Pins 10 down to 1 (from left to right in your image) |
|
| 96 | +So, the leftmost pin on the top is Pin 20, the rightmost pin on the top is Pin 11. The leftmost pin on the bottom is Pin 10, and the rightmost pin on the bottom is Pin 1. |
|
| 97 | + |
|
| 98 | +Standard SFP Pin Functions: |
|
| 99 | + |
|
| 100 | +Here is the standard pinout based on the SFP MSA specification: |
|
| 101 | + |
|
| 102 | +| Pin | Name | Function Description | Row | Side (looking at pins) | |
|
| 103 | +| --- | ------------ | -------------------------------------------- | ------ | ---------------------- | |
|
| 104 | +| 1 | VeeT | Transmitter Ground | Bottom | Right | |
|
| 105 | +| 2 | TX_FAULT | Transmitter Fault Indication (Active High) | Bottom | | |
|
| 106 | +| 3 | TX_DISABLE | Transmitter Disable (Input, Active High) | Bottom | | |
|
| 107 | +| 4 | MOD-DEF2/SDA | Module Definition 2 / Serial Data I/O | Bottom | | |
|
| 108 | +| 5 | MOD-DEF1/SCL | Module Definition 1 / Serial Clock Input | Bottom | | |
|
| 109 | +| 6 | MOD-DEF0/ABS | Module Definition 0 / Module Absent (Output) | Bottom | | |
|
| 110 | +| 7 | RS0 | Rate Select 0 (Input, often unused/grounded) | Bottom | | |
|
| 111 | +| 8 | LOS | Loss of Signal Indication (Active High) | Bottom | | |
|
| 112 | +| 9 | VeeR | Receiver Ground | Bottom | | |
|
| 113 | +| 10 | VeeR | Receiver Ground | Bottom | Left | |
|
| 114 | +| 11 | VeeR | Receiver Ground | Top | Right | |
|
| 115 | +| 12 | RD- | Inverted Received Data Output | Top | | |
|
| 116 | +| 13 | RD+ | Non-Inverted Received Data Output | Top | | |
|
| 117 | +| 14 | VeeR | Receiver Ground | Top | | |
|
| 118 | +| 15 | VccR | Receiver Power Supply (+3.3V) | Top | | |
|
| 119 | +| 16 | VccT | Transmitter Power Supply (+3.3V) | Top | | |
|
| 120 | +| 17 | VeeT | Transmitter Ground | Top | | |
|
| 121 | +| 18 | TD+ | Non-Inverted Transmit Data Input | Top | | |
|
| 122 | +| 19 | TD- | Inverted Transmit Data Input | Top | | |
|
| 123 | +| 20 | VeeT | Transmitter Ground | Top | Left | |
|
| 124 | + |
|
| 125 | +How to Identify Them on Your Module: |
|
| 126 | + * Orientation: Hold the module so you are looking directly at the gold contacts as in your picture. |
|
| 127 | + * Locate Pin 1: It's the bottom-rightmost pin. |
|
| 128 | + * Locate Pin 10: It's the bottom-leftmost pin. |
|
| 129 | + * Locate Pin 11: It's the top-rightmost pin. |
|
| 130 | + * Locate Pin 20: It's the top-leftmost pin. |
|
| 131 | + * Refer to the Table: Use the table above to know the function associated with each pin number/position. |
|
| 132 | + |
|
| 133 | +Key Pin Groups: |
|
| 134 | + * Power: VccR (Pin 15), VccT (Pin 16) provide the 3.3V power. VeeR and VeeT are the corresponding grounds. |
|
| 135 | + * High-Speed Data: RD+/RD- (Pins 13, 12) are the differential receiver output pair. TD+/TD- (Pins 18, 19) are the differential transmitter input pair. |
|
| 136 | + * Control/Status: TX_FAULT (Pin 2), TX_DISABLE (Pin 3), LOS (Pin 8) are important status and control signals. |
|
| 137 | + * Management/ID: SDA (Pin 4), SCL (Pin 5), and MOD_ABS (Pin 6) are used for the I2C interface to read module information (like vendor, model, S/N, DDM/DOM values). |
|
| 138 | + |
|
| 139 | +While this pinout is standard, the datasheet for the specific SFP module model (like the Avago AFBR-709SMZ from your first image) is always the definitive source. However, for standard SFP/SFP+ functions, this MSA pinout is reliable. |
|
| 140 | + |
|
| 141 | + |
|
| 142 | + |
|
| 143 | + |
|
| 144 | +SFP to [[RJ45-dat]] |
|
| 145 | + |
|
| 146 | +The optical-to-electrical module converts the SFP optical port of the device into an RJ45 network port/electrical port. |
|
| 147 | + |
|
| 148 | +光转电模块是将设备SFP光口转成RJ45网口/即电口 |
|
| 149 | + |
|
| 150 | + |
|
| 151 | +## sfp transceiver module |
|
| 152 | + |
|
| 153 | +SFP stands for Small Form-factor Pluggable. |
|
| 154 | + |
|
| 155 | +It is a compact, hot-pluggable fiber optic transceiver used for data transmission over fiber optic or copper cables. |
|
| 156 | + |
|
| 157 | + |
|
| 158 | + |
|
| 159 | + |
|
| 160 | + |
|
| 161 | + |
|
| 162 | + |
|
| 163 | +SFP is short for Small Form-factor Pluggables, which is a small package pluggable optical transceiver module. SFP can be regarded as a pluggable version of SFF. Its electrical interface is 20pin gold finger, and the data signal interface is basically the same as the SFP module. The SFP module also provides an I2C control interface that is compatible with the optical interface diagnostics of the SFP-8472 standard. |
|
| 164 | + |
|
| 165 | + |
|
| 166 | +万兆光口SFP+模块分为多模和单模 |
|
| 167 | + |
|
| 168 | +SFP+ 多模: 850nm波长,最大可传550米 |
|
| 169 | + |
|
| 170 | +SFP+ 单模: 1310nm到1550nm波长,可传10~80千米。 |
|
| 171 | + |
|
| 172 | + |
|
| 173 | + |
|
| 174 | +### working scenario |
|
| 175 | + |
|
| 176 | + |
|
| 177 | + |
|
| 178 | + |
|
| 179 | +## chip solutions |
|
| 180 | + |
|
| 181 | +- [[realtek-dat]] |
|
| 182 | + |
|
| 183 | +## ref |
|
| 184 | + |
|
| 185 | +- [[SFP]] |
|
| 186 | + |
|
| 187 | +- [[fiber-optic-dat]] |
|
| 188 | + |
|
| 189 | +- https://forum.huawei.com/enterprise/intl/en/thread/What-is-inside-a-SFP-transceiver/667249762887417856?blogId=667249762887417856 |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/2025-04-25-03-37-44.png
| ... | ... | Binary files /dev/null and b/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/2025-04-25-03-37-44.png differ |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/pmod-dat.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + |
|
| 2 | +# pmod-dat |
|
| 3 | + |
|
| 4 | +https://digilent.com/reference/pmod/specification?redirect=1#communication_protocols |
|
| 5 | + |
|
| 6 | +https://vksdr.com/pmod/ |
|
| 7 | + |
|
| 8 | +- [[toslink-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| ... | ... | \ No newline at end of file |
Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/fiber-optic-transceiver-dat.md
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | + |
|
| 2 | +# fiber-optic-transceiver-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +**SFPs** in the network switch can offer alarming and failure reporting (DOM) so that technicians can check the network failure by the information. == [[SFP-transceiver-dat]] |
|
| 6 | + |
|
| 7 | +**Media converters** are a solution where a switch or connected device does not support optical or needs to extend the transmission distance. |
|
| 8 | + |
|
| 9 | +- [[fiber-optic-dat]] to [[ethernet-dat]] |
|
| 10 | + |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +- connector type = [[SC-connector-dat]] |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## Differences Between SFP Module and Media Converter |
|
| 19 | + |
|
| 20 | +### 🧩 1. What They Are |
|
| 21 | + |
|
| 22 | +| Term | Description | |
|
| 23 | +| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
|
| 24 | +| **SFP Module** | A small pluggable transceiver module used to connect a switch, router, or network device to fiber or copper cables. Stands for **Small Form-factor Pluggable**. | |
|
| 25 | +| **Media Converter** | A standalone device that converts one media type to another — typically **fiber to copper (RJ45)** or vice versa. Often used to extend Ethernet over fiber. | |
|
| 26 | + |
|
| 27 | +--- |
|
| 28 | + |
|
| 29 | +### 🔍 2. Purpose and Function |
|
| 30 | + |
|
| 31 | +| Feature | SFP Module | Media Converter | |
|
| 32 | +| ----------------- | ------------------------------------------------------------- | ---------------------------------------------- | |
|
| 33 | +| **Main Purpose** | Plug into network equipment to adapt port type (fiber/copper) | Convert between Ethernet and fiber mediums | |
|
| 34 | +| **Typical Use** | Installed in switches, routers, NICs | Standalone use or wall-mounted, no direct slot | |
|
| 35 | +| **Hot-swappable** | Yes | Usually not (depends on model) | |
|
| 36 | +| **Customizable** | Highly (can swap different SFP modules) | Fixed ports (unless modular) | |
|
| 37 | + |
|
| 38 | +--- |
|
| 39 | + |
|
| 40 | +### 🔌 3. Port Type and Flexibility |
|
| 41 | + |
|
| 42 | +| Feature | SFP Module | Media Converter | |
|
| 43 | +| --------------- | ------------------------------------------------ | -------------------------------------- | |
|
| 44 | +| **Interface** | Slot-based (requires SFP-capable device) | Usually 1x RJ45 + 1x Fiber port | |
|
| 45 | +| **Port Swap** | You can change SFP types (e.g., 1G, 10G, SM, MM) | Usually fixed unless modular converter | |
|
| 46 | +| **Form Factor** | Very small and compact | Larger, box-shaped device | |
|
| 47 | + |
|
| 48 | +--- |
|
| 49 | + |
|
| 50 | +### ⚡ 4. Power and Integration |
|
| 51 | + |
|
| 52 | +| Feature | SFP Module | Media Converter | |
|
| 53 | +| ---------------- | --------------------------- | ------------------------------ | |
|
| 54 | +| **Power Source** | Powered by host device | Requires external power supply | |
|
| 55 | +| **Integration** | Seamless with switch/router | Works independently | |
|
| 56 | + |
|
| 57 | +--- |
|
| 58 | + |
|
| 59 | +### 📦 Summary Table |
|
| 60 | + |
|
| 61 | +| Feature | SFP Module | Media Converter | |
|
| 62 | +| --------------------------- | --------------------------------- | ---------------------------------- | |
|
| 63 | +| **Size** | Very small | Medium to large (standalone box) | |
|
| 64 | +| **Plug into** | Switch, router, NIC with SFP slot | Ethernet device, not requiring SFP | |
|
| 65 | +| **Supports multiple media** | Yes (depends on module) | Yes (via fixed or modular ports) | |
|
| 66 | +| **Use case** | Add fiber to network gear | Extend Ethernet over fiber | |
|
| 67 | + |
|
| 68 | +--- |
|
| 69 | + |
|
| 70 | +### ✅ When to Use Which? |
|
| 71 | + |
|
| 72 | +- Use an **SFP module** when: |
|
| 73 | + - You have a switch or router with SFP slots. |
|
| 74 | + - You need modular, hot-swappable fiber/copper connections. |
|
| 75 | + |
|
| 76 | +- Use a **Media Converter** when: |
|
| 77 | + - Your device lacks SFP slots. |
|
| 78 | + - You need to convert Ethernet to fiber externally. |
|
| 79 | + |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | +## ref |
|
| 84 | + |
|
| 85 | +- [[fiber-optic-connector-dat]] |
|
| 86 | + |
|
| 87 | +- [[SFP-transceiver-dat]] |
|
| 88 | + |
|
| 89 | +- [[fiber-optic-dat]] - [[fiber-optic]] |
|
| 90 | + |
|
| 91 | +- [[fiber-optic-transceiver]] - [[maker]] |
|
| 92 | + |
|
| 93 | +- [[SPF]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/frequency-dat/bands-dat/bands-dat.md
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | + |
|
| 2 | +# bands-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[SIM7020-dat]] - [[SIM7022-dat]] - [[SIM7028-dat]] |
|
| 6 | + |
|
| 7 | +| bands | SIM7028 | SIM7022 | SIM7020G@Cat-M | SIM7020G@NBIOT | SIM7020E | SIM7020C | |
|
| 8 | +| ----- | ------- | ------- | -------------- | -------------- | -------- | -------- | |
|
| 9 | +| B1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 10 | +| B2 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 11 | +| B3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 12 | +| B4 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 13 | +| B5 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 14 | +| B8 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 15 | +| B12 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 16 | +| B13 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 17 | +| B14 | ✔ | ✔ | ✔ | ? | | | |
|
| 18 | +| B17 | ✔ | ✔ | ? | ? | | | |
|
| 19 | +| B18 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 20 | +| B19 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 21 | +| B20 | ✔ | ✔ | ✔ | ✔ | ✔ | | |
|
| 22 | +| B25 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 23 | +| B26 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 24 | +| B28 | ✔ | ✔ | ✔ | ✔ | ✔ | | |
|
| 25 | +| B66 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 26 | +| B70 | ✔ | ✔ | ? | ? | | | |
|
| 27 | +| B71 | | | ? | ✔ | | | |
|
| 28 | +| B85 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +## Modules |
|
| 33 | + |
|
| 34 | +| model | lifespan | type | size(mm) | note | |
|
| 35 | +| --------------- | -------- | -------- | ---------- | -------------------------------------------------- | |
|
| 36 | +| SIM7020C | | NB1 | 17.6*15.7 | 1/3/5/8 | |
|
| 37 | +| SIM7020E | | NB1 | 17.6*15.7 | 1/3/5/8/20/28 | |
|
| 38 | +| SIM7030 | | NB1 | 16*18 | LTE FDD 1/3/5/8 | |
|
| 39 | +| SIM7060 | | NB1+GNSS | 24*24 | LTE FDD 5/8 | |
|
| 40 | +| SIM7020G | | NB2 | 17.6*15.7 | 1/2/3/4/5/8/12/13/17/18/19/20/25/26/28/66/70/71/85 | |
|
| 41 | +| [[SIM7060-dat]] | ? | NB2+GNSS | 24*24 | 1/2/3/4/5/8/12/13/17/18/19/20/25/26/28/66/70/71/85 | |
|
| 42 | + |
Network-dat/frequency-dat/frequency-dat.md
| ... | ... | @@ -0,0 +1,68 @@ |
| 1 | + |
|
| 2 | +# frequency-dat |
|
| 3 | + |
|
| 4 | +China has several ISM (Industrial, Scientific, and Medical) bands available for low-power, short-range devices. The primary bands are: |
|
| 5 | + |
|
| 6 | +- 470-510 MHz: This is the main band designated for LoRaWAN and other LPWAN technologies in China. |
|
| 7 | +- 779-787 MHz: Another band available for short-range devices. |
|
| 8 | +- 920-925 MHz: This band is also used, though it's narrower than in other regions. |
|
| 9 | +- 433.05-434.79 MHz: The standard 433 MHz ISM band. |
|
| 10 | +- 2.4 GHz: The global 2.4 GHz band is available. |
|
| 11 | +- 5.8 GHz: The global 5.8 GHz band is also available. |
|
| 12 | + |
|
| 13 | +For LoRaWAN applications, the 470-510 MHz band is the most significant and widely deployed in China. |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## 🔐 1. Anti-Theft Tags (EAS – Electronic Article Surveillance) |
|
| 18 | + |
|
| 19 | +These are common in retail stores to prevent theft. They are **not** RFID but use simpler tech. |
|
| 20 | + |
|
| 21 | +- **Frequency:** **8.2 MHz** (RF system, most common) |
|
| 22 | +- **Other types:** |
|
| 23 | + - **58 kHz** (AM system – Acousto-Magnetic) |
|
| 24 | + - **Radio Frequency (RF):** 8.2 MHz |
|
| 25 | + - **Microwave:** 2.45 GHz (rare) |
|
| 26 | + |
|
| 27 | +--- |
|
| 28 | + |
|
| 29 | +## 📡 2. RFID Tags in Clothing |
|
| 30 | + |
|
| 31 | +Used for inventory, supply chain, smart fitting rooms, etc. |
|
| 32 | + |
|
| 33 | +### 🔸 a. **UHF (Ultra High Frequency) RFID** |
|
| 34 | +- **Frequency:** **860–960 MHz** |
|
| 35 | +- **Most common** in retail for clothing |
|
| 36 | +- **Read range:** Up to 10 meters |
|
| 37 | +- **Standard:** EPC Gen 2 / ISO 18000-6C |
|
| 38 | + |
|
| 39 | +### 🔸 b. **HF (High Frequency) RFID** |
|
| 40 | +- **Frequency:** **13.56 MHz** |
|
| 41 | +- **Used in smart labels, near-field communication (NFC)** |
|
| 42 | +- **Read range:** ~10 cm |
|
| 43 | +- **Standard:** ISO 14443 or ISO 15693 |
|
| 44 | + |
|
| 45 | +--- |
|
| 46 | + |
|
| 47 | +## ✅ Summary Table |
|
| 48 | + |
|
| 49 | +| Tag Type | Frequency | Use | |
|
| 50 | +|--------------------|---------------|-------------------------------| |
|
| 51 | +| EAS RF | 8.2 MHz | Anti-theft (retail) | |
|
| 52 | +| EAS AM | 58 kHz | Anti-theft (retail) | |
|
| 53 | +| RFID HF | 13.56 MHz | Inventory, NFC, smart tags | |
|
| 54 | +| RFID UHF | 860–960 MHz | Inventory, long-range scans | |
|
| 55 | +| Microwave RFID | 2.45 GHz | Rare, high-speed systems | |
|
| 56 | + |
|
| 57 | +--- |
|
| 58 | + |
|
| 59 | +## 👕 In Clothing Retail Today |
|
| 60 | + |
|
| 61 | +Most clothing stores use: |
|
| 62 | +- **EAS RF (8.2 MHz)** for anti-theft |
|
| 63 | +- **UHF RFID (860–960 MHz)** for inventory tracking |
|
| 64 | + |
|
| 65 | + |
|
| 66 | +## ref |
|
| 67 | + |
|
| 68 | +- [[RF-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/location-dat/AGPS-dat/AGPS-net.md
| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | + |
|
| 2 | +# AGPS-dat |
|
| 3 | + |
|
| 4 | +AGPS, or Assisted Global Positioning System, is a technology that uses information from cellular base stations to provide location data. It's often used in mobile phones and is useful when mobile devices can't connect with GPS satellites or when satellite signals can't penetrate. A-GPS can provide accurate location data even when a reliable connection can't be made with the required number of satellites. |
|
| 5 | + |
|
| 6 | +A-GPS devices determine location coordinates faster than GPS devices because they have better connectivity with cell sites. However, A-GPS locations are slightly less accurate than GPS locations. |
|
| 7 | + |
|
| 8 | +## Features |
|
| 9 | + |
|
| 10 | +- very fast within seconds |
|
| 11 | + |
|
| 12 | + |
|
| 13 | +## Specs |
|
| 14 | + |
|
| 15 | +- AGPS precisions based on the nearby 4G stations' signal, which is around 1-2 KG |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## Our supported and selling boards |
|
| 19 | + |
|
| 20 | +- [[ED20-dat]] |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## ref |
|
| 24 | + |
|
| 25 | +- [[GPS-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/location-dat/GNSS-dat/2025-05-20-17-08-11.png
| ... | ... | Binary files /dev/null and b/Network-dat/location-dat/GNSS-dat/2025-05-20-17-08-11.png differ |
Network-dat/location-dat/GNSS-dat/GNSS-dat.md
| ... | ... | @@ -0,0 +1,150 @@ |
| 1 | + |
|
| 2 | +# GNSS-dat |
|
| 3 | + |
|
| 4 | +- [[simcom-at-sscom-location-dat]] |
|
| 5 | + |
|
| 6 | +- [[beidou-dat]] - [[GPS-dat]] - [[GLONASS-dat]] |
|
| 7 | + |
|
| 8 | +- gnss protocol - [[quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf]] |
|
| 9 | + |
|
| 10 | +- GSV - GNSS Satellites in View. |
|
| 11 | + |
|
| 12 | +- GSA - GNSS DOP and Active Satellites. GNSS receiver operating mode, satellites used in the navigation solution reported by the GGA sentence, and DOP values. |
|
| 13 | + |
|
| 14 | +- GLL - Geographic Position – Latitude/Longitude. |
|
| 15 | + |
|
| 16 | +- GGA - Global Positioning System Fix Data. Time, position, and fix-related data for a GNSS receiver. |
|
| 17 | + |
|
| 18 | +- VTG - Course Over Ground & Ground Speed. |
|
| 19 | + |
|
| 20 | +- RMC - Recommended Minimum Specific GNSS Data. Time, date, position, course, and speed data provided by a GNSS receiver. |
|
| 21 | + |
|
| 22 | +## tech |
|
| 23 | + |
|
| 24 | +### What is a POT GNSS Module? |
|
| 25 | + |
|
| 26 | +A **POT GNSS module** refers to a GNSS (Global Navigation Satellite System) module that uses a **Patch On Top (POT)** antenna design. |
|
| 27 | + |
|
| 28 | +- **POT** stands for **Patch On Top**. |
|
| 29 | +- The module integrates a ceramic patch antenna directly on top of the GNSS receiver. |
|
| 30 | +- This design makes the module compact, easy to integrate, and suitable for space-constrained applications. |
|
| 31 | +- POT GNSS modules are commonly used for GPS, GLONASS, Galileo, and BeiDou navigation systems. |
|
| 32 | + |
|
| 33 | +**Summary:** |
|
| 34 | +A POT GNSS module is a navigation module with a built-in patch antenna mounted on top, providing a simple and compact solution for satellite positioning. |
|
| 35 | + |
|
| 36 | + |
|
| 37 | +## GNSS Start |
|
| 38 | + |
|
| 39 | +COLD start GNSS: |
|
| 40 | +- When first used; |
|
| 41 | +- Loss of ephemeris information due to battery depletion; |
|
| 42 | +- Move the receiver more than 200 km under shutdown. |
|
| 43 | + |
|
| 44 | +HOT start GNSS: |
|
| 45 | +- Boot less than two hours from the last location |
|
| 46 | + |
|
| 47 | +WARM start GNSS: |
|
| 48 | +- Boot more than two hours from the last location |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +## GNSS bands |
|
| 52 | +| Type | Frequecy | |
|
| 53 | +| ------- | ----------------- | |
|
| 54 | +| GPS | 1575.42±1.023MHz | |
|
| 55 | +| GLONASS | 1597.5~1605.8MHz | |
|
| 56 | +| BeiDou | 1561.098±2.046MHz | |
|
| 57 | + |
|
| 58 | +## GNSS Antenna Requirements |
|
| 59 | + |
|
| 60 | +| Antenna Specification | Specification Requirement | |
|
| 61 | +| :------------------------- | :--------------------------------- | |
|
| 62 | +| Operating Frequency Band | L1: 1559~1609MHz | |
|
| 63 | +| Directionality | Hemisphere, face to sky | |
|
| 64 | +| Impedance | 50 Ω | |
|
| 65 | +| Maximum Input Power | 50W | |
|
| 66 | +| VSWR | < 2 | |
|
| 67 | +| Polarization Type | RHCP or Linear | |
|
| 68 | +| Passive Antenna Gain | 0dBi | |
|
| 69 | +| Active Antenna Gain | -2dBi | |
|
| 70 | +| Active Antenna Noise Figure| < 1.5 | |
|
| 71 | +| Built-in Antenna LNA Gain | 20dB(Typ.) | |
|
| 72 | +| Total Antenna Gain | < 18 dB | |
|
| 73 | +| Coaxial Cable Insertion Loss | <1.5dB | |
|
| 74 | + |
|
| 75 | + |
|
| 76 | +## Schematic |
|
| 77 | + |
|
| 78 | +- [[A7670-dat]] |
|
| 79 | + |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | +## commands examples |
|
| 84 | + |
|
| 85 | + Search GPS + GLONASS: |
|
| 86 | + $PMTK353,1,1,0,0,0*2B |
|
| 87 | + |
|
| 88 | + Enable GPS, Glonass, Galileo: |
|
| 89 | + $PMTK353,1,1,1,0,0*2A |
|
| 90 | + |
|
| 91 | +Sets the speed threshold for static navigation. |
|
| 92 | + |
|
| 93 | + $PMTK386,0.4*39 |
|
| 94 | + $PMTK001,386,3*3D |
|
| 95 | + |
|
| 96 | +Gets whether the GPS/GLONASS/BDS/Galileo satellite seraching is enabled or not. |
|
| 97 | + |
|
| 98 | + $PMTK355*31 |
|
| 99 | + $PMTK001,355,3,1,1,0,0*33 |
|
| 100 | + |
|
| 101 | +PMTK838 PMTK_TEST_ANTI_SPOOFING - Enables or disables jamming detection function. |
|
| 102 | + |
|
| 103 | + $PMTK838,1*2C |
|
| 104 | + $PMTK001,838,3,1*2E |
|
| 105 | + |
|
| 106 | + |
|
| 107 | +PMTK605 PMTK_Q_RELEASE - Queries the firmware release information. See PMTK_DT_RELEASE for the query result. |
|
| 108 | + |
|
| 109 | + $PMTK605*31 |
|
| 110 | + $PMTK705,MT3333_AXN5.1.9_MODULE_STD_F1_P1,0007,Quectel-L76L,1.0*08 |
|
| 111 | + $PMTK705,AXN_5.1.6_3333_19010218,0007,Quectel-L76L,1.0*53 |
|
| 112 | + |
|
| 113 | + |
|
| 114 | +## GNSS Log |
|
| 115 | + |
|
| 116 | + $GBGSV,2,1,06,03,65,189,40,07,41,202,27,16,27,165,34,27,79,266,39,0*75 |
|
| 117 | + $GBGSV,2,2,06,28,46,154,39,32,50,281,47,0*7F |
|
| 118 | + $GNRMC,081456.00,A,2234.27498,N,11353.24761,E,0.000,,010625,,,A,V*1E |
|
| 119 | + $GNGGA,081456.00,2234.27498,N,11353.24761,E,1,13,1.36,28.7,M,,M,,*6D |
|
| 120 | + $GNGSA,A,3,05,11,15,29,18,24,13,,,,,,2.04,1.36,1.53,1*03 |
|
| 121 | + $GNGSA,A,3,27,28,32,03,07,16,,,,,,,2.04,1.36,1.53,4*0C |
|
| 122 | + $GPGSV,3,1,09,05,44,017,30,15,66,258,46,18,13,320,31,29,47,278,44,0*6A |
|
| 123 | + $GPGSV,3,2,09,11,32,114,29,13,68,041,26,24,19,179,26,194,,,27,0*62 |
|
| 124 | + $GPGSV,3,3,09,199,,,26,0*59 |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +### GNSS Data Summary (June 1, 2025, 08:14:56 UTC) |
|
| 128 | + |
|
| 129 | +| Parameter | Value | |
|
| 130 | +|-----------------------|----------------------------------------| |
|
| 131 | +| **Date/Time (UTC)** | 2025-06-01 08:14:56 | |
|
| 132 | +| **Fix Status** | 3D Fix (Valid) | |
|
| 133 | +| **Latitude** | 22° 34.27498′ N | |
|
| 134 | +| **Longitude** | 113° 53.24761′ E | |
|
| 135 | +| **Altitude** | 28.7 m above mean sea level | |
|
| 136 | +| **Speed (Ground)** | 0.000 knots (stationary) | |
|
| 137 | +| **Satellites Used** | 13 (GPS + BeiDou) | |
|
| 138 | +| **Satellites in View**| 15 (9 GPS, 6 BeiDou) | |
|
| 139 | +| **HDOP** | 1.36 (Good) | |
|
| 140 | +| **VDOP** | 1.53 (Good) | |
|
| 141 | +| **PDOP** | 2.04 | |
|
| 142 | +| **GPS Satellites** | 05, 11, 13, 15, 18, 24, 29, (194?), (199?) | |
|
| 143 | +| **BeiDou Satellites** | 03, 07, 16, 27, 28, 32 | |
|
| 144 | + |
|
| 145 | + |
|
| 146 | +## ref |
|
| 147 | + |
|
| 148 | +- [[GPS-dat]] - [[quectel-GPS-dat]] |
|
| 149 | + |
|
| 150 | +- [[SIMCOM-dat]] - [[simcom-at-sscom-location-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/location-dat/GNSS-dat/quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf
| ... | ... | Binary files /dev/null and b/Network-dat/location-dat/GNSS-dat/quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf differ |
Network-dat/location-dat/GPS-dat/GPS-dat.md
| ... | ... | @@ -0,0 +1,101 @@ |
| 1 | + |
|
| 2 | +# GPS-dat |
|
| 3 | + |
|
| 4 | +- legacy wiki page - https://w.electrodragon.com/w/Category:Location#GNSS |
|
| 5 | + |
|
| 6 | +## Functions |
|
| 7 | + |
|
| 8 | +- [[GNSS-dat]] |
|
| 9 | +- ATGM |
|
| 10 | +- [[GPS-dat]] |
|
| 11 | +- Galileo |
|
| 12 | +- sbas |
|
| 13 | +- dgps |
|
| 14 | +- beidou |
|
| 15 | +- glonass |
|
| 16 | +- gzss |
|
| 17 | +- [[AGPS-dat]] |
|
| 18 | + |
|
| 19 | +## boards |
|
| 20 | + |
|
| 21 | +- [[NGS1052-dat]] - [[NGS1089-dat]] - [[NGS1078-dat]] - [[quectel-gps-dat]] |
|
| 22 | + |
|
| 23 | +## chip manufactures |
|
| 24 | + |
|
| 25 | +- [[quectel-gps-dat]] - [[ZHONGKEWEI-dat]] - [[SIMCOM-dat]] |
|
| 26 | + |
|
| 27 | +- [[u-blox-dat]] |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## software |
|
| 31 | + |
|
| 32 | +- https://igs.bkg.bund.de/ntrip/download |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | +## Tesing |
|
| 38 | + |
|
| 39 | +[[NGS1089-dat]] |
|
| 40 | + |
|
| 41 | + AT+CPIN? |
|
| 42 | + +CPIN: READY |
|
| 43 | + |
|
| 44 | + AT+CGNSPWR=? |
|
| 45 | + +CGNSPWR: (0-1) |
|
| 46 | + |
|
| 47 | + OK |
|
| 48 | + AT+CGNSPWR? |
|
| 49 | + +CGNSPWR: 0 |
|
| 50 | + |
|
| 51 | + OK |
|
| 52 | + AT+CGNSPWR=1 |
|
| 53 | + OK |
|
| 54 | + |
|
| 55 | + AT+CGNSINF |
|
| 56 | + +CGNSINF: 1,0,19800109075159.000,,,,0.00,0.0,0,,,,,,3,0,2,,44,, |
|
| 57 | + |
|
| 58 | + OK |
|
| 59 | + AT+CGNSINF |
|
| 60 | + +CGNSINF: 1,0,20240626075200.000,,,,0.00,0.0,0,,,,,,3,0,2,,44,, |
|
| 61 | + |
|
| 62 | + |
|
| 63 | + AT+CGNSINF |
|
| 64 | + +CGNSINF: 1,1,20240626074838.000,22.570777,113.887168,155.727,0.00,65.8,1,,2.8,3.0,1.0,,7,4,5,,47,, |
|
| 65 | + |
|
| 66 | + |
|
| 67 | +- 2.1 AT+CGNSPWR GNSS power control ...................................................................... 8 |
|
| 68 | +- 2.2 AT+CGNSSEQ Define the last NMEA sentence that parsed ..................................... 9 |
|
| 69 | +- 2.3 AT+CGNSINF GNSS navigation information parsed from NMEA sentences ......... 11 |
|
| 70 | +- 2.4 AT+CGNSURC GNSS navigation, GEO-fences and speed alarm URC report ....... 12 |
|
| 71 | +- 2.5 AT+CGNSCMD Send command to GNSS ............................................................... 13 |
|
| 72 | +- 2.6 AT+CGNSTST Send data received from UART2 to UART1 ................................... 14 |
|
| 73 | +- 2.7 AT+CGNSCHK Check EPO file property ................................................................ 14 |
|
| 74 | +- 2.8 AT+CGNSDEL Delete EPO file ............................................................................... 15 |
|
| 75 | +- 2.9 AT+CGNSIPR Configure UART2 baud rate ............................................................ 16 |
|
| 76 | +- 2.10 AT+CGNSAID Send EPO file to GNSS engine ....................................................... 16 |
|
| 77 | +- 2.11 AT+CRFLOC Give reference location to GNSS engine ........................................... 17 |
|
| 78 | +- 2.12 AT+CGNSVER Query GNSS version....................................................................... 17 |
|
| 79 | + |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | +## Note |
|
| 85 | + |
|
| 86 | +### Why you really need good GPS signal, compare to your smart phone? |
|
| 87 | + |
|
| 88 | +- your smart phone use 4G network to assist the location, but GPS module use [[GPS-dat]] signal location only |
|
| 89 | +- read more at [[AGPS-net]] |
|
| 90 | + |
|
| 91 | +## interface |
|
| 92 | + |
|
| 93 | +- [[serial-dat]] |
|
| 94 | + |
|
| 95 | +- [[NGS1078]] |
|
| 96 | + |
|
| 97 | +- [[quectel-gps-dat]] - [[quectel-gnss-dat]] |
|
| 98 | + |
|
| 99 | +## ref |
|
| 100 | + |
|
| 101 | +- [[location-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/location-dat/LBS-dat/LBS-dat.md
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | + |
|
| 2 | +# LBS-dat |
|
| 3 | + |
|
| 4 | +what is LBS location? |
|
| 5 | + |
|
| 6 | +LBS (Location-Based Service) location refers to the technology used to determine the approximate location of a device using information from cellular network towers, Wi-Fi hotspots, and other non-GPS data sources. It's used to provide location-based services to users. |
|
| ... | ... | \ No newline at end of file |
Network-dat/location-dat/NEMA-dat/NEMA-dat.md
| ... | ... | @@ -0,0 +1,235 @@ |
| 1 | + |
|
| 2 | +# NEMA-dat |
|
| 3 | + |
|
| 4 | + AT+QGNSSRD? |
|
| 5 | + +QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F |
|
| 6 | + $GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22 |
|
| 7 | + $GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F |
|
| 8 | + $GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E |
|
| 9 | + $BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11 |
|
| 10 | + $GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F |
|
| 11 | + $GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70 |
|
| 12 | + $GPGSV,3,3,10,194,,,31,195,,,30*78 |
|
| 13 | + $BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F |
|
| 14 | + $BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D |
|
| 15 | + $BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C |
|
| 16 | + $BDGSV,4,4,14,11,01,318,,12,,,20*57 |
|
| 17 | + $GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45 |
|
| 18 | + |
|
| 19 | + OK |
|
| 20 | + |
|
| 21 | +* `+QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F`: Recommended Minimum GNSS data: Fix at 07:56:20.000 UTC, Lat 22°34.2809'N, Lon 113°53.2465'E, speed 0.2 knots, course 253.84°, date 14/05/2025, valid, autonomous. |
|
| 22 | +* `$GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22`: Course Over Ground and Ground Speed: Course 253.84° True, speed 0.20 knots (0.38 km/h), autonomous. |
|
| 23 | +* `$GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F`: Global Positioning System Fix Data: Fix at 07:56:20.000 UTC, Lat/Lon, quality 1 (GPS fix), 12 satellites, HDOP 0.91, altitude 52.5m. |
|
| 24 | +* `$GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E`: GPS DOP and Active Satellites: Automatic 3D fix, using 8 GPS satellites (IDs listed), PDOP 1.20, HDOP 0.91, VDOP 0.79. |
|
| 25 | +* `$BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11`: BeiDou DOP and Active Satellites: Automatic 3D fix, using 4 BeiDou satellites (IDs listed), PDOP 1.20, HDOP 0.91, VDOP 0.79. |
|
| 26 | +* `$GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F`: GPS Satellites in View (message 1 of 3): 10 GPS satellites total, details for 4 (IDs 50, 13, 05, 15). |
|
| 27 | +* `$GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70`: GPS Satellites in View (message 2 of 3): Details for 4 more GPS satellites (IDs 06, 29, 12, 19). |
|
| 28 | +* `$GPGSV,3,3,10,194,,,31,195,,,30*78`: GPS Satellites in View (message 3 of 3): Details for the last 2 GPS satellites (IDs 194, 195). |
|
| 29 | +* `$BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F`: BeiDou Satellites in View (message 1 of 4): 14 BeiDou satellites total, details for 4 (IDs 10, 03, 07, 08). |
|
| 30 | +* `$BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D`: BeiDou Satellites in View (message 2 of 4): Details for 4 more BeiDou satellites (IDs 13, 01, 02, 04). |
|
| 31 | +* `$BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C`: BeiDou Satellites in View (message 3 of 4): Details for 4 more BeiDou satellites (IDs 05, 16, 06, 09). |
|
| 32 | +* `$BDGSV,4,4,14,11,01,318,,12,,,20*57`: BeiDou Satellites in View (message 4 of 4): Details for the last 2 BeiDou satellites (IDs 11, 12). |
|
| 33 | +* `$GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45`: Geographic Position (Latitude/Longitude): Fix at 07:56:20.000 UTC, Lat 22°34.2809'N, Lon 113°53.2465'E, data valid, autonomous mode. |
|
| 34 | +* |
|
| 35 | + |
|
| 36 | + |
|
| 37 | +### `+QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F` |
|
| 38 | + |
|
| 39 | +This line is the response from the module, starting with the NMEA RMC sentence. |
|
| 40 | +* `+QGNSSRD:`: Indicates this is a response to the `AT+QGNSSRD?` command. |
|
| 41 | +* `$GNRMC`: NMEA sentence type. |
|
| 42 | + * `GN`: Indicates a combined GNSS fix (e.g., GPS, GLONASS, Galileo, BeiDou). |
|
| 43 | + * `RMC`: Recommended Minimum Specific GNSS Data. |
|
| 44 | +* `075620.000`: UTC Time of fix: 07:56:20.000. |
|
| 45 | +* `A`: Status: `A` = Active (data valid). `V` = Void (data not valid). |
|
| 46 | +* `2234.2809,N`: Latitude: 22 degrees, 34.2809 minutes North. |
|
| 47 | +* `11353.2465,E`: Longitude: 113 degrees, 53.2465 minutes East. |
|
| 48 | +* `0.20`: Speed over ground in knots. |
|
| 49 | +* `253.84`: Course over ground in degrees (True). |
|
| 50 | +* `140525`: Date: 14th May 2025 (DDMMYY format). |
|
| 51 | +* `,,,`: Magnetic variation (degrees, E/W) - field is empty, not provided. |
|
| 52 | +* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous mode. `D` = Differential mode. `E` = Estimated (dead reckoning) mode. `N` = Data not valid. |
|
| 53 | +* `*7F`: Checksum for data integrity (hexadecimal). |
|
| 54 | + |
|
| 55 | +### `$GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22` |
|
| 56 | + |
|
| 57 | +This is the VTG (Course Over Ground and Ground Speed) sentence. |
|
| 58 | +* `$GNVTG`: NMEA sentence type. |
|
| 59 | + * `GN`: Combined GNSS. |
|
| 60 | + * `VTG`: Course Over Ground and Ground Speed. |
|
| 61 | +* `253.84,T`: Course over ground (degrees True). `T` indicates True North. |
|
| 62 | +* `,,M`: Course over ground (degrees Magnetic). `M` indicates Magnetic North - field is empty, not provided. |
|
| 63 | +* `0.20,N`: Speed over ground in knots. `N` indicates Knots. |
|
| 64 | +* `0.38,K`: Speed over ground in kilometers per hour. `K` indicates Kilometers per hour. |
|
| 65 | +* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous. `D` = Differential. `E` = Estimated. `N` = Data not valid. |
|
| 66 | +* `*22`: Checksum. |
|
| 67 | + |
|
| 68 | +### `$GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F` |
|
| 69 | + |
|
| 70 | +This is the GGA (Global Positioning System Fix Data) sentence. |
|
| 71 | +* `$GNGGA`: NMEA sentence type. |
|
| 72 | + * `GN`: Combined GNSS. |
|
| 73 | + * `GGA`: Global Positioning System Fix Data. |
|
| 74 | +* `075620.000`: UTC Time of fix. |
|
| 75 | +* `2234.2809,N`: Latitude. |
|
| 76 | +* `11353.2465,E`: Longitude. |
|
| 77 | +* `1`: Fix quality: |
|
| 78 | + * `0` = Invalid |
|
| 79 | + * `1` = GPS fix (SPS) |
|
| 80 | + * `2` = DGPS fix |
|
| 81 | + * `3` = PPS fix |
|
| 82 | + * `4` = Real Time Kinematic |
|
| 83 | + * `5` = Float RTK |
|
| 84 | + * `6` = Estimated (dead reckoning) |
|
| 85 | + * `7` = Manual input mode |
|
| 86 | + * `8` = Simulation mode |
|
| 87 | +* `12`: Number of satellites being tracked. |
|
| 88 | +* `0.91`: Horizontal Dilution of Precision (HDOP). |
|
| 89 | +* `52.5,M`: Altitude of antenna above mean sea level. `M` indicates Meters. |
|
| 90 | +* `-2.9,M`: Geoidal separation (difference between WGS-84 earth ellipsoid and mean sea level). `M` indicates Meters. |
|
| 91 | +* `,,`: Age of DGPS data (seconds since last SC104 type 1 or 9 update) - field is empty. DGPS station ID number - field is empty. |
|
| 92 | +* `*5F`: Checksum. |
|
| 93 | + |
|
| 94 | +### `$GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E` |
|
| 95 | + |
|
| 96 | +This is the GSA (GNSS DOP and Active Satellites) sentence, specifically for GPS satellites. |
|
| 97 | +* `$GPGSA`: NMEA sentence type. |
|
| 98 | + * `GP`: GPS satellites. |
|
| 99 | + * `GSA`: GNSS DOP and Active Satellites. |
|
| 100 | +* `A`: Mode: `M` = Manual, forced to operate in 2D or 3D mode. `A` = Automatic, allowed to automatically switch 2D/3D. |
|
| 101 | +* `3`: Fix type: `1` = Fix not available. `2` = 2D. `3` = 3D. |
|
| 102 | +* `12,19,13,15,05,29,194,06,,,,,`: PRNs (Pseudo-Random Noise codes) of satellites used in fix (up to 12). Here, GPS satellites with PRNs 12, 19, 13, 15, 05, 29, 194, and 06 are used. |
|
| 103 | +* `1.20`: Position Dilution of Precision (PDOP). |
|
| 104 | +* `0.91`: Horizontal Dilution of Precision (HDOP). |
|
| 105 | +* `0.79`: Vertical Dilution of Precision (VDOP). |
|
| 106 | +* `*3E`: Checksum. |
|
| 107 | + |
|
| 108 | +### `$BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11` |
|
| 109 | + |
|
| 110 | +This is the GSA sentence, specifically for BeiDou satellites. |
|
| 111 | +* `$BDGSA`: NMEA sentence type. |
|
| 112 | + * `BD`: BeiDou satellites. |
|
| 113 | + * `GSA`: GNSS DOP and Active Satellites. |
|
| 114 | +* `A`: Mode: `A` = Automatic. |
|
| 115 | +* `3`: Fix type: `3` = 3D. |
|
| 116 | +* `03,10,07,13,,,,,,,,,`: PRNs of BeiDou satellites used in fix. Here, BeiDou satellites with PRNs 03, 10, 07, and 13 are used. |
|
| 117 | +* `1.20`: PDOP. |
|
| 118 | +* `0.91`: HDOP. |
|
| 119 | +* `0.79`: VDOP. |
|
| 120 | +* `*11`: Checksum. |
|
| 121 | + |
|
| 122 | +### `$GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F` |
|
| 123 | + |
|
| 124 | +This is the GSV (GNSS Satellites in View) sentence, specifically for GPS satellites. This is the first message of three. |
|
| 125 | +* `$GPGSV`: NMEA sentence type. |
|
| 126 | + * `GP`: GPS satellites. |
|
| 127 | + * `GSV`: GNSS Satellites in View. |
|
| 128 | +* `3`: Total number of GSV messages for current data (this is message 1 of 3 for GPS). |
|
| 129 | +* `1`: Message number (this is the first message). |
|
| 130 | +* `10`: Total number of GPS satellites in view. |
|
| 131 | +* For each satellite (up to 4 per message): |
|
| 132 | + * `50`: Satellite PRN number (ID 50). |
|
| 133 | + * `59`: Elevation in degrees (max 90). |
|
| 134 | + * `148`: Azimuth in degrees (True, 0-359). |
|
| 135 | + * `30`: SNR (Signal to Noise Ratio) in dB (00-99), null when not tracking. |
|
| 136 | + * `13,55,166,44`: Satellite ID 13, Elevation 55, Azimuth 166, SNR 44. |
|
| 137 | + * `05,52,310,38`: Satellite ID 05, Elevation 52, Azimuth 310, SNR 38. |
|
| 138 | + * `15,29,211,34`: Satellite ID 15, Elevation 29, Azimuth 211, SNR 34. |
|
| 139 | +* `*7F`: Checksum. |
|
| 140 | + |
|
| 141 | +### `$GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70` |
|
| 142 | + |
|
| 143 | +Second GSV message for GPS satellites (message 2 of 3). |
|
| 144 | +* `$GPGSV`: GPS Satellites in View. |
|
| 145 | +* `3`: Total number of GSV messages. |
|
| 146 | +* `2`: Message number. |
|
| 147 | +* `10`: Total number of GPS satellites in view. |
|
| 148 | +* Satellite data: |
|
| 149 | + * `06,27,091,27`: ID 06, El 27, Az 091, SNR 27. |
|
| 150 | + * `29,22,320,20`: ID 29, El 22, Az 320, SNR 20. |
|
| 151 | + * `12,19,232,35`: ID 12, El 19, Az 232, SNR 35. |
|
| 152 | + * `19,12,149,24`: ID 19, El 12, Az 149, SNR 24. |
|
| 153 | +* `*70`: Checksum. |
|
| 154 | + |
|
| 155 | +### `$GPGSV,3,3,10,194,,,31,195,,,30*78` |
|
| 156 | + |
|
| 157 | +Third GSV message for GPS satellites (message 3 of 3). |
|
| 158 | +* `$GPGSV`: GPS Satellites in View. |
|
| 159 | +* `3`: Total number of GSV messages. |
|
| 160 | +* `3`: Message number. |
|
| 161 | +* `10`: Total number of GPS satellites in view. |
|
| 162 | +* Satellite data for the remaining 2 GPS satellites: |
|
| 163 | + * `194,,,31`: ID 194, Elevation and Azimuth not provided, SNR 31. |
|
| 164 | + * `195,,,30`: ID 195, Elevation and Azimuth not provided, SNR 30. |
|
| 165 | +* `*78`: Checksum. |
|
| 166 | + |
|
| 167 | +### `$BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F` |
|
| 168 | + |
|
| 169 | +This is the GSV sentence for BeiDou satellites. This is the first message of four. |
|
| 170 | +* `$BDGSV`: NMEA sentence type. |
|
| 171 | + * `BD`: BeiDou satellites. |
|
| 172 | + * `GSV`: GNSS Satellites in View. |
|
| 173 | +* `4`: Total number of GSV messages for BeiDou data. |
|
| 174 | +* `1`: Message number. |
|
| 175 | +* `14`: Total number of BeiDou satellites in view. |
|
| 176 | +* Satellite data: |
|
| 177 | + * `10,65,231,36`: ID 10, El 65, Az 231, SNR 36. |
|
| 178 | + * `03,64,189,38`: ID 03, El 64, Az 189, SNR 38. |
|
| 179 | + * `07,63,205,37`: ID 07, El 63, Az 205, SNR 37. |
|
| 180 | + * `08,52,325,`: ID 08, El 52, Az 325, SNR not provided (field ends before SNR). |
|
| 181 | +* `*6F`: Checksum. (Note: The line in the example seems to be truncated for the last satellite's SNR, which might affect checksum if it was fully present). |
|
| 182 | + |
|
| 183 | +### `$BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D` |
|
| 184 | + |
|
| 185 | +Second GSV message for BeiDou satellites (message 2 of 4). |
|
| 186 | +* `$BDGSV`: BeiDou Satellites in View. |
|
| 187 | +* `4`: Total number of GSV messages. |
|
| 188 | +* `2`: Message number. |
|
| 189 | +* `14`: Total number of BeiDou satellites in view. |
|
| 190 | +* Satellite data: |
|
| 191 | + * `13,49,300,42`: ID 13, El 49, Az 300, SNR 42. |
|
| 192 | + * `01,48,121,,`: ID 01, El 48, Az 121, SNR not provided. |
|
| 193 | + * `02,47,236,,`: ID 02, El 47, Az 236, SNR not provided. |
|
| 194 | + * `04,34,107,`: ID 04, El 34, Az 107, SNR not provided. |
|
| 195 | +* `*6D`: Checksum. |
|
| 196 | + |
|
| 197 | +### `$BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C` |
|
| 198 | + |
|
| 199 | +Third GSV message for BeiDou satellites (message 3 of 4). |
|
| 200 | +* `$BDGSV`: BeiDou Satellites in View. |
|
| 201 | +* `4`: Total number of GSV messages. |
|
| 202 | +* `3`: Message number. |
|
| 203 | +* `14`: Total number of BeiDou satellites in view. |
|
| 204 | +* Satellite data: |
|
| 205 | + * `05,23,254,,`: ID 05, El 23, Az 254, SNR not provided. |
|
| 206 | + * `16,12,169,,`: ID 16, El 12, Az 169, SNR not provided. |
|
| 207 | + * `06,10,176,,`: ID 06, El 10, Az 176, SNR not provided. |
|
| 208 | + * `09,04,188,`: ID 09, El 04, Az 188, SNR not provided. |
|
| 209 | +* `*6C`: Checksum. |
|
| 210 | + |
|
| 211 | +### `$BDGSV,4,4,14,11,01,318,,12,,,20*57` |
|
| 212 | + |
|
| 213 | +Fourth GSV message for BeiDou satellites (message 4 of 4). |
|
| 214 | +* `$BDGSV`: BeiDou Satellites in View. |
|
| 215 | +* `4`: Total number of GSV messages. |
|
| 216 | +* `4`: Message number. |
|
| 217 | +* `14`: Total number of BeiDou satellites in view. |
|
| 218 | +* Satellite data for the remaining 2 BeiDou satellites: |
|
| 219 | + * `11,01,318,,`: ID 11, El 01, Az 318, SNR not provided. |
|
| 220 | + * `12,,,20`: ID 12, Elevation and Azimuth not provided, SNR 20. |
|
| 221 | +* `*57`: Checksum. |
|
| 222 | + |
|
| 223 | +### `$GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45` |
|
| 224 | + |
|
| 225 | +This is the GLL (Geographic Position - Latitude/Longitude) sentence. |
|
| 226 | +* `$GNGLL`: NMEA sentence type. |
|
| 227 | + * `GN`: Combined GNSS. |
|
| 228 | + * `GLL`: Geographic Position - Latitude/Longitude. |
|
| 229 | +* `2234.2809,N`: Latitude: 22 degrees, 34.2809 minutes North. |
|
| 230 | +* `11353.2465,E`: Longitude: 113 degrees, 53.2465 minutes East. |
|
| 231 | +* `075620.000`: UTC Time of fix. |
|
| 232 | +* `A`: Status: `A` = Data valid. `V` = Data invalid. |
|
| 233 | +* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous. `D` = Differential. `E` = Estimated. `N` = Data not valid. |
|
| 234 | +* `*45`: Checksum. |
|
| 235 | + |
Network-dat/location-dat/location-dat.md
| ... | ... | @@ -0,0 +1,73 @@ |
| 1 | + |
|
| 2 | +# location-dat |
|
| 3 | + |
|
| 4 | +[all location boards here. ](https://www.electrodragon.com/product-category/network/tracker/) |
|
| 5 | + |
|
| 6 | +## tech |
|
| 7 | + |
|
| 8 | +- [[GNSS-dat]] - [[GPS-dat]] - [[AGPS-dat]] - [[NEMA-dat]] |
|
| 9 | + |
|
| 10 | +- [[amplifier-dat]] |
|
| 11 | + |
|
| 12 | +- [[antenna-location-dat]] |
|
| 13 | + |
|
| 14 | +## companies |
|
| 15 | + |
|
| 16 | +- [[u-blox-dat]] - [[NEO-7-dat]] - [[NEO-6M-dat]] |
|
| 17 | + |
|
| 18 | +- [[quectel-dat]] - [[quectel-gps-dat]] - [[quectel-GNSS-AT-dat]] - [[L86-dat]] - [[L76-dat]] - [[ED20-dat]] - [[EC20-dat]] - [[BC20-dat]] |
|
| 19 | + |
|
| 20 | +- [[simcom-dat]] - [[A7670-dat]] - [[SIM7080-dat]] - [[SIM7000-dat]] - [[SIM868-dat]] - [[SIM808-dat]] |
|
| 21 | + |
|
| 22 | +- [[ATGM336H-dat]] |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## Common Locating Issues |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +**Network Dependency** |
|
| 30 | + |
|
| 31 | +A-GPS (Assisted GPS) - [[AGPS-dat]] relies on Wi-Fi or mobile data to speed up location locking. If no internet is available, it may take much longer. |
|
| 32 | + |
|
| 33 | +Poor mobile signal or no Wi-Fi can delay GPS start. |
|
| 34 | + |
|
| 35 | +**Cold Start vs Warm Start** |
|
| 36 | + |
|
| 37 | +If you haven't used GPS in a while or have moved a long distance since last use, your GPS might need a "cold start," which takes longer. |
|
| 38 | + |
|
| 39 | +## location by [[A7670-dat]] |
|
| 40 | + |
|
| 41 | +turn on GPS functions |
|
| 42 | + |
|
| 43 | + AT+CGNSSPWR=1 |
|
| 44 | + |
|
| 45 | +turn on GPS power by GPIO pin 4: |
|
| 46 | + |
|
| 47 | + AT+CGDRT=4,1 |
|
| 48 | + AT+CGSETV=4,1 |
|
| 49 | + |
|
| 50 | +wait until GPS feedback READY! |
|
| 51 | + |
|
| 52 | + +CGNSSPWR: READY! |
|
| 53 | + |
|
| 54 | +foward signal to GPS NEMA serial port |
|
| 55 | + |
|
| 56 | + AT+CGNSSTST=1 |
|
| 57 | + OK |
|
| 58 | + |
|
| 59 | +## GPS NEMA output Port |
|
| 60 | + |
|
| 61 | + SimTech HS-USB NMEA 9011 (COM346) |
|
| 62 | + 设备类型:端口(COM和LPT) |
|
| 63 | + 制造商:SimTechIncorporated |
|
| 64 | + 位置:0000.001d.0000.001.002.002.000.000.000 |
|
| 65 | + |
|
| 66 | + |
|
| 67 | + |
|
| 68 | +## ref |
|
| 69 | + |
|
| 70 | +- [[STM32-dat]] |
|
| 71 | + |
|
| 72 | +- [[location]] - [[network]] |
|
| 73 | + |
Network-dat/modbus-dat/modbus-dat.md
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | + |
|
| 2 | +# modbus-dat |
|
| 3 | + |
|
| 4 | +## Modbus: An Overview |
|
| 5 | + |
|
| 6 | +Modbus is a serial communication protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs). It has since become a de facto standard communication protocol in industry and is now one of the most commonly available means of connecting industrial electronic devices. |
|
| 7 | + |
|
| 8 | +**Purpose:** Modbus is typically used for transmitting information over serial lines or Ethernet between electronic devices. The device requesting the information is called the Modbus Master (or Client), and the devices supplying information are Modbus Slaves (or Servers). In a standard Modbus network, there is one Master and up to 247 Slaves, each with a unique Slave Address from 1 to 247. |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## How Modbus Works |
|
| 12 | + |
|
| 13 | +Modbus communication is based on a master-slave (or client-server in Modbus TCP/IP) architecture. |
|
| 14 | + |
|
| 15 | +1. **Master-Slave Architecture:** |
|
| 16 | + * **Master (Client):** Initiates communication. It sends a request (a "query") to a specific slave device. Only one master can initiate communication at a time on a Modbus serial line. |
|
| 17 | + * **Slave (Server):** Responds to requests from the master. It performs the action requested by the master (e.g., read data, write data) and sends a response back. Slaves do not initiate communication; they only respond. |
|
| 18 | + |
|
| 19 | +2. **Communication Layers & Variants:** |
|
| 20 | + Modbus has different variants depending on the communication layer: |
|
| 21 | + * **Modbus RTU (Remote Terminal Unit):** This is the most common implementation and uses serial communication (typically RS-485, but also RS-232 or RS-422). Data is transmitted in a binary format. It includes a Cyclic Redundancy Check (CRC) for error detection. |
|
| 22 | + * **Modbus ASCII:** Also uses serial communication but transmits data as ASCII characters. This makes it more human-readable but less efficient than RTU. It uses a Longitudinal Redundancy Check (LRC) for error detection. |
|
| 23 | + * **Modbus TCP/IP (or Modbus TCP):** This variant is used for communications over TCP/IP networks (like Ethernet). It encapsulates Modbus RTU messages within a TCP/IP wrapper. It doesn't require a checksum as TCP/IP already handles error checking. This allows for communication over standard Ethernet networks and the internet. |
|
| 24 | + * **Modbus Plus (MB+):** A proprietary, higher-speed, token-passing network developed by Modicon. Less common now. |
|
| 25 | + |
|
| 26 | +3. **Data Representation (Data Model):** |
|
| 27 | + Modbus defines a simple data model consisting of four primary data types or tables that can be accessed in the slave device: |
|
| 28 | + * **Coils (Discrete Outputs):** 1-bit read/write values. These typically represent on/off states (e.g., a relay, a lamp). |
|
| 29 | + * **Discrete Inputs:** 1-bit read-only values. These typically represent digital inputs (e.g., a switch status). |
|
| 30 | + * **Input Registers:** 16-bit read-only values. These typically represent analog inputs or other measured data from sensors. |
|
| 31 | + * **Holding Registers:** 16-bit read/write values. These can be used for various purposes, such as configuration parameters, setpoints, or general data storage. |
|
| 32 | + |
|
| 33 | + Each of these data types is addressed from 0 to 65535. |
|
| 34 | + |
|
| 35 | +4. **Message Structure (PDU and ADU):** |
|
| 36 | + A Modbus message frame consists of two main parts: |
|
| 37 | + * **PDU (Protocol Data Unit):** This is independent of the underlying communication layer. It contains: |
|
| 38 | + * **Function Code (1 byte):** Specifies the action to be performed (e.g., read coils, write holding register). |
|
| 39 | + * **Data (N bytes):** Contains the actual data for the request or response (e.g., starting address, number of registers, register values). |
|
| 40 | + * **ADU (Application Data Unit):** This includes the PDU plus additional information specific to the communication layer: |
|
| 41 | + * **For Modbus RTU/ASCII (Serial):** |
|
| 42 | + * **Slave Address (1 byte):** The address of the slave device the message is intended for (or from). |
|
| 43 | + * **PDU** |
|
| 44 | + * **Error Check (2 bytes for CRC in RTU, 1 byte for LRC in ASCII):** For detecting transmission errors. |
|
| 45 | + * **For Modbus TCP/IP:** |
|
| 46 | + * **MBAP Header (Modbus Application Protocol Header - 7 bytes):** Contains a transaction identifier, protocol identifier, length field, and unit identifier (similar to slave address). |
|
| 47 | + * **PDU** |
|
| 48 | + |
|
| 49 | +5. **Communication Flow (Example - Read Holding Registers):** |
|
| 50 | + 1. **Master Sends Request:** |
|
| 51 | + * Slave Address (e.g., 01) |
|
| 52 | + * Function Code (e.g., 03 for Read Holding Registers) |
|
| 53 | + * Starting Address of Registers (e.g., 00 6B for register 40108) |
|
| 54 | + * Number of Registers to Read (e.g., 00 02 for 2 registers) |
|
| 55 | + * Error Check (CRC) |
|
| 56 | + 2. **Slave Processes Request:** The slave device with the specified address receives the request, validates it, and retrieves the requested data. |
|
| 57 | + 3. **Slave Sends Response:** |
|
| 58 | + * Slave Address (e.g., 01) |
|
| 59 | + * Function Code (e.g., 03) |
|
| 60 | + * Byte Count (number of data bytes to follow, e.g., 04 for 2 registers * 2 bytes/register) |
|
| 61 | + * Register Values (e.g., 02 2B for the first register, 00 00 for the second) |
|
| 62 | + * Error Check (CRC) |
|
| 63 | + If an error occurs (e.g., invalid address, invalid function code), the slave responds with an exception code. |
|
| 64 | + |
|
| 65 | +6. **Common Function Codes:** |
|
| 66 | + * `01 (0x01)`: Read Coils |
|
| 67 | + * `02 (0x02)`: Read Discrete Inputs |
|
| 68 | + * `03 (0x03)`: Read Holding Registers |
|
| 69 | + * `04 (0x04)`: Read Input Registers |
|
| 70 | + * `05 (0x05)`: Write Single Coil |
|
| 71 | + * `06 (0x06)`: Write Single Holding Register |
|
| 72 | + * `15 (0x0F)`: Write Multiple Coils |
|
| 73 | + * `16 (0x10)`: Write Multiple Holding Registers |
|
| 74 | + |
|
| 75 | +## Key Characteristics & Advantages: |
|
| 76 | + |
|
| 77 | +* **Simplicity:** The protocol is relatively simple to implement and understand. |
|
| 78 | +* **Open Standard:** It's an open protocol, meaning manufacturers can build it into their equipment without paying royalties. |
|
| 79 | +* **Widely Adopted:** Supported by a vast range of industrial devices from many different vendors. |
|
| 80 | +* **Flexibility:** Can be used over various physical layers (serial, Ethernet). |
|
| 81 | +* **Reliability:** Error checking mechanisms (CRC/LRC) are built-in for serial versions. |
|
| 82 | + |
|
| 83 | +## Common Use Cases: |
|
| 84 | + |
|
| 85 | +* Connecting SCADA, HMI (Human-Machine Interface) systems to PLCs and other industrial devices. |
|
| 86 | +* Reading sensor data (temperature, pressure, flow, level). |
|
| 87 | +* Controlling actuators (valves, motors). |
|
| 88 | +* Monitoring and configuring device parameters. |
|
| 89 | +* Data logging. |
|
| 90 | +* Building automation. |
|
| 91 | +* Energy monitoring. |
|
| 92 | +* |
|
| 93 | + |
Network-dat/mqtt-dat.md
| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | + |
|
| 2 | +# mqtt dat |
|
| 3 | + |
|
| 4 | +## arduino library |
|
| 5 | + |
|
| 6 | +- async-mqtt-client-master |
|
| 7 | + |
|
| 8 | +- PubSubClient |
|
| 9 | + - https://github.com/knolleary/pubsubclient |
|
| 10 | + - examples/mqtt_esp8266.ino |
|
| 11 | + |
|
| 12 | +- radiolib |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## MQTT broker on ubuntu |
|
| 16 | + |
|
| 17 | +install service and check status |
|
| 18 | + |
|
| 19 | + sudo apt install -y mosquitto |
|
| 20 | + |
|
| 21 | + sudo systemctl status mosquitto |
|
| 22 | + |
|
| 23 | +more systemctl check |
|
| 24 | + |
|
| 25 | +- Stop the mosquitto service: |
|
| 26 | + - $ sudo systemctl stop mosquitto |
|
| 27 | +- Start the mosquitto service: |
|
| 28 | + - $ sudo systemctl start mosquitto |
|
| 29 | +- Restart the mosquitto service: |
|
| 30 | + - $ sudo systemctl restart mosquitto |
|
| 31 | + |
|
| 32 | +Log file |
|
| 33 | + |
|
| 34 | + cat /var/log/mosquitto/mosquitto.log |
|
| 35 | + |
|
| 36 | +## Conf Setup list |
|
| 37 | + |
|
| 38 | +Secure the Mosquitto Server |
|
| 39 | + |
|
| 40 | +Create a default.conf under the directory. |
|
| 41 | + |
|
| 42 | + nano /etc/mosquitto/conf.d/default.conf |
|
| 43 | + |
|
| 44 | + allow_anonymous false // not allow anonymous |
|
| 45 | + password_file /etc/mosquitto/passwd // set password |
|
| 46 | + |
|
| 47 | +optionally |
|
| 48 | + |
|
| 49 | + listener 1883 // set port 1883 public, or listener 1883 localhost for localhost only |
|
| 50 | + listener 1884 // set 1884 for wss protocol websockets |
|
| 51 | + |
|
| 52 | +set users |
|
| 53 | + |
|
| 54 | + nano /etc/mosquitto/passwd |
|
| 55 | + |
|
| 56 | + electrodragon:electrodragon |
|
| 57 | + |
|
| 58 | +Restart the mosquitto service to load the new changes. |
|
| 59 | + |
|
| 60 | + sudo systemctl restart mosquitto |
|
| 61 | + |
|
| 62 | + |
|
| 63 | +## MQTT client |
|
| 64 | + |
|
| 65 | + sudo apt install -y mosquitto-clients |
|
| 66 | + |
|
| 67 | +sub: |
|
| 68 | + |
|
| 69 | + mosquitto_sub -t "test" |
|
| 70 | + mosquitto_sub -u electrodragon -P electrodragon -t "test" |
|
| 71 | + |
|
| 72 | +pub: |
|
| 73 | + |
|
| 74 | + mosquitto_pub -m "ON" -t "test" |
|
| 75 | + |
|
| 76 | +A number of my IoT students make use of (the FREE plan with) BeeBotte for their remote MQTT broker. |
|
| 77 | + |
|
| 78 | +https://beebotte.com/ |
|
| 79 | + |
|
| 80 | +It's very easy to set up and works really well with Nod-RED. |
|
| 81 | + |
|
| 82 | +## execute |
|
| 83 | + |
|
| 84 | +From this point forward, you should execute any pub/sub command using the syntax below. Remember to replace electrodragon and EXAMPLE_PASSWORD with the credentials that you defined in the password file. |
|
| 85 | + |
|
| 86 | + mosquitto_sub -u electrodragon -P electrodragon -t "home/lights/sitting_room" |
|
| 87 | + mosquitto_pub -u electrodragon -P electrodragon -t "home/lights/sitting_room" -m "ON" |
|
| 88 | + |
|
| 89 | + |
|
| 90 | + |
|
| 91 | + |
|
| 92 | + |
|
| 93 | +## web test |
|
| 94 | + |
|
| 95 | +- https://testclient-cloud.mqtt.cool/ |
|
| 96 | + |
|
| 97 | +may not working SSL not enabled |
|
| 98 | + |
|
| 99 | +- https://www.hivemq.com/demos/websocket-client/ |
|
| 100 | +- https://www.emqx.io/mqtt/mqtt-websocket-toolkit |
|
| 101 | + |
|
| 102 | +## free electrodragon MQTT broker |
|
| 103 | + |
|
| 104 | +- 206.237.31.27 |
|
| 105 | +- user == electrodragon |
|
| 106 | +- password == electrodragon |
|
| 107 | +- SSL not enabled |
|
| 108 | + |
|
| 109 | +## android software |
|
| 110 | + |
|
| 111 | +- IOT MQTT Panel |
|
| 112 | + |
|
| 113 | +setup guide for out free MQTT broker |
|
| 114 | + |
|
| 115 | + |
|
| 116 | + |
|
| 117 | +1. connection part |
|
| 118 | + |
|
| 119 | + |
|
| 120 | + |
|
| 121 | +notice in addtional options add user name and password to be electrodragon and electrodragon |
|
| 122 | + |
|
| 123 | +2. dashboard part |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +3. panel part |
|
| 128 | + |
|
| 129 | + |
|
| 130 | + |
|
| 131 | +4. output |
|
| 132 | + |
|
| 133 | + |
|
| 134 | + |
|
| 135 | +## ref |
|
| 136 | + |
|
| 137 | +- https://mosquitto.org/man/mosquitto-conf-5.html |
|
| 138 | + |
|
| 139 | +- [[android-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/nbiot-dat/nbiot-dat.md
| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | + |
|
| 2 | +# nbiot-dat |
|
| 3 | + |
|
| 4 | +## CAT-M1 vs. NBIOT |
|
| 5 | + |
|
| 6 | +| Feature | **Cat-M1 (LTE-M)** | **NB-IoT** | |
|
| 7 | +| --------------------- | --------------------------------------------- | ----------------------------------------------- | |
|
| 8 | +| **Bandwidth** | 1.4 MHz | 200 kHz | |
|
| 9 | +| **Data Speed** | Up to 1 Mbps | Up to 250 kbps | |
|
| 10 | +| **Latency** | 50–100 ms | 1–10 seconds | |
|
| 11 | +| **Use Cases** | Wearables, smart meters, asset tracking | Smart sensors, environmental monitoring | |
|
| 12 | +| **Frequency Bands** | B1, B3, B5, B8, B20, B28 (and more) | B3, B5, B8, B20, B28 (and some guard bands) | |
|
| 13 | +| **Power Consumption** | Low, but higher than NB-IoT | Extremely low power consumption | |
|
| 14 | +| **Mobility Support** | Yes, supports mobility | No, designed for stationary devices | |
|
| 15 | +| **Global Coverage** | Broad, supports a wide range of LTE bands | Narrower, depends on supported bands | |
|
| 16 | +| **Data Transmission** | Suitable for moderate data transfer | Ideal for small, infrequent transmissions | |
|
| 17 | +| **Best For** | Applications needing moderate data & mobility | Large-scale IoT deployments with low data needs | |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +[[SIM7020-dat]] |
|
| 22 | + |
|
| 23 | +- [[NGS1096-dat]] |
|
| 24 | + |
|
| 25 | +[[SIM7080-dat]] |
|
| 26 | + |
|
| 27 | +- [[NGS1128-dat]] - [[NGS1129-dat]] |
|
| 28 | + |
|
| 29 | +[[SIM7000-dat]] |
|
| 30 | + |
|
| 31 | +- [[NGS1119-dat]] |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +legacy wiki page - https://w.electrodragon.com/w/Category:NBIOT |
|
| 35 | + |
|
| 36 | +## ref |
|
| 37 | + |
|
| 38 | +- [[low-power-dat]] |
|
| 39 | + |
|
| 40 | +- [[NBIOT]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/network-dat.md
| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | +# network-dat.md |
|
| 2 | + |
|
| 3 | +- [[protocols-dat]] |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## Network tech by range |
|
| 8 | + |
|
| 9 | +| Technology | Range | Data Rate | Notes | |
|
| 10 | +|-----------------|-----------------------------|------------------|---------------------------------------------| |
|
| 11 | +| [[M2M-dat]] | Almost infinite (provider) | Varies | Limited by service provider network | |
|
| 12 | +| [[lora-dat]] | Long, up to 10 km | Low | | |
|
| 13 | +| [[RF-link-dat]] | Medium, up to 1 km | Low | | |
|
| 14 | +| [[ELRS-dat]] | Medium, up to 1 km (5 km) | High | | |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## main category |
|
| 19 | + |
|
| 20 | +- [[M2M-dat]] - [[LTE-dat]] - [[POE-dat]] - [[low-power-test-dat]] - [[M2M-interface-dat]] |
|
| 21 | + |
|
| 22 | +- [[bluetooth-dat]] |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +- [[cable-dat]] - [[fiber-optic-dat]]- [[coaxial-cable-dat]] - [[POF-dat]] - [[toslink-dat]] |
|
| 26 | + |
|
| 27 | +- long distance = [[lora-dat]] - [[lorawan-dat]] - [[rf-switch-dat]] |
|
| 28 | + |
|
| 29 | +- [[RFID-dat]] - [[wiegand-dat]] |
|
| 30 | + |
|
| 31 | +- [[M2M-dat]] - [[LTE-dat]] - [[LWPA-dat]] |
|
| 32 | + |
|
| 33 | +- [[interface-dat]] |
|
| 34 | + |
|
| 35 | +- [[radio-dat]] |
|
| 36 | + |
|
| 37 | +- [[ethernet-dat]] - [[wifi-dat]] |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## RC apps protocols |
|
| 43 | + |
|
| 44 | +- [[RC-dat]] - [[RF-DAT]] - [[CRSF-dat]] - [[GFSK-dat]] - [[ardupilot-dat]] - [[SBUS-dat]] |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +- [[ELRS-dat]] - [[ELRS-TX-dat]] - [[ELRS-RX-dat]] - [[GFSK-dat]] |
|
| 48 | + |
|
| 49 | +RC protocols - [[CRSF-dat]] - [[SBUS-dat]] |
|
| 50 | + |
|
| 51 | +and more - [[IBUS-dat]] - [[PPM-dat]] - [[FPort-dat]] - [[SPEKTRUM-dat]] - [[SUMD-dat]] - [[SRXL-dat]] - [[Ghost-dat]] - [[MAVLink-dat]] - [[DroneCAN-dat]] |
|
| 52 | + |
|
| 53 | +- [[PS2-console-dat]] |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## Software |
|
| 58 | + |
|
| 59 | +- [[ardupilot-dat]] |
|
| 60 | + |
|
| 61 | +- [[openwrt-dat]] |
|
| 62 | + |
|
| 63 | +- [[zigbee-dat]] - [[openthread-dat]] - [[micropython-dat]] |
|
| 64 | + |
|
| 65 | + |
|
| 66 | +## RF boards |
|
| 67 | + |
|
| 68 | +- [[DVA1002-dat]] - [[DVA1007-dat]] |
|
| 69 | + |
|
| 70 | +- [[NRF24L01-dat]] - [[NWL1032-dat]] |
|
| 71 | + |
|
| 72 | + |
|
| 73 | +## M2M Boards |
|
| 74 | + |
|
| 75 | +- [[NGS1131-dat]] - [[NGS1132-dat]] - [[NGS1140-dat]] |
|
| 76 | + |
|
| 77 | +- [[NGS1063-dat]] |
|
| 78 | + |
|
| 79 | + |
|
| 80 | +## Location |
|
| 81 | + |
|
| 82 | + |
|
| 83 | +- [[location-dat]] - [[GNSS-dat]] - [[GPS-dat]] - [[AGPS-dat]] |
|
| 84 | + |
|
| 85 | +- [[NGS1089-dat]] |
|
| 86 | + |
|
| 87 | +## IOT |
|
| 88 | + |
|
| 89 | +- [[NBIOT-dat]] - [[MQTT-dat]] |
|
| 90 | + |
|
| 91 | +- [[zigbee-dat]] |
|
| 92 | + |
|
| 93 | +## Ethernet |
|
| 94 | + |
|
| 95 | +- [[ethernet-dat]] |
|
| 96 | + |
|
| 97 | +EtherCAT (Ethernet for Control Automation Technology) is a high-performance, real-time Ethernet-based fieldbus system. It was originally developed by Beckhoff Automation. |
|
| 98 | + |
|
| 99 | +## System and APPs |
|
| 100 | + |
|
| 101 | +- [[RTU-dat]] - [[modbus-dat]] |
|
| 102 | + |
|
| 103 | + |
|
| 104 | + |
|
| 105 | + |
|
| 106 | + |
|
| 107 | + |
|
| 108 | +## ref |
|
| 109 | + |
|
| 110 | +- [[antenna-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-17.png
| ... | ... | Binary files /dev/null and b/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-17.png differ |
Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-33.png
| ... | ... | Binary files /dev/null and b/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-33.png differ |
Network-dat/network-system-dat/TCPIP-dat/TCPIP-dat.md
| ... | ... | @@ -0,0 +1,56 @@ |
| 1 | + |
|
| 2 | +# TCPIP-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## tools |
|
| 6 | + |
|
| 7 | +### 1. Netcat (nc) == Cross-platform or Windows |
|
| 8 | +- Type: Command-line |
|
| 9 | +- Supports: TCP and UDP |
|
| 10 | +- Platforms: Linux, macOS, Windows (via `ncat`) |
|
| 11 | + |
|
| 12 | +Example (TCP listener): |
|
| 13 | + |
|
| 14 | + nc -l -p 5000 |
|
| 15 | + |
|
| 16 | +Example (send TCP): |
|
| 17 | + |
|
| 18 | + echo "Hello" | nc 127.0.0.1 5000 |
|
| 19 | + |
|
| 20 | +## TCP server python script |
|
| 21 | + |
|
| 22 | + # tcp_server.py |
|
| 23 | + import socket |
|
| 24 | + |
|
| 25 | + HOST = '0.0.0.0' # Listen on all interfaces |
|
| 26 | + PORT = 5000 # Change as needed |
|
| 27 | + |
|
| 28 | + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
| 29 | + server_socket.bind((HOST, PORT)) |
|
| 30 | + server_socket.listen() |
|
| 31 | + |
|
| 32 | + print(f"Listening on {HOST}:{PORT}...") |
|
| 33 | + |
|
| 34 | + conn, addr = server_socket.accept() |
|
| 35 | + print(f"Connected by {addr}") |
|
| 36 | + |
|
| 37 | + while True: |
|
| 38 | + data = conn.recv(1024) |
|
| 39 | + if not data: |
|
| 40 | + break |
|
| 41 | + print("Received:", data.decode()) |
|
| 42 | + conn.sendall(b'ACK: ' + data) # Send back confirmation |
|
| 43 | + |
|
| 44 | + conn.close() |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +1) tcp通讯过程 |
|
| 48 | + |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +2) tcp client |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | + |
|
| 56 | +[[http-dat]]、[[mqtt-dat]] 这些协议都是在tcp之上的协议。 |
|
| ... | ... | \ No newline at end of file |
Network-dat/network-system-dat/meshtastic-dat/meshtastic-dat.md
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | + |
|
| 2 | +# meshtastic-dat |
|
| 3 | + |
|
| 4 | +https://github.com/meshtastic/firmware |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## flash |
|
| 8 | + |
|
| 9 | +https://meshtastic.org/docs/getting-started/ |
|
| 10 | + |
|
| 11 | +https://meshtastic.org/docs/getting-started/flashing-firmware/esp32/ |
|
| 12 | + |
|
| 13 | +🗃️ ESP32 Device == [[ESP32-dat]] |
|
| 14 | + |
|
| 15 | +🗃️ nRF52/RP2040 Device = [[NRF52-dat]] - [[RP2040-dat]] - [[NRF52840-dat]] |
|
| 16 | + |
|
| 17 | +- [[MCU-dat]] |
|
| 18 | + |
|
| 19 | +[Web Flasher](https://flasher.meshtastic.org/) |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## configuration |
|
| 25 | + |
|
| 26 | +[bluetooth and android app ](https://meshtastic.org/docs/category/android-app/) |
|
| 27 | + |
|
| 28 | +Open the Meshtastic Web interface: client.meshtastic.org |
|
| 29 | + |
|
| 30 | +CLI |
|
| 31 | + |
|
| 32 | +Install Meshtastic PythonCLI |
|
| 33 | + |
|
| 34 | + pip3 install --upgrade pytap2 |
|
| 35 | + pip3 install --upgrade meshtastic |
|
| 36 | + |
|
| 37 | + |
|
| 38 | +## hardware |
|
| 39 | + |
|
| 40 | +- [[nRF52840-dat]] - [[SX1262-dat]] - [[Semtech-dat]] |
|
| 41 | + |
|
| 42 | +## ref |
|
| 43 | + |
|
| 44 | +- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/network-system-dat/network-system-dat.md
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | + |
|
| 2 | +# network-system-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +- [[meshtastic-dat]] == [[lora-dat]] based |
|
| 7 | + |
|
| 8 | +- [[TCPIP-dat]] and optional [[UDP-dat]] == [[internet-dat]] based, [[M2M-dat]] boards |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +- [[MQTT-dat]] == [[internet-dat]] based, [[M2M-dat]] boards |
Network-dat/networking-dat/2025-06-26-19-14-24.png
| ... | ... | Binary files /dev/null and b/Network-dat/networking-dat/2025-06-26-19-14-24.png differ |
Network-dat/networking-dat/2025-06-26-19-28-10.png
| ... | ... | Binary files /dev/null and b/Network-dat/networking-dat/2025-06-26-19-28-10.png differ |
Network-dat/networking-dat/2025-06-26-19-33-23.png
| ... | ... | Binary files /dev/null and b/Network-dat/networking-dat/2025-06-26-19-33-23.png differ |
Network-dat/networking-dat/networking-dat.md
| ... | ... | @@ -0,0 +1,79 @@ |
| 1 | +# networking-dat |
|
| 2 | + |
|
| 3 | +## Relay Networking |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +Relay mode refers to a transmission mode in which some LoRa devices in a LoRa network act as relay nodes to forward data streams from stream mode or packet mode. The relay mode device's interface does not output any data, achieving the function of extending the wireless communication distance. |
|
| 8 | + |
|
| 9 | +--- |
|
| 10 | + |
|
| 11 | +## Packet Mode |
|
| 12 | + |
|
| 13 | +**Packet mode refers to a transmission mode in which the first 3 bytes of the data stream sent by a LoRa device specify the address and channel of the receiving device.** |
|
| 14 | + |
|
| 15 | +The data stream uses hexadecimal (Hex) data format. |
|
| 16 | + |
|
| 17 | +Suppose there are six LoRa devices: Device A, B, C, D, E, and F, forming a packet mode LoRa communication network. To change the address, channel, and working mode of devices in the LoRa network, refer to the communication diagram and parameter table below. Note: Use the AT command (`AT+MODE=2\r\n`) to switch to packet mode. |
|
| 18 | + |
|
| 19 | +- Device A and Device C form point-to-point communication in packet mode. |
|
| 20 | + - Device A sends the hex data stream `FF FE 12 AA`, where `FF FE` is the address of the receiving device (Device C), `12` is the channel of the receiving device (Device C), and `AA` is the data (hexadecimal format, e.g., AA, AF, FA, etc.). Device C with matching address and channel receives it correctly. |
|
| 21 | + - Device C sends the hex data stream `00 01 12 CC`, where `00 01` is the address of the receiving device (Device A), `12` is the channel of the receiving device (Device A), and `CC` is the data. Device A with matching address and channel receives it correctly. |
|
| 22 | + |
|
| 23 | +- Devices A, B, C, D, E, and F form point-to-multipoint communication in packet mode. |
|
| 24 | + - Device B's address is set to 65535 (Hex: 0xFFFF), making it a broadcast listening device in the LoRa network. When Device B broadcasts a data stream, all devices with addresses from 0 to 65535 on the same channel can receive the data stream. When other devices send data streams, Device B can listen to the data streams from devices with addresses from 0 to 65535 on the same channel. |
|
| 25 | + - Device B broadcasts the hex data stream `FF FF 12 BB`, where `FF FF` is the broadcast address, `12` is the channel, and `BB` is the data. Devices A, C, D, and E with matching channel (`18` Hex: `0x12`) receive it correctly. Device F with a non-matching channel (`65` Hex: `0x41`) fails to receive. |
|
| 26 | + - When Devices A, C, D, or E send data streams (e.g., Device A sends `FF FE 12 AA`), Device B can listen and receive the data stream. |
|
| 27 | + - When Device F (with a non-matching channel, `65` Hex: `0x41`) sends a data stream, Device B fails to listen and receive. |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +--- |
|
| 32 | + |
|
| 33 | +## Stream Mode |
|
| 34 | + |
|
| 35 | +### Stream Mode Overview |
|
| 36 | + |
|
| 37 | +Stream mode means that a LoRa Device (SX1262-LoRa-DTU, USB-TO-LoRa) transmits the data stream received from its interface via LoRa to another device, which demodulates and outputs the data stream from its specified interface. What you send is what you get. |
|
| 38 | + |
|
| 39 | +### Example Network |
|
| 40 | + |
|
| 41 | +Suppose there are six LoRa devices: Device A, B, C, D, E, and F, forming a stream mode LoRa communication network. |
|
| 42 | + |
|
| 43 | +- To change the address, channel, and working mode of each device in the LoRa network, refer to the communication diagram and parameter table below. |
|
| 44 | +- Use the AT command to switch to stream mode: |
|
| 45 | + ``` |
|
| 46 | + AT+MODE=1\r\n |
|
| 47 | + ``` |
|
| 48 | + |
|
| 49 | +--- |
|
| 50 | + |
|
| 51 | +#### 1. Point-to-Point Communication |
|
| 52 | + |
|
| 53 | +- Device A and Device C form a point-to-point communication in stream mode. |
|
| 54 | +- Device A sends `Hello World` to Device C. Device C with matching **address and channel** receives it correctly. |
|
| 55 | +- Device C sends `any World` to Device A. Device A with matching **address and channel** receives it correctly. |
|
| 56 | + |
|
| 57 | +--- |
|
| 58 | + |
|
| 59 | +#### 2. Point-to-Multipoint Communication & Broadcast Listening |
|
| 60 | + |
|
| 61 | +- Devices A, B, C, D, E, and F form a point-to-multipoint communication network in stream mode. |
|
| 62 | +- Device B's address is set to 65535 (Hex: 0xFFFF), making it a broadcast listening device in the LoRa network. |
|
| 63 | +- When Device B broadcasts a data stream, all devices with addresses from 0 to 65535 on the same channel can receive the data stream. |
|
| 64 | +- When other devices send data streams, Device B can listen to the data streams from devices with addresses from 0 to 65535 on the same channel. |
|
| 65 | + |
|
| 66 | +#### Examples |
|
| 67 | + |
|
| 68 | +- Device B broadcasts `Hi World` data stream. Devices A, C, D, and E with matching channels receive it correctly. Device F with a non-matching channel fails to receive. |
|
| 69 | +- When Devices A, C, D, or E send data streams (e.g., Device A sends `Hello World`), Device B can listen and receive the data stream. |
|
| 70 | +- When Device F (with a non-matching channel) sends a data stream, Device B fails to listen and receive. |
|
| 71 | + |
|
| 72 | +--- |
|
| 73 | + |
|
| 74 | +#### Communication Diagram |
|
| 75 | + |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | + |
Network-dat/openwrt-dat/openwrt-dat.md
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | + |
|
| 2 | +# openwrt-dat |
|
| 3 | + |
|
| 4 | +legacy wiki page - https://www.electrodragon.com/w/Category:Openwrt |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## boards |
|
| 8 | + |
|
| 9 | +- [[AR9331-dat]] - [[NWI1215-dat]] - [[DOD1111-dat]] |
|
| 10 | + |
|
| 11 | +- [[MT7628-dat]] |
|
| 12 | + |
|
| 13 | +- [[NWI1219-dat]] - [[MT7688-dat]] |
|
| 14 | + |
|
| 15 | +- [[NWI1002-dat]] |
|
| 16 | + |
|
| 17 | +## ref |
|
| 18 | + |
|
| 19 | +- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/radio-dat/2025-07-13-03-32-19.png
| ... | ... | Binary files /dev/null and b/Network-dat/radio-dat/2025-07-13-03-32-19.png differ |
Network-dat/radio-dat/radio-dat.md
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + |
|
| 2 | +# radio-dat |
|
| 3 | + |
|
| 4 | +## SI4713-dat |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## ref |
|
| 11 | + |
|
| 12 | +- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Network-dat/software-define-radio-dat/software-define-radio-dat.md
| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | + |
|
| 2 | +# software-define-radio-dat |
|
| 3 | + |
|
| 4 | +https://github.com/cariboulabs/cariboulite/tree/main |
|
| 5 | + |
Network-dat/zigbee-dat/zigbee-dat.md
| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | + |
|
| 2 | +# zigbee-dat |
|
| 3 | + |
Tech-dat/Network-dat/2025-06-19-14-15-30.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-06-19-14-15-30.png and /dev/null differ |
Tech-dat/Network-dat/2025-06-19-14-31-06.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-06-19-14-31-06.png and /dev/null differ |
Tech-dat/Network-dat/2025-06-19-14-31-48.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-06-19-14-31-48.png and /dev/null differ |
Tech-dat/Network-dat/2025-06-19-14-32-05.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-06-19-14-32-05.png and /dev/null differ |
Tech-dat/Network-dat/2025-06-19-14-32-24.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-06-19-14-32-24.png and /dev/null differ |
Tech-dat/Network-dat/2025-07-30-16-42-39.png
| ... | ... | Binary files a/Tech-dat/Network-dat/2025-07-30-16-42-39.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-32.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-32.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-50.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-44-50.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-45-05.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/2025-07-30-16-45-05.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/BLE-dat.md
| ... | ... | @@ -1,60 +0,0 @@ |
| 1 | - |
|
| 2 | -# BLE-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -### Mobile Apps for BLE Debugging |
|
| 7 | - |
|
| 8 | -### iOS Apps |
|
| 9 | - |
|
| 10 | -For iPhone users, you can download the following software for debugging: |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -### Android Apps |
|
| 15 | - |
|
| 16 | -For Android devices, you can directly install the following apps: |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -- [[BLE蓝牙调试助手.apk.1]] - [[BT-Connect.apk]] |
|
| 21 | - |
|
| 22 | -## BLE Operations Guide |
|
| 23 | - |
|
| 24 | -### Reading and Writing Bluetooth Data |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -### Connection Process |
|
| 29 | - |
|
| 30 | -1. **Auto Connection:** Click on the Bluetooth device name to automatically connect |
|
| 31 | - |
|
| 32 | -2. **Custom Characteristic Access:** |
|
| 33 | - - Click on "Custom Characteristic" |
|
| 34 | - - Click the **Read** button to read user-defined values |
|
| 35 | - - After writing data, read it back to verify the written values |
|
| 36 | - |
|
| 37 | -### Usage Steps |
|
| 38 | - |
|
| 39 | -1. Connect to the BLE device by tapping its name |
|
| 40 | -2. Navigate to "Custom Characteristic" section |
|
| 41 | -3. Use **Read** function to retrieve custom values |
|
| 42 | -4. Use **Write** function to send data |
|
| 43 | -5. **Verify** by reading back the written values BLE Tool |
|
| 44 | - |
|
| 45 | -- nRF Toolbox for Bluetooth LE - nrf52840 - https://play.google.com/store/apps/details?id=no.nordicsemi.android.nrftoolbox&hl=en_US |
|
| 46 | - |
|
| 47 | -- nRF Connect for Mobile |
|
| 48 | - |
|
| 49 | -- https://play.google.com/store/apps/dev?id=7265678888812659353&hl=en_US |
|
| 50 | - |
|
| 51 | -- [[JDY-dat]] - [[JDY-25M-dat]] |
|
| 52 | - |
|
| 53 | -- Wireshark |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | - |
|
| 58 | -## ref |
|
| 59 | - |
|
| 60 | -- [[antenna-design-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/BLE\350\223\235\347\211\231\350\260\203\350\257\225\345\212\251\346\211\213.apk.1
| ... | ... | Binary files "a/Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/BLE\350\223\235\347\211\231\350\260\203\350\257\225\345\212\251\346\211\213.apk.1" and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/BT-Connect.apk
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/BLE-dat/BT-Connect.apk and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/bluetooth-dat.md
| ... | ... | @@ -1,74 +0,0 @@ |
| 1 | - |
|
| 2 | -# bluetooth-dat |
|
| 3 | - |
|
| 4 | -- [[bt-audio-dat]] |
|
| 5 | - |
|
| 6 | -- [[bt-debug-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## boards |
|
| 12 | - |
|
| 13 | -- [[NBL1064-dat]] == [Bluetooth IO Control Board EDR 2.0, BLK_IO](https://www.electrodragon.com/product/bluetooth-io-control-board-edr-2-0-blk_io/) |
|
| 14 | - |
|
| 15 | -- [[NBL1101-dat]] == [JDY-25M Bluetooth 5.0 BLE5.0 Mesh Networking Module](https://www.electrodragon.com/product/jdy-25m-bluetooth-5-0-ble5-0-mesh-networking-module/) |
|
| 16 | - |
|
| 17 | -- [[NBL1107-dat]] == [BLE 5.0 Mesh Sensor Node Mini Board Mesh-Node](https://www.electrodragon.com/product/ble-5-0-mesh-sensor-node-mini-board-mesh-node/) |
|
| 18 | - |
|
| 19 | -## Mode |
|
| 20 | - |
|
| 21 | -Host: used to search for slave devices and cannot be searched by other devices. (Bluetooth module with white dot) |
|
| 22 | - |
|
| 23 | -Slave machine: The device used to be searched, and cannot actively search for other devices. |
|
| 24 | - |
|
| 25 | -After the master and slave are connected, it is used as a serial port line. At this time, the master and slave are not distinguished, which is the transparent transmission mode. |
|
| 26 | - |
|
| 27 | -[This module can be set as a master or a slave. The master can pair and communicate with the slave. There cannot be communication between slaves and slaves or between the master and the host. The slave can communicate with computers, mobile phones, etc. via Bluetooth. The default when purchasing is slave] |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## BT Types |
|
| 31 | - |
|
| 32 | -### classical bluetooth |
|
| 33 | - |
|
| 34 | -board - [[NBL1018-dat]] - [[NBL1057-dat]] |
|
| 35 | -module - [[NBL1012-dat]] - [[NBL1022-dat]] |
|
| 36 | - |
|
| 37 | -demo video |
|
| 38 | -- [new video](https://www.youtube.com/watch?v=d3qrE-TmKoE&ab_channel=Electrodragon) |
|
| 39 | -- [old video](https://www.youtube.com/watch?v=CmMGhHMciu8) |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | -### BT4.0 |
|
| 44 | - |
|
| 45 | -- [[NBL1060-dat]] - [[NBL1061-dat]] |
|
| 46 | - |
|
| 47 | -### BT5.0 |
|
| 48 | - |
|
| 49 | -### Bluetooth Mesh |
|
| 50 | - |
|
| 51 | - |
|
| 52 | -### audio bluetooth |
|
| 53 | - |
|
| 54 | -- [[NBL1055-dat]] - [[NBL1089-dat]] |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## phone APPs |
|
| 58 | - |
|
| 59 | -- BlueSPP |
|
| 60 | -- nRF connect |
|
| 61 | - |
|
| 62 | -## APPs |
|
| 63 | - |
|
| 64 | -- [[iBeacon-dat]] |
|
| 65 | - |
|
| 66 | - |
|
| 67 | -## Chip |
|
| 68 | - |
|
| 69 | -- [[TI-network-dat]] - [[nordic-dat]] |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -## ref |
|
| 73 | - |
|
| 74 | -- [[bluetooth]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Bluetooth-dat/bt-audio-dat/bt-audio-dat.md
| ... | ... | @@ -1,61 +0,0 @@ |
| 1 | - |
|
| 2 | -# bt-audio-dat |
|
| 3 | - |
|
| 4 | -## boards |
|
| 5 | - |
|
| 6 | -- [[NBL1037-dat]] - [[NBL1038-dat]] - [[NBL1097-dat]] |
|
| 7 | - |
|
| 8 | -- [[NBL1111-dat]] - [[NBL1115-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## decodec board |
|
| 12 | - |
|
| 13 | -- [[AMP1006-dat]] |
|
| 14 | - |
|
| 15 | -## CS64215 |
|
| 16 | - |
|
| 17 | -- [[CSR64215-dat]] - [[NBL1083-dat]] - [[NBL1084-dat]] - [[NBL1084-dat]] |
|
| 18 | - |
|
| 19 | -- https://www.electrodragon.com/product/csra64215-breakout-board-version/ |
|
| 20 | - |
|
| 21 | -## chip compare |
|
| 22 | - |
|
| 23 | -| Chip Model | Manufacturer | Ver. | aptX | Codec | Power Efficiency | Lifetime Status | Notable Features | Ideal Use Case | |
|
| 24 | -| --------------- | ------------------- | ---- | ------------- | --------------------------- | ---------------- | --------------- | ---------------------------------------------- | ---------------------------- | |
|
| 25 | -| CSR64215 | [[Qualcomm-dat]] | 4.2 | Yes | SBC, AAC, aptX | High | EOL | Low power, high-quality audio | Wireless audio devices | |
|
| 26 | -| QCC3031 | [[Qualcomm-dat]] | 5.0 | Yes (aptX HD) | SBC, AAC, aptX HD | High | Active | Advanced Bluetooth audio, low-power design | Bluetooth audio products | |
|
| 27 | -| QCC5181 | [[Qualcomm-dat]] | 5.2 | Yes (aptX HD) | SBC, AAC, aptX HD, LE Audio | Very High | Active | TrueWireless Mirroring, LE Audio support | Modern Bluetooth headphones | |
|
| 28 | -| CSR8675 | [[Qualcomm-dat]] | 4.2 | Yes (aptX HD) | SBC, AAC, aptX HD | Moderate | Active | aptX HD, premium audio features | High-end headphones/speakers | |
|
| 29 | -| CSR8645 | [[Qualcomm-dat]] | 4.0 | Yes | SBC, AAC, aptX | Moderate | EOL | Mid-range audio support | Affordable audio devices | |
|
| 30 | -| CSR8635 | [[Qualcomm-dat]] | 4.0 | Yes | SBC, AAC, aptX | Moderate | EOL | Budget-friendly with aptX | Low-cost audio solutions | |
|
| 31 | -| QCC3003/QCC3008 | [[Qualcomm-dat]] | 5.0 | Yes | SBC, AAC, aptX, TWS+ | Very High | Active | TrueWireless Stereo, low power | Modern Bluetooth audio | |
|
| 32 | -| nRF52832 | [[Nordic-dat]] | 5.0 | No | SBC | High | Active | Low-energy profile, flexible for IoT and audio | IoT and general Bluetooth | |
|
| 33 | -| CC2564C | [[TI-bt-audio-dat]] | 4.1 | No | SBC | Moderate | Active | Dual-mode (Classic + Low Energy) | IoT and audio solutions | |
|
| 34 | -| ATS2825 | Actions Semi | 5.0 | No | SBC | High | Active | Cost-effective, supports basic audio | Budget Bluetooth devices | |
|
| 35 | -| RTL8763B | [[Realtek-dat]] | 5.0 | No | SBC, AAC | High | Active | Low latency, reliable for TWS earbuds | True Wireless Earbuds | |
|
| 36 | -| [[BK8000-dat]] | [[beken-dat]] | |
|
| 37 | -| [[BK3266-dat]] | [[beken-dat]] | 5.0 | |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## chip solutions |
|
| 41 | - |
|
| 42 | -- [[qualcomm-dat]] - [[Nordic-dat]] - [[TI-bt-audio-dat]] - [[Dialog-dat]] |
|
| 43 | - |
|
| 44 | -CN - [[Actions-Semi-dat]] - [[RDA-dat]] - [[Beken-dat]] - [[jieli-dat]] |
|
| 45 | -asia - [[airoha-dat]] - [[Realtek-dat]] |
|
| 46 | - |
|
| 47 | -## bluetooth 5.0 |
|
| 48 | - |
|
| 49 | -Bluetooth 5.0 does support longer range but with a 10 meters range this solution clearly does not take advantage of this new feature. Bluetooth 5 announcement did not include any specific about audio improvement, So I had a look at a Bluetooth 5 paper, and audio is mentioned three times: |
|
| 50 | - |
|
| 51 | -- Bluetooth 5 introduces the ability to perform periodic data to be broadcast, it’s possible to chain packets and deterministic advertising, which allows scanners together and for each packet to contain a different to synchronicity their scanning for packets with the subset of the whole data set. Schedule of the advertising device. This can be a more power-efficient way to perform scanning and is also likely to pave the way for new uses of Bluetooth LE in connection-less scenarios, such as audio applications |
|
| 52 | -- The Bluetooth 4 channel selection algorithm used in frequency hopping produced only 12 distinct sequences of channels and all packets in a given connection event would use the same channel, which is not optimal for some applications, such as audio. Bluetooth 5 introduced a new channel selection algorithm called channel selection algorithm #2. Hopping sequences are now pseudo random and the distinct sequences which are possible are very large. |
|
| 53 | -- Bluetooth’s advertising extensions feature will pave the way for next-generation beacons, advanced audio applications and more. |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## ref |
|
| 58 | - |
|
| 59 | -- [[I2S-dat]] - [[Analog-audio-dat]] - [[TP6132-dat]] |
|
| 60 | - |
|
| 61 | -- [[NBL1050-dat]] - [[NBL1054-dat]] - [[NBL1055-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Bluetooth-dat/bt-debug-dat/2025-08-19-16-29-22.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/bt-debug-dat/2025-08-19-16-29-22.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/bt-debug-dat/bt-debug-dat.md
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | - |
|
| 2 | -# bt-debug-dat |
|
| 3 | - |
|
| 4 | -https://gitee.com/xie-rongji/bt_mcu |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## ref |
|
| 11 | - |
|
| 12 | -- [[bluetooth-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Bluetooth-dat/bt4.0-dat/bt4.0-dat.md
| ... | ... | @@ -1,5 +0,0 @@ |
| 1 | - |
|
| 2 | -# bt4.0-dat |
|
| 3 | - |
|
| 4 | -- [[NBL1060-dat]] - [[NBL1061-dat]] |
|
| 5 | - |
Tech-dat/Network-dat/Bluetooth-dat/iBeacon-dat/iBeacon-dat.md
| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | - |
|
| 2 | -# iBeacon-dat |
|
| 3 | - |
|
| 4 | -## e.g. [[JDY-25M-dat]] |
|
| 5 | - |
|
| 6 | -需要配置 iBeacon 模式,请发送 AT+ROLE3,再发 AT+RESET 重启 |
|
| 7 | -- 第一步配置 iBeacon 的 UUID:AT+IBUUID 例子:AT+IBUUIDFDA50693A4E24FB1AFCFC6EB07647825 |
|
| 8 | -- 第二步配置 iBeacon 的 MAJOR:AT+MAJOR0007 |
|
| 9 | -- 第一步配置 iBeacon 的 MINOR:AT+MINOR000A |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-52-35.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-52-35.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-53-46.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Bluetooth-dat/mesh-node-dat/2024-05-15-16-53-46.png and /dev/null differ |
Tech-dat/Network-dat/Bluetooth-dat/mesh-node-dat/mesh-node-dat.md
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | - |
|
| 2 | -# mesh-node-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -- Relay nodes: These need to always be awake and therefore consume more power. Relay nodes function to receive and forward message packets across the network. In our lighting example, relay nodes will be mains powered, so it is unlikely they would have energy supply concerns. |
|
| 9 | -- Low-power nodes: These nodes are usually battery powered and are typically in a power-saving sleep mode for the majority of the time. |
|
| 10 | -- Friend nodes: Low-power nodes are always associated with a friend node, which stores and forwards messages according to an agreed schedule. An ambient light sensor used to control outside lights at dusk and dawn is an example of a low-power node. |
|
| 11 | -- Proxy nodes: These nodes enable non-BLE-compliant devices to connect into the mesh through the use of the Bluetooth Generic Attribute (GATT) profile interface. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/DTU-dat/DTU-dat.md
| ... | ... | @@ -1 +0,0 @@ |
| 1 | -# DTU-dat |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/IEEE-dat/IEEE-dat.md
| ... | ... | @@ -1,55 +0,0 @@ |
| 1 | - |
|
| 2 | -# IEEE-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -## 802.11 |
|
| 7 | - |
|
| 8 | -[[RTL8188-dat]] == 802.11n |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -### 802.11 Wi-Fi Standards Comparison |
|
| 12 | - |
|
| 13 | -| Standard | Wi-Fi Generation | Frequency Band(s) | Max Data Rate (Theoretical) | Max Channel Width | Key Technologies | Year Approved | |
|
| 14 | -| :------------ | :--------------- | :---------------- | :-------------------------- | :---------------- | :------------------------------------------ | :------------ | |
|
| 15 | -| 802.11 | Legacy | 2.4 GHz | 2 Mbps | 22 MHz | DSSS, FHSS | 1997 | |
|
| 16 | -| 802.11b | Legacy | 2.4 GHz | 11 Mbps | 22 MHz | DSSS | 1999 | |
|
| 17 | -| 802.11a | Legacy | 5 GHz | 54 Mbps | 20 MHz | OFDM | 1999 | |
|
| 18 | -| 802.11g | Legacy | 2.4 GHz | 54 Mbps | 20 MHz | OFDM | 2003 | |
|
| 19 | -| **802.11n** | **Wi-Fi 4** | 2.4 / 5 GHz | 600 Mbps | 40 MHz | OFDM, MIMO | 2009 | |
|
| 20 | -| **802.11ac** | **Wi-Fi 5** | 5 GHz | 6.9 Gbps | 160 MHz | OFDM, MIMO, MU-MIMO (Downlink) | 2014 | |
|
| 21 | -| **802.11ax** | **Wi-Fi 6** | 2.4 / 5 GHz | 9.6 Gbps | 160 MHz | OFDMA, MU-MIMO (Up/Down), TWT, BSS Coloring | 2019 | |
|
| 22 | -| **802.11ax** | **Wi-Fi 6E** | 2.4 / 5 / 6 GHz | 9.6 Gbps | 160 MHz | Adds 6 GHz band operation to Wi-Fi 6 | 2020 | |
|
| 23 | -| **802.11be** | **Wi-Fi 7** | 2.4 / 5 / 6 GHz | ~46 Gbps | 320 MHz | OFDMA enhancements, MLO, Advanced MU-MIMO | 2024 | |
|
| 24 | -| **802.11ah** | **Wi-Fi HaLow** | Sub-1 GHz | 347 Mbps | 16 MHz | OFDM, Long Range, Low Power, IoT Focused | 2016 |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -**Notes:** |
|
| 28 | - |
|
| 29 | -* **Max Data Rate:** These are theoretical maximums under ideal conditions with the highest configurations (e.g., maximum spatial streams, highest modulation). Real-world speeds are typically lower. |
|
| 30 | -* **Key Technologies:** |
|
| 31 | - * **DSSS:** Direct-Sequence Spread Spectrum |
|
| 32 | - * **FHSS:** Frequency-Hopping Spread Spectrum |
|
| 33 | - * **OFDM:** Orthogonal Frequency-Division Multiplexing |
|
| 34 | - * **MIMO:** Multiple-Input Multiple-Output (using multiple antennas) |
|
| 35 | - * **MU-MIMO:** Multi-User MIMO (allows simultaneous communication with multiple devices) |
|
| 36 | - * **OFDMA:** Orthogonal Frequency-Division Multiple Access (divides channel for multiple users) |
|
| 37 | - * **TWT:** Target Wake Time (improves battery life for IoT devices) |
|
| 38 | - * **BSS Coloring:** Reduces interference between neighboring networks |
|
| 39 | - * **MLO:** Multi-Link Operation (aggregates multiple bands/channels) |
|
| 40 | -* **Wi-Fi 6E:** Extends Wi-Fi 6 capabilities into the less congested 6 GHz band. |
|
| 41 | -* **Wi-Fi 7:** The newest standard, focusing on extremely high throughput, lower latency, and improved reliability, particularly for demanding applications like AR/VR and cloud gaming. |
|
| 42 | -* |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -## general |
|
| 47 | - |
|
| 48 | -IEEE standards are technical guidelines and specifications developed by the Institute of Electrical and Electronics Engineers (IEEE). These standards ensure compatibility, safety, and interoperability for a wide range of technologies, including networking, electronics, telecommunications, and power systems. |
|
| 49 | - |
|
| 50 | -Some well-known IEEE standards include: |
|
| 51 | -- **IEEE 802.3** (Ethernet) |
|
| 52 | -- **IEEE 802.11** (WiFi) |
|
| 53 | -- **IEEE 754** (Floating-point arithmetic) |
|
| 54 | - |
|
| 55 | -IEEE standards are widely adopted globally and play a crucial role in advancing technology and ensuring devices from different manufacturers work together |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Infrared-dat/2024-12-20-18-08-22.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/2024-12-20-18-08-22.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/2025-02-18-17-05-16.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/2025-02-18-17-05-16.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/IR-rover-rc.ino
| ... | ... | @@ -1,50 +0,0 @@ |
| 1 | - |
|
| 2 | -/* |
|
| 3 | - * IRRemote 红外遥控码测试 |
|
| 4 | - * 範例 1.2: 顯示紅外線協定種類,如 NEC, Sony SIRC, Philips RC5, Philips RC6 等協定 |
|
| 5 | - */ |
|
| 6 | -#include <IRremote.h> // 引用 IRRemote 函式庫 |
|
| 7 | -const int irReceiverPin = 2; // 紅外線接收器 OUTPUT 訊號接在 pin 2 |
|
| 8 | -IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 9 | -decode_results results; // 解碼結果將放在 decode_results 結構的 result 變數裏 |
|
| 10 | -void setup() |
|
| 11 | -{ |
|
| 12 | - Serial.begin(9600); // 開啟 Serial port, 通訊速率為 9600 bps |
|
| 13 | - irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 14 | -} |
|
| 15 | -// 顯示紅外線協定種類 |
|
| 16 | -void showIRProtocol(decode_results *results) |
|
| 17 | -{ |
|
| 18 | - Serial.print("Protocol: "); |
|
| 19 | - |
|
| 20 | - // 判斷紅外線協定種類 |
|
| 21 | - switch(results->decode_type) { |
|
| 22 | - case NEC: |
|
| 23 | - Serial.print("NEC"); |
|
| 24 | - break; |
|
| 25 | - case SONY: |
|
| 26 | - Serial.print("SONY"); |
|
| 27 | - break; |
|
| 28 | - case RC5: |
|
| 29 | - Serial.print("RC5"); |
|
| 30 | - break; |
|
| 31 | - case RC6: |
|
| 32 | - |
|
| 33 | - Serial.print("RC6"); |
|
| 34 | - break; |
|
| 35 | - default: |
|
| 36 | - Serial.print("Unknown encoding"); |
|
| 37 | - } |
|
| 38 | - // 把紅外線編碼印到 Serial port |
|
| 39 | - Serial.print(", irCode: "); |
|
| 40 | - Serial.print(results->value, HEX); // 紅外線編碼 |
|
| 41 | - Serial.print(", bits: "); |
|
| 42 | - Serial.println(results->bits); // 紅外線編碼位元數 |
|
| 43 | -} |
|
| 44 | -void loop() |
|
| 45 | -{ |
|
| 46 | - if (irrecv.decode(&results)) { // 解碼成功,收到一組紅外線訊號 |
|
| 47 | - showIRProtocol(&results); // 顯示紅外線協定種類 |
|
| 48 | - irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 49 | - } |
|
| 50 | -} |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Infrared-dat/Infrared-dat.md
| ... | ... | @@ -1,59 +0,0 @@ |
| 1 | - |
|
| 2 | -# Infrared |
|
| 3 | - |
|
| 4 | -- [[infrared-reflective-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## APP |
|
| 9 | - |
|
| 10 | -- [[IR-distance-measurer-dat]] - [[line-finder-dat]] |
|
| 11 | - |
|
| 12 | -## Boards |
|
| 13 | - |
|
| 14 | -- [[SIR1008-dat]] |
|
| 15 | - |
|
| 16 | -arduino shield - [[DAS1013-dat]] |
|
| 17 | - |
|
| 18 | -controller - [[SIR1003-dat]] |
|
| 19 | - |
|
| 20 | -## RPI-SCH |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -- Note RPI signal input better at 3V3 |
|
| 27 | -- refer to board [[MPC1098-dat]] |
|
| 28 | - |
|
| 29 | -legacy wiki page - [Infrared for RPI](https://www.electrodragon.com/w/index.php?title=RPI_IR&redirect=no) |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## BOM |
|
| 33 | - |
|
| 34 | -- [[infrared-receiver-dat]] - [[infrared-sender-dat]] |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | -## Tutos |
|
| 40 | - |
|
| 41 | -- http://electrodragon.com/?p=1219 |
|
| 42 | - |
|
| 43 | -## Demo code |
|
| 44 | - |
|
| 45 | -- https://github.com/Edragon/Infrared |
|
| 46 | - |
|
| 47 | -- [[IR-rover-rc.ino]] |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## ref |
|
| 51 | - |
|
| 52 | -- [[infrared-dat]] |
|
| 53 | - |
|
| 54 | -- [Article 2 about IRremote](http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html) |
|
| 55 | - |
|
| 56 | -- [How to receive and send](http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html) |
|
| 57 | - |
|
| 58 | -- [IRremote Library](https://github.com/shirriff/Arduino-IRremote) |
|
| 59 | - |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2023-10-31-17-25-13.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2023-10-31-17-25-13.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2023-12-29-16-18-12.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2023-12-29-16-18-12.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-55-47.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-55-47.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-58-41.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-58-41.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-59-58.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-16-59-58.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-17-00-32.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-01-04-17-00-32.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-12-03-18-12-48.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2024-12-03-18-12-48.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2025-03-06-23-14-42.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/2025-03-06-23-14-42.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/GP1UX31QS.pdf
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-receiver/GP1UX31QS.pdf and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-receiver/infrared-receiver-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# infrared-receiver |
|
| 3 | - |
|
| 4 | -## Common Types |
|
| 5 | - |
|
| 6 | -### 0038 |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -### 0038-2 |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -### HX1838 |
|
| 15 | - |
|
| 16 | -- HX1838 SCH |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -Internal diagram of HX1838 |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -### GP1UX31QS - HS0038 |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -- DS - [[GP1UX31QS.pdf]] |
|
| 29 | - |
|
| 30 | -### Vishay |
|
| 31 | - |
|
| 32 | -TSOP22.., TSOP24.., TSOP48.., TSOP44.. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -## Params |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## Circuits |
|
| 41 | - |
|
| 42 | -### connecting to RPI |
|
| 43 | - |
|
| 44 | -- connect or disconnect SJ1 to RPI |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - |
|
| 52 | -## ref |
|
| 53 | - |
|
| 54 | -- [[infrared-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-54-49.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-54-49.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-55-09.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-55-09.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-58-28.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-sender/2024-03-25-16-58-28.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-sender/2025-03-06-23-27-43.png
| ... | ... | Binary files a/Tech-dat/Network-dat/Infrared-dat/infrared-sender/2025-03-06-23-27-43.png and /dev/null differ |
Tech-dat/Network-dat/Infrared-dat/infrared-sender/infrared-sender-dat.md
| ... | ... | @@ -1,66 +0,0 @@ |
| 1 | - |
|
| 2 | -# infrared-sender-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -## 5mm 940nm common IR sender |
|
| 7 | - |
|
| 8 | -Wavelength: 940nm |
|
| 9 | - |
|
| 10 | -Transmission range: This component is an infrared emission tube. |
|
| 11 | - |
|
| 12 | -The emission range is directly related to the sensitivity of the emission drive circuit and reception, so the emission range does not belong to its attributes. |
|
| 13 | - |
|
| 14 | -The empirical value range of this emission tube installed on the remote control is 10m. |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -Features |
|
| 24 | -- ◇Fast response time |
|
| 25 | -- ◇High photo sensitivity |
|
| 26 | -- ◇Small junction capacitance |
|
| 27 | -- ◇Pb free |
|
| 28 | - |
|
| 29 | -Descriptions |
|
| 30 | -- 5003MDis a high speed and high sensitive PIN |
|
| 31 | -- photodiode in a standard 5Φplastic package. |
|
| 32 | -- The device is matched to infrared emitting diode. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -Applications |
|
| 36 | -- ◇ Infrared applied system. |
|
| 37 | -- ◇ Counters and sorters |
|
| 38 | -- ◇ Encoders |
|
| 39 | -- ◇ Floppy disk drive. |
|
| 40 | -- ◇ Optoelectronic switch |
|
| 41 | -- ◇ Video camera, Tape and card readers |
|
| 42 | -- ◇ Position sensors |
|
| 43 | - |
|
| 44 | -## Electro-Optical Characteristics (Ta=25℃) |
|
| 45 | - |
|
| 46 | -Parameter Symbol Min. TYP. Max. Unit Condition |
|
| 47 | -- Rang Of Spectral Bandwidth λ0.5 400 --- 1100 nm --- |
|
| 48 | -- Wavelength Of Peak Sensitivity λP --- 940 --- V --- |
|
| 49 | -- Open-Circuit Voltage VOC --- 0.39 --- V Ee=5mW/cm2, λp=940nm |
|
| 50 | -- Short- Circuit Current ISC --- 35 --- μA Ee=1mW/cm2, λp=940nm |
|
| 51 | -- Reverse Light Current IL 25 35 --- μA Ee=1mW/cm2, λp=940nm, VR=5V |
|
| 52 | -- Reverse Dark Current ID --- 5 30 nA Ee=0mW/cm2, VR=10V |
|
| 53 | -- Reverse Breakdown Voltage BVR 32 170 --- V Ee=0mW/cm2 |
|
| 54 | -- IR=100μA |
|
| 55 | -- Total Capacitance Ct --- 18 --- pF Ee=0mW/cm2, VR=5V, f=1MHz |
|
| 56 | -- Rise/Fall Time tr/tf --- 45/45 --- nS VR=10V, RL=1000Ω |
|
| 57 | - |
|
| 58 | - |
|
| 59 | - |
|
| 60 | -## unlisted |
|
| 61 | - |
|
| 62 | -### SMD |
|
| 63 | - |
|
| 64 | -[SFH 4441](https://www.mouser.com/datasheet/2/588/SFH_4441_EN-3561587.pdf) == Infrared Emitters Infrared 940nm |
|
| 65 | - |
|
| 66 | - |
Tech-dat/Network-dat/IoT-dat/IoT-dat.md
| ... | ... | @@ -1,3 +0,0 @@ |
| 1 | - |
|
| 2 | -# IoT-dat |
|
| 3 | - |
Tech-dat/Network-dat/IoT-dat/WiFi-HaLow-dat/WiFi-HaLow-dat.md
| ... | ... | @@ -1,38 +0,0 @@ |
| 1 | - |
|
| 2 | -# WiFi-HaLow-dat |
|
| 3 | - |
|
| 4 | -## WiFi HaLow (IEEE 802.11ah) |
|
| 5 | - |
|
| 6 | -WiFi HaLow is a wireless networking standard based on IEEE 802.11ah, designed for Internet of Things (IoT) applications. It operates in the sub-1 GHz frequency bands, providing several key advantages: |
|
| 7 | - |
|
| 8 | -- **Long Range:** Coverage up to 1 kilometer, much farther than traditional WiFi. |
|
| 9 | -- **Low Power Consumption:** Optimized for battery-powered IoT devices. |
|
| 10 | -- **Better Penetration:** Signals can pass through walls and obstacles more effectively. |
|
| 11 | -- **High Device Density:** Supports thousands of devices per access point. |
|
| 12 | - |
|
| 13 | -WiFi HaLow is ideal for smart homes, industrial automation, agriculture, and other IoT scenarios where long range and low |
|
| 14 | - |
|
| 15 | -## Common and Popular WiFi HaLow Chip Solutions |
|
| 16 | - |
|
| 17 | -Several manufacturers offer WiFi HaLow (IEEE 802.11ah) chipsets and modules for IoT applications. Some of the most common and popular solutions include: |
|
| 18 | - |
|
| 19 | -- **Morse Micro MM6108 / MM6104** |
|
| 20 | - Highly integrated WiFi HaLow SoCs and modules, known for long range and low power. |
|
| 21 | - |
|
| 22 | -- **Newracom NRC7292** |
|
| 23 | - Widely used 802.11ah chipset, available as modules and reference designs. |
|
| 24 | - |
|
| 25 | -- **Silex SX-NEWAH** |
|
| 26 | - Modules based on Newracom chipsets, suitable for industrial and commercial IoT. |
|
| 27 | - |
|
| 28 | -- **Methods2Business M2B-110AH** |
|
| 29 | - 802.11ah modules and development kits for rapid prototyping. |
|
| 30 | - |
|
| 31 | -- **Alps Alpine** |
|
| 32 | - Offers WiFi HaLow modules for embedded and automotive applications. |
|
| 33 | - |
|
| 34 | -These solutions are used in smart home devices, industrial automation, agriculture, and other IoT deployments requiring long-range, low-power wireless connectivity. |
|
| 35 | - |
|
| 36 | -## ref |
|
| 37 | - |
|
| 38 | -- [[IOT-dat]] - [[ST-dat]] - [[IEEE-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/LTE-dat/50-30-13-07-03-2023.png
| ... | ... | Binary files a/Tech-dat/Network-dat/LTE-dat/50-30-13-07-03-2023.png and /dev/null differ |
Tech-dat/Network-dat/LTE-dat/LTE-dat.md
| ... | ... | @@ -1,166 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | -# CAT vs. CAT M |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## supported by countries |
|
| 9 | - |
|
| 10 | -network check by here: https://www.frequencycheck.com/countries |
|
| 11 | - |
|
| 12 | -| Country | Bands Count | B1 | B3 | B4 | B5 | B7 | B8 | B20 | B28 | B40 | B41 | Other Bands | Coverage | |
|
| 13 | -| ---------------------------- | ----------- | -- | -- | -- | -- | -- | -- | --- | --- | --- | --- | ----------------------------------------- | -------- | |
|
| 14 | -| United States | 12 | | | X | X | | | | | | X | B2 B12 B13 B17 B25 B26 B30 B66 B71 | 97.10% | |
|
| 15 | -| Canada | 9 | | | X | X | X | | | | | | B2 B12 B13 B17 B29 B66 | 91.90% | |
|
| 16 | -| Japan | 8 | X | | | | | X | | X | | X | B18 B21 B9 B11 | 100% | |
|
| 17 | -| Australia | 6 | X | X | | X | X | | | X | X | | | 88.50% | |
|
| 18 | -| China | 5 | | X | | | | | | | X | X | B38 B39 | 82.50% | |
|
| 19 | -| Philippines | 5 | X | X | | X | X | | | | | X | | 80.50% | |
|
| 20 | -| France | 5 | X | X | | | X | | X | X | | | | 89.10% | |
|
| 21 | -| South Korea | 5 | X | X | | X | X | X | | | | | | 99.20% | |
|
| 22 | -| Sweden | 5 | | X | | | X | X | X | | | | B38 | 90.10% | |
|
| 23 | -| Czech Republic | 5 | X | X | | | X | X | X | | | | | 91.90% | |
|
| 24 | -| Indonesia | 4 | | X | | X | | X | | | X | | | 77.60% | |
|
| 25 | -| United Kingdom | 4 | X | X | | | X | | X | | | | | 91.30% | |
|
| 26 | -| Poland | 4 | X | X | | | | | X | | | | B38 | 89.10% | |
|
| 27 | -| Saudi Arabia | 4 | X | X | | | | | | | X | | B38 | 79.20% | |
|
| 28 | -| Taiwan | 4 | | X | | | X | X | | X | | | | 94.50% | |
|
| 29 | -| Romania | 4 | | X | | | X | | X | | | | B38 | 86.60% | |
|
| 30 | -| Netherlands | 4 | | X | | | X | X | X | | | | | 96.60% | |
|
| 31 | -| Hong Kong | 4 | | X | | | X | X | | | X | | | 93.80% | |
|
| 32 | -| Puerto Rico | 4 | | | X | | | | | | | | B13 B17 B25 | 89.80% | |
|
| 33 | -| Slovenia | 4 | | X | | | X | X | X | | | | | 88% | |
|
| 34 | -| Estonia | 4 | X | X | | | X | | X | | | | | 92.90% | |
|
| 35 | -| Guam | 4 | | | X | | | | | | | | B2 B12 B17 | | |
|
| 36 | -| India | 3 | | X | | X | | | | | X | | | 80.60% | |
|
| 37 | -| Bangladesh | 3 | X | X | | | | X | | | | | | 66.70% | |
|
| 38 | -| Russia | 3 | | X | | | X | | X | | | | | 79.10% | |
|
| 39 | -| Iran | 3 | | X | | | X | | | | X | | | | |
|
| 40 | -| Germany | 3 | | X | | | X | | X | | | | | 92.50% | |
|
| 41 | -| South Africa | 3 | X | X | | | | | | | X | | | 83.10% | |
|
| 42 | -| Italy | 3 | | X | | | X | | X | | | | | 90.10% | |
|
| 43 | -| Uganda | 3 | | X | | | X | | X | | | | | | |
|
| 44 | -| Bolivia | 3 | | | X | | | | | | | | B13 B17 | 58.40% | |
|
| 45 | -| Dominican Republic | 3 | | X | X | | | | | | | | B2 | 78.40% | |
|
| 46 | -| United Arab Emirates | 3 | | X | | | X | | X | | | | | 91.50% | |
|
| 47 | -| Tajikistan | 3 | | X | | | X | | X | | | | | | |
|
| 48 | -| Portugal | 3 | | X | | | X | | X | | | | | 87.20% | |
|
| 49 | -| Greece | 3 | | X | | | X | | X | | | | | 86.90% | |
|
| 50 | -| Hungary | 3 | | X | | | X | | X | | | | | 90% | |
|
| 51 | -| Austria | 3 | | X | | | X | | X | | | | | 88.80% | |
|
| 52 | -| Switzerland | 3 | | X | | | X | | X | | | | | 94.60% | |
|
| 53 | -| Denmark | 3 | | X | | | X | | X | | | | | 94.80% | |
|
| 54 | -| Singapore | 3 | | X | | | X | X | | | | | | 94.10% | |
|
| 55 | -| Finland | 3 | | X | | | X | | X | | | | | 92.50% | |
|
| 56 | -| Norway | 3 | | X | | | X | | X | | | | | 94.10% | |
|
| 57 | -| Slovakia | 3 | | X | | | X | | X | | | | | 88.90% | |
|
| 58 | -| Qatar | 3 | | X | | | X | | X | | | | | 91.90% | |
|
| 59 | -| Moldova | 3 | | X | | | X | | X | | | | | 68.40% | |
|
| 60 | -| Lithuania | 3 | | X | | | X | | X | | | | | 93.10% | |
|
| 61 | -| Latvia | 3 | | X | | | X | | X | | | | | 88.40% | |
|
| 62 | -| Belize | 3 | | | | X | | | | | | | B2 B13 (700 c) | | |
|
| 63 | -| Jersey | 3 | | X | | | X | | X | | | | | | |
|
| 64 | -| San Marino | 3 | | X | | | X | | X | | | | | | |
|
| 65 | -| Pakistan | 2 | | X | | X | | | | | | | | 75.90% | |
|
| 66 | -| Brazil | 2 | | X | | | X | | | | | | | 67.50% | |
|
| 67 | -| Mexico | 2 | | | X | | | | | | | | B2 | 73% | |
|
| 68 | -| Kenya | 2 | | X | | | | | X | | | | | 65.90% | |
|
| 69 | -| Colombia | 2 | | | X | | X | | | | | | | 63.10% | |
|
| 70 | -| Spain | 2 | | X | | | X | | | | | | | 84.60% | |
|
| 71 | -| Morocco | 2 | | X | | | | | X | | | | | 79.70% | |
|
| 72 | -| Malaysia | 2 | | X | | | X | | | | | | | 81.70% | |
|
| 73 | -| Peru | 2 | | | X | | | | | | | | B2 | 72.50% | |
|
| 74 | -| Venezuela | 2 | | X | X | | | | | | | | | | |
|
| 75 | -| Sri Lanka | 2 | | X | | | | | | | X | | | 77.80% | |
|
| 76 | -| Chile | 2 | | | X | | X | | | | | | | 70.50% | |
|
| 77 | -| Guatemala | 2 | | | | X | | | | | | | B2 | 76.70% | |
|
| 78 | -| Ecuador | 2 | | | X | | | | | | | | B2 | 57.70% | |
|
| 79 | -| Cambodia | 2 | | X | | X | | | | | | | | 81.80% | |
|
| 80 | -| Belgium | 2 | | X | | | | | X | | | | | 94.40% | |
|
| 81 | -| Belarus | 2 | | X | | | X | | | | | | | 48% | |
|
| 82 | -| Paraguay | 2 | | | X | | | | | | | | B2 | 67.90% | |
|
| 83 | -| Oman | 2 | | X | | | | | | | X | | | 76.90% | |
|
| 84 | -| Ireland | 2 | | X | | | | | X | | | | | 76.90% | |
|
| 85 | -| New Zealand | 2 | | X | | | | | | X | | | | 81% | |
|
| 86 | -| Costa Rica | 2 | | X | | | X | | | | | | | 69.50% | |
|
| 87 | -| Kuwait | 2 | | X | | | | | X | | | | | 71.80% | |
|
| 88 | -| Panama | 2 | | | | | | | | X | | | B2 | 73% | |
|
| 89 | -| Croatia | 2 | | X | | | | | X | | | | | 85.40% | |
|
| 90 | -| Georgia | 2 | | X | | | | | X | | | | | 83.40% | |
|
| 91 | -| Uruguay | 2 | | | X | | | | | | | | B2 | 70.40% | |
|
| 92 | -| Albania | 2 | | X | | | X | | | | | | | 79.40% | |
|
| 93 | -| Fiji | 2 | | X | | | | | X | | | | | | |
|
| 94 | -| Macau | 2 | | X | | | | | | | X | | (1800 +) | | |
|
| 95 | -| Montenegro | 2 | | X | | | X | | | | | | | | |
|
| 96 | -| Maldives | 2 | | X | | | X | | | | | | | | |
|
| 97 | -| Iceland | 2 | | X | | | | | X | | | | | 86% | |
|
| 98 | -| Isle of Man | 2 | | X | | | | | X | | | | | | |
|
| 99 | -| Cayman Islands | 2 | | X | | | | | | | | | B17 | | |
|
| 100 | -| Dominica | 2 | | | X | | | | | | | | B17 | | |
|
| 101 | -| Gibraltar | 2 | | | | | X | | X | | | | | | |
|
| 102 | -| Monaco | 2 | | | | | X | | X | | | | | | |
|
| 103 | -| Ethiopia | 1 | | X | | | | | | | | | | | |
|
| 104 | -| Thailand | 1 | X | | | | | | | | | | | 83.30% | |
|
| 105 | -| Tanzania | 1 | | | | | | | X | | | | | | |
|
| 106 | -| Sudan | 1 | X | | | | | | | | | | | | |
|
| 107 | -| Algeria | 1 | | X | | | | | | | | | | 58.40% | |
|
| 108 | -| Argentina | 1 | | | X | | | | | | | | | 74.90% | |
|
| 109 | -| Angola | 1 | | X | | | | | | | | | | | |
|
| 110 | -| Ukraine | 1 | | | | | X | | | | | | | 67.30% | |
|
| 111 | -| Uzbekistan | 1 | | | | | X | | | | | | | 69.80% | |
|
| 112 | -| Zambia | 1 | | X | | | | | | | | | | 64.70% | |
|
| 113 | -| Kazakhstan | 1 | | X | | | | | | | | | | 71% | |
|
| 114 | -| Zimbabwe | 1 | | X | | | | | | | | | | | |
|
| 115 | -| Jordan | 1 | | X | | | | | | | | | | 71% | |
|
| 116 | -| Honduras | 1 | | | X | | | | | | | | | 69.50% | |
|
| 117 | -| Papua New Guinea | 1 | | | | | | | | X | | | | | |
|
| 118 | -| Azerbaijan | 1 | | X | | | | | | | | | | 75.70% | |
|
| 119 | -| Israel | 1 | | X | | | | | | | | | | 81.80% | |
|
| 120 | -| Laos | 1 | | X | | | | | | | | | | | |
|
| 121 | -| Turkmenistan | 1 | | | | | X | | | | | | | | |
|
| 122 | -| Kyrgyzstan | 1 | | | | | X | | | | | | | 87.20% | |
|
| 123 | -| Nicaragua | 1 | | | X | | | | | | | | | 64.20% | |
|
| 124 | -| Bulgaria | 1 | | X | | | | | | | | | | 86% | |
|
| 125 | -| Serbia | 1 | | X | | | | | | | | | | 84.30% | |
|
| 126 | -| Lebanon | 1 | | X | | | | | | | | | | 79.30% | |
|
| 127 | -| Namibia | 1 | | X | | | | | | | | | | | |
|
| 128 | -| Armenia | 1 | | | | | X | | | | | | | | |
|
| 129 | -| Jamaica | 1 | | | | X | | | | | | | | 67.50% | |
|
| 130 | -| Lesotho | 1 | | | | | | | X | | | | | | |
|
| 131 | -| Bahrain | 1 | | X | | | | | | | | | | 89.50% | |
|
| 132 | -| Trinidad and Tobago | 1 | | | | | X | | | | | | | | |
|
| 133 | -| Cyprus | 1 | | X | | | | | | | | | | 92.10% | |
|
| 134 | -| Mauritius | 1 | | X | | | | | | | | | | | |
|
| 135 | -| Bhutan | 1 | | X | | | | | | | | | | | |
|
| 136 | -| Luxembourg | 1 | | X | | | | | | | | | | 82.70% | |
|
| 137 | -| Malta | 1 | | X | | | | | | | | | | | |
|
| 138 | -| Brunei | 1 | | X | | | | | | | | | | | |
|
| 139 | -| Bahamas | 1 | | | | | | | | | | | B17 | | |
|
| 140 | -| Vanuatu | 1 | | | | | | | | | X | | | | |
|
| 141 | -| Kiribati | 1 | | | | | | | | | | | B12 | | |
|
| 142 | -| Seychelles | 1 | | | | | | | X | | | | | | |
|
| 143 | -| Aruba | 1 | | X | | | | | | | | | | | |
|
| 144 | -| United States Virgin Islands | 1 | | | X | | | | | | | | | | |
|
| 145 | -| Greenland | 1 | | | | | | | X | | | | | | |
|
| 146 | -| Turks and Caicos Islands | 1 | | | | | | | | | | | B17 | | |
|
| 147 | -| Northern Mariana Islands | 1 | | | | | | | | | | | B12 | | |
|
| 148 | -| Liechtenstein | 1 | | | | | | | X | | | | | | |
|
| 149 | -| Nigeria | | | | | | | | | | | | | 62.60% | |
|
| 150 | -| Egypt | | | | | | | | | | | | | 74.10% | |
|
| 151 | -| Vietnam | | | | | | | | | | | | | 80.70% | |
|
| 152 | -| Turkey | | | | | | | | | | | | | 79.30% | |
|
| 153 | -| Myanmar | | | | | | | | | | | | | 76.90% | |
|
| 154 | -| Iraq | | | | | | | | | | | | | 63.30% | |
|
| 155 | -| Ghana | | | | | | | | | | | | | 56.80% | |
|
| 156 | -| Ivory Coast | | | | | | | | | | | | | 55% | |
|
| 157 | -| Nepal | | | | | | | | | | | | | 61% | |
|
| 158 | -| Senegal | | | | | | | | | | | | | 54.40% | |
|
| 159 | -| Tunisia | | | | | | | | | | | | | 70.40% | |
|
| 160 | -| El Salvador | | | | | | | | | | | | | 71.30% | |
|
| 161 | -| Mongolia | | | | | | | | | | | | | 67.10% | |
|
| 162 | -| North Macedonia | | | | | | | | | | | | | 86% | |
|
| 163 | - |
|
| 164 | - |
|
| 165 | -## ref |
|
| 166 | -https://www.inhandnetworks.com/lte-cat-1-vs-cat-m1.html |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/LWPA-dat/LWPA-dat.md
| ... | ... | @@ -1,52 +0,0 @@ |
| 1 | - |
|
| 2 | -# LWPA-dat (Low Power Wide Area) |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -**LWPA** stands for **Low Power Wide Area** network, a category of wireless communication technologies designed for long-range connectivity with low power consumption. It is commonly used in the context of Internet of Things (IoT) networks, where devices need to send small amounts of data over long distances while consuming minimal energy. |
|
| 6 | - |
|
| 7 | -- [[NBIOT-dat]] - [[LORA-dat]] - [[SIGFOX-dat]] - [[LTE-M-dat]] |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## Key Characteristics of LWPA (LPWAN): |
|
| 11 | - |
|
| 12 | -1. **Low Power Consumption:** |
|
| 13 | - - Devices on an LPWAN network are designed to consume minimal energy, making them ideal for battery-powered devices that need to last for months or even years without recharging or replacing batteries. |
|
| 14 | - |
|
| 15 | -2. **Wide Coverage:** |
|
| 16 | - - LWPA networks provide **long-range** communication, often spanning several kilometers in urban environments and much longer distances in rural or open spaces, thanks to their ability to utilize lower frequency bands and better propagation characteristics. |
|
| 17 | - |
|
| 18 | -3. **Small Data Payloads:** |
|
| 19 | - - The network is optimized for **small, infrequent data transmissions**, making it suitable for use cases like sensor readings, asset tracking, smart meters, and other IoT applications where large data throughput is not required. |
|
| 20 | - |
|
| 21 | -4. **Cost-Effective:** |
|
| 22 | - - The technology is often more affordable for deployments over large areas, both in terms of device cost and data usage. |
|
| 23 | - |
|
| 24 | -5. **Low Bandwidth:** |
|
| 25 | - - LWPA technologies have **limited bandwidth** compared to traditional cellular networks, meaning they are not suitable for high-speed or large-volume data transfer. They are typically used for sending small, intermittent data packets. |
|
| 26 | - |
|
| 27 | -## Common LPWAN Technologies (similar to LWPA): |
|
| 28 | - |
|
| 29 | -1. **LoRa (Long Range):** |
|
| 30 | - - A widely adopted LPWAN technology that uses unlicensed sub-gigahertz radio frequencies (such as 868 MHz or 915 MHz) to achieve long-range communication. |
|
| 31 | - |
|
| 32 | -2. **NB-IoT (Narrowband IoT):** |
|
| 33 | - - A cellular LPWAN technology that operates in licensed cellular spectrum, providing reliable, long-range communication with low power consumption. |
|
| 34 | - |
|
| 35 | -3. **Sigfox:** |
|
| 36 | - - A proprietary LPWAN technology that operates in the unlicensed spectrum, using very narrow band communications for low-power, long-range connectivity. |
|
| 37 | - |
|
| 38 | -4. **LTE-M (Cat-M1):** |
|
| 39 | - - Another cellular LPWAN technology that offers higher data rates and mobility compared to NB-IoT, also designed for low-power IoT applications. |
|
| 40 | - |
|
| 41 | -## Use Cases for LWPA (LPWAN): |
|
| 42 | - |
|
| 43 | -- **Smart Cities:** IoT devices for urban infrastructure, such as smart streetlights, traffic monitoring, and waste management systems. |
|
| 44 | -- **Agriculture:** Precision farming sensors for soil moisture, temperature, and other environmental factors. |
|
| 45 | -- **Asset Tracking:** Real-time tracking of goods or vehicles over long distances with low power consumption. |
|
| 46 | -- **Environmental Monitoring:** Monitoring air quality, water levels, and other environmental factors in remote locations. |
|
| 47 | - |
|
| 48 | -## Summary: |
|
| 49 | - |
|
| 50 | -While **LWPA** is not a distinct or widely recognized acronym, the term **LPWAN** encapsulates various technologies, such as **LoRa**, **NB-IoT**, **Sigfox**, and **LTE-M**, that provide **low-power**, **long-range** communication suited for **IoT applications** requiring small data transfers over large areas. |
|
| 51 | - |
|
| 52 | -These networks enable devices to operate for extended periods on battery power, making them ideal for remote monitoring and large-scale IoT deployments. |
Tech-dat/Network-dat/M2M-dat/2024-07-03-18-08-51.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/2024-07-03-18-08-51.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/2025-04-18-20-54-36.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/2025-04-18-20-54-36.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-26-50.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-26-50.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-15.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-15.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-40.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-28-40.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-29-06.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-29-06.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-31-44.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-31-44.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-32-19.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-32-19.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-33-36.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-33-36.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-34-13.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-34-13.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-50-56.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-50-56.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-51-16.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-51-16.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-54-45.png
| ... | ... | Binary files a/Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/2025-06-30-14-54-45.png and /dev/null differ |
Tech-dat/Network-dat/M2M-dat/M2M-HDK-Ref-dat/M2M-HDK-Ref-dat.md
| ... | ... | @@ -1,77 +0,0 @@ |
| 1 | - |
|
| 2 | -# M2M-HDK-Ref-dat |
|
| 3 | - |
|
| 4 | -## Analog Audio |
|
| 5 | - |
|
| 6 | -### A7670 Based Ref |
|
| 7 | - |
|
| 8 | -- [[A7670-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## ADC and VBAT ADC |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | -## SPI Camera Interface |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## SPI LCD Interface |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## PCM |
|
| 27 | - |
|
| 28 | -- [[PCM-dat]] |
|
| 29 | - |
|
| 30 | -## Matrix Keyboard Interface |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -## SIM interface |
|
| 36 | - |
|
| 37 | -- [[SIM-dat]] |
|
| 38 | - |
|
| 39 | -6-Pin SIM Card Interface |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -8-Pin SIM Card Interface |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | -## M2M USB Reference |
|
| 50 | - |
|
| 51 | -- [[USB-dat]] |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -## Basic |
|
| 57 | - |
|
| 58 | -### reset |
|
| 59 | - |
|
| 60 | - |
|
| 61 | - |
|
| 62 | -### power on/off |
|
| 63 | - |
|
| 64 | - |
|
| 65 | - |
|
| 66 | - |
|
| 67 | -### power supply |
|
| 68 | - |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - |
|
| 72 | - |
|
| 73 | -## ref |
|
| 74 | - |
|
| 75 | -- [[MIC29302-dat]] - [[LM2596-dat]] |
|
| 76 | - |
|
| 77 | -- [[M2M-dat]] - [[ref-design-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/M2M-dat/M2M-dat.md
| ... | ... | @@ -1,188 +0,0 @@ |
| 1 | - |
|
| 2 | -# M2M-dat |
|
| 3 | - |
|
| 4 | -- [[M2M-HDK-Ref-dat]] - [[M2M-interface-dat]] |
|
| 5 | - |
|
| 6 | -## Module manufacturer |
|
| 7 | - |
|
| 8 | -- [[fibocom-dat]] - [[simcom-dat]] - [[quectel-dat]] |
|
| 9 | - |
|
| 10 | -## tech |
|
| 11 | - |
|
| 12 | -- 2G |
|
| 13 | -- LWPA |
|
| 14 | - |
|
| 15 | -- [[LTE-dat]] |
|
| 16 | -- CAT1 |
|
| 17 | -- CAT4 |
|
| 18 | -- [[NBIOT-dat]] |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -| LTE FDD | LTE TDD | |
|
| 23 | -| ---------------------- | ------- | |
|
| 24 | -| B1/B3/B5/B8 | |
|
| 25 | -| B1/B3/B5/B7/B8 | |
|
| 26 | -| B1/B3/B5/B7/B8/B20/B28 | |
|
| 27 | - |
|
| 28 | -LTE TDD B34/B38/B39/B40/B41 |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -- Frequency-division duplexing (FDD); |
|
| 32 | -- time-division duplexing (TDD) |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -CAT-M |
|
| 36 | -CAT-NB |
|
| 37 | - |
|
| 38 | -## Tech by Types |
|
| 39 | - |
|
| 40 | -| Module | Network | Boards | |
|
| 41 | -| ------------- | ---------- | --------------- | |
|
| 42 | -| [[A7670-dat]] | [[4G-dat]] | [[NGS1131-dat]] | |
|
| 43 | -| [[EC20-dat]] | [[4G-dat]] | [[NGS1108-dat]] | |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -## NBIOT |
|
| 47 | - |
|
| 48 | -LTE Cat NB1, |
|
| 49 | - |
|
| 50 | -also known as Narrowband IoT (NB-IoT) is a Low Power Wide Area (LPWA) technology that has been developed to enable a wide range of devices to be connected to the internet using existing mobile networks. NB-IoT has been developed to enable the Internet of Things (IoT). It is a low power, narrowband technology that can support small amounts of 2-way data transmission in an efficient, secure, and reliable manner. This standard was created in **3GPP Release 13**. |
|
| 51 | - |
|
| 52 | -LTE Cat NB2 |
|
| 53 | - |
|
| 54 | -is an upgraded version of the LTE Cat NB1 standard (NB-IoT). **In Release 14**, 3GPP introduced an enhanced NB-IoT protocol and a new device category called NB2. |
|
| 55 | - |
|
| 56 | -This standard is an upgraded version of the LTE Cat NB1 standard. |
|
| 57 | - |
|
| 58 | -LTE NB1 vs LTE NB2 |
|
| 59 | - |
|
| 60 | -| Features | LTE Cat NB1 | LTE Cat NB2 | |
|
| 61 | -| ---------------------- | ----------- | -------------- | |
|
| 62 | -| 3GPP Release | Release 13 | Release 14 | |
|
| 63 | -| Channel Bandwidth | 180 kHz | 180 kHz | |
|
| 64 | -| UE Bandwidth | 200 kHz | 200 kHz | |
|
| 65 | -| Transmission Duplexity | Half | Half | |
|
| 66 | -| Max Tx Power | 20, 23 dBm | 14, 20, 23 dBm | |
|
| 67 | -| Max Downlink data rate | ~26 kbps | ~127 kbps | |
|
| 68 | -| Max Uplink data rate | ~62 kbps | ~159 kbps | |
|
| 69 | -| Latency | <10 sec | - | |
|
| 70 | -| Data Encryption | EPS-AKA | EPS-AKA | |
|
| 71 | -| Device Authentication | SIM | SIM | |
|
| 72 | -| Voice Support | No | No | |
|
| 73 | -| Positioning | Cell ID | OTDOA, E-CID | |
|
| 74 | - |
|
| 75 | - |
|
| 76 | - |
|
| 77 | -## CAT-M |
|
| 78 | - |
|
| 79 | -CAT-M (also known as LTE-M or LTE Cat-M1) can operate in both Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes. The choice between FDD and TDD for CAT-M depends on the specific network deployment and regional spectrum regulations. |
|
| 80 | - |
|
| 81 | -### Overview |
|
| 82 | -Frequency Division Duplex (FDD): Uses separate frequencies for uplink and downlink. It allows for simultaneous transmission and reception. |
|
| 83 | - |
|
| 84 | -Time Division Duplex (TDD): Uses the same frequency for both uplink and downlink but alternates in time. Transmission and reception occur at different times on the same frequency. |
|
| 85 | - |
|
| 86 | -### CAT-M Characteristics |
|
| 87 | -Compatibility: CAT-M is designed to be compatible with existing LTE infrastructure, so it can utilize FDD, which is more commonly used in LTE networks. |
|
| 88 | - |
|
| 89 | -Flexibility: CAT-M also supports TDD for regions or deployments where TDD is preferred or necessary due to spectrum availability or regulatory reasons. |
|
| 90 | - |
|
| 91 | -### Practical Use |
|
| 92 | -FDD: Predominantly used in regions where FDD LTE networks are prevalent. Common in many parts of the world due to existing LTE deployments. |
|
| 93 | - |
|
| 94 | -TDD: Used in regions or specific cases where TDD LTE networks are implemented, offering flexibility in spectrum usage and often used in China and some other areas. |
|
| 95 | - |
|
| 96 | -If you're deploying or using CAT-M technology, check with the specific network provider or region's spectrum regulations to understand which mode is supported. |
|
| 97 | - |
|
| 98 | -## FDD vs TDD |
|
| 99 | - |
|
| 100 | -- https://en.wikipedia.org/wiki/LTE_frequency_bands |
|
| 101 | -- TDD mainly located at 34 ~ 54 |
|
| 102 | - |
|
| 103 | -## Support |
|
| 104 | - |
|
| 105 | -- check supported countries by here: https://en.wikipedia.org/wiki/List_of_LTE_networks |
|
| 106 | -- check by sepcific country: https://www.frequencycheck.com/countries |
|
| 107 | -- interactive map: https://worldpopulationreview.com/country-rankings/lte-bands-by-country |
|
| 108 | - |
|
| 109 | - |
|
| 110 | - |
|
| 111 | -## Functions |
|
| 112 | - |
|
| 113 | -LBS = Base station location, AT+CLBS |
|
| 114 | - |
|
| 115 | - |
|
| 116 | -### RI (ring) and DTR Behavior |
|
| 117 | - |
|
| 118 | -RI usually keeps high level output. When receiving a short message or URC report, RI outputs a low level for 120ms (short message)/60ms (URC), and then returns to a high-level state; RI will output a low level, when receiving a phone call as the called party. |
|
| 119 | - |
|
| 120 | -After outputting low level, RI will remain low until the host accepts the call using the "ATA" command or the caller stops calling RI, in the end, it will become high level. |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - |
|
| 124 | -**DTR for sleep mode** |
|
| 125 | - |
|
| 126 | -After setting the AT command “AT+CSCLK=1”, and then pulling up the DTR pin, Module will enter sleep mode when module is in idle mode. In sleep mode, the UART is unavailable. When A7672X/ enters sleep mode, pulling down DTR can wakeup module. |
|
| 127 | - |
|
| 128 | -After setting the AT command “AT+CSCLK=0”, A7672X/A7670X Series will do nothing when the DTR pin is |
|
| 129 | -pulling up. |
|
| 130 | - |
|
| 131 | -### USB Interface |
|
| 132 | - |
|
| 133 | -The A7672X/7670X contains a USB interface compliant with the USB2.0 specification as a peripheral, but does not support USB charging function and does not support USB HOST mode. |
|
| 134 | - |
|
| 135 | - |
|
| 136 | - |
|
| 137 | -### GNSS |
|
| 138 | - |
|
| 139 | -GNSS_VBKP = GNSS VRTC power input, input voltage 1.4V~3.6V |
|
| 140 | - |
|
| 141 | -| Pin name | Pin No. | Power domain | Type | Description | Note | |
|
| 142 | -| ----------- | ------- | ------------ | ---- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------ | |
|
| 143 | -| GNSS_PWRCTL | 98 | 1.8V | DI | The enable control PIN ofGNSS power supply. | Active high. | |
|
| 144 | -| 1V8_GNSS | 97 | - | PI | The power input for GNSS,the input voltage must notbe less than 1.8V. | Module VDD_1V8(PIN 15) can be usedfor this power supply | |
|
| 145 | -| GNSS_VBKP | 116 | - | PI | GNSS VRTC power input,input voltage 1.4V~3.6V | If unused, keep itopen. | |
|
| 146 | -| 1PPS | 100 | 1.8V | DO | 1PPS signal output | If unused, keep itopen. | |
|
| 147 | -| GNSS_RXD | 96 | 1.8V | DI | GNSS UART RX | Connect to MCUUART_TX;Or use 1K resistors inseries in moduleUART3_TX (pin 50). | |
|
| 148 | -| GNSS_TXD | 95 | 1.8V | DO | GNSS UART TX | Connect to MCUUART_RX;Or use 1K resistors inseries in moduleUART3_RX (pin 49). | |
|
| 149 | - |
|
| 150 | -### NETLIGHT |
|
| 151 | - |
|
| 152 | -below table for A7670X |
|
| 153 | - |
|
| 154 | -Table 21: 2G mode NETLIGHT pin status |
|
| 155 | - |
|
| 156 | -| NETLIGHT pin status | Module status | |
|
| 157 | -| ------------------------------ | ------------------ | |
|
| 158 | -| Always On | Searching Network | |
|
| 159 | -| 200ms ON, 200ms OFF | Data Transmit | |
|
| 160 | -| 800ms ON, 800ms OFF | Registered network | |
|
| 161 | -| OFF | Power off / Sleep | |
|
| 162 | - |
|
| 163 | -Table 22: LTE mode NETLIGHT pin status |
|
| 164 | - |
|
| 165 | -| NETLIGHT pin status | Module status | |
|
| 166 | -| ------------------------------ | ------------------------ | |
|
| 167 | -| Always On | Searching Network | |
|
| 168 | -| 200ms ON, 200ms OFF | Data Transmit/Registered | |
|
| 169 | -| OFF | Power off / Sleep | |
|
| 170 | - |
|
| 171 | - |
|
| 172 | - |
|
| 173 | - |
|
| 174 | - |
|
| 175 | - |
|
| 176 | - |
|
| 177 | -## reference design |
|
| 178 | - |
|
| 179 | -- [[GNSS-dat]] - [[antenna-dat]] - [[SIM-dat]] |
|
| 180 | - |
|
| 181 | -- [[diode-dat]] - [[dcdc-down-dat]] - |
|
| 182 | - |
|
| 183 | - |
|
| 184 | -## ref |
|
| 185 | - |
|
| 186 | -- [[solutions-dat]] |
|
| 187 | - |
|
| 188 | -- [[M2M]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/M2M-dat/M2M-interface-dat/M2M-interface-dat.md
| ... | ... | @@ -1,42 +0,0 @@ |
| 1 | - |
|
| 2 | -# M2M Interface |
|
| 3 | - |
|
| 4 | -## common pin definitions |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -| Pin | Functions | |
|
| 8 | -| ---- | -------------------------------------------- | |
|
| 9 | -| VBUS | Power supply from USB port | |
|
| 10 | -| VIN | Power input up to ~18V | |
|
| 11 | -| 3V3 | on board 3.3V LDO output | |
|
| 12 | -| DTR | UART DRT pin | |
|
| 13 | -| ~RI | UART RI pin | |
|
| 14 | -| RXD | UART receive via logic shifter | |
|
| 15 | -| TXD | UART send via logic shifter | |
|
| 16 | -| PEN | on board dcdc power supply enable default on | |
|
| 17 | -| GND | board power supply ground | |
|
| 18 | -| RST | gpio_control_reset | |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -- [[A7670-dat]] - [[NGS1131-dat]] - [[NGS1141-dat]] |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -## obseleted |
|
| 26 | - |
|
| 27 | -| pin | function | |
|
| 28 | -| ---------- | ------------------------------ | |
|
| 29 | -| 3v3 or bat | direct system power supply | |
|
| 30 | -| vin | external high voltage supply | |
|
| 31 | -| gnd | Power Ground | |
|
| 32 | -| p_en | on board power chip enable pin | |
|
| 33 | -| logic_pwr | logic power level supply | |
|
| 34 | -| rx | RXD | |
|
| 35 | -| tx | TXD | |
|
| 36 | -| boot | M2M module boot pin | |
|
| 37 | -| .. | .. | |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## ref |
|
| 41 | - |
|
| 42 | -- [[M2M-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/MDI-dat/MDI-dat.md
| ... | ... | @@ -1,18 +0,0 @@ |
| 1 | - |
|
| 2 | -# MDI-dat |
|
| 3 | - |
|
| 4 | -In networking, **MDI** stands for **Medium Dependent Interface**. It refers to the physical and electrical interface on a network device (like a computer's network interface card (NIC) or a router port) that connects to the network transmission medium, typically a twisted-pair Ethernet cable (like Cat5e or Cat6). |
|
| 5 | - |
|
| 6 | -Key points about MDI: |
|
| 7 | - |
|
| 8 | -1. **Pinout:** An MDI port uses a specific pinout where pins 1 and 2 are typically used for transmitting (TX) data, and pins 3 and 6 are used for receiving (RX) data (for 10/100 Mbps Ethernet). |
|
| 9 | -2. **Connection:** End devices like computers and routers usually have MDI ports. |
|
| 10 | -3. **MDI vs. MDI-X:** Network infrastructure devices like hubs and switches traditionally used **MDI-X** (MDI Crossover) ports. MDI-X ports swap the transmit and receive pairs internally (pins 1 & 2 are RX, pins 3 & 6 are TX). This allows a standard "straight-through" Ethernet cable to connect an MDI device (computer) to an MDI-X device (switch). |
|
| 11 | -4. **Cabling:** Connecting two MDI ports (e.g., computer to computer directly) or two MDI-X ports (switch to switch) traditionally required a "crossover" cable, which swaps the TX and RX pairs within the cable itself. |
|
| 12 | -5. **Auto MDI-X:** Modern network interfaces often feature **Auto MDI-X**. This technology automatically detects the type of port (MDI or MDI-X) on the other end of the cable and configures its own port accordingly. This eliminates the need for specific straight-through or crossover cables, as the interface handles the necessary pin swapping electronically. Most modern devices support Auto MDI-X. |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## ref |
|
| 16 | - |
|
| 17 | -- [[network-dat]] |
|
| 18 | - |
Tech-dat/Network-dat/NFC-dat/NFC-dat.md
| ... | ... | @@ -1,48 +0,0 @@ |
| 1 | - |
|
| 2 | -# NFC-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [legacy wiki page ](https://w.electrodragon.com/w/Category:NFC) |
|
| 6 | - |
|
| 7 | -- [CLRC66303 == CLRC663 plus Family: High-Performance NFC Frontends](https://www.nxp.com/products/CLRC66303HN) |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## Boards |
|
| 12 | - |
|
| 13 | -- [[NID1026-dat]] - [[NID1017-dat]] |
|
| 14 | - |
|
| 15 | -## Self-phone checker |
|
| 16 | - |
|
| 17 | -- Please make sure your phone is supported NFC or not first, android recommanded app is "NFC toolbox". |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## Chips |
|
| 21 | - |
|
| 22 | -- [[PN532-dat]] |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## NFC Type and Specs |
|
| 27 | - |
|
| 28 | -### NFC Forum Type 1 Tag Operation Specification |
|
| 29 | -Type 1 tag is based on ISO14443A. Tags are read and re-write capable; users can configure the tag to become read-only. Memory availability is 96 bytes and expandable to 2 kbyte; communication speed is 106 kbit/s. |
|
| 30 | - |
|
| 31 | -### NFC Forum Type 2 Tag Operation Specification |
|
| 32 | -Type 2 tag is based on ISO14443A. Tags are read and re-write capable; users can configure the tag to become read-only. Memory availability is 48 bytes and expandable to 2 kbyte; communication speed is 106 kbit/s. |
|
| 33 | - |
|
| 34 | -### NFC Forum Type 3 Tag Operation Specification |
|
| 35 | -Type 3 tag is based on the Japanese Industrial Standard (JIS) X 6319-4, also known as FeliCa. Tags are pre-configured at manufacture to be either read and re-writable, or read-only. Memory availability is variable, theoretical memory limit is 1MByte per service; communication speed is 212 kbit/s or 424 kbit/s. |
|
| 36 | - |
|
| 37 | -### NFC Forum Type 4 Tag Operation Specification |
|
| 38 | -Type 4 tag is fully compatible with ISO14443A and B standards. Tags are pre-configured at manufacture to be either read and re-writable, or read-only. Memory availability is variable, up to 32 KBytes per service; communication speed is up to 424 kbit/s. |
|
| 39 | - |
|
| 40 | -### About Near Field Communication Technology |
|
| 41 | -Near Field Communication (NFC) is a standards-based, short-range wireless connectivity technology that enables simple and safe two-way interactions among electronic devices. NFC technology allows consumers to perform contactless transactions, access digital content and connect devices with the simplicity of a single touch. |
|
| 42 | - |
|
| 43 | -## NFC Forum Type 5 |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -* [ST25DV](https://w.electrodragon.com/w/ST25DV) |
|
| 47 | - |
|
| 48 | - |
Tech-dat/Network-dat/POE-dat/POE-dat.md
| ... | ... | @@ -1,16 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | -# ESP32 POE / RS485 test |
|
| 4 | - |
|
| 5 | -- https://twitter.com/electro_phoenix/status/1639165025679212547 |
|
| 6 | - |
|
| 7 | -- https://x.com/electro_phoenix/status/1629048715637039104 |
|
| 8 | - |
|
| 9 | -- https://www.youtube.com/shorts/DEzd7XtT4Cw |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -## ref |
|
| 15 | - |
|
| 16 | -- [[POE]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-26-19-16-44.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-26-19-16-44.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-25-29.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-25-29.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-26-55.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/2025-06-27-13-26-55.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/LORA-node-dat/LORA-node-dat.md
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | - |
|
| 2 | -# LORA-node-dat |
|
| 3 | - |
|
| 4 | -- [[sensor-dat]] |
|
| 5 | - |
|
| 6 | -- [[location-dat]] |
|
| 7 | - |
|
| 8 | -Measure, track, and connect == [[lora-node-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## ref |
|
| 12 | - |
|
| 13 | -- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/2025-06-23-18-46-43.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/2025-06-23-18-46-43.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/Lora-SDK-dat/Lora-SDK-dat.md
| ... | ... | @@ -1,217 +0,0 @@ |
| 1 | -# Lora-SDK-dat |
|
| 2 | - |
|
| 3 | -- [[Lora-HDK-dat]] - [[12P-BTB-dat]] |
|
| 4 | - |
|
| 5 | -## network ID and address |
|
| 6 | - |
|
| 7 | -For LoRa coding, the network ID and address (often called device address or node address) are typically set in the software/firmware of the device, not in the data payload or by hardware switches. |
|
| 8 | - |
|
| 9 | -**LoRaWAN**: The device address (DevAddr), network session keys, and other identifiers are set in the device firmware and used by the LoRaWAN protocol stack. These are not sent in the application data payload; instead, they are part of the protocol headers. |
|
| 10 | - |
|
| 11 | -**Raw LoRa (non-LoRaWAN)**: If you are implementing your own protocol, you can choose to include a node address or network ID in the data payload, or you can set it in the firmware and use it as part of your packet structure. |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -## stm32 code |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -Path: The files in LR_driversrc are the LoRa drivers. These drivers are downloaded from Semtech and only modified to adapt to the STM32F103 HAL library; no other changes have been made. |
|
| 19 | - |
|
| 20 | -The sx126xhal.c file is used for direct data interaction and control with the LoRa module. In theory, to port to a new IC, you only need to modify this part. |
|
| 21 | - |
|
| 22 | -Path: The UserConfig.c file in LR_driver is a common file generated when adapting the IC driver. It includes some configurations such as SPI, dio1 pins, etc. Modify it as needed during porting. |
|
| 23 | - |
|
| 24 | -- Core: Core files extracted from the SDK for easier modification |
|
| 25 | -- Driver: User-written peripheral driver files |
|
| 26 | -- LR_driver: LoRa (LLCC68, SX1262 shared) RF driver files, currently downloaded from Semtech's official website |
|
| 27 | -- Main: Main function file and configuration files |
|
| 28 | -- Project: Project files, including target binary files |
|
| 29 | -- queue: This file is a queue SPI interface. Add the path and include it to use. The demo is used for UART data processing |
|
| 30 | -- SDK: CMSIS and HAL libraries, only the used libraries are included. Add other peripheral libraries as needed |
|
| 31 | -- Readme.txt: Project description file |
|
| 32 | - |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -## arduino library |
|
| 36 | - |
|
| 37 | -- https://github.com/sandeepmistry/arduino-LoRa |
|
| 38 | - |
|
| 39 | - #else |
|
| 40 | - #define LORA_DEFAULT_SPI SPI |
|
| 41 | - #define LORA_DEFAULT_SPI_FREQUENCY 8E6 |
|
| 42 | - #define LORA_DEFAULT_SS_PIN 10 |
|
| 43 | - #define LORA_DEFAULT_RESET_PIN 9 |
|
| 44 | - #define LORA_DEFAULT_DIO0_PIN 2 |
|
| 45 | - #endif |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -- [[radiohead-dat]] |
|
| 49 | - |
|
| 50 | -- https://jgromes.github.io/RadioLib/ |
|
| 51 | - |
|
| 52 | - // ESP8266 -- [[12P-BTB-dat]] |
|
| 53 | - SX1262 lora = new Module(15, 0, 16); |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -- https://github.com/beegee-tokyo/SX126x-Arduino |
|
| 57 | - |
|
| 58 | - |
|
| 59 | - |
|
| 60 | - #ifdef ESP8266 |
|
| 61 | - // ESP32 - SX126x pin configuration |
|
| 62 | - int PIN_LORA_RESET = 0; // LORA RESET |
|
| 63 | - int PIN_LORA_DIO_1 = 15; // LORA DIO_1 |
|
| 64 | - int PIN_LORA_BUSY = 16; // LORA SPI BUSY |
|
| 65 | - int PIN_LORA_NSS = 2; // LORA SPI CS |
|
| 66 | - int PIN_LORA_SCLK = SCK; // LORA SPI CLK |
|
| 67 | - int PIN_LORA_MISO = MISO; // LORA SPI MISO |
|
| 68 | - int PIN_LORA_MOSI = MOSI; // LORA SPI MOSI |
|
| 69 | - int RADIO_TXEN = -1; // LORA ANTENNA TX ENABLE |
|
| 70 | - int RADIO_RXEN = -1; // LORA ANTENNA RX ENABLE |
|
| 71 | - #endif |
|
| 72 | - |
|
| 73 | - |
|
| 74 | -custom setup |
|
| 75 | - |
|
| 76 | - #ifdef ESP8266 |
|
| 77 | - // ESP8266 - SX126x pin configuration |
|
| 78 | - int PIN_LORA_RESET = -1; // LORA RESET (GPIO 4 / D2) |
|
| 79 | - int PIN_LORA_DIO_1 = 0; // LORA DIO_1 (GPIO 2 / D4) |
|
| 80 | - int PIN_LORA_BUSY = 16; // LORA SPI BUSY (GPIO 5 / D1) |
|
| 81 | - int PIN_LORA_NSS = 15; // LORA SPI CS (GPIO 15 / D8) |
|
| 82 | - int PIN_LORA_SCLK = 14; // LORA SPI CLK (GPIO 14 / D5) |
|
| 83 | - int PIN_LORA_MISO = 12; // LORA SPI MISO (GPIO 12 / D6) |
|
| 84 | - int PIN_LORA_MOSI = 13; // LORA SPI MOSI (GPIO 13 / D7) |
|
| 85 | - int RADIO_TXEN = 5; // LORA ANTENNA TX ENABLE (not used) |
|
| 86 | - int RADIO_RXEN = 4; // LORA ANTENNA RX ENABLE (not used) |
|
| 87 | - #endif |
|
| 88 | - |
|
| 89 | - |
|
| 90 | - // Define LoRa parameters |
|
| 91 | - #define RF_FREQUENCY 916100000 // Hz |
|
| 92 | - #define TX_OUTPUT_POWER 22 // dBm |
|
| 93 | - #define LORA_BANDWIDTH 0 // [0: 125 kHz, 1: 250 kHz, 2: 500 kHz, 3: Reserved] |
|
| 94 | - #define LORA_SPREADING_FACTOR 7 // [SF7..SF12] |
|
| 95 | - #define LORA_CODINGRATE 1 // [1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8] |
|
| 96 | - #define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx |
|
| 97 | - #define LORA_SYMBOL_TIMEOUT 0 // Symbols |
|
| 98 | - #define LORA_FIX_LENGTH_PAYLOAD_ON false |
|
| 99 | - #define LORA_IQ_INVERSION_ON false |
|
| 100 | - #define RX_TIMEOUT_VALUE 3000 |
|
| 101 | - #define TX_TIMEOUT_VALUE 5000 |
|
| 102 | - |
|
| 103 | - |
|
| 104 | - SDK:2.2.2-dev(38a443e)/Core:3.1.2=30102000/lwIP:STABLE-2_1_3_RELEASE/glue:1.2-65-g06164fb/BearSSL:b024386 |
|
| 105 | - ===================================== |
|
| 106 | - SX126x PingPong test |
|
| 107 | - ===================================== |
|
| 108 | - BoardId: 00-0A-04-4D-00-0A-04-4D |
|
| 109 | - Starting lora_hardware_init |
|
| 110 | - LoRa init success |
|
| 111 | - |
|
| 112 | - |
|
| 113 | - |
|
| 114 | -- [[FreeRTOS-dat]] |
|
| 115 | - |
|
| 116 | - |
|
| 117 | -- [Single Channel LoRaWAN Gateway == SX1262-SC-GW](https://github.com/beegee-tokyo/SX1262-SC-GW) |
|
| 118 | - |
|
| 119 | - |
|
| 120 | - |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - |
|
| 124 | -## code repro |
|
| 125 | - |
|
| 126 | -- info for EE22, EE32, EE2 == https://github.com/Edragon/lora |
|
| 127 | -- lora2 designs == https://github.com/Edragon/Lora2 |
|
| 128 | -- https://github.com/Edragon/alios-asr-lora |
|
| 129 | -- E:\Git-category\git-lora |
|
| 130 | - |
|
| 131 | - |
|
| 132 | -## Config |
|
| 133 | - |
|
| 134 | -### STM32 code |
|
| 135 | - |
|
| 136 | - sx126x_mod_params_lora_t params; |
|
| 137 | - params.bw = SX126X_LORA_BW_125; // Set bandwidth to 125 kHz |
|
| 138 | - params.sf = SX126X_LORA_SF9; // Set spreading factor to 9 |
|
| 139 | - params.cr = SX126X_LORA_CR_4_6; // Set coding rate to 4/6 |
|
| 140 | - params.ldro = 0x00; // Low Data Rate Optimization disabled |
|
| 141 | - sx126x_set_lora_mod_params(NULL, ¶ms); // Apply these parameters to the radio |
|
| 142 | - |
|
| 143 | -### arduino sandeepmistry/arduino-LoRa Config |
|
| 144 | - |
|
| 145 | - LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin |
|
| 146 | - |
|
| 147 | - if (!LoRa.begin(915E6)) { // initialize ratio at 915 MHz |
|
| 148 | - Serial.println("LoRa init failed. Check your connections."); |
|
| 149 | - while (true); // if failed, do nothing |
|
| 150 | - } |
|
| 151 | - |
|
| 152 | - LoRa.setSignalBandwidth(125E3); |
|
| 153 | - LoRa.setSpreadingFactor(9); // ranges from 6-12,default 7 see API docs |
|
| 154 | - LoRa.setCodingRate4(4/6); |
|
| 155 | - |
|
| 156 | - |
|
| 157 | - |
|
| 158 | -## lora encrpytion |
|
| 159 | - |
|
| 160 | -- [[encryption-dat]] |
|
| 161 | - |
|
| 162 | -To encrypt data for LoRa by coding, you typically use a symmetric encryption algorithm like AES before sending the data. Here’s a general approach: |
|
| 163 | - |
|
| 164 | -1. Choose an Encryption Library |
|
| 165 | - |
|
| 166 | -Most platforms (Arduino, STM32, Raspberry Pi, etc.) have AES libraries available. For example, on Arduino you can use [AESLib](https://github.com/DavyLandman/AESLib). |
|
| 167 | - |
|
| 168 | -2. Encrypt Data Before Sending |
|
| 169 | - |
|
| 170 | -Encrypt your payload before passing it to the LoRa send function. |
|
| 171 | - |
|
| 172 | -Example (Arduino, using AESLib): |
|
| 173 | - |
|
| 174 | - #include <AESLib.h> |
|
| 175 | - |
|
| 176 | - AESLib aesLib; |
|
| 177 | - |
|
| 178 | - byte aes_key[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
|
| 179 | - 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }; // 16 bytes key |
|
| 180 | - |
|
| 181 | - char plainText[] = "Hello, LoRa!"; |
|
| 182 | - byte encrypted[32]; |
|
| 183 | - |
|
| 184 | - int dataLen = strlen(plainText); |
|
| 185 | - int encLen = aesLib.encrypt((byte*)plainText, dataLen, encrypted, aes_key, 128); |
|
| 186 | - |
|
| 187 | - LoRa.beginPacket(); |
|
| 188 | - LoRa.write(encrypted, encLen); |
|
| 189 | - LoRa.endPacket(); |
|
| 190 | - |
|
| 191 | -3. Decrypt on Receiver Side |
|
| 192 | - |
|
| 193 | -On the receiver, use the same key to decrypt the received data. |
|
| 194 | - |
|
| 195 | -Example (Arduino, using AESLib): |
|
| 196 | - |
|
| 197 | - byte decrypted[32]; |
|
| 198 | - int decLen = aesLib.decrypt(receivedData, receivedLen, decrypted, aes_key, 128); |
|
| 199 | - // Now 'decrypted' contains your original message |
|
| 200 | - |
|
| 201 | - |
|
| 202 | -### Notes |
|
| 203 | - |
|
| 204 | -- Key Management: Both sender and receiver must use the same key. |
|
| 205 | -- LoRaWAN: If you use LoRaWAN, encryption is handled by the protocol stack automatically. |
|
| 206 | -- Raw LoRa: You must implement encryption/decryption yourself as shown above. |
|
| 207 | - |
|
| 208 | - |
|
| 209 | - |
|
| 210 | - |
|
| 211 | -## ref |
|
| 212 | - |
|
| 213 | -- [[arduino-ide-dat]] |
|
| 214 | - |
|
| 215 | -- [[lora-dat]] - [[lora-HDK-dat]] - [[lora-SDK-dat]] |
|
| 216 | - |
|
| 217 | -- [[RAKwireless-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/LORA-DAT/Lora-dat.md
| ... | ... | @@ -1,207 +0,0 @@ |
| 1 | -# lora-dat |
|
| 2 | - |
|
| 3 | -- [[lora-hdk-dat]] - [[Lora-SDK-dat]] |
|
| 4 | - |
|
| 5 | -legacy wiki page |
|
| 6 | -- https://w.electrodragon.com/w/Lora_Tech |
|
| 7 | -- https://www.electrodragon.com/w/Category:Wireless |
|
| 8 | - |
|
| 9 | -AIT lora |
|
| 10 | -- https://w.electrodragon.com/w/AIT_LORA_MOD |
|
| 11 | - |
|
| 12 | -- [[lorawan-dat]] - [[LORA-node-dat]] |
|
| 13 | - |
|
| 14 | -- [[samtech-dat]] |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## Board |
|
| 18 | - |
|
| 19 | -- [[arduino-dat]] == [[DVA1007-dat]] - [[DVA1008-dat]] - [[loraduino-dat]] == [[lora-node-dat]] |
|
| 20 | - |
|
| 21 | -- [[DAS1069-dat]] |
|
| 22 | - |
|
| 23 | -- [[MPC1056-dat]] |
|
| 24 | - |
|
| 25 | -- [[NWL1103-dat]] - [[LLCC68-dat]] |
|
| 26 | - |
|
| 27 | -- [[DAS1069-dat]] - [[ESP8266-dat]] - [[LORA-dat]] - [[arduino-shields-dat]] |
|
| 28 | - |
|
| 29 | -- [[NWL1071-dat]] - [[NWL1072-dat]] |
|
| 30 | - |
|
| 31 | -- [[NWL1074-dat]] - [[NWL1075-dat]] - [[NWL1077-dat]] |
|
| 32 | - |
|
| 33 | -## Info |
|
| 34 | - |
|
| 35 | -- LoRa is the physical layer or in simple words is the modulation, the modem or radio, the hardware. |
|
| 36 | -- [[LoRaWAN-dat]] is the network protocol or architecture that works on LoRa. |
|
| 37 | - |
|
| 38 | -### Lora |
|
| 39 | - |
|
| 40 | -LoRa ™ is a long-range radio technology "Lo ng- Ra nge" its main features: |
|
| 41 | - |
|
| 42 | -- Its spread spectrum modulation allows a significantly greater scope to other technologies. |
|
| 43 | -- High sensitivity (-168dB) combined with high immunity to interference. |
|
| 44 | -- Low Consumption (up to 10 years with a battery, good depends on certain characteristics). |
|
| 45 | -- Low data transfer (up to 255 bytes). |
|
| 46 | - |
|
| 47 | -- [[networking-dat]] - [[encryption-dat]] |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -[[Semtech-dat]] LoRa is a long-range, low-power wireless platform for IoT, generally referring to RF chips using LoRa technology. Its main features are as follows: |
|
| 51 | - |
|
| 52 | -LoRa (short for "long range") uses spread spectrum modulation technology derived from Chirp Spread Spectrum (CSS). It is a type of long-distance wireless transmission and LPWAN communication technology. Spread spectrum technology trades bandwidth for sensitivity; Wi-Fi, ZigBee, and others also use spread spectrum, but LoRa modulation is close to the Shannon limit, maximizing sensitivity. |
|
| 53 | - |
|
| 54 | -Compared to traditional [[FSK-dat]] technology, **at the same data rate, LoRa is 8~12dBm more sensitive than FSK**. |
|
| 55 | - |
|
| 56 | -Currently, LoRa mainly operates in the sub-GHz ISM band. |
|
| 57 | - |
|
| 58 | -LoRa technology integrates digital spread spectrum, digital signal processing, and forward error correction coding, greatly improving long-distance communication performance. |
|
| 59 | - |
|
| 60 | -LoRa’s link budget is superior to any other standardized communication technology. Link budget refers to the main factor determining distance in a given environment. |
|
| 61 | - |
|
| 62 | -The main LoRa RF chips are the SX127X series, SX126X series, and SX130X series. The SX127X and SX126X series are used for LoRa nodes, while the SX130X is used for LoRa gateways. For details, refer to Semtech’s product list. |
|
| 63 | - |
|
| 64 | -### Lora Tech |
|
| 65 | - |
|
| 66 | -- [[RSSI-dat]] |
|
| 67 | - |
|
| 68 | -frequency hopping, spread spectrum, and other technologies are used to improve anti-interference and anti-collision capabilities. |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -- [[low-power-dat]] == LORA CAD Mode |
|
| 73 | - |
|
| 74 | -Flexible configuration |
|
| 75 | - |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | - |
|
| 80 | -#### LBT |
|
| 81 | - |
|
| 82 | -The module actively monitors channel environmental noise before transmitting. If the noise exceeds a threshold, transmission is delayed. |
|
| 83 | - |
|
| 84 | -This feature improves communication success in harsh environments and can be used for networking and collision avoidance. |
|
| 85 | - |
|
| 86 | - |
|
| 87 | - |
|
| 88 | - |
|
| 89 | - |
|
| 90 | - |
|
| 91 | -## Module |
|
| 92 | - |
|
| 93 | -### EE1 - common series |
|
| 94 | -[[NWL1071-dat]] - [[NWL1072-dat]] |
|
| 95 | - |
|
| 96 | -### classic |
|
| 97 | -HPD Series - [[NWL1074-dat]] - [[NWL1075-dat]] - [[NWL1077-dat]] |
|
| 98 | - |
|
| 99 | -### high power lora series |
|
| 100 | -- [[EE2-dat]] - [[NWL1078-dat]] - [[NWL1081-dat]] - [[NWL1079-dat]] |
|
| 101 | -- antenna connection type = 内孔 = internal hole |
|
| 102 | - |
|
| 103 | -## Chip |
|
| 104 | - |
|
| 105 | -- [[semtech-dat]] - [[sx1262-dat]] - [[LLCC68-dat]] - [[SX1278-dat]] - [[SX1268-dat]] |
|
| 106 | - |
|
| 107 | -- [[ASR6500-dat]] - [[ASR-dat]] |
|
| 108 | - |
|
| 109 | - |
|
| 110 | -- [[crystal-dat]] |
|
| 111 | - |
|
| 112 | -- [[PAN3031-dat]] |
|
| 113 | - |
|
| 114 | - |
|
| 115 | -## lora power and tranmission |
|
| 116 | - |
|
| 117 | -| dbm | mW | range (km) | range (miles) | |
|
| 118 | -| ------ | ---- | ---------- | ------------- | |
|
| 119 | -| 30 dbm | 5000 | 10 | 6.2 | |
|
| 120 | -| 22 dbm | 500 | 5 | 3.1 | |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - |
|
| 124 | -## lora APP |
|
| 125 | - |
|
| 126 | -- USB + Lora = [[Lora-USB-dat]] |
|
| 127 | -- [[loraduino-dat]] |
|
| 128 | - |
|
| 129 | - |
|
| 130 | -LoRa devices and networks (such as LoRaWAN) enable smart IoT applications to help address major global challenges like energy management, depletion of natural resources, pollution control, infrastructure efficiency, and disaster prevention. Semtech’s LoRa devices have achieved hundreds of successful application cases in smart cities, homes and buildings, communities, metering, supply chain and logistics, agriculture, and more. LoRa networks now cover hundreds of millions of devices in over 100 countries/regions, aiming to create a smarter planet. |
|
| 131 | - |
|
| 132 | -## lora frequency |
|
| 133 | - |
|
| 134 | -| Version | Frequency Range | Applicable Regions | |
|
| 135 | -| ------- | --------------- | ------------------------ | |
|
| 136 | -| HF | 850~930 MHz | Europe, America, Oceania | |
|
| 137 | -| LF | 410~510 MHz | Asia, Europe | |
|
| 138 | - |
|
| 139 | -LoRa工作在不同地区的频段范围如下: |
|
| 140 | - |
|
| 141 | -- 中国:470mhz |
|
| 142 | -- 美国:902-928mhz |
|
| 143 | -- 印度:865-867MHz |
|
| 144 | -- 欧洲:863-870/873MHz |
|
| 145 | -- 澳大利亚:915MHz |
|
| 146 | -- 韩国:920-923MHz |
|
| 147 | -- 部分亚洲地区:923MHz |
|
| 148 | - |
|
| 149 | - |
|
| 150 | -## common configuration |
|
| 151 | - |
|
| 152 | -| Parameter Name | Default Value | Optional Values / Range | |
|
| 153 | -| ------------------------ | ----------------- | ---------------------------------------------- | |
|
| 154 | -| Spreading Factor | 7 | 7~12 | |
|
| 155 | -| Bandwidth | 0: 125KHz | 1: 250KHz, 2: 500KHz | |
|
| 156 | -| Coding Rate | 4/5 | 4/5, 4/6, 4/7, 4/8 | |
|
| 157 | -| Transmit Power | 22dBm | 10~22dBm | |
|
| 158 | -| **Network ID** | 0 | 0~255 | |
|
| 159 | -| LBT (Listen Before Talk) | 0: Disabled | 1: Enabled | |
|
| 160 | -| **Working Mode** | 1: Stream Mode | 2: Packet Mode, 3: Relay Mode | |
|
| 161 | -| **TX Channel (HF)** | 18 (868MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 162 | -| **TX Channel (LF)** | 23 (433MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 163 | -| **RX Channel (HF)** | 18 (868MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 164 | -| **RX Channel (LF)** | 23 (433MHz) | 0~80 (850~930MHz or 410~490MHz) | |
|
| 165 | -| **Address** | 0 | 0~65535 (65535 is broadcast listening address) | |
|
| 166 | -| Interface Selection | 3: RS232 | 1: RS422, 2: RS485, 3: RS232 | |
|
| 167 | -| Interface Baud Rate | 115200bps | 1200~115200bps | |
|
| 168 | -| Interface Parity | None | None, Odd, Even | |
|
| 169 | -| Key | 0 (No encryption) | 0~65535 | |
|
| 170 | - |
|
| 171 | - |
|
| 172 | -## museum module |
|
| 173 | - |
|
| 174 | -- [[RFM92-dat]] |
|
| 175 | - |
|
| 176 | - |
|
| 177 | -## demo code |
|
| 178 | - |
|
| 179 | -https://github.com/Edragon/lora |
|
| 180 | - |
|
| 181 | -third party |
|
| 182 | - |
|
| 183 | -https://github.com/Edragon/alios-asr-lora |
|
| 184 | - |
|
| 185 | -https://github.com/dragino/Lora |
|
| 186 | - |
|
| 187 | - |
|
| 188 | - |
|
| 189 | - |
|
| 190 | -## ref |
|
| 191 | - |
|
| 192 | -- [[DTU-dat]] |
|
| 193 | - |
|
| 194 | -- [[meshtastic-dat]] - [[opensource-dat]] |
|
| 195 | - |
|
| 196 | -https://randomnerdtutorials.com/esp32-lora-rfm95-transceiver-arduino-ide/ |
|
| 197 | - |
|
| 198 | -- [[RFM95-dat]] |
|
| 199 | - |
|
| 200 | -- [[crystal-dat]] |
|
| 201 | - |
|
| 202 | -- [[frequency-dat]] |
|
| 203 | - |
|
| 204 | -- [[lora]] - [[USB-lora]] |
|
| 205 | - |
|
| 206 | - |
|
| 207 | - |
Tech-dat/Network-dat/RF-dat/LORA-DAT/RFM95-dat/2024-11-19-17-36-52.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/RFM95-dat/2024-11-19-17-36-52.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# RFM95-dat |
|
| 3 | - |
|
| 4 | -- RFM92 |
|
| 5 | -- RFM93 |
|
| 6 | -- RFM95 |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -- datasheet - [[RFM95_96_97_98W.pdf]] |
|
| 11 | - |
|
| 12 | -## pin Diagram |
|
| 13 | - |
|
| 14 | - |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95_96_97_98W.pdf
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/RFM95-dat/RFM95_96_97_98W.pdf and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-17-59-05.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-17-59-05.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-15-55.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-15-55.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-19-02.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/2025-06-23-18-19-02.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lora-hdk-dat/lora-hdk-dat.md
| ... | ... | @@ -1,62 +0,0 @@ |
| 1 | - |
|
| 2 | -# lora-hdk-dat |
|
| 3 | - |
|
| 4 | -- [[LORA-HDK-dat]] - [[SX1262-MD1-dat]] - [[SX1262-HDK-dat]] - [[SX1262-dat]] |
|
| 5 | - |
|
| 6 | -- [[lora-SDK-dat]] |
|
| 7 | - |
|
| 8 | -- [[LNA-dat]] - [[rf-switch-dat]] |
|
| 9 | - |
|
| 10 | -## Dev board SCH |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -## 2025 [[SX1262-dat]] with [[STM32-dat]] - [[STM32-HDK-dat]] |
|
| 15 | - |
|
| 16 | -- [[STM32-HDK-dat]] |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -- [[auto-serial-dat]] |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -## 2022 RFM92 with [[atmega328-dat]] |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -## RFM92 with [[RPI-dat]] |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | - |
|
| 33 | -## wiring to ESP32 |
|
| 34 | - |
|
| 35 | -| Lora Module | ESP32 | |
|
| 36 | -| ----------- | ------- | |
|
| 37 | -| ANA | Antenna | |
|
| 38 | -| GND | GND | |
|
| 39 | -| DIO3 | - | |
|
| 40 | -| DIO4 | - | |
|
| 41 | -| 3.3V | 3.3V | |
|
| 42 | -| DIO0 | IO 2 | |
|
| 43 | -| DIO1 | - | |
|
| 44 | -| DIO2 | - | |
|
| 45 | -| GND | - | |
|
| 46 | -| DIO5 | - | |
|
| 47 | -| RESET | IO 14 | |
|
| 48 | -| NSS | IO 5 | |
|
| 49 | -| SCK | IO 18 | |
|
| 50 | -| MOSI | IO 23 | |
|
| 51 | -| MISO | IO 19 | |
|
| 52 | -| GND | - | |
|
| 53 | - |
|
| 54 | -- based on [[ESP32-SPI-dat]] |
|
| 55 | - |
|
| 56 | - |
|
| 57 | - |
|
| 58 | -## |
|
| 59 | - |
|
| 60 | -## ref |
|
| 61 | - |
|
| 62 | -- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-22-12.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-22-12.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-23-18.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/LORA-DAT/lorawan-dat/2025-06-26-19-23-18.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/LORA-DAT/lorawan-dat/lorawan-dat.md
| ... | ... | @@ -1,47 +0,0 @@ |
| 1 | - |
|
| 2 | -# lorawan-dat |
|
| 3 | - |
|
| 4 | -# LoRaWAN Technology Explained |
|
| 5 | - |
|
| 6 | -LoRaWAN (Long Range Wide Area Network) is a wireless communication technology designed for low-power devices to send small amounts of data over long distances. It is mainly used for IoT (Internet of Things) applications, like smart agriculture, smart cities, and industrial monitoring. |
|
| 7 | - |
|
| 8 | -## Key Features |
|
| 9 | - |
|
| 10 | -- **Long Range**: Can transmit data up to 10–15 km in rural areas and 2–5 km in cities. |
|
| 11 | -- **Low Power**: Devices can run for years on small batteries. |
|
| 12 | -- **Low Data Rate**: Best for sending small packets of data (e.g., sensor readings). |
|
| 13 | -- **License-Free Bands**: Uses unlicensed radio frequencies (e.g., 868 MHz in Europe, 915 MHz in the U.S.). |
|
| 14 | -- **Star Network Topology**: Devices communicate with gateways, which forward data to a central server. |
|
| 15 | - |
|
| 16 | -## Common Applications |
|
| 17 | - |
|
| 18 | -- **Smart Agriculture**: Monitoring soil moisture, weather conditions, and livestock tracking. |
|
| 19 | -- **Smart Cities**: Managing streetlights, parking spaces, and waste collection. |
|
| 20 | -- **Industrial IoT**: Equipment monitoring, predictive maintenance, and asset tracking. |
|
| 21 | -- **Environmental Monitoring**: Tracking air quality, water levels, and weather conditions. |
|
| 22 | - |
|
| 23 | -LoRaWAN is widely used because of its long-range, low-power, and cost-effective connectivity for IoT devices. |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -What is LoRaWAN? |
|
| 27 | - |
|
| 28 | -LoRaWAN is an open low-power wide-area network protocol built on LoRa radio modulation technology. It is designed to wirelessly connect battery-powered "things" to the Internet in regional, national, or global networks, and addresses key IoT (Internet of Things) requirements such as bidirectional communication, end-to-end security, mobility, and localization services. Nodes connect wirelessly to the Internet with network authentication, essentially establishing an encrypted communication channel between the node and the server. The protocol stack of LoRaWAN is shown in the diagram below. |
|
| 29 | - |
|
| 30 | -- The MAC layer includes three types of node devices: Class A/B/C, which basically cover all IoT application scenarios. The main difference between them is the timing of node transmission and reception. |
|
| 31 | -- The Modulation layer includes EU868, AS430, etc., indicating that different countries use different frequency band parameters. For regional parameters, please refer to the reference link. |
|
| 32 | - |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -To achieve LoRaWAN network coverage in a city or other area, four components are required: nodes (LoRa node RF chips), gateways (also called base stations, LoRa gateway RF chips), servers, and the cloud, as shown in the diagram below. |
|
| 36 | - |
|
| 37 | -- DEVICE (node device) must first send a network join request packet to the GATEWAY (gateway), then to the server. Only after authentication can it normally send and receive application data with the server. |
|
| 38 | -- GATEWAY (gateway) can communicate with the server via wired networks or 3/4/5G wireless networks. |
|
| 39 | -- Main server operators include TTN, etc. For self-hosted cloud services, please refer to lorawan-stack and chirpstack. |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -## ref |
|
| 46 | - |
|
| 47 | -- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/RF-2.4Ghz-dat/RF-2.4Ghz-dat.md
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | - |
|
| 2 | -# RF-2.4Ghz-dat |
|
| 3 | - |
|
| 4 | -- [[NRF52832-dat]] - [[NRF52840-dat]] |
|
| 5 | - |
|
| 6 | -- [[MCU-dat]] |
|
| 7 | - |
|
| 8 | -- [[MD7105-dat]] |
|
| 9 | - |
|
| 10 | -- [[A7105-dat]] - [[NWL1058-dat]] |
|
| 11 | - |
|
| 12 | -- [[NRF24L01-dat]] - [[NRF24L01-clone-dat]] |
|
| 13 | - |
|
| 14 | -- [[LT8920-dat]] - [[CIC1064-dat]] |
|
| 15 | - |
|
| 16 | -- [[CC2530-dat]] |
|
| 17 | - |
|
| 18 | -- [[JDY-40-dat]] |
|
| 19 | - |
|
| 20 | -- LC-12S |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -## ref |
|
| 28 | - |
|
| 29 | -- [[RF-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/RF-5.8Ghz-dat/RF-5.8Ghz-dat.md
| ... | ... | @@ -1,8 +0,0 @@ |
| 1 | - |
|
| 2 | -# 5.8Ghz-dat |
|
| 3 | - |
|
| 4 | -What is 5.8GHz commonly used for? |
|
| 5 | - |
|
| 6 | -- FPV analog video (VTX) 🖥️ |
|
| 7 | -- Digital video (e.g. DJI FPV Air Unit, HDZero) |
|
| 8 | -- Wi-Fi (802.11ac/n) |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/RF-DAT.md
| ... | ... | @@ -1,59 +0,0 @@ |
| 1 | - |
|
| 2 | -# RF |
|
| 3 | - |
|
| 4 | -Sub-1GHz |
|
| 5 | -- [[RF905-DAT]] - [[CC1101-DAT]] - [[SI4432-DAT]] - [[SI4463-DAT]] - [[Lora-dat]] |
|
| 6 | - |
|
| 7 | -2.4Ghz |
|
| 8 | - |
|
| 9 | -- [[NRF24L01]] |
|
| 10 | - |
|
| 11 | -- [[LT8920-dat]] |
|
| 12 | - |
|
| 13 | -## Boards |
|
| 14 | - |
|
| 15 | -- [[NWL1089-dat]] - [[NWL1070-dat]] - [[NWL1068-dat]] |
|
| 16 | - |
|
| 17 | -- [[CIC1064-dat]] |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## antenna |
|
| 22 | - |
|
| 23 | -- [[antenna-dat]] |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -## Network |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -### UHF |
|
| 32 | -UHF is a range of radio waves which allows a radio or television receiver to produce a good quality of sound. UHF is an abbreviation for 'ultra-high frequency'. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -Ultra high frequency (UHF) is the ITU designation for radio frequencies in the range between 300 megahertz (MHz) and 3 gigahertz (GHz), also known as the decimetre band as the wavelengths range from one meter to one tenth of a meter (one decimeter). |
|
| 36 | - |
|
| 37 | -Radio waves with frequencies above the UHF band fall into the super-high frequency (SHF) or microwave frequency range. |
|
| 38 | - |
|
| 39 | -Lower frequency signals fall into the VHF (very high frequency) or lower bands. |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -### DMR Radio |
|
| 43 | - |
|
| 44 | -Digital Mobile Radio (DMR) is a digital radio standard that allows for two-way radios to work together on the same network. |
|
| 45 | - |
|
| 46 | -The European Telecommunications Standards Institute (ETSI) created DMR in 2005. DMR equipment works between 30 MHz and 1000 MHz, with two categories of frequencies: |
|
| 47 | -- Very High Frequency (VHF): 30 MHz to 300 MHz |
|
| 48 | -- Ultra High Frequency (UHF): 300 MHz to 1 GHz |
|
| 49 | - |
|
| 50 | -DMR is a TDMA mode (Time Division Multiple Access) that allows multiple users to share a frequency channel by dividing the signal into different time slots. DMR can cover distances ranging from a few hundred meters in indoor settings to several kilometers in outdoor environments. |
|
| 51 | - |
|
| 52 | -When buying a DMR radio, you can consider things like: Battery life, Power output, Range, License. |
|
| 53 | - |
|
| 54 | -Programming DMR radios can be complex, so it may be helpful to get sample codeplugs from a local club to get started. |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -### REF |
|
| 58 | - |
|
| 59 | -- [[RF]] - [[rf-voice]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-15-27.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-15-27.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-19-01.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-06-25-15-19-01.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-07-08-13-40-47.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RF-dat/RF-LINK-dat/2025-07-08-13-40-47.png and /dev/null differ |
Tech-dat/Network-dat/RF-dat/RF-LINK-dat/RF-LINK-dat.md
| ... | ... | @@ -1,265 +0,0 @@ |
| 1 | - |
|
| 2 | -# RF-LINK-dat |
|
| 3 | - |
|
| 4 | -- [more info please find at legacy wiki page](https://w.electrodragon.com/w/Category:RF-Link) |
|
| 5 | - |
|
| 6 | -[legacy wiki page 2](https://www.electrodragon.com/w/Category:Wireless) |
|
| 7 | - |
|
| 8 | -- [[RF-Modulation-dat]] |
|
| 9 | - |
|
| 10 | -- learning code RF link, rolling code RF link, fixed code RF link, etc. |
|
| 11 | - |
|
| 12 | -## products |
|
| 13 | - |
|
| 14 | -- [[NWL1016-dat]] - [[NWL1017-dat]] |
|
| 15 | - |
|
| 16 | -https://www.electrodragon.com/product/433m-rf-wireless-module-a-pair-of-receiver-and-transmitter/ |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -Clasic RF LINK |
|
| 20 | - |
|
| 21 | -- [[NWL1021-dat]] - [[NWL1022-dat]] |
|
| 22 | - |
|
| 23 | -- [[NWL1026-dat]] - [[NWL1027-dat]] |
|
| 24 | - |
|
| 25 | -## Transmitter == Sender |
|
| 26 | - |
|
| 27 | -- [[NWL1007-dat]] - [[NWL1008-dat]] |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## Receiver == EDRF1 and EDRF2 Decoder |
|
| 33 | - |
|
| 34 | -- [[NWL1089-dat]] == EDRF1 |
|
| 35 | - |
|
| 36 | -- [[NWL1068-dat]] / [[NWL1070-dat]] == EDRF2 |
|
| 37 | - |
|
| 38 | -### snap button |
|
| 39 | - |
|
| 40 | -- [[NRF1003-dat]] == https://www.electrodragon.com/product/press-button-round-rf-ask-transmitter-433mhz-w-adhesive/ |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -## APP |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -### RF-LINK relay |
|
| 49 | - |
|
| 50 | -[[SCU1001-dat]] == https://www.electrodragon.com/product/wireless-relay-kit-learning-code/ |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | -## tech |
|
| 56 | - |
|
| 57 | -Manchester encoding |
|
| 58 | - |
|
| 59 | -- [[PT2262-dat]] - [[PT2272-dat]] - [[EV1527-dat]] |
|
| 60 | - |
|
| 61 | -learning code |
|
| 62 | - |
|
| 63 | -fixed (welding code) code |
|
| 64 | - |
|
| 65 | -- [[rolling-code-dat]] - [[rolling-code-encoder-dat]] - [[rolling-code-decoder-dat]] |
|
| 66 | - |
|
| 67 | -## working mode |
|
| 68 | - |
|
| 69 | -### Jog (M4) Single Working Mode Description: |
|
| 70 | - |
|
| 71 | -When the transmitter button is pressed, the corresponding channel outputs a high level. When the button is released, it returns to a low level, with a VT (valid transmission) pulse output. |
|
| 72 | -Example: If button A has been learned by channel D0, pressing button A will make channel D0 output a high level; releasing the button will return it to a low level. Other channels are not affected. |
|
| 73 | - |
|
| 74 | -### Interlock (H4) |
|
| 75 | - |
|
| 76 | -When a valid signal is received, the corresponding output channel toggles its state: |
|
| 77 | -If it was previously high, it becomes low; if it was low, it becomes high. |
|
| 78 | - |
|
| 79 | -### Self-lock (T4) |
|
| 80 | - |
|
| 81 | -When a valid signal is received, the corresponding output channel turns on, and all other channels turn off. Signal indication: |
|
| 82 | -When a valid signal is present, VT outputs a high level; when the valid signal disappears, VT outputs a low level. |
|
| 83 | - |
|
| 84 | - |
|
| 85 | -## Common Pairing 1 |
|
| 86 | - |
|
| 87 | -### Pairing Method 1 (board with learning button) |
|
| 88 | - |
|
| 89 | -Press the button on the receiver board and release it when the indicator light turns on; this means it has entered learning mode. |
|
| 90 | - |
|
| 91 | -Then, press any button on the remote control to transmit. If the indicator light on the receiver board flashes, pairing is successful, and the output pins are matched accordingly. Exit learning mode. |
|
| 92 | - |
|
| 93 | -Note: |
|
| 94 | - |
|
| 95 | -You only need to pair one button; the other buttons will also be paired and matched to their corresponding output pins. There is no need to pair each button individually. |
|
| 96 | - |
|
| 97 | -清码方法: |
|
| 98 | - |
|
| 99 | -持续按住学习键,指示灯会常亮,按住不放大约8秒后指示灯熄灭,表示代码已全部清除成功。 |
|
| 100 | - |
|
| 101 | - |
|
| 102 | -### Pairing Method 2 (board without learning button) |
|
| 103 | - |
|
| 104 | -1. Remote control button learning identification and control channel setting: |
|
| 105 | - |
|
| 106 | -- Within 6 seconds of module power-on, long press the button you want to learn for more than 2 seconds, until the learning indicator light flashes twice quickly - this indicates successful button learning. Then within 6 seconds after this button learning success, |
|
| 107 | -- Press this button different numbers of times to set control for different channels: |
|
| 108 | - - If this button is pressed once (learning indicator flashes once), this button controls D0 channel; |
|
| 109 | - - If pressed twice (learning indicator flashes twice), this button controls D1 channel; |
|
| 110 | - - If pressed 3 times (learning indicator flashes 3 times), this button controls D2 channel; |
|
| 111 | - - If pressed 4 times or more than 4 times (learning indicator flashes 4 times), this button controls D3 channel; |
|
| 112 | -- According to your needs, after pressing the corresponding number of times, long press this button again (about 0.5 seconds, as confirmation signal) until the indicator light flashes twice - this indicates successful setting; |
|
| 113 | -- At this point you can immediately proceed to learn and set the next button's identification and control channel; if no operation is performed, it will automatically exit learning mode after 6 seconds; |
|
| 114 | - |
|
| 115 | -Example: To set remote control button A to control D3 channel, the learning setup process is as follows: |
|
| 116 | -- Within 6 seconds of chip power-on, long press button A until the learning indicator flashes twice - button learning is successful, |
|
| 117 | -- Immediately within the following 6 seconds, press button A 4 times (learning indicator flashes 4 times), |
|
| 118 | -- Long press button A once more until the learning indicator flashes twice for confirmation - channel setting is successful; |
|
| 119 | - |
|
| 120 | -2. Clear remote control codes |
|
| 121 | - |
|
| 122 | -EDRF can store up to 32 remote control buttons (each channel can learn and identify 8 buttons, 4 channels total 32 buttons); when each channel exceeds 8 buttons, the first learned button code will be overwritten; The method to clear button codes is: long press the learned button before module power-on, then power on the module until the learning indicator flashes twice quickly, then release the button, then long press this button for more than 3 seconds until the learning indicator flashes twice quickly - this clears all button codes stored in the module; if clearing fails, repeat the above operation. |
|
| 123 | - |
|
| 124 | - |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -## schematic and APP |
|
| 128 | - |
|
| 129 | -**Application Fields** |
|
| 130 | - |
|
| 131 | -- Wireless remote control switches |
|
| 132 | -- Wireless remote control sockets |
|
| 133 | -- Wireless burglar alarms |
|
| 134 | -- Wireless remote control door locks |
|
| 135 | -- Wireless doorbells |
|
| 136 | -- Wireless remote control electric rolling doors and windows |
|
| 137 | -- Wireless LED lighting |
|
| 138 | -- Industrial wireless remote control products |
|
| 139 | -- Wireless data transmission |
|
| 140 | -- Wireless industrial controllers |
|
| 141 | -- Wireless curtain controllers |
|
| 142 | -- Remote keyless entry (RKE) for cars |
|
| 143 | -- Wireless gate openers |
|
| 144 | - |
|
| 145 | - |
|
| 146 | - |
|
| 147 | - |
|
| 148 | - |
|
| 149 | -min. SCH |
|
| 150 | - |
|
| 151 | - |
|
| 152 | - |
|
| 153 | -## Note |
|
| 154 | - |
|
| 155 | - |
|
| 156 | -Note about distance: |
|
| 157 | - |
|
| 158 | -If the distance required for far, can be connected to the 1/4 wavelength of the antenna, generally use 50 ohm single conductor, the length of the antenna 315M of about 23cm, 433M of about 17cm; |
|
| 159 | - |
|
| 160 | -The position of the antenna has also affected the reception of the module, install the antenna as straight as possible away from the shield, high pressure, and interference sources; |
|
| 161 | - |
|
| 162 | - |
|
| 163 | - |
|
| 164 | - |
|
| 165 | -## RF Link Pair (Learning Code) – Typical Transmission Range |
|
| 166 | - |
|
| 167 | -These modules typically use chips like **PT2262**, **EV1527**, or **SC2262**, operating on **433 MHz or 315 MHz** ISM bands. |
|
| 168 | - |
|
| 169 | -### ✅ Typical Transmission Range |
|
| 170 | - |
|
| 171 | -| **Environment** | **Max Range** | |
|
| 172 | -|------------------------------------|-----------------------------------| |
|
| 173 | -| Indoor (with walls) | 10–30 meters | |
|
| 174 | -| Outdoor, line-of-sight | 100–200 meters (typical) | |
|
| 175 | -| Enhanced with good antenna | Up to 500 meters | |
|
| 176 | -| Directional antenna + LNA (ideal) | 1–2 kilometers (rare, ideal) | |
|
| 177 | -| High-power RF modules (e.g. [[LoRa-dat]]) | 5–15 kilometers (different tech) | |
|
| 178 | - |
|
| 179 | -### ❗ Real-World Limitations |
|
| 180 | -- **Antenna quality and placement**: Crucial for maximizing range. |
|
| 181 | -- **Interference**: Metal, walls, and Wi-Fi can reduce effective distance. |
|
| 182 | -- **Power supply**: Low voltage or poor regulation limits performance. |
|
| 183 | -- **Design purpose**: Learning code RF links are made for **short-range** control, not long-distance data transmission. |
|
| 184 | - |
|
| 185 | -### 📌 Summary |
|
| 186 | -If you're using **common learning-code RF modules**: |
|
| 187 | -- **Realistic range**: 50–200 meters outdoors, 10–30 meters indoors. |
|
| 188 | -- For **kilometer-level range**, consider: |
|
| 189 | - - **[[LoRa-dat]] modules** (e.g., SX1278, SX1262) |
|
| 190 | - - **High-power modules** (e.g., EBYTE E32-433T30D) |
|
| 191 | - - Use **directional antennas** or **RF amplifiers** |
|
| 192 | - |
|
| 193 | - |
|
| 194 | -## chip options |
|
| 195 | - |
|
| 196 | -- [[SYN480-dat]] - [[SYN115-dat]] - [[SYN470-dat]] |
|
| 197 | - |
|
| 198 | -- [[EV1527-dat]] |
|
| 199 | - |
|
| 200 | -- [[RF600-dat]] |
|
| 201 | - |
|
| 202 | -2264、2262、2260、2240、1527、527、SMC918 |
|
| 203 | - |
|
| 204 | -- clones of the PIC12xxx == [[PIC12-dat]] - [[PIC-dat]] |
|
| 205 | - |
|
| 206 | - |
|
| 207 | -## Copier |
|
| 208 | - |
|
| 209 | - |
|
| 210 | - |
|
| 211 | - |
|
| 212 | -### 1️⃣ Clear Existing Codes (Code Erase) |
|
| 213 | - |
|
| 214 | -> **Purpose:** |
|
| 215 | -> Remove all previously stored codes from the remote. |
|
| 216 | -> **Note:** Only perform this on a new remote. Do **not** clear your original remote unless necessary. |
|
| 217 | - |
|
| 218 | -**Steps:** |
|
| 219 | -1. **Press and hold** the two upper buttons on the remote **simultaneously** (regardless of their symbols). |
|
| 220 | -2. **Keep holding** until the indicator LED flashes rapidly and continuously. |
|
| 221 | -3. **Release** both buttons. |
|
| 222 | - → The remote's memory is now cleared. |
|
| 223 | - |
|
| 224 | ---- |
|
| 225 | - |
|
| 226 | -### 2️⃣ Copy (Pair) Codes from Old Remote to New Remote |
|
| 227 | - |
|
| 228 | -> **Purpose:** |
|
| 229 | -> Clone the code from your original remote to the new remote. |
|
| 230 | - |
|
| 231 | -**Steps:** |
|
| 232 | -1. Hold the **old** and **new** remotes close together. |
|
| 233 | -2. **Press and hold** the same button on both remotes at the same time. |
|
| 234 | -3. Wait until the indicator LED on the new remote flashes rapidly. |
|
| 235 | -4. **Release** both buttons. |
|
| 236 | - → The code is copied successfully. |
|
| 237 | - |
|
| 238 | -**Notes:** |
|
| 239 | -- Repeat the process **for each button** (all four buttons must be copied individually). |
|
| 240 | -- Button symbols may differ between remotes, but the function will be copied as per the original. |
|
| 241 | - |
|
| 242 | ---- |
|
| 243 | - |
|
| 244 | -### ⚠️ Important Reminders |
|
| 245 | - |
|
| 246 | -- Only clear codes on a new remote, not your original one. |
|
| 247 | -- Each button must be paired separately, even if the symbols are different. |
|
| 248 | -- Keep remotes close together during the copying process for best results. |
|
| 249 | - |
|
| 250 | ---- |
|
| 251 | - |
|
| 252 | -## code |
|
| 253 | - |
|
| 254 | -### arduino |
|
| 255 | - |
|
| 256 | - |
|
| 257 | - |
|
| 258 | -## demo video |
|
| 259 | - |
|
| 260 | -https://www.youtube.com/watch?v=LDGr38Ie1L4 |
|
| 261 | - |
|
| 262 | - |
|
| 263 | -## ref |
|
| 264 | - |
|
| 265 | -- [[RF-LINK]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RF-dat/RF-LINK-dat/rolling-code-dat/rolling-code-dat.md
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | - |
|
| 2 | -# rolling-code-dat |
|
| 3 | - |
|
| 4 | -- HCS301 |
|
| 5 | -- HCS101 |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## ref |
|
| 9 | - |
|
| 10 | -- [[RF-link-dat]] |
|
| 11 | - |
Tech-dat/Network-dat/RF-dat/RF-Modulation-dat/RF-Modulation-dat.md
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | - |
|
| 2 | -# RF-Modulation-dat.md |
|
| 3 | - |
|
| 4 | -- [[ASK]] == Amplitude Shift Keying - [[OOK]] == On-Off Keying - [[FSK]] == Frequency Shift Keying - [[GFSK]] == Gaussian Frequency Shift Keying |
|
| 5 | - |
|
| 6 | -- less common [[PSK]] == Phase Shift Keying - [[QPSK]] == Quadrature Phase Shift Keying - [[MSK]] == Minimum Shift Keying - [[DSSS]] == Direct Sequence Spread Spectrum - [[OFDM]] == Orthogonal Frequency Division Multiplexing |
|
| 7 | - |
|
| 8 | -## ref |
|
| 9 | - |
|
| 10 | -- [[RF-LINK-dat]] |
|
| 11 | -- [[SYN470-dat]] |
|
| 12 | -- [[NWL1070-dat]] |
Tech-dat/Network-dat/RF-dat/rf-switch-dat/rf-switch-dat.md
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | - |
|
| 2 | -# rf-switch-dat |
|
| 3 | - |
|
| 4 | -Here's a complete wiring diagram for using the SX1262 with DIO2 controlling RF switch (TX/RX EN) and all required connections, assuming: |
|
| 5 | - |
|
| 6 | -You're using a single-pin RF switch like the SKY66420-11 (or similar). |
|
| 7 | - |
|
| 8 | -You're interfacing it with a microcontroller (MCU), such as ESP32 or STM32. |
|
| 9 | - |
|
| 10 | -You are not using DIO3 or DIO1 for FEM control. |
|
| 11 | - |
|
| 12 | -SPI interface is used between the MCU and the SX1262. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/125khz-dat/125khz-dat.md
| ... | ... | @@ -1,22 +0,0 @@ |
| 1 | - |
|
| 2 | -# 125khz-dat |
|
| 3 | - |
|
| 4 | -https://w.electrodragon.com/w/Category:125KHz_RFID |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -| card type | use 45mm Dia. antenna | use 97x97mm rectangular antenna | |
|
| 9 | -| --------------- | --------------------- | ------------------------------- | |
|
| 10 | -| “nail” pin card | 11 cm | 14 cm | |
|
| 11 | -| Dia. 2.5CM card | 13 cm | 20 cm | |
|
| 12 | -| Dia. 3CM card | 16 cm | 24 cm | |
|
| 13 | -| normal card | 18 cm | 25 cm | |
|
| 14 | -| thick card | 25 cm | 41 cm | |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## ref |
|
| 19 | - |
|
| 20 | -- [[125khz]] |
|
| 21 | - |
|
| 22 | -- [[13.56mhz-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/13.56mhz-dat/13.56mhz-dat.md
| ... | ... | @@ -1,7 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | -# 13.56mhz |
|
| 4 | - |
|
| 5 | -- [[ISO15693]] |
|
| 6 | - |
|
| 7 | - |
Tech-dat/Network-dat/RFID-dat/134.2khz-dat/134.2khz-dat.md
| ... | ... | @@ -1,6 +0,0 @@ |
| 1 | - |
|
| 2 | -# 134.2khz-dat |
|
| 3 | - |
|
| 4 | -## ref |
|
| 5 | - |
|
| 6 | -- [[134.2khz]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/2023-12-11-16-15-25.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RFID-dat/2023-12-11-16-15-25.png and /dev/null differ |
Tech-dat/Network-dat/RFID-dat/2023-12-11-16-15-43.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RFID-dat/2023-12-11-16-15-43.png and /dev/null differ |
Tech-dat/Network-dat/RFID-dat/EM4100-dat.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | - |
|
| 2 | -# EM4100-dat |
|
| 3 | - |
|
| 4 | -- [[125khz-dat]] - [[NID1005-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/ISO15693.md
| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | - |
|
| 4 | -- https://en.wikipedia.org/wiki/ISO/IEC_15693 |
|
| 5 | -- [[13.56mhz-dat]] |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -- [[ST25DV]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/RFID-Card-dat.md
| ... | ... | @@ -1,23 +0,0 @@ |
| 1 | - |
|
| 2 | -# RFID-Card-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## Types |
|
| 6 | - |
|
| 7 | -- IC - read and write, higher security level |
|
| 8 | -- ID - read only |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -* [[EM4100-dat]] - [[NID1009-dat]] - [[NID1010-dat]] |
|
| 16 | - |
|
| 17 | -- [[NID1021-dat]] - [[NIE1022-dat]] |
|
| 18 | - |
|
| 19 | -- [[NID1009]] - [[NID1010]] |
|
| 20 | - |
|
| 21 | -- [[NID1021]] - [[NID1022]] |
|
| 22 | - |
|
| 23 | - |
Tech-dat/Network-dat/RFID-dat/rfid-dat.md
| ... | ... | @@ -1,30 +0,0 @@ |
| 1 | - |
|
| 2 | -# rfid-dat |
|
| 3 | - |
|
| 4 | -- [[rfid-card-dat]] |
|
| 5 | - |
|
| 6 | -- [[EM4100-dat]] - [[125khz-dat]] |
|
| 7 | - |
|
| 8 | -- [[13.56mhz-dat]] - [[134.2khz-dat]] |
|
| 9 | - |
|
| 10 | -- [[wiegand-dat]] |
|
| 11 | - |
|
| 12 | -- [[NFC-dat]] |
|
| 13 | - |
|
| 14 | -## Boards |
|
| 15 | - |
|
| 16 | -[[125khz-dat]] - [[NID1020-dat]] - cards and keys - [[NID1021-dat]] - [[NID1022-dat]] |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -[[125khz-dat]] - [[NID1005-dat]] - cards and keys - [[NID1003-dat]] - [[NID1009-dat]] |
|
| 20 | - |
|
| 21 | -readers [[USB-dat]] based - [[NID1024-dat]] |
|
| 22 | - |
|
| 23 | -[[NFC-dat]] - [[NID1026-dat]] |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -## ref |
|
| 29 | - |
|
| 30 | -- [[rfid]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RFID-dat/wiegand-dat/wiegand-dat.md
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | - |
|
| 2 | -# wiegand-dat |
|
| 3 | - |
|
| 4 | -A **Wiegand device** typically refers to a component in an access control system that uses the **Wiegand interface** to communicate. This interface is a de facto standard for transmitting data from a card reader (like those for ID badges) to an access control panel. |
|
| 5 | - |
|
| 6 | -Key characteristics: |
|
| 7 | -* **Data Lines:** Uses two data lines, typically DATA0 (D0) and DATA1 (D1). |
|
| 8 | -* **Signaling:** A pulse on D0 represents a binary '0', and a pulse on D1 represents a binary '1'. |
|
| 9 | -* **Format:** Data is sent in a specific bit format (e.g., 26-bit Wiegand is common, but many others exist), which includes parity bits, facility codes, and card numbers. |
|
| 10 | -* **One-Way Communication:** It's generally a one-way communication from the reader to the controller. |
|
| 11 | -* **Physical Layer:** Originally based on the Wiegand effect in specially prepared wires, though modern readers often emulate this electrical interface. |
|
| 12 | - |
|
| 13 | -In short, it's the technology that allows a card reader to send identification data to a control panel to grant or deny access. |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## ref |
|
| 18 | - |
|
| 19 | -- [[rfid-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RSSI-dat/2025-06-26-19-18-14.png
| ... | ... | Binary files a/Tech-dat/Network-dat/RSSI-dat/2025-06-26-19-18-14.png and /dev/null differ |
Tech-dat/Network-dat/RSSI-dat/RSSI-dat.md
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | - |
|
| 2 | -# RSSI-dat |
|
| 3 | - |
|
| 4 | -This refers to the Received Signal Strength Indicator (RSSI) function. |
|
| 5 | - |
|
| 6 | -The module supports serial output of packet signal strength, which can be used to evaluate signal quality, improve communication networks, and measure distance. |
|
| 7 | - |
|
| 8 | -The module also supports serial output of environmental noise signal strength, which can be used to manually implement the LBT (Listen Before Talk) function. |
|
| 9 | - |
|
| 10 | - |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/RTU-dat/RTU-dat.md
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | - |
|
| 2 | -# RTU-dat |
|
| 3 | - |
|
| 4 | -A **Remote Terminal Unit (RTU)** is a microprocessor-controlled electronic device that interfaces objects in the physical world to a distributed control system or SCADA (Supervisory Control and Data Acquisition) system by transmitting telemetry data to a master system, and by using messages from the master supervisory system to control connected objects. |
|
| 5 | - |
|
| 6 | -Key functions and characteristics of an RTU include: |
|
| 7 | - |
|
| 8 | -* **Data Acquisition:** Reading analog and digital inputs from sensors and field devices (e.g., temperature, pressure, flow, status of a switch). |
|
| 9 | -* **Control Output:** Sending digital and analog output signals to control actuators (e.g., opening/closing a valve, starting/stopping a motor). |
|
| 10 | -* **Communication:** Communicating with a central master station (often a SCADA master or a Distributed Control System - DCS) using various communication protocols (e.g., Modbus, DNP3, IEC 60870-5-101/104) over different media (radio, cellular, satellite, wired networks). |
|
| 11 | -* **Local Intelligence:** Modern RTUs often have processing capabilities to perform local control logic, data logging, and alarming, even if communication with the master station is lost. |
|
| 12 | -* **Ruggedness:** Designed to operate in harsh environmental conditions often found in industrial settings (e.g., wide temperature ranges, humidity, vibrations). |
|
| 13 | -* **Autonomy:** Can operate autonomously for periods based on pre-programmed instructions. |
|
| 14 | - |
|
| 15 | -**Common Applications:** |
|
| 16 | -RTUs are widely used in various industries for remote monitoring and control, such as: |
|
| 17 | - |
|
| 18 | -* **Oil and Gas:** Monitoring pipelines, wellheads, and remote facilities. |
|
| 19 | -* **Water and Wastewater:** Managing pumping stations, reservoirs, and treatment plants. |
|
| 20 | -* **Electric Utilities:** Monitoring substations, reclosers, and distribution networks. |
|
| 21 | -* **Environmental Monitoring:** Collecting data from remote sensor stations. |
|
| 22 | -* **Transportation:** Monitoring traffic signals and railway systems. |
|
| 23 | - |
|
| 24 | -In essence, an RTU acts as a bridge between the physical equipment in the field and the central supervisory control system. |
|
| 25 | - |
|
| 26 | -## ref |
|
| 27 | - |
|
| 28 | -- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/USB-WIFI-dat/usb-wifi-dat.md
| ... | ... | @@ -1,6 +0,0 @@ |
| 1 | - |
|
| 2 | -# usb-wifi-dat |
|
| 3 | - |
|
| 4 | -- [[realtek-dat]] |
|
| 5 | - |
|
| 6 | -- [[usb-wifi]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/WIFI-DAT.md
| ... | ... | @@ -1,59 +0,0 @@ |
| 1 | - |
|
| 2 | -# Wifi |
|
| 3 | - |
|
| 4 | -- [[wifi-sdk-dat]] |
|
| 5 | - |
|
| 6 | -## tech |
|
| 7 | - |
|
| 8 | -- [[IEEE-dat]] - [[WIFI-Halow-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## cheatsheet |
|
| 12 | - |
|
| 13 | -- AP = access point |
|
| 14 | -- STA = station |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -- [[espressif-dat]] - [[esp8266-dat]] - [[ESP32-dat]] |
|
| 18 | - |
|
| 19 | -- [[bouffalolab-dat]] - [[BL616-dat]] |
|
| 20 | - |
|
| 21 | -- [[realtek-dat]] - [[RTL8188-dat]] - [[RTL8189-dat]] - [[RTL8723-dat]] |
|
| 22 | - |
|
| 23 | -- [[xradiotech-dat]] - [[XR829-dat]] |
|
| 24 | - |
|
| 25 | -- PHY6222, EWM110 |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## boards |
|
| 31 | - |
|
| 32 | -- [[MPC1070-dat]] |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | -## WPA/WPA2 |
|
| 39 | - |
|
| 40 | -## 七层网络模型: |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -记忆方法:“物数网传会表应”,记住这7个字,就记住了这七层 |
|
| 45 | - |
|
| 46 | -数据最终通过数据链路层+物理层传输到硬件网络,在数据链路层和物理层上的数据都是通过层层数据封装实现的。 |
|
| 47 | - |
|
| 48 | -- [[TCPIP-dat]] - [[TCPUDP-dat]] |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | -## ref |
|
| 56 | - |
|
| 57 | -- [[ethernet-dat]] |
|
| 58 | - |
|
| 59 | -- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/ethernet-dat/2023-11-30-15-43-51.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2023-11-30-15-43-51.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2024-03-22-17-34-40.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2024-03-22-17-34-40.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2025-04-25-02-07-43.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2025-04-25-02-07-43.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2025-04-25-04-49-35.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2025-04-25-04-49-35.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2025-08-07-12-43-02.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2025-08-07-12-43-02.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2025-08-09-12-57-04.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2025-08-09-12-57-04.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/2025-09-04-21-08-01.png
| ... | ... | Binary files a/Tech-dat/Network-dat/ethernet-dat/2025-09-04-21-08-01.png and /dev/null differ |
Tech-dat/Network-dat/ethernet-dat/PHY-dat/PHY-dat.md
| ... | ... | @@ -1,52 +0,0 @@ |
| 1 | - |
|
| 2 | -# PHY-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## PHY (Physical Layer Transceiver) |
|
| 8 | - |
|
| 9 | -In networking, a PHY is a hardware component responsible for the Physical Layer (Layer 1) of the OSI model, which deals with the electrical or optical signal transmission and reception. It's typically used in Ethernet systems to interface between the digital data from a MAC (Media Access Controller) and the physical medium, such as twisted-pair cables or fiber optics. |
|
| 10 | - |
|
| 11 | -Key roles of a PHY: |
|
| 12 | - |
|
| 13 | -- Signal encoding/decoding: Converts digital data (from the MAC) into signals suitable for transmission over physical media (and vice versa). |
|
| 14 | -- Clock recovery: Extracts clock signals from incoming data streams. |
|
| 15 | -- Auto-negotiation: Determines connection parameters like speed (10/100/1000 Mbps) and duplex mode (full/half). |
|
| 16 | -- Media-dependent interfaces: Provides the electrical interface for the transmission medium, such as copper wires or fiber. |
|
| 17 | - |
|
| 18 | -The PHY communicates with the MAC through standardized interfaces like RGMII, MII, or GMII. |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -## RGMII (Reduced Gigabit Media Independent Interface) |
|
| 23 | - |
|
| 24 | -RGMII is a standard interface used between a MAC and a PHY to support Gigabit Ethernet (1 Gbps) connectivity. It is a more compact and efficient version of GMII, reducing the number of data pins. |
|
| 25 | - |
|
| 26 | -Features of RGMII: |
|
| 27 | - |
|
| 28 | -1. Reduced pin count: Uses only 12 data pins (compared to GMII's 24 pins) by transmitting data on both the rising and falling edges of the clock (DDR - Double Data Rate). |
|
| 29 | -2. Speed support: Capable of operating at 10 Mbps, 100 Mbps, and 1 Gbps. |
|
| 30 | -3. Signals in RGMII: |
|
| 31 | -- TX (Transmit) and RX (Receive) data signals |
|
| 32 | -- Clock signals for TX and RX |
|
| 33 | -- Control signals (TX_EN, RX_DV) |
|
| 34 | - |
|
| 35 | -RGMII enables the MAC and PHY to communicate effectively while optimizing space and complexity. |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## MDIO (Management Data Input/Output) |
|
| 41 | - |
|
| 42 | -The MDIO (Management Data Input/Output) interface is a two-wire protocol used for managing and configuring Ethernet PHYs. It allows the MAC (or a host controller) to: |
|
| 43 | - |
|
| 44 | -- Read status registers in the PHY. |
|
| 45 | -- Configure operating modes (e.g., speed, duplex, auto-negotiation settings). |
|
| 46 | - |
|
| 47 | -MDIO Interface Components: |
|
| 48 | -- MDIO Signal: A bidirectional data line that transfers register addresses and data between the controller and the PHY. |
|
| 49 | -- MDC (Management Data Clock): A clock signal provided by the MAC or host to synchronize MDIO operations. |
|
| 50 | - |
|
| 51 | - |
|
| 52 | -Using the MDIO interface, a host can control multiple PHY devices on the same bus by assigning unique addresses to each PHY. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/ethernet-dat/RGMII-dat/RGMII-dat.md
| ... | ... | @@ -1,64 +0,0 @@ |
| 1 | - |
|
| 2 | -# RGMII-dat |
|
| 3 | - |
|
| 4 | -## 🌐 What is RGMII? |
|
| 5 | - |
|
| 6 | -**RGMII** stands for **Reduced Gigabit Media Independent Interface**. |
|
| 7 | - |
|
| 8 | -It's a type of **electrical interface** used to connect a **MAC** (Media Access Controller) to a **PHY** (Physical Layer Transceiver) in Ethernet devices. |
|
| 9 | - |
|
| 10 | ---- |
|
| 11 | - |
|
| 12 | -### 📦 What is it used for? |
|
| 13 | - |
|
| 14 | -- Used in **Gigabit Ethernet (1000 Mbps)** hardware |
|
| 15 | -- Common in **routers, switches, SoCs, FPGAs**, and other networking devices |
|
| 16 | - |
|
| 17 | ---- |
|
| 18 | - |
|
| 19 | -### 🧠 Why "Reduced"? |
|
| 20 | - |
|
| 21 | -RGMII reduces the number of data lines compared to **GMII**: |
|
| 22 | - |
|
| 23 | -| Interface | Data Lines | Speed | |
|
| 24 | -|-----------|------------|-------| |
|
| 25 | -| GMII | 24 | Up to 1 Gbps | |
|
| 26 | -| RGMII | 12 | Up to 1 Gbps | |
|
| 27 | - |
|
| 28 | -🔧 RGMII uses **double data rate (DDR)** — it transfers data on **both rising and falling edges** of the clock signal, so it needs **fewer wires**. |
|
| 29 | - |
|
| 30 | ---- |
|
| 31 | - |
|
| 32 | -### ⚙️ Key Features |
|
| 33 | - |
|
| 34 | -- ✅ Supports **10/100/1000 Mbps** Ethernet |
|
| 35 | -- ✅ Uses **DDR clocking** to reduce pin count |
|
| 36 | -- ✅ Total of **12 signals**: |
|
| 37 | - - 4 TX data |
|
| 38 | - - 4 RX data |
|
| 39 | - - TX control |
|
| 40 | - - RX control |
|
| 41 | - - TX clock |
|
| 42 | - - RX clock |
|
| 43 | - |
|
| 44 | ---- |
|
| 45 | - |
|
| 46 | -### 🛠️ Typical RGMII Pinout |
|
| 47 | - |
|
| 48 | -| Signal | Direction | Description | |
|
| 49 | -|--------------|----------------|------------------------------| |
|
| 50 | -| TXD[3:0] | MAC → PHY | Transmit data | |
|
| 51 | -| RXD[3:0] | PHY → MAC | Receive data | |
|
| 52 | -| TX_CTL | MAC → PHY | Transmit control | |
|
| 53 | -| RX_CTL | PHY → MAC | Receive control | |
|
| 54 | -| TXC | MAC → PHY | Transmit clock | |
|
| 55 | -| RXC | PHY → MAC | Receive clock | |
|
| 56 | - |
|
| 57 | ---- |
|
| 58 | - |
|
| 59 | -### 🔌 Summary |
|
| 60 | - |
|
| 61 | -- **RGMII = Compact, fast interface** for Gigabit Ethernet |
|
| 62 | -- **Used between Ethernet MAC and PHY** |
|
| 63 | -- **Saves pins** compared to GMII |
|
| 64 | -- **Supports up to 1 Gbps** using DDR signaling |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/ethernet-dat/TCPUDP-dat.md
Tech-dat/Network-dat/ethernet-dat/ethernet-dat.md
| ... | ... | @@ -1,90 +0,0 @@ |
| 1 | - |
|
| 2 | -# ethernet-dat |
|
| 3 | - |
|
| 4 | -- [[TCPUDP-dat]] |
|
| 5 | - |
|
| 6 | -- [[PHY-dat]] |
|
| 7 | - |
|
| 8 | -- [[ethernet-SDK-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## info |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -### Basic Ethernet Concepts |
|
| 15 | - |
|
| 16 | -Ethernet is an asynchronous, carrier-sense multiple access with collision detection (CSMA/CD) protocol/interface. While Ethernet is generally not ideal for low-power applications, it is widely used due to its broad deployment, efficient network connectivity, high data rates, and unlimited scalability. Nearly all wired communications can be achieved via Ethernet. |
|
| 17 | - |
|
| 18 | -Ethernet is categorized by speed: |
|
| 19 | -- Standard Ethernet (10 Mbit/s) |
|
| 20 | -- Fast Ethernet (100 Mbit/s) |
|
| 21 | -- Gigabit Ethernet (1000 Mbit/s) |
|
| 22 | -- 10-Gigabit Ethernet (10 Gbit/s) and higher |
|
| 23 | - |
|
| 24 | -Ethernet interface types include RJ45 (the most common for computers and the ESP32-P4 board), and RJ11 (telephone line interface). - [[RJ45-dat]] - [[RJ11-dat]] |
|
| 25 | - |
|
| 26 | -The ESP32-P4 network model can be explained as follows: |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -- **Network Interface Layer**: ESP32-P4 connects to the IP101GRI PHY via RMII interface, and the network transformer leads to the RJ45 port. The MAC layer is integrated in the ESP32-P4 chip, handling frame encapsulation, checksums, and MAC addresses. |
|
| 31 | -- **Network and Transport Layers**: Managed by ESP32-P4 driving the IP101GRI PHY. |
|
| 32 | -- **Application Layer**: Once network connection is established, ESP32-P4 can perform HTTP requests, use MQTT, and other server communications. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | -## chip |
|
| 39 | - |
|
| 40 | -- [[W5500-dat]] - [[ENC28J60-dat]] |
|
| 41 | - |
|
| 42 | -- [[LAN8720-dat]] |
|
| 43 | - |
|
| 44 | -## RJ45 breakout board |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## SCH RPI CM4 |
|
| 51 | - |
|
| 52 | -- [[RPI-CM4-expansion-board-dat]] - [[ESD-dat]] |
|
| 53 | - |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## SCH |
|
| 58 | - |
|
| 59 | -- [[RJ45-dat]] |
|
| 60 | - |
|
| 61 | -RJ-45 |
|
| 62 | - |
|
| 63 | -HY951180A |
|
| 64 | -HY931147C |
|
| 65 | -HR931130A |
|
| 66 | - |
|
| 67 | - |
|
| 68 | - |
|
| 69 | - |
|
| 70 | -RJ-45 w/[[CH579-dat]] |
|
| 71 | - |
|
| 72 | - |
|
| 73 | - |
|
| 74 | -transfomer == G2406S_C507595 and RJ45 |
|
| 75 | - |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | -## CAT6 |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | -## ref |
|
| 85 | - |
|
| 86 | -- [[RGMII-dat]] - [[PHY-dat]] - [[TCPUDP-dat]] - [[TCPIP-dat]] |
|
| 87 | - |
|
| 88 | -- [[RTL8211-dat]] |
|
| 89 | - |
|
| 90 | -- [[ethernet]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/2025-03-28-17-43-30.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/2025-03-28-17-43-30.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/2025-04-21-14-29-37.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/2025-04-21-14-29-37.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-21-16-00-21.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-21-16-00-21.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-24-18-39-29.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-04-24-18-39-29.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-06-19-15-43-32.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/2025-06-19-15-43-32.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/Photolink-dat/Photolink-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# Photolink-dat |
|
| 3 | - |
|
| 4 | -## photo-link PLx237 |
|
| 5 | - |
|
| 6 | -[PLT237 SERIES](https://en.everlight.com/wp-content/plugins/ItemRelationship/product_files/pdf/DPL-0000040_PLT237_series_V3.pdf?utm_source=Datasheets&utm_medium=Part-details&utm_campaign=DS_Referrals&utm_content=Datasheet_Button&utm_term=PLT237/S19) |
|
| 7 | - |
|
| 8 | -[Photolink- Fiber Optic **Receiver** PLR237/T10BK ](https://www.everlighteurope.com/custom/files/datasheets/DPL-0000261.pdf) |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -Photo-link Light **Transmitter** Unit PLT237/T10WH |
|
| 12 | - |
|
| 13 | -https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/5335/PLT237-T10WH_Rev1_3-22-21.pdf |
|
| 14 | - |
|
| 15 | - |
|
| 16 | -| Feature | PLT131/T10WH | PLT237/T10WH | |
|
| 17 | -|-----------------|----------------------------------|----------------------------------| |
|
| 18 | -| **Type** | Light Transmitter Unit | Light Transmitter Unit | |
|
| 19 | -| **Wavelength** | 650 nm (Typical, Red) | 650 nm (Typical, Red) | |
|
| 20 | -| **Data Rate** | Lower Speed (Often used for Digital Audio/TOSLINK, e.g., < 1 Mbps) | Higher Speed (Up to 16 Mbps) | |
|
| 21 | -| **Application** | Digital Audio, Low-Speed Data | Data Communication | |
|
| 22 | -| **Package** | Photo-link Connector | Photo-link Connector | |
|
| 23 | -| **Manufacturer**| Everlight (Likely) | Everlight | |
|
| 24 | - |
|
| 25 | -- compatible with [[toslink-dat]] |
|
| 26 | - |
|
| 27 | -[[TOSLINK-dat]] [[SPDIF-dat]] connector - [[interface-dat]] |
|
| 28 | - |
|
| 29 | -[reference](https://wiki.odroid.com/odroid-c2/application_note/external_connector/spdif) |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## Everlight PLT131/T1/12 Photolink Fiber Optic Transmitter 650nm |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -## PLR135/T8 |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## PLx133 series |
|
| 41 | - |
|
| 42 | -[PLT133 SERIES](https://www.everlight.com/wp-content/plugins/ItemRelationship/product_files/pdf/DPL-0000107_PLT133_series_v8.pdf) |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## ref |
|
| 51 | - |
|
| 52 | -- [[fiber-optic-dat]] - [[fiber-optic]] |
|
| 53 | - |
|
| 54 | -- [[photolink]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-13-45-34.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-13-45-34.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-06.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-06.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-35.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-21-14-00-35.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-45-45.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-45-45.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-46-38.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-46-38.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-47-47.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-47-47.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-58-02.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-24-18-58-02.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-00-29.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-00-29.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-29.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-29.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-52.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/2025-04-25-03-38-52.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/TOSLINK-dat.md
| ... | ... | @@ -1,188 +0,0 @@ |
| 1 | - |
|
| 2 | -# TOSLINK-dat |
|
| 3 | - |
|
| 4 | -- [[sharp-dat]] - [[toslink]] |
|
| 5 | - |
|
| 6 | -- [[TOTX178-dat]] |
|
| 7 | - |
|
| 8 | -## compare |
|
| 9 | - |
|
| 10 | -| Feature | TOSLINK | General Fiber Optic | |
|
| 11 | -| ------------------ | -------------------- | ------------------------ | |
|
| 12 | -| **Purpose** | Audio (S/PDIF) | Data, telecom, internet | |
|
| 13 | -| **Fiber Type** | Plastic (POF) | Glass (SMF/MMF) | |
|
| 14 | -| **Distance** | ~5–10 meters | Up to kilometers | |
|
| 15 | -| **Bandwidth** | Limited (audio only) | Very high (Gbps to Tbps) | |
|
| 16 | -| **Connector Type** | Square TOSLINK | LC, SC, ST, etc. | |
|
| 17 | -| **Wavelength** | ~650 nm (red light) | 850, 1310, or 1550 nm | |
|
| 18 | -| **Use Case** | Home audio systems | Enterprise, telecom, ISP | |
|
| 19 | - |
|
| 20 | -in market the maximium length toslink cable is 30 meters |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## Are SPDIF and TOSLINK the Same? |
|
| 24 | - |
|
| 25 | -- [[SPDIF-dat]] |
|
| 26 | - |
|
| 27 | -**Short answer:** |
|
| 28 | -**TOSLINK is one type of SPDIF connection.** |
|
| 29 | - |
|
| 30 | ---- |
|
| 31 | - |
|
| 32 | -### Detailed Explanation |
|
| 33 | - |
|
| 34 | -| Term | What it is | Key Detail | |
|
| 35 | -| ----------- | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | |
|
| 36 | -| **SPDIF** | A digital audio **protocol/standard** | Stands for **Sony/Philips Digital Interface**. It defines **how** digital audio data is formatted and transmitted. | |
|
| 37 | -| **TOSLINK** | A **type of physical connector** (using optical fiber) | Developed by Toshiba; one way of transmitting SPDIF using light (fiber optic). | |
|
| 38 | - |
|
| 39 | ---- |
|
| 40 | - |
|
| 41 | -### SPDIF Transmission Types |
|
| 42 | - |
|
| 43 | -1. **Coaxial SPDIF** (electrical signal) |
|
| 44 | - - Connector: RCA (looks like typical video/audio jacks) |
|
| 45 | - - Uses **copper wire** (electrical signal) |
|
| 46 | - |
|
| 47 | -2. **Optical SPDIF (TOSLINK)** |
|
| 48 | - - Connector: TOSLINK or Mini-TOSLINK |
|
| 49 | - - Uses **fiber optic cable** (light signal) |
|
| 50 | - |
|
| 51 | ---- |
|
| 52 | - |
|
| 53 | -### Key Differences |
|
| 54 | - |
|
| 55 | -| Feature | Coaxial SPDIF | Optical SPDIF (TOSLINK) | |
|
| 56 | -| ------------------ | ----------------------------------- | ------------------------------------------- | |
|
| 57 | -| Signal Type | Electrical (copper) | Optical (light) | |
|
| 58 | -| Connector Type | RCA | TOSLINK (square) or Mini-TOSLINK (3.5mm) | |
|
| 59 | -| Susceptible to EMI | Yes | No (immune to electromagnetic interference) | |
|
| 60 | -| Cable Length Limit | Up to ~10m (longer with good cable) | Usually up to ~5m for reliable signal | |
|
| 61 | - |
|
| 62 | ---- |
|
| 63 | - |
|
| 64 | -### Summary |
|
| 65 | - |
|
| 66 | -- **SPDIF** = the **format/protocol** |
|
| 67 | -- **TOSLINK** = one **type of SPDIF connector** using optical fiber |
|
| 68 | - |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -## TOSLINK |
|
| 73 | - |
|
| 74 | -- TOSLINK is a standardized optical fiber connection system for transmitting digital audio signals between devices. |
|
| 75 | -- It uses a fiber optic cable with a plastic or glass core to carry the light signal, which represents the audio data. |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | -https://en.wikipedia.org/wiki/TOSLINK |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | - |
|
| 85 | -## TOSLINK Cable and connectors |
|
| 86 | - |
|
| 87 | -== [[SPDIF-dat]] |
|
| 88 | - |
|
| 89 | - |
|
| 90 | - |
|
| 91 | - |
|
| 92 | - |
|
| 93 | -These cables and connectors are **TOSLINK optical digital audio cables** with **Mini-TOSLINK** adapters or plugs on the end. |
|
| 94 | - |
|
| 95 | -Explanation: |
|
| 96 | - |
|
| 97 | -**TOSLINK (Toshiba Link)** is a standardized optical fiber connection system used for transmitting digital audio signals. |
|
| 98 | - |
|
| 99 | -The black rectangular connector with a square end is the **standard TOSLINK connector**. |
|
| 100 | - |
|
| 101 | -The gold-tipped center pin is actually a **Mini-TOSLINK plug**, which is an optical connector in the shape and size of a standard 3.5mm headphone jack, used in some laptops and portable devices (e.g., MacBooks, MiniDisc players). |
|
| 102 | - |
|
| 103 | -These cables are often used to **transmit high-quality audio (like Dolby Digital or DTS)** from a source like a DVD player, gaming console, or PC to an AV receiver or soundbar. |
|
| 104 | - |
|
| 105 | -**OD: 2.2mm** |
|
| 106 | - |
|
| 107 | -This refers to the outer diameter of the cable (2.2mm), which is relatively thin, indicating it's a lightweight optical fiber cable. |
|
| 108 | - |
|
| 109 | - |
|
| 110 | - |
|
| 111 | -## DLT1120 fiber optic transmitter |
|
| 112 | - |
|
| 113 | -Toslink DLT1120 fiber optic transmitter The light-emitting unit is a standard packaging product with connectors and optoelectronic components, and is packaged with LEDs and driver ICs. The function of the unit converts electrical signals into optical signals and transmits. |
|
| 114 | - |
|
| 115 | - |
|
| 116 | - |
|
| 117 | - |
|
| 118 | - |
|
| 119 | - |
|
| 120 | -project [SPDIF to TOSLink Adapter Hat for Quartz64](https://github.com/CounterPillow/quartz64-toslink-hat) |
|
| 121 | - |
|
| 122 | - |
|
| 123 | -## DLR 1121 |
|
| 124 | - |
|
| 125 | - |
|
| 126 | -## DLR 2180 |
|
| 127 | - |
|
| 128 | - |
|
| 129 | - |
|
| 130 | - |
|
| 131 | - |
|
| 132 | - |
|
| 133 | - |
|
| 134 | - |
|
| 135 | - |
|
| 136 | -[toslink-guide](https://www.tme.eu/Document/3363e65f4c705941469014401686faf2/TOFC100-xx.pdf) |
|
| 137 | - |
|
| 138 | - |
|
| 139 | - |
|
| 140 | -## Optical SPDIF (TOSLINK): |
|
| 141 | - |
|
| 142 | -- Uses optical fiber (plastic or glass). |
|
| 143 | -- Has a TOSLINK connector (square-ish plug). |
|
| 144 | -- Carries light-based digital signals. |
|
| 145 | -- Immune to electrical interference (a bonus in noisy environments). |
|
| 146 | - |
|
| 147 | -## Why Not Use TOSLINK for Transferring 5V TTL Serial Signals? |
|
| 148 | - |
|
| 149 | -While **TOSLINK** (optical) is a popular and widely used optical standard, especially for **consumer audio** (like SPDIF), it's **not ideally suited** for directly transferring TTL serial signals like 5V logic. Here's why **POF** (Plastic Optical Fiber) is often a better choice for serial TTL communication over **TOSLINK**: |
|
| 150 | - |
|
| 151 | -### 🔍 Key Differences: |
|
| 152 | - |
|
| 153 | -#### 1. Signal Type: |
|
| 154 | -- **TOSLINK (SPDIF)** carries **digital audio** data, which is encoded in a **biphase-mark** format (a specific way of encoding 1s and 0s for audio). |
|
| 155 | - - It's not **raw TTL**, so you'd need a **decoder** or **receiver chip** to convert it back into useful serial data. |
|
| 156 | - - It's designed for **audio signals**, not serial communication. |
|
| 157 | -- **POF (Plastic Optical Fiber)** with **TTL transceivers** is specifically designed to carry **digital data signals** such as serial UART, which is just **raw bits** (high and low voltages) transmitted directly over light. |
|
| 158 | - |
|
| 159 | -#### 2. Electrical Compatibility: |
|
| 160 | -- **TOSLINK** optical transmitters and receivers are **designed for audio** signals that operate at relatively lower frequencies (44.1kHz or 48kHz for audio sampling). |
|
| 161 | - - **TTL signals**, on the other hand, are **high-speed** and require a continuous **stream of binary data** (e.g., 115200 baud rate or higher) without the need for extra encoding schemes. |
|
| 162 | -- **POF with TTL transceivers** directly handles **5V logic signals**, making it simpler and **more compatible** with serial communication. |
|
| 163 | - |
|
| 164 | - |
|
| 165 | -## TOTX |
|
| 166 | - |
|
| 167 | -### TOTX147 |
|
| 168 | - |
|
| 169 | -- connector-less |
|
| 170 | - |
|
| 171 | -### TOTX1350 |
|
| 172 | - |
|
| 173 | - |
|
| 174 | - |
|
| 175 | - |
|
| 176 | -## SCH? |
|
| 177 | - |
|
| 178 | -refer more info from [[pmod-dat]] |
|
| 179 | -TX |
|
| 180 | - |
|
| 181 | - |
|
| 182 | -RX |
|
| 183 | - |
|
| 184 | - |
|
| 185 | -## ref |
|
| 186 | - |
|
| 187 | -- [[TOSlink]] - [[fiber-optic]] |
|
| 188 | - |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/2025-04-24-18-52-13.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/2025-04-24-18-52-13.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178-dat.md
| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | - |
|
| 2 | -# totx178-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## TOTX178A |
|
| 6 | - |
|
| 7 | -- [[totx178.pdf]] |
|
| 8 | - |
|
| 9 | - |
Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178.pdf
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/TOSLINK-dat/totx178-dat/totx178.pdf and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-03.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-03.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-21.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-21.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-33.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-41-33.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-03.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-03.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-21.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-42-21.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-45-31.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-45-31.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-47-18.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-47-18.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-48-29.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/2025-03-28-17-48-29.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/PCM2906C-POF.jpg
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/PCM2906C-POF.jpg and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/USB-player-dat/USB-player-dat.md
| ... | ... | @@ -1,17 +0,0 @@ |
| 1 | - |
|
| 2 | -# USB-player-dat |
|
| 3 | - |
|
| 4 | -https://www.instructables.com/External-USB-audio-card-with-optical-SPDIF-POF-in/ |
|
| 5 | - |
|
| 6 | -- [[PCM2906-dat]] -> DOUT -> -> [[74ACT00-dat]] -> TX -> [[FC300T-dat]] -> |
|
| 7 | - |
|
| 8 | -- [[FC300T-dat]] -> RX -> [[OPA2380-dat]] -> DIN -> [[PCM2906-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## ref |
|
| 16 | - |
|
| 17 | -- [[TI-audio-dat]] - [[74xx-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/fiber-optic-app-dat.md
| ... | ... | @@ -1,82 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-app-dat |
|
| 3 | - |
|
| 4 | -== fiber-optic-solutions-dat |
|
| 5 | - |
|
| 6 | -small solutions based on [[POF-dat]] |
|
| 7 | - |
|
| 8 | -- [[TI-audio-dat]] - [[USB-player-dat]] |
|
| 9 | - |
|
| 10 | -[TOSLINK DAC](https://hackaday.io/project/181024-toslink-dac) |
|
| 11 | - |
|
| 12 | -- [[fiber-optic-serial-dat]] - [[video-RC-car-dat]] |
|
| 13 | - |
|
| 14 | -- [[fiber-analog-video-dat]] - [[video-dat]] |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -- [[fiber-optic-transceiver-dat]] - [[SFP-transceiver-dat]] |
|
| 18 | - |
|
| 19 | -## analog video to fiber-optic |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## UART to fiber-optic |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## fiber-optic bucket |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## demo |
|
| 33 | - |
|
| 34 | -- [#fiber-optic wire bucket solutions](https://t.me/electrodragon3/344) |
|
| 35 | - |
|
| 36 | -## ref |
|
| 37 | - |
|
| 38 | -- [[fiber-optic-dat]] |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | -## Home networking |
|
| 44 | - |
|
| 45 | -[How to Run Fiber Optic Cable in Your Backyard - My 10 Gig Install for Starlink](https://www.youtube.com/watch?v=pOKZlwB-lKQ) |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## More Concept Apps |
|
| 51 | - |
|
| 52 | -FPV remote communication |
|
| 53 | - |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | - |
|
| 58 | - |
|
| 59 | - |
|
| 60 | -- [demo video how it works](https://www.youtube.com/shorts/GSPIDlSw020) |
|
| 61 | - |
|
| 62 | -emergancy support |
|
| 63 | - |
|
| 64 | - |
|
| 65 | - |
|
| 66 | - |
|
| 67 | - |
|
| 68 | -underwater robot communication |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -tube communication |
|
| 73 | - |
|
| 74 | - |
|
| 75 | - |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | - |
|
| 80 | -## ref |
|
| 81 | - |
|
| 82 | -- [[fiber-optic-dat]] - [[fiber-optic-app]] |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-app-dat/fiber-optic-serial-dat/fiber-optic-serial-dat.md
| ... | ... | @@ -1,70 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-serial-dat |
|
| 3 | - |
|
| 4 | -# Sending UART Serial Data over Plastic Optical Fiber (POF) |
|
| 5 | - |
|
| 6 | -Using plastic optical fiber (POF) to transmit UART serial data provides EMI resistance and electrical isolation. Here's how to do it: |
|
| 7 | - |
|
| 8 | ---- |
|
| 9 | - |
|
| 10 | -## 🧰 What You Need |
|
| 11 | - |
|
| 12 | -1. **Plastic Optical Fiber (POF)** – typically 1mm core, 650nm red LED compatible. |
|
| 13 | -2. **Optical Transceivers** – e.g., Avago HFBR-1521 (TX) and HFBR-2521 (RX) |
|
| 14 | -3. **Microcontrollers or USB-to-UART adapters** |
|
| 15 | -4. **Resistors and capacitors** – per the transceiver datasheet |
|
| 16 | -5. **Logic level shifters** – if voltage levels don't match |
|
| 17 | - |
|
| 18 | ---- |
|
| 19 | - |
|
| 20 | -## 🔌 Basic Wiring Overview |
|
| 21 | - |
|
| 22 | -### TX Side (UART → Optical) |
|
| 23 | -- Microcontroller UART TX → Optical Transmitter (e.g., HFBR-1521) |
|
| 24 | -- Power (3.3V or 5V) |
|
| 25 | -- Current-limiting resistor for LED (per datasheet) |
|
| 26 | - |
|
| 27 | -### RX Side (Optical → UART) |
|
| 28 | -- Optical Receiver (e.g., HFBR-2521) → UART RX |
|
| 29 | -- Power supply |
|
| 30 | -- Pull-up resistor on RX output (if open collector) |
|
| 31 | - |
|
| 32 | ---- |
|
| 33 | - |
|
| 34 | -## 🛠️ Wiring Example with HFBR-15X1 / 25X1 |
|
| 35 | - |
|
| 36 | -- **TX Module (HFBR-1521)**: |
|
| 37 | - - Anode → Vcc through resistor |
|
| 38 | - - Cathode → UART TX (possibly via transistor) |
|
| 39 | - |
|
| 40 | -- **RX Module (HFBR-2521)**: |
|
| 41 | - - Output → UART RX with pull-up resistor to Vcc |
|
| 42 | - |
|
| 43 | -> ⚠️ Note: These modules output non-inverted logic compatible with UART. |
|
| 44 | - |
|
| 45 | ---- |
|
| 46 | - |
|
| 47 | -## ⚙️ UART Settings |
|
| 48 | - |
|
| 49 | -- Baud Rate: up to **250 kbps** recommended for stable operation |
|
| 50 | -- Settings: Standard 8N1 (e.g., 9600 8N1) |
|
| 51 | - |
|
| 52 | ---- |
|
| 53 | - |
|
| 54 | -## 📏 Max Transmission Distance |
|
| 55 | - |
|
| 56 | -- Up to **20 meters** for typical POF setups |
|
| 57 | - |
|
| 58 | ---- |
|
| 59 | - |
|
| 60 | -## 🧪 Testing |
|
| 61 | - |
|
| 62 | -- Connect USB-to-UART adapter to one side, microcontroller or another adapter to the other |
|
| 63 | -- Use serial terminal (PuTTY, Arduino IDE, etc.) to send test messages |
|
| 64 | -- Perform loopback or echo tests |
|
| 65 | - |
|
| 66 | -## ref |
|
| 67 | - |
|
| 68 | -- [[fiber-optic-serial]] - [[fiber-optic]] |
|
| 69 | - |
|
| 70 | -- [[fiber-optic-app-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/2025-04-21-15-53-41.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/2025-04-21-15-53-41.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-22-14-24-56.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-22-14-24-56.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-25-04-40-38.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/2025-04-25-04-40-38.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-dat.md
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | - |
|
| 2 | -# DLR2180-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -DLR28012 |
|
| 6 | -https://www.edison-opto.com/_i/assets/file/productlist/8DLR28000000000A.pdf |
|
| 7 | - |
|
| 8 | -- [[DLR2180-datasheet.pdf]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## DLT1111A |
|
| 12 | - |
|
| 13 | -http://www.hy1688.com.tw/SWITCH/DC%20JACK%20HOME/Optical_File/DLT1111A.pdf |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-datasheet.pdf
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/DLR2180-dat/DLR2180-datasheet.pdf and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-17-54.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-17-54.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-19-15.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-14-19-15.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-15-11-45.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/2025-04-21-15-11-45.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/FC300T-dat/FC300T-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# FC300T-dat |
|
| 3 | - |
|
| 4 | -### FC300T |
|
| 5 | - |
|
| 6 | -650 nm Analog Fiber Opticc Transceiver with Termination for Bare POF |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/firecomms/fc300t.pdf |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-07.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-07.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-39.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-23-39.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-19.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-19.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-53.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-24-53.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-13.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-13.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-31.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-25-01-25-31.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-29-14-34-51.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/2025-04-29-14-34-51.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-0500Z-Series-dat/HFBR-0500Z-Series-dat.md
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | - |
|
| 2 | -# HFBR-0500Z-Series-dat |
|
| 3 | - |
|
| 4 | -Internal optics have been optimized for use with 1-mm diameter polymer optical fiber. Versatile Link specifications incorporate all connector interface losses. Therefore, optical calculations for common link applications are simplified. |
|
| 5 | - |
|
| 6 | -[HFBR-0500Z Series Versatile Link Fiber-Optic Connection](https://docs.broadcom.com/doc/AV02-1501EN) |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -Yes, you can insert a bare end POF cable into the Broadcom HFBR-0500 Series transceivers (e.g., HFBR-1521Z, HFBR-2521Z, etc.) — that’s one of their key advantages. |
|
| 10 | - |
|
| 11 | -✅ Here's how it works: |
|
| 12 | - |
|
| 13 | -The HFBR-0500 series is designed for tool-less, field-installable connections. |
|
| 14 | - |
|
| 15 | -You can directly cut and insert a 1 mm core POF cable (typically with 2.2 mm jacket) into the transceiver. |
|
| 16 | - |
|
| 17 | -No pre-attached connector is required. |
|
| 18 | - |
|
| 19 | -https://www.broadcom.com/products/fiber-optic-modules-components/industrial/industrial-control-general-purpose/650nm/hfbr-1521z |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-dat.md
| ... | ... | @@ -1,74 +0,0 @@ |
| 1 | - |
|
| 2 | -# HFBR-dat |
|
| 3 | - |
|
| 4 | -HFBR-4503Z |
|
| 5 | - |
|
| 6 | -- [[HFBR-0500Z-Series-dat]] |
|
| 7 | - |
|
| 8 | -- [[HFBR]] - [[POF]] |
|
| 9 | - |
|
| 10 | -## Best Way to Use POF for 5V TTL Serial: |
|
| 11 | - |
|
| 12 | - TX Side (Microcontroller) |
|
| 13 | - -------------------------- |
|
| 14 | - MCU TX ──► HFBR-1521 (Transmitter) |
|
| 15 | - GND ─────┬──────────────────────┐ |
|
| 16 | - Vcc (5V) ──────────────────────► |
|
| 17 | - |
|
| 18 | - RX Side (Receiver) |
|
| 19 | - ------------------- |
|
| 20 | - POF Fiber ──► HFBR-2521 (Receiver) |
|
| 21 | - Output ─────► MCU RX |
|
| 22 | - GND ─────────┴────────────────── |
|
| 23 | - |
|
| 24 | -## 🧩 2. Integrated Fiber Optic Transceivers |
|
| 25 | - |
|
| 26 | -These are dedicated fiber optic ICs that handle the light/electrical signal conversion for **analog or digital baseband signals** — suitable for video. |
|
| 27 | - |
|
| 28 | -### 🔹 Avago HFBR-0500 Series (Now Broadcom) |
|
| 29 | -- **HFBR-1521** – Transmitter |
|
| 30 | -- **HFBR-2521** – Receiver |
|
| 31 | - |
|
| 32 | -**✔ Features:** |
|
| 33 | -- Accept **analog or digital signals** (bandwidth limited to ~50 MHz) |
|
| 34 | -- Compatible with **1 mm Plastic Optical Fiber (POF)** |
|
| 35 | -- Accepts **TTL or analog-like baseband** signals |
|
| 36 | -- Can work with **buffered composite/S-video signals** |
|
| 37 | - |
|
| 38 | -> **Note:** For pure analog video, you’ll need **pre-emphasis or buffering** before the transmitter to match signal levels. |
|
| 39 | - |
|
| 40 | -## HFBR series |
|
| 41 | - |
|
| 42 | -- [[HFBR-0500Z-Series-dat]] - [[HFBR-x4xx-dat]] |
|
| 43 | - |
|
| 44 | -HFBR-4501 / HFBR-4511 == TX / RX |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -HFBR-4503 / HFBR-4513 == TX / RX |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -HFBR-4531 / HFBR-4533 == TX / RX |
|
| 51 | - |
|
| 52 | - |
|
| 53 | -HFBR-4532 / HFBR-4532 == TX / RX |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -HFBR-4506 |
|
| 57 | - |
|
| 58 | - |
|
| 59 | -HFBR-4516 |
|
| 60 | - |
|
| 61 | - |
|
| 62 | -HFBR-4505对接器(灰色) / HFBR-4515对接器(蓝色) |
|
| 63 | - |
|
| 64 | - |
|
| 65 | - |
|
| 66 | -## AFBR-0553Z Evaluation Kit |
|
| 67 | - |
|
| 68 | -DC-to-50 MBd 650-nm Link with RSSI Versatile Link Fiber Optic Evaluation Kit |
|
| 69 | - |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -## ref |
|
| 73 | - |
|
| 74 | -- [[TOSlink-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-04-29-14-36-48.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-04-29-14-36-48.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-06-18-19-51-39.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/2025-06-18-19-51-39.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/HFBR-dat/HFBR-x4xx-dat/HFBR-x4xx-dat.md
| ... | ... | @@ -1,24 +0,0 @@ |
| 1 | - |
|
| 2 | -# HFBR-x4xx-dat |
|
| 3 | - |
|
| 4 | -- [[NWL1116-dat]] - [[POF-dat]] - [[HFBR-x4xx-dat]] |
|
| 5 | - |
|
| 6 | -The series includes HFBR-2414TZ and HFBR-1414TZ |
|
| 7 | - |
|
| 8 | -HFBR-14xxZ and HFBR-24xxZ Series Low-Cost, 820-nm Miniature Link Fiber-Optic Components with ST, SMA, SC, and FC Ports |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## APPs |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## rx - 2414TZ |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## ref |
|
| 21 | - |
|
| 22 | -- [[broadcom-dat]] - [[TI-logic-dat]] - [[SN74541-dat]] |
|
| 23 | - |
|
| 24 | - |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/POF-connector-less-dat/POF-connector-less-dat.md
| ... | ... | @@ -1,45 +0,0 @@ |
| 1 | - |
|
| 2 | -# POF-connector-less-dat |
|
| 3 | - |
|
| 4 | -## 🔌 Connector-less / Bare Fiber Alternatives to PLT237/PLR237 |
|
| 5 | - |
|
| 6 | -### 1. **Toslink Modules (TOTX/TORX Series)** |
|
| 7 | -- Examples: `TOTX147`, `TORX147` |
|
| 8 | -- ✅ Accepts 1mm POF directly |
|
| 9 | -- 🟢 Easy to use, low-cost |
|
| 10 | -- 🔴 Limited to short range, <6 Mbps |
|
| 11 | - |
|
| 12 | ---- |
|
| 13 | - |
|
| 14 | -### 2. **Avago / Broadcom HFBR Series** |
|
| 15 | -- Examples: `HFBR-1414TZ`, `HFBR-2412TZ` |
|
| 16 | -- ✅ Supports bare 1mm plastic fiber |
|
| 17 | -- 🟢 Reliable, up to 10 Mbps |
|
| 18 | - |
|
| 19 | ---- |
|
| 20 | - |
|
| 21 | -### 3. **Vishay SFH / TCPT Series** |
|
| 22 | -- Examples: `SFH757V`, `SFH250V` |
|
| 23 | -- ✅ Push-in design for bare POF |
|
| 24 | -- 🟢 Simple, direct fiber insertion |
|
| 25 | - |
|
| 26 | ---- |
|
| 27 | - |
|
| 28 | -### 4. **Industrial Fiber Optics IF-E96 / IF-D96** |
|
| 29 | -- ✅ Made for bare fiber with clip/screw mounting |
|
| 30 | -- 🟢 Great for low-speed serial comms (e.g., 9600 baud) |
|
| 31 | - |
|
| 32 | ---- |
|
| 33 | - |
|
| 34 | -### 5. **DIY LED/Photodiode Setup** |
|
| 35 | -- ✅ Use IR/Red LED + phototransistor |
|
| 36 | -- 🔧 For very short links (~1m) |
|
| 37 | -- 🧪 Good for experiments/prototyping |
|
| 38 | - |
|
| 39 | ---- |
|
| 40 | - |
|
| 41 | -### 🔍 Keywords to Search |
|
| 42 | -- `"bare fiber optic transmitter POF"` |
|
| 43 | -- `"HFBR plastic fiber transceiver"` |
|
| 44 | -- `"1mm POF UART optical link"` |
|
| 45 | - |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/POF-dat/POF-dat.md
| ... | ... | @@ -1,164 +0,0 @@ |
| 1 | - |
|
| 2 | -# POF-dat |
|
| 3 | - |
|
| 4 | -- get more compare info here: [[glass-fiber-dat]] |
|
| 5 | - |
|
| 6 | -- [[fiber-optic-app-dat]] |
|
| 7 | - |
|
| 8 | -- [[FC300T-dat]] - [[Photolink-dat]] - [[HFBR-dat]] - [[HFBR-0500Z-Series-dat]] |
|
| 9 | - |
|
| 10 | -- [[DLR2180-dat]] - [[TCPT1200-dat]] - [[vishay-dat]] - [[sharp-dat]] |
|
| 11 | - |
|
| 12 | -- [[toshiba-dat]] - [[TOTX-TORX-dat]] - [[toslink-dat]] |
|
| 13 | - |
|
| 14 | -- [[POF]] |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## boards |
|
| 18 | - |
|
| 19 | -- [[NWL1116-dat]] - [[POF-dat]] - [[HFBR-x4xx-dat]] |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -## What is POF? |
|
| 23 | - |
|
| 24 | -POF stands for plastic optical fiber with the term plastic being used a vulgarization for polymer materials. |
|
| 25 | - |
|
| 26 | -The 1mm fiber diameter is about **500 times thicker** than a glass optical fiber. |
|
| 27 | - |
|
| 28 | -96% of the cores cross section conducts modulated light for data transmission similar to glass optical fiber applications. |
|
| 29 | - |
|
| 30 | -The maximal transmission distance amounts to about 100m without active repeaters. |
|
| 31 | - |
|
| 32 | -Polymer fibers are used for high speed data network in homes, commerce and industry as well as in cars and airplanes. POF is often regarded as an optical home network because POF is easy to install. The fiber is thin, can be shortened to the desired length by a sharp knife and requires no connectors on its ends. Anyone can set up a robust, high performance and Ethernet compatible network without any special tools. |
|
| 33 | - |
|
| 34 | -## The key advantages of POF networks are: |
|
| 35 | - |
|
| 36 | -- No electromagnetic radiation |
|
| 37 | -- Electrically isolated network |
|
| 38 | -- Immunity against electromagnetic coupling |
|
| 39 | -- No electromagnetic cross talk |
|
| 40 | -- Flexible, reliable and maintenance-free |
|
| 41 | -- Low weight |
|
| 42 | -- Resistant to humidity, heat and vibration |
|
| 43 | -- Visible light that is eye-safe |
|
| 44 | - |
|
| 45 | -🧵 POF (Plastic Optical Fiber) |
|
| 46 | - |
|
| 47 | -## PMMA Fiber specs |
|
| 48 | - |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -- Jacket: Black PE |
|
| 52 | -- Core Refractive Index: 1.49 |
|
| 53 | -- Numerical Aperture: 0.5 |
|
| 54 | -- Heat Resistance Temperature: -55℃ ~ 70℃ |
|
| 55 | -- Transmission Loss: 200dB/km |
|
| 56 | -- Minimum Bending Radius: 25mm |
|
| 57 | -- Wavelength: 650nm |
|
| 58 | -- Finished Fiber Products: Servo cables, sensor patch cords, plastic optical fiber patch cords |
|
| 59 | -- Use Cases: Medical imaging, fiber optic sensing, servo machines, drilling machines... |
|
| 60 | -- Recommended Storage Temperature: -55℃ ~ 85℃ |
|
| 61 | -- Suggested Operating Temperature: -25℃ ~ 70℃ |
|
| 62 | - |
|
| 63 | -## Feature Description |
|
| 64 | - |
|
| 65 | -- 🌟 Material Core made from plastic (usually PMMA) instead of glass |
|
| 66 | -- 📏 Core Size Typically 1 mm (much thicker than glass fiber) |
|
| 67 | -- 📡 Distance Short range (up to ~100 meters) |
|
| 68 | -- 🔌 Use Cases Consumer electronics, asutomotive, home networks |
|
| 69 | -- 💰 Cost Cheaper and more flexible, easy to handle |
|
| 70 | -- ⚠️ Limitation High signal loss (attenuation), not suitable for long-ditance or high-speed telecom links |
|
| 71 | - |
|
| 72 | -## POF distance |
|
| 73 | - |
|
| 74 | -| POF Type | Max Distance | Typical Data Rate | Notes | |
|
| 75 | -|------------------|--------------|-------------------|--------------------------------| |
|
| 76 | -| PMMA (Standard) | 50–100 m | 100 Mbps–1 Gbps | Common in home networks | |
|
| 77 | -| PF-POF | 200–500 m+ | 1 Gbps+ | Used in industrial/high-speed | |
|
| 78 | - |
|
| 79 | - |
|
| 80 | -## POF transmitter/receiver (Analog Fiber Opticc Transceiver) |
|
| 81 | - |
|
| 82 | - |
|
| 83 | -For the POF transmitter/receiver part was used the Firecomms Optolock FC300T. |
|
| 84 | - |
|
| 85 | -It includes the transmitting LED and the receiving PIN photodiode in one package. |
|
| 86 | - |
|
| 87 | -More information about the device can be found under the link: http://www.firecomms.com/ . The used Optolock is analog. |
|
| 88 | - |
|
| 89 | -Under desire a different type can be used (there are some which contain the receiver part embedded inside the same package), but the schematic and the PCB of the current implementation must be changed according the new requirements (in some cases differential to single ended conversion must be done). |
|
| 90 | - |
|
| 91 | -### more transceiver |
|
| 92 | - |
|
| 93 | -https://www.mouser.com/c/optoelectronics/fiber-optics/fiber-optic-transmitters-receivers-transceivers/?q=POF%20Transceiver |
|
| 94 | - |
|
| 95 | - |
|
| 96 | -## POF range == UART up to 100 Meters? |
|
| 97 | - |
|
| 98 | -Yes, it's possible to use POF for UART over 100 meters, but it requires careful setup. |
|
| 99 | - |
|
| 100 | ---- |
|
| 101 | - |
|
| 102 | -### ⚠️ Challenges |
|
| 103 | - |
|
| 104 | -- **Attenuation:** ~0.15–0.20 dB/m → 15–20 dB loss at 100m |
|
| 105 | -- **Transceiver Limitations:** Basic modules like HFBR-1521/2521 are rated for ~50m |
|
| 106 | -- **Baud Rate:** Longer distances need lower baud rates for reliability |
|
| 107 | - |
|
| 108 | ---- |
|
| 109 | - |
|
| 110 | -### 🔧 How to Make It Work |
|
| 111 | - |
|
| 112 | -#### 1. Use Better Transceivers |
|
| 113 | -- Choose high-power modules like: |
|
| 114 | - - **HFBR-1414TZ / 2412TZ** |
|
| 115 | - - Or similar industrial-grade parts |
|
| 116 | - |
|
| 117 | -#### 2. Use Quality Fiber |
|
| 118 | -- Use **ESKA SK-40/SK-80** POF |
|
| 119 | -- Keep fibers clean and avoid tight bends |
|
| 120 | - |
|
| 121 | -#### 3. Lower the Baud Rate |
|
| 122 | -- Recommended for 100m: |
|
| 123 | - - **9600 or 19200 bps** (safe) |
|
| 124 | - - **38400 bps** (possible with care) |
|
| 125 | - |
|
| 126 | -#### 4. Optional: Add Signal Conditioning |
|
| 127 | -- Use Schmitt triggers or line drivers (e.g., 74HC14) to clean up weak signals |
|
| 128 | - |
|
| 129 | ---- |
|
| 130 | - |
|
| 131 | -### 🧠 Alternatives |
|
| 132 | -- For better reliability, consider: |
|
| 133 | - - **Glass fiber with serial-fiber converters** |
|
| 134 | - - **RS-485 over twisted pair** (up to 1200m) |
|
| 135 | - |
|
| 136 | ---- |
|
| 137 | - |
|
| 138 | -### ✅ Summary |
|
| 139 | - |
|
| 140 | -| Feature | Up to 50m | Up to 100m | |
|
| 141 | -|----------------|-------------------|--------------------------| |
|
| 142 | -| Baud Rate | 9600–115200 bps | 9600–38400 bps | |
|
| 143 | -| Transceivers | HFBR-15X1 series | HFBR-14XX or similar | |
|
| 144 | -| Fiber Quality | Basic POF | High-grade POF (SK-40) | |
|
| 145 | - |
|
| 146 | - |
|
| 147 | -## IF |
|
| 148 | - |
|
| 149 | -IF-D91, a fiber-optic photodiode, |
|
| 150 | -and one IF-E97, a fiber-optic LED, both from Industrial Fiber Optics. |
|
| 151 | - |
|
| 152 | -It provides a plastic optic connection feature over a plastic fiber cable with data rates of up to 512Kbps. |
|
| 153 | - |
|
| 154 | -Received data from the IF-D91 photodiode is filtered and amplified through dual operational amplifier, the [[MCP6022-dat]] from Microchip, and sent for further processing via selected mikroBUS™ lines. |
|
| 155 | - |
|
| 156 | -This Click board™ makes the perfect solution for high-speed digital data links, local area networks, video links, EMC/EMI signal isolation, fiber optic modems, and more. |
|
| 157 | - |
|
| 158 | - |
|
| 159 | - |
|
| 160 | -## ref |
|
| 161 | - |
|
| 162 | -https://www.instructables.com/External-USB-audio-card-with-optical-SPDIF-POF-in/ |
|
| 163 | - |
|
| 164 | -- [[POF]] - [[fiber-optic]] |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/fiber-optic-cable-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-cable-dat |
|
| 3 | - |
|
| 4 | -## dual in and out POF cable |
|
| 5 | - |
|
| 6 | -- [[POF-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## cable assembly |
|
| 13 | - |
|
| 14 | -- [cable assembly, looks complex ](https://www.youtube.com/shorts/w1MxLufzwF4) |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-cable-dat/glass-fiber-dat/glass-fiber-dat.md
| ... | ... | @@ -1,23 +0,0 @@ |
| 1 | - |
|
| 2 | -# glass-fiber-dat |
|
| 3 | - |
|
| 4 | -| Feature | Glass Optical Fiber | Plastic Optical Fiber (POF) | |
|
| 5 | -|---------------------|--------------------------------------------------|----------------------------------------------| |
|
| 6 | -| **Core Diameter** | 8–10 µm (singlemode), 50–62.5 µm (multimode) | **1000 µm (1 mm)** | |
|
| 7 | -| **Cladding Diameter** | 125 µm (standard) | **2.2 mm** (core + cladding + jacket) | |
|
| 8 | -| **Jacket Diameter** | 250 µm to 900 µm (tight-buffered or loose tube) | **2.2 mm** (same as outer diameter) | |
|
| 9 | -| **Bend Radius** | ≥10× diameter (sensitive to bending) | **Very flexible**, tolerates sharp bends | |
|
| 10 | -| **Handling** | Requires tools, fragile | **Tool-less, easy to cut and use** | |
|
| 11 | -| **Max Distance** | 10s–100s of kilometers | **Typically <100 meters** | |
|
| 12 | -| **Bandwidth** | Extremely high (Gbps–Tbps) | **Lower (up to hundreds of Mbps)** | |
|
| 13 | -| **Common Use Cases**| Telecom, datacenters, internet infrastructure | **Consumer electronics, automotive, DIY** | |
|
| 14 | -| **Light Source** | Laser (singlemode), LED (multimode) | **LED (visible or IR)** | |
|
| 15 | -| **Cost** | Higher | **Low cost** | |
|
| 16 | - |
|
| 17 | -### 🔍 Visual Size Comparison (Proportional to Scale) |
|
| 18 | - |
|
| 19 | -| Fiber Type | Visual Size Representation | |
|
| 20 | -|--------------------|----------------------------------| |
|
| 21 | -| Singlemode Glass | ░ (8 µm core) | |
|
| 22 | -| Multimode Glass | ▒ (50 µm core) | |
|
| 23 | -| Plastic (POF) | █ (1000 µm / 1 mm core) | |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-19-33.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-19-33.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-22-34.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-22-12-22-34.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-24-18-03-15.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/2025-04-24-18-03-15.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-11-19.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-11-19.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-13-04.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/2025-06-19-17-13-04.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/LC-connector-dat/LC-connector-dat.md
| ... | ... | @@ -1,51 +0,0 @@ |
| 1 | - |
|
| 2 | -# LC-connector-dat.md |
|
| 3 | - |
|
| 4 | -## LC module |
|
| 5 | - |
|
| 6 | -LC stands for Lucent Connector. |
|
| 7 | - |
|
| 8 | -LC connectors are smaller versions of SC connectors, commonly used in high-density fiber optic applications. |
|
| 9 | - |
|
| 10 | -### Features: |
|
| 11 | - |
|
| 12 | -Small form factor: Half the size of SC connectors, making them ideal for space-limited environments like data centers. |
|
| 13 | - |
|
| 14 | -Latch mechanism: Uses a clip-on design for easy and secure connection. |
|
| 15 | - |
|
| 16 | -High-density applications: Commonly used in network switches, routers, and patch panels. |
|
| 17 | - |
|
| 18 | -Fiber types: Can be used with both single-mode and multi-mode fibers. |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## usage |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -This device is a fiber optic transceiver module, specifically an SFP (Small Form-Factor Pluggable) transceiver with an LC (Lucent Connector) interface. |
|
| 28 | - |
|
| 29 | -Here's a breakdown of what each part is and what it does: |
|
| 30 | - |
|
| 31 | -**SFP Transceiver** (the main black body with the gold pins): This is a hot-pluggable module used for data communications. It converts electrical signals into optical signals for transmission over fiber optic cables, and then converts incoming optical signals back into electrical signals. SFPs are commonly used in network devices like switches, routers, and network interface cards to connect them to a fiber optic network. |
|
| 32 | - |
|
| 33 | -**LC Connector** (the black part at the end of the orange cable that plugs into the SFP): As identified earlier, this is a type of fiber optic connector known for its small form factor, which allows for high-density connections. |
|
| 34 | - |
|
| 35 | -**Fiber Optic Cable** (the orange cable): This cable is used to transmit data using light pulses. The color (orange in this case) typically indicates it's a multimode fiber optic cable, which is generally used for shorter distances. |
|
| 36 | - |
|
| 37 | -In summary, this device facilitates high-speed data transmission over a fiber optic network, allowing network equipment to communicate using light signals. |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## seperate |
|
| 41 | - |
|
| 42 | -Yes, you can often separate the LC connector, especially if it's a duplex LC connector. |
|
| 43 | - |
|
| 44 | -Here's why and how: |
|
| 45 | - |
|
| 46 | -**Duplex LC connectors** are essentially two simplex (single fiber) LC connectors held together by a clip or a "mating sleeve." This clip can often be carefully removed, allowing you to separate the two individual LC connectors. This is commonly done when you need to switch the polarity of the fibers (e.g., if you have an A-A wiring and need A-B). |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -**Simplex LC connectors** are designed for a single fiber and generally do not separate into smaller components in the same way. The connector itself is a single unit terminated onto the fiber. |
|
| 51 | - |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-04-22-12-35-06.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-04-22-12-35-06.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-16-59-05.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-16-59-05.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-09.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-09.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-44.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/2025-06-19-17-00-44.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/MTP-MPO-Connector-dat/MTP-MPO-Connector-dat.md
| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | - |
|
| 2 | -# MTP-MPO-Connector-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -That connector is an **MTP/MPO (Multi-Fiber Push-On/Pull-off) connector**, commonly used in high-density fiber optic networks. |
|
| 7 | - |
|
| 8 | -Details: |
|
| 9 | - |
|
| 10 | -Connector Type: MTP or MPO (they look nearly identical; MTP is a higher-performance version by US Conec). |
|
| 11 | - |
|
| 12 | -Fiber Count: Typically supports **12, 24, or more fibers** in a single rectangular ferrule. |
|
| 13 | - |
|
| 14 | -Color: Aqua cable and connector usually indicate **OM3 or OM4 multimode fiber**, used for high-speed data (like **10/40/100Gbps Ethernet**). |
|
| 15 | - |
|
| 16 | -Use Case: **Data centers**, backbone cabling, high-speed interconnects. |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -You’ll need an MTP/MPO adapter or cassette to fan out into **LC or SC connectors** if you're patching it to more standard fiber connections. |
|
| 20 | - |
|
| 21 | -## use guide |
|
| 22 | - |
|
| 23 | -- [MPO housing remove guide](https://www.youtube.com/shorts/soxnNBGLyRI) |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | - |
|
| 33 | -## ref |
|
| 34 | - |
|
| 35 | -- [[optic-fiber-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-32-51.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-32-51.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-33-03.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/2025-04-22-12-33-03.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/SC-Connector-dat/SC-Connector-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# SC-Connector-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -The object you're holding is an **SC (Subscriber Connector) fiber optic connector**. These connectors are commonly used in network and telecom setups for fiber optic cables. Here's a quick rundown: |
|
| 9 | - |
|
| 10 | -Connector Type: SC |
|
| 11 | - |
|
| 12 | -- **Color**: Blue typically indicates single-mode fiber (usually used for long-distance data transmission). |
|
| 13 | -- **Ferrule**: The white cylindrical part at the tip is the ferrule, which aligns the fiber and is crucial for precise data transmission. |
|
| 14 | -- **Push-pull design**: SC connectors use a push-pull mechanism for easy insertion and removal. |
|
| 15 | - |
|
| 16 | -## SC/APC |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -The connector shown is an **SC/APC (Angled Physical Contact)** type fiber optic connector, but let’s get specific: |
|
| 20 | - |
|
| 21 | -Based on What I See: |
|
| 22 | - |
|
| 23 | -The **blue housing** usually indicates an **SC/UPC (Ultra Physical Contact)** connector. |
|
| 24 | - |
|
| 25 | -The **ferrule** end in your image looks flat, which is consistent with UPC rather than the angled end of an APC (which would be green and have an 8° angled polish). |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -## SC module |
|
| 32 | - |
|
| 33 | -SC stands for Subscriber Connector. |
|
| 34 | - |
|
| 35 | -SC connectors are a type of fiber optic connector commonly used with fiber optic cables. |
|
| 36 | - |
|
| 37 | -### Features: |
|
| 38 | - |
|
| 39 | -Push-pull coupling mechanism: Allows easy insertion and removal of connectors. |
|
| 40 | - |
|
| 41 | -Duplex design: Typically used in dual-core fiber optic cables (sending and receiving signals). |
|
| 42 | - |
|
| 43 | -Durable and reliable, often used in telecommunications, data centers, and other long-distance fiber optic links. |
|
| 44 | - |
|
| 45 | -Size: Relatively large compared to other connectors like LC. |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## ref |
|
| 51 | - |
|
| 52 | -device - [[SFP-transceiver-dat]] |
|
| 53 | - |
|
| 54 | -- [[fiber-optic-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-connector-dat/fiber-optic-connector-dat.md
| ... | ... | @@ -1,42 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-connector-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## LC FC connector |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -- [[LC-connector-dat]] - [[SC-connector-dat]] |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## MTP-MPO-Connector |
|
| 13 | - |
|
| 14 | -- [[MTP-MPO-Connector-dat]] |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## LC/UPC, SC/UPC, LC/APC, SC/APC, FC/APC, FC/UPC Connector |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -## LC/UPC, SC/UPC, LC/APC, SC/APC, FC/APC, FC/UPC Connector |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -## SC/APC connector installation |
|
| 32 | - |
|
| 33 | -[Installation Instruction for SC/APC FUSEConnect® Fusion-Spliced Connectors](https://www.youtube.com/watch?v=JnqhVENXHjU) |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-dat.md
| ... | ... | @@ -1,84 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-dat |
|
| 3 | - |
|
| 4 | -info and knowledge |
|
| 5 | - |
|
| 6 | -- [[SFP-transceiver-dat]] - [[SFP-housing-dat]] |
|
| 7 | - |
|
| 8 | -- [[fiber-optic-transceiver-dat]] |
|
| 9 | - |
|
| 10 | -- [[fiber-optic-cable-dat]] - [[POF-dat]] |
|
| 11 | - |
|
| 12 | -- [[fiber-optic-connector-dat]] - [[LC-connector-dat]] - [[SC-connector-dat]] - [[MTP-MPO-Connector-dat]] |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -already to go systems - [[toslink-dat]] - [[photolink-dat]] |
|
| 16 | - |
|
| 17 | -apps and solutions - [[fiber-optic-app-dat]] |
|
| 18 | - |
|
| 19 | -Signal == [[SerDes-dat]] |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -## note |
|
| 23 | - |
|
| 24 | -Gigabit optical-to-electrical modules must be used with Category 5e, Category 6, and Category 6e network cables |
|
| 25 | - |
|
| 26 | -10G optical-to-electrical modules must be used with Category 7 and Category 8 10G network cables |
|
| 27 | - |
|
| 28 | -## advantage |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## demo |
|
| 35 | - |
|
| 36 | -- https://t.me/electrodragon3/342 |
|
| 37 | - |
|
| 38 | -## specs |
|
| 39 | - |
|
| 40 | -圆形单工光缆,9/125 单模,Riser 等级,2.0mm |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -## Usage |
|
| 46 | - |
|
| 47 | -- [[self-loop-test-dat]] |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## comparison |
|
| 51 | - |
|
| 52 | -| Feature | 🔌 RS-485 (Twisted Pair) | 🔴 Plastic Optical Fiber (POF) | 🧪 Glass Optical Fiber | |
|
| 53 | -| ------------------------ | -------------------------- | ---------------------------------- | ----------------------------------- | |
|
| 54 | -| **Max Distance** | ~1200 m (4000 ft) | ~50–100 m | >10 km (with proper transceivers) | |
|
| 55 | -| **Typical Data Rates** | 9.6 kbps – 10 Mbps (short) | 10 kbps – 250 kbps (up to ~100m) | 10 Mbps – 100 Gbps+ | |
|
| 56 | -| **Best Range vs Speed** | 9.6 kbps @ 1.2 km | 9600–38400 bps @ 100 m | 1 Gbps @ 10+ km (SM fiber) | |
|
| 57 | -| **Signal Medium** | Electrical (differential) | Light (650nm LED, red) | Light (laser or LED, 1310/1550nm) | |
|
| 58 | -| **EMI Immunity** | Good | Excellent | Excellent | |
|
| 59 | -| **Electrical Isolation** | Optional (via ICs) | Yes (complete) | Yes (complete) | |
|
| 60 | -| **Installation Cost** | Low | Medium | High | |
|
| 61 | -| **Ease of Termination** | Simple (screw/crimp) | Easy (cut and polish or click-fit) | Difficult (cleave, polish, splice) | |
|
| 62 | -| **Connectors** | Screw terminal, DB9, etc. | Snap-in (HFBR, Versatile Link) | SC, LC, ST, FC | |
|
| 63 | -| **Multi-node Support** | Yes (up to 32 nodes) | Point-to-point | Point-to-point (or splitter system) | |
|
| 64 | -| **Use Cases** | Industrial control, MODBUS | EMI-safe short serial links, DIY | High-speed data, WAN/LAN, telecom | |
|
| 65 | - |
|
| 66 | - |
|
| 67 | - |
|
| 68 | -## fiber & copper ethernet PHY board |
|
| 69 | - |
|
| 70 | -[DP83869EVM - Copper & fiber industrial Ethernet PHY evaluation module](https://www.ti.com/tool/DP83869EVM) |
|
| 71 | - |
|
| 72 | -- DP83869HM |
|
| 73 | - |
|
| 74 | - |
|
| 75 | - |
|
| 76 | -## Applications |
|
| 77 | - |
|
| 78 | -[From the drones community on Reddit: Unjammable drones being flown via 12 mile long fiber optic cables.](https://www.reddit.com/r/drones/s/VfXIHkhMBL) |
|
| 79 | - |
|
| 80 | -## ref |
|
| 81 | - |
|
| 82 | -- [[RJ45-DAT]] - [[RS485-dat]] - [[ethernet-dat]] |
|
| 83 | - |
|
| 84 | -- [[fiber-optic]] - [[maker]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-08-03.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-08-03.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-16-26.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/2025-06-19-15-16-26.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-15-58.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-15-58.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-14.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-14.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-28.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-16-28.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-17-07.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-22-14-17-07.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-25-01-31-55.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-04-25-01-31-55.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-10-22.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-10-22.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-48-49.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/2025-06-19-17-48-49.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-housing-dat/SFP-housing-dat.md
| ... | ... | @@ -1,25 +0,0 @@ |
| 1 | - |
|
| 2 | -# SFP-housing-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## TE/AMP 1367073-1 20-pin connector |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## SCH |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## ref |
|
| 24 | - |
|
| 25 | -- [[kicad-footprint-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-31-03.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-31-03.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-55-17.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-17-55-17.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-03-01.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-03-01.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-41-19.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-41-19.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-46-06.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-03-27-18-46-06.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-22-12-39-52.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-22-12-39-52.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-07.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-07.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-33.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/2025-04-25-03-45-33.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/SFP-transceiver-dat.md
| ... | ... | @@ -1,189 +0,0 @@ |
| 1 | - |
|
| 2 | -# SFP-transceiver-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[SFP-receiver-housing-dat]] - [[SFP]] - [[pmod-dat]] |
|
| 6 | - |
|
| 7 | -Most SFP modules use LC connectors, though some may use SC (older gear) or others for special applications. - [[LC-connector-dat]] |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## What is inside a SFP transceiver? |
|
| 11 | - |
|
| 12 | -Fiber optic transceivers are key components of the fiber optic transmission network. They are designed in small form-factor with some integrated optical sub-assemblies which can be suitable for the high-density network. There are many SFPs available in the market with different features and specifications(SFP & SFP+). |
|
| 13 | - |
|
| 14 | -Aren’t you aware of the major functions of these transceiver modules? |
|
| 15 | - |
|
| 16 | -- SFPs will transmit data and receive the data. |
|
| 17 | -- Transceivers provide the conversion of electrical signals to optical signals and vice versa. |
|
| 18 | - |
|
| 19 | -Inside the metal casing of a transceiver, there are several components and sub-assemblies that join together to form this. |
|
| 20 | - |
|
| 21 | -- Transmitter Optical Sub Assembly (TOSA) |
|
| 22 | -- Receiver Optical Sub Assembly (ROSA) |
|
| 23 | -- Bi-Directional Optical Sub Assembly (BOSA) |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -## 🔌 Common SFP Solutions for Optical Fiber |
|
| 30 | - |
|
| 31 | -SFP (Small Form-factor Pluggable) modules are compact, hot-swappable transceivers used to connect networking equipment (like switches and routers) to fiber optic or copper cables. |
|
| 32 | - |
|
| 33 | -### 📦 Common Types of SFP Modules |
|
| 34 | - |
|
| 35 | -| SFP Type | Description | Fiber Type | Wavelength | Typical Distance | |
|
| 36 | -| -------- | --------------------------- | ---------- | ------------------ | ---------------- | |
|
| 37 | -| SFP SX | Short-range (Multimode) | Multimode | 850 nm | Up to 550 m | |
|
| 38 | -| SFP LX | Long-range (Singlemode) | Singlemode | 1310 nm | Up to 10 km | |
|
| 39 | -| SFP ZX | Extended reach (Singlemode) | Singlemode | 1550 nm | Up to 80 km | |
|
| 40 | -| SFP BX | Bidirectional (BiDi) | Singlemode | 1310/1490 nm | 10–40 km | |
|
| 41 | -| SFP CWDM | Coarse Wavelength Division | Singlemode | 1270–1610 nm | 20–80 km | |
|
| 42 | -| SFP DWDM | Dense Wavelength Division | Singlemode | Various (ITU grid) | 40–100+ km | |
|
| 43 | - |
|
| 44 | -### 🔧 Things to Consider |
|
| 45 | - |
|
| 46 | -- **Connector Type:** Most fiber SFPs use LC connectors. |
|
| 47 | -- **Vendor Compatibility:** Some switches (e.g., Cisco, HPE) may require brand-specific or coded modules. |
|
| 48 | -- **Fiber Type:** Match your module to either Singlemode (SMF) or Multimode (MMF) cable. |
|
| 49 | -- **Wavelength Matching:** For BiDi or WDM modules, ensure the transmit/receive wavelengths match. |
|
| 50 | -- **Distance Needs:** Choose SX, LX, ZX, etc., based on your required reach. |
|
| 51 | - |
|
| 52 | -### ✅ Example Use Cases |
|
| 53 | - |
|
| 54 | -- 🌐 Short-distance data center links: Use SFP SX with OM3/OM4 multimode fiber |
|
| 55 | -- 🏢 Building-to-building links: Use SFP LX or BX with singlemode fiber |
|
| 56 | -- 🌍 Long-haul backbone links: Use CWDM or DWDM SFPs for multiplexed transport |
|
| 57 | - |
|
| 58 | - |
|
| 59 | -## What Type of Fiber Does SFP Use? |
|
| 60 | - |
|
| 61 | -| SFP Type | Fiber Type | Connector | Description | |
|
| 62 | -| ------------- | ----------------- | --------- | -------------------------------------------- | |
|
| 63 | -| SFP SX | Multimode (MMF) | LC | Short-range, up to 550m (850 nm) | |
|
| 64 | -| SFP LX | Single-mode (SMF) | LC | Long-range, up to 10 km (1310 nm) | |
|
| 65 | -| SFP ZX | Single-mode (SMF) | LC | Extended-range, up to 80 km (1550 nm) | |
|
| 66 | -| SFP BX (BiDi) | Single-mode (SMF) | LC | Bidirectional over 1 fiber, 10–40 km | |
|
| 67 | -| SFP CWDM/DWDM | Single-mode (SMF) | LC | Wavelength-division multiplexing, 40–100+ km | |
|
| 68 | - |
|
| 69 | -## SFP+ transceiver |
|
| 70 | - |
|
| 71 | -### AFBR-709SMZ SFP+ transceiver module. |
|
| 72 | - |
|
| 73 | - |
|
| 74 | - |
|
| 75 | -Here's a breakdown of the information on the label: |
|
| 76 | - |
|
| 77 | - * Avago: The manufacturer (now part of Broadcom). |
|
| 78 | - * AFBR-709SMZ: The specific model number. |
|
| 79 | - * 850nm LASER PROD: Indicates it uses an 850-nanometer wavelength laser. This is typically used for short-range communication over multi-mode fiber optic cables. |
|
| 80 | - * 21CFR(J) CLASS 1: Refers to its laser safety classification (Class 1 is generally safe under reasonably foreseeable conditions). |
|
| 81 | - * CHINA: Country of manufacture. |
|
| 82 | - * 1811: Likely a date code, possibly indicating it was manufactured in the 11th week of 2018. |
|
| 83 | - * SN: AD181130KK4: The unique serial number for this specific unit. |
|
| 84 | - |
|
| 85 | -In simple terms, this is a pluggable module used in networking equipment (like switches or routers) to convert electrical signals to optical signals (and vice-versa) for transmitting data over fiber optic cables, likely at 10 Gigabit per second speeds (10GBASE-SR standard). |
|
| 86 | - |
|
| 87 | -## 20-pin electrical edge connector of an SFP (Small Form-factor Pluggable) module. |
|
| 88 | - |
|
| 89 | -The pin functions are defined by the SFP Multi-Source Agreement (MSA), which ensures interoperability between different vendors' modules and host equipment. |
|
| 90 | - |
|
| 91 | -Pin Numbering Convention: |
|
| 92 | - |
|
| 93 | -When looking directly at the module's edge connector pins as shown in your picture (with the contacts facing you): |
|
| 94 | - * Top Row: Pins 20 down to 11 (from left to right in your image) |
|
| 95 | - * Bottom Row: Pins 10 down to 1 (from left to right in your image) |
|
| 96 | -So, the leftmost pin on the top is Pin 20, the rightmost pin on the top is Pin 11. The leftmost pin on the bottom is Pin 10, and the rightmost pin on the bottom is Pin 1. |
|
| 97 | - |
|
| 98 | -Standard SFP Pin Functions: |
|
| 99 | - |
|
| 100 | -Here is the standard pinout based on the SFP MSA specification: |
|
| 101 | - |
|
| 102 | -| Pin | Name | Function Description | Row | Side (looking at pins) | |
|
| 103 | -| --- | ------------ | -------------------------------------------- | ------ | ---------------------- | |
|
| 104 | -| 1 | VeeT | Transmitter Ground | Bottom | Right | |
|
| 105 | -| 2 | TX_FAULT | Transmitter Fault Indication (Active High) | Bottom | | |
|
| 106 | -| 3 | TX_DISABLE | Transmitter Disable (Input, Active High) | Bottom | | |
|
| 107 | -| 4 | MOD-DEF2/SDA | Module Definition 2 / Serial Data I/O | Bottom | | |
|
| 108 | -| 5 | MOD-DEF1/SCL | Module Definition 1 / Serial Clock Input | Bottom | | |
|
| 109 | -| 6 | MOD-DEF0/ABS | Module Definition 0 / Module Absent (Output) | Bottom | | |
|
| 110 | -| 7 | RS0 | Rate Select 0 (Input, often unused/grounded) | Bottom | | |
|
| 111 | -| 8 | LOS | Loss of Signal Indication (Active High) | Bottom | | |
|
| 112 | -| 9 | VeeR | Receiver Ground | Bottom | | |
|
| 113 | -| 10 | VeeR | Receiver Ground | Bottom | Left | |
|
| 114 | -| 11 | VeeR | Receiver Ground | Top | Right | |
|
| 115 | -| 12 | RD- | Inverted Received Data Output | Top | | |
|
| 116 | -| 13 | RD+ | Non-Inverted Received Data Output | Top | | |
|
| 117 | -| 14 | VeeR | Receiver Ground | Top | | |
|
| 118 | -| 15 | VccR | Receiver Power Supply (+3.3V) | Top | | |
|
| 119 | -| 16 | VccT | Transmitter Power Supply (+3.3V) | Top | | |
|
| 120 | -| 17 | VeeT | Transmitter Ground | Top | | |
|
| 121 | -| 18 | TD+ | Non-Inverted Transmit Data Input | Top | | |
|
| 122 | -| 19 | TD- | Inverted Transmit Data Input | Top | | |
|
| 123 | -| 20 | VeeT | Transmitter Ground | Top | Left | |
|
| 124 | - |
|
| 125 | -How to Identify Them on Your Module: |
|
| 126 | - * Orientation: Hold the module so you are looking directly at the gold contacts as in your picture. |
|
| 127 | - * Locate Pin 1: It's the bottom-rightmost pin. |
|
| 128 | - * Locate Pin 10: It's the bottom-leftmost pin. |
|
| 129 | - * Locate Pin 11: It's the top-rightmost pin. |
|
| 130 | - * Locate Pin 20: It's the top-leftmost pin. |
|
| 131 | - * Refer to the Table: Use the table above to know the function associated with each pin number/position. |
|
| 132 | - |
|
| 133 | -Key Pin Groups: |
|
| 134 | - * Power: VccR (Pin 15), VccT (Pin 16) provide the 3.3V power. VeeR and VeeT are the corresponding grounds. |
|
| 135 | - * High-Speed Data: RD+/RD- (Pins 13, 12) are the differential receiver output pair. TD+/TD- (Pins 18, 19) are the differential transmitter input pair. |
|
| 136 | - * Control/Status: TX_FAULT (Pin 2), TX_DISABLE (Pin 3), LOS (Pin 8) are important status and control signals. |
|
| 137 | - * Management/ID: SDA (Pin 4), SCL (Pin 5), and MOD_ABS (Pin 6) are used for the I2C interface to read module information (like vendor, model, S/N, DDM/DOM values). |
|
| 138 | - |
|
| 139 | -While this pinout is standard, the datasheet for the specific SFP module model (like the Avago AFBR-709SMZ from your first image) is always the definitive source. However, for standard SFP/SFP+ functions, this MSA pinout is reliable. |
|
| 140 | - |
|
| 141 | - |
|
| 142 | - |
|
| 143 | - |
|
| 144 | -SFP to [[RJ45-dat]] |
|
| 145 | - |
|
| 146 | -The optical-to-electrical module converts the SFP optical port of the device into an RJ45 network port/electrical port. |
|
| 147 | - |
|
| 148 | -光转电模块是将设备SFP光口转成RJ45网口/即电口 |
|
| 149 | - |
|
| 150 | - |
|
| 151 | -## sfp transceiver module |
|
| 152 | - |
|
| 153 | -SFP stands for Small Form-factor Pluggable. |
|
| 154 | - |
|
| 155 | -It is a compact, hot-pluggable fiber optic transceiver used for data transmission over fiber optic or copper cables. |
|
| 156 | - |
|
| 157 | - |
|
| 158 | - |
|
| 159 | - |
|
| 160 | - |
|
| 161 | - |
|
| 162 | - |
|
| 163 | -SFP is short for Small Form-factor Pluggables, which is a small package pluggable optical transceiver module. SFP can be regarded as a pluggable version of SFF. Its electrical interface is 20pin gold finger, and the data signal interface is basically the same as the SFP module. The SFP module also provides an I2C control interface that is compatible with the optical interface diagnostics of the SFP-8472 standard. |
|
| 164 | - |
|
| 165 | - |
|
| 166 | -万兆光口SFP+模块分为多模和单模 |
|
| 167 | - |
|
| 168 | -SFP+ 多模: 850nm波长,最大可传550米 |
|
| 169 | - |
|
| 170 | -SFP+ 单模: 1310nm到1550nm波长,可传10~80千米。 |
|
| 171 | - |
|
| 172 | - |
|
| 173 | - |
|
| 174 | -### working scenario |
|
| 175 | - |
|
| 176 | - |
|
| 177 | - |
|
| 178 | - |
|
| 179 | -## chip solutions |
|
| 180 | - |
|
| 181 | -- [[realtek-dat]] |
|
| 182 | - |
|
| 183 | -## ref |
|
| 184 | - |
|
| 185 | -- [[SFP]] |
|
| 186 | - |
|
| 187 | -- [[fiber-optic-dat]] |
|
| 188 | - |
|
| 189 | -- https://forum.huawei.com/enterprise/intl/en/thread/What-is-inside-a-SFP-transceiver/667249762887417856?blogId=667249762887417856 |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/2025-04-25-03-37-44.png
| ... | ... | Binary files a/Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/2025-04-25-03-37-44.png and /dev/null differ |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/SFP-transceiver-dat/pmod-dat/pmod-dat.md
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | - |
|
| 2 | -# pmod-dat |
|
| 3 | - |
|
| 4 | -https://digilent.com/reference/pmod/specification?redirect=1#communication_protocols |
|
| 5 | - |
|
| 6 | -https://vksdr.com/pmod/ |
|
| 7 | - |
|
| 8 | -- [[toslink-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/fiber-optic-dat/fiber-optic-transceiver-dat/fiber-optic-transceiver-dat.md
| ... | ... | @@ -1,93 +0,0 @@ |
| 1 | - |
|
| 2 | -# fiber-optic-transceiver-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -**SFPs** in the network switch can offer alarming and failure reporting (DOM) so that technicians can check the network failure by the information. == [[SFP-transceiver-dat]] |
|
| 6 | - |
|
| 7 | -**Media converters** are a solution where a switch or connected device does not support optical or needs to extend the transmission distance. |
|
| 8 | - |
|
| 9 | -- [[fiber-optic-dat]] to [[ethernet-dat]] |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -- connector type = [[SC-connector-dat]] |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## Differences Between SFP Module and Media Converter |
|
| 19 | - |
|
| 20 | -### 🧩 1. What They Are |
|
| 21 | - |
|
| 22 | -| Term | Description | |
|
| 23 | -| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
|
| 24 | -| **SFP Module** | A small pluggable transceiver module used to connect a switch, router, or network device to fiber or copper cables. Stands for **Small Form-factor Pluggable**. | |
|
| 25 | -| **Media Converter** | A standalone device that converts one media type to another — typically **fiber to copper (RJ45)** or vice versa. Often used to extend Ethernet over fiber. | |
|
| 26 | - |
|
| 27 | ---- |
|
| 28 | - |
|
| 29 | -### 🔍 2. Purpose and Function |
|
| 30 | - |
|
| 31 | -| Feature | SFP Module | Media Converter | |
|
| 32 | -| ----------------- | ------------------------------------------------------------- | ---------------------------------------------- | |
|
| 33 | -| **Main Purpose** | Plug into network equipment to adapt port type (fiber/copper) | Convert between Ethernet and fiber mediums | |
|
| 34 | -| **Typical Use** | Installed in switches, routers, NICs | Standalone use or wall-mounted, no direct slot | |
|
| 35 | -| **Hot-swappable** | Yes | Usually not (depends on model) | |
|
| 36 | -| **Customizable** | Highly (can swap different SFP modules) | Fixed ports (unless modular) | |
|
| 37 | - |
|
| 38 | ---- |
|
| 39 | - |
|
| 40 | -### 🔌 3. Port Type and Flexibility |
|
| 41 | - |
|
| 42 | -| Feature | SFP Module | Media Converter | |
|
| 43 | -| --------------- | ------------------------------------------------ | -------------------------------------- | |
|
| 44 | -| **Interface** | Slot-based (requires SFP-capable device) | Usually 1x RJ45 + 1x Fiber port | |
|
| 45 | -| **Port Swap** | You can change SFP types (e.g., 1G, 10G, SM, MM) | Usually fixed unless modular converter | |
|
| 46 | -| **Form Factor** | Very small and compact | Larger, box-shaped device | |
|
| 47 | - |
|
| 48 | ---- |
|
| 49 | - |
|
| 50 | -### ⚡ 4. Power and Integration |
|
| 51 | - |
|
| 52 | -| Feature | SFP Module | Media Converter | |
|
| 53 | -| ---------------- | --------------------------- | ------------------------------ | |
|
| 54 | -| **Power Source** | Powered by host device | Requires external power supply | |
|
| 55 | -| **Integration** | Seamless with switch/router | Works independently | |
|
| 56 | - |
|
| 57 | ---- |
|
| 58 | - |
|
| 59 | -### 📦 Summary Table |
|
| 60 | - |
|
| 61 | -| Feature | SFP Module | Media Converter | |
|
| 62 | -| --------------------------- | --------------------------------- | ---------------------------------- | |
|
| 63 | -| **Size** | Very small | Medium to large (standalone box) | |
|
| 64 | -| **Plug into** | Switch, router, NIC with SFP slot | Ethernet device, not requiring SFP | |
|
| 65 | -| **Supports multiple media** | Yes (depends on module) | Yes (via fixed or modular ports) | |
|
| 66 | -| **Use case** | Add fiber to network gear | Extend Ethernet over fiber | |
|
| 67 | - |
|
| 68 | ---- |
|
| 69 | - |
|
| 70 | -### ✅ When to Use Which? |
|
| 71 | - |
|
| 72 | -- Use an **SFP module** when: |
|
| 73 | - - You have a switch or router with SFP slots. |
|
| 74 | - - You need modular, hot-swappable fiber/copper connections. |
|
| 75 | - |
|
| 76 | -- Use a **Media Converter** when: |
|
| 77 | - - Your device lacks SFP slots. |
|
| 78 | - - You need to convert Ethernet to fiber externally. |
|
| 79 | - |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | -## ref |
|
| 84 | - |
|
| 85 | -- [[fiber-optic-connector-dat]] |
|
| 86 | - |
|
| 87 | -- [[SFP-transceiver-dat]] |
|
| 88 | - |
|
| 89 | -- [[fiber-optic-dat]] - [[fiber-optic]] |
|
| 90 | - |
|
| 91 | -- [[fiber-optic-transceiver]] - [[maker]] |
|
| 92 | - |
|
| 93 | -- [[SPF]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/frequency-dat/bands-dat/bands-dat.md
| ... | ... | @@ -1,42 +0,0 @@ |
| 1 | - |
|
| 2 | -# bands-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[SIM7020-dat]] - [[SIM7022-dat]] - [[SIM7028-dat]] |
|
| 6 | - |
|
| 7 | -| bands | SIM7028 | SIM7022 | SIM7020G@Cat-M | SIM7020G@NBIOT | SIM7020E | SIM7020C | |
|
| 8 | -| ----- | ------- | ------- | -------------- | -------------- | -------- | -------- | |
|
| 9 | -| B1 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 10 | -| B2 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 11 | -| B3 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 12 | -| B4 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 13 | -| B5 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 14 | -| B8 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
| 15 | -| B12 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 16 | -| B13 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 17 | -| B14 | ✔ | ✔ | ✔ | ? | | | |
|
| 18 | -| B17 | ✔ | ✔ | ? | ? | | | |
|
| 19 | -| B18 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 20 | -| B19 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 21 | -| B20 | ✔ | ✔ | ✔ | ✔ | ✔ | | |
|
| 22 | -| B25 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 23 | -| B26 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 24 | -| B28 | ✔ | ✔ | ✔ | ✔ | ✔ | | |
|
| 25 | -| B66 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 26 | -| B70 | ✔ | ✔ | ? | ? | | | |
|
| 27 | -| B71 | | | ? | ✔ | | | |
|
| 28 | -| B85 | ✔ | ✔ | ✔ | ✔ | | | |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## Modules |
|
| 33 | - |
|
| 34 | -| model | lifespan | type | size(mm) | note | |
|
| 35 | -| --------------- | -------- | -------- | ---------- | -------------------------------------------------- | |
|
| 36 | -| SIM7020C | | NB1 | 17.6*15.7 | 1/3/5/8 | |
|
| 37 | -| SIM7020E | | NB1 | 17.6*15.7 | 1/3/5/8/20/28 | |
|
| 38 | -| SIM7030 | | NB1 | 16*18 | LTE FDD 1/3/5/8 | |
|
| 39 | -| SIM7060 | | NB1+GNSS | 24*24 | LTE FDD 5/8 | |
|
| 40 | -| SIM7020G | | NB2 | 17.6*15.7 | 1/2/3/4/5/8/12/13/17/18/19/20/25/26/28/66/70/71/85 | |
|
| 41 | -| [[SIM7060-dat]] | ? | NB2+GNSS | 24*24 | 1/2/3/4/5/8/12/13/17/18/19/20/25/26/28/66/70/71/85 | |
|
| 42 | - |
Tech-dat/Network-dat/frequency-dat/frequency-dat.md
| ... | ... | @@ -1,68 +0,0 @@ |
| 1 | - |
|
| 2 | -# frequency-dat |
|
| 3 | - |
|
| 4 | -China has several ISM (Industrial, Scientific, and Medical) bands available for low-power, short-range devices. The primary bands are: |
|
| 5 | - |
|
| 6 | -- 470-510 MHz: This is the main band designated for LoRaWAN and other LPWAN technologies in China. |
|
| 7 | -- 779-787 MHz: Another band available for short-range devices. |
|
| 8 | -- 920-925 MHz: This band is also used, though it's narrower than in other regions. |
|
| 9 | -- 433.05-434.79 MHz: The standard 433 MHz ISM band. |
|
| 10 | -- 2.4 GHz: The global 2.4 GHz band is available. |
|
| 11 | -- 5.8 GHz: The global 5.8 GHz band is also available. |
|
| 12 | - |
|
| 13 | -For LoRaWAN applications, the 470-510 MHz band is the most significant and widely deployed in China. |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## 🔐 1. Anti-Theft Tags (EAS – Electronic Article Surveillance) |
|
| 18 | - |
|
| 19 | -These are common in retail stores to prevent theft. They are **not** RFID but use simpler tech. |
|
| 20 | - |
|
| 21 | -- **Frequency:** **8.2 MHz** (RF system, most common) |
|
| 22 | -- **Other types:** |
|
| 23 | - - **58 kHz** (AM system – Acousto-Magnetic) |
|
| 24 | - - **Radio Frequency (RF):** 8.2 MHz |
|
| 25 | - - **Microwave:** 2.45 GHz (rare) |
|
| 26 | - |
|
| 27 | ---- |
|
| 28 | - |
|
| 29 | -## 📡 2. RFID Tags in Clothing |
|
| 30 | - |
|
| 31 | -Used for inventory, supply chain, smart fitting rooms, etc. |
|
| 32 | - |
|
| 33 | -### 🔸 a. **UHF (Ultra High Frequency) RFID** |
|
| 34 | -- **Frequency:** **860–960 MHz** |
|
| 35 | -- **Most common** in retail for clothing |
|
| 36 | -- **Read range:** Up to 10 meters |
|
| 37 | -- **Standard:** EPC Gen 2 / ISO 18000-6C |
|
| 38 | - |
|
| 39 | -### 🔸 b. **HF (High Frequency) RFID** |
|
| 40 | -- **Frequency:** **13.56 MHz** |
|
| 41 | -- **Used in smart labels, near-field communication (NFC)** |
|
| 42 | -- **Read range:** ~10 cm |
|
| 43 | -- **Standard:** ISO 14443 or ISO 15693 |
|
| 44 | - |
|
| 45 | ---- |
|
| 46 | - |
|
| 47 | -## ✅ Summary Table |
|
| 48 | - |
|
| 49 | -| Tag Type | Frequency | Use | |
|
| 50 | -|--------------------|---------------|-------------------------------| |
|
| 51 | -| EAS RF | 8.2 MHz | Anti-theft (retail) | |
|
| 52 | -| EAS AM | 58 kHz | Anti-theft (retail) | |
|
| 53 | -| RFID HF | 13.56 MHz | Inventory, NFC, smart tags | |
|
| 54 | -| RFID UHF | 860–960 MHz | Inventory, long-range scans | |
|
| 55 | -| Microwave RFID | 2.45 GHz | Rare, high-speed systems | |
|
| 56 | - |
|
| 57 | ---- |
|
| 58 | - |
|
| 59 | -## 👕 In Clothing Retail Today |
|
| 60 | - |
|
| 61 | -Most clothing stores use: |
|
| 62 | -- **EAS RF (8.2 MHz)** for anti-theft |
|
| 63 | -- **UHF RFID (860–960 MHz)** for inventory tracking |
|
| 64 | - |
|
| 65 | - |
|
| 66 | -## ref |
|
| 67 | - |
|
| 68 | -- [[RF-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/location-dat/AGPS-dat/AGPS-net.md
| ... | ... | @@ -1,25 +0,0 @@ |
| 1 | - |
|
| 2 | -# AGPS-dat |
|
| 3 | - |
|
| 4 | -AGPS, or Assisted Global Positioning System, is a technology that uses information from cellular base stations to provide location data. It's often used in mobile phones and is useful when mobile devices can't connect with GPS satellites or when satellite signals can't penetrate. A-GPS can provide accurate location data even when a reliable connection can't be made with the required number of satellites. |
|
| 5 | - |
|
| 6 | -A-GPS devices determine location coordinates faster than GPS devices because they have better connectivity with cell sites. However, A-GPS locations are slightly less accurate than GPS locations. |
|
| 7 | - |
|
| 8 | -## Features |
|
| 9 | - |
|
| 10 | -- very fast within seconds |
|
| 11 | - |
|
| 12 | - |
|
| 13 | -## Specs |
|
| 14 | - |
|
| 15 | -- AGPS precisions based on the nearby 4G stations' signal, which is around 1-2 KG |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## Our supported and selling boards |
|
| 19 | - |
|
| 20 | -- [[ED20-dat]] |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## ref |
|
| 24 | - |
|
| 25 | -- [[GPS-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/location-dat/GNSS-dat/2025-05-20-17-08-11.png
| ... | ... | Binary files a/Tech-dat/Network-dat/location-dat/GNSS-dat/2025-05-20-17-08-11.png and /dev/null differ |
Tech-dat/Network-dat/location-dat/GNSS-dat/GNSS-dat.md
| ... | ... | @@ -1,150 +0,0 @@ |
| 1 | - |
|
| 2 | -# GNSS-dat |
|
| 3 | - |
|
| 4 | -- [[simcom-at-sscom-location-dat]] |
|
| 5 | - |
|
| 6 | -- [[beidou-dat]] - [[GPS-dat]] - [[GLONASS-dat]] |
|
| 7 | - |
|
| 8 | -- gnss protocol - [[quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf]] |
|
| 9 | - |
|
| 10 | -- GSV - GNSS Satellites in View. |
|
| 11 | - |
|
| 12 | -- GSA - GNSS DOP and Active Satellites. GNSS receiver operating mode, satellites used in the navigation solution reported by the GGA sentence, and DOP values. |
|
| 13 | - |
|
| 14 | -- GLL - Geographic Position – Latitude/Longitude. |
|
| 15 | - |
|
| 16 | -- GGA - Global Positioning System Fix Data. Time, position, and fix-related data for a GNSS receiver. |
|
| 17 | - |
|
| 18 | -- VTG - Course Over Ground & Ground Speed. |
|
| 19 | - |
|
| 20 | -- RMC - Recommended Minimum Specific GNSS Data. Time, date, position, course, and speed data provided by a GNSS receiver. |
|
| 21 | - |
|
| 22 | -## tech |
|
| 23 | - |
|
| 24 | -### What is a POT GNSS Module? |
|
| 25 | - |
|
| 26 | -A **POT GNSS module** refers to a GNSS (Global Navigation Satellite System) module that uses a **Patch On Top (POT)** antenna design. |
|
| 27 | - |
|
| 28 | -- **POT** stands for **Patch On Top**. |
|
| 29 | -- The module integrates a ceramic patch antenna directly on top of the GNSS receiver. |
|
| 30 | -- This design makes the module compact, easy to integrate, and suitable for space-constrained applications. |
|
| 31 | -- POT GNSS modules are commonly used for GPS, GLONASS, Galileo, and BeiDou navigation systems. |
|
| 32 | - |
|
| 33 | -**Summary:** |
|
| 34 | -A POT GNSS module is a navigation module with a built-in patch antenna mounted on top, providing a simple and compact solution for satellite positioning. |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -## GNSS Start |
|
| 38 | - |
|
| 39 | -COLD start GNSS: |
|
| 40 | -- When first used; |
|
| 41 | -- Loss of ephemeris information due to battery depletion; |
|
| 42 | -- Move the receiver more than 200 km under shutdown. |
|
| 43 | - |
|
| 44 | -HOT start GNSS: |
|
| 45 | -- Boot less than two hours from the last location |
|
| 46 | - |
|
| 47 | -WARM start GNSS: |
|
| 48 | -- Boot more than two hours from the last location |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -## GNSS bands |
|
| 52 | -| Type | Frequecy | |
|
| 53 | -| ------- | ----------------- | |
|
| 54 | -| GPS | 1575.42±1.023MHz | |
|
| 55 | -| GLONASS | 1597.5~1605.8MHz | |
|
| 56 | -| BeiDou | 1561.098±2.046MHz | |
|
| 57 | - |
|
| 58 | -## GNSS Antenna Requirements |
|
| 59 | - |
|
| 60 | -| Antenna Specification | Specification Requirement | |
|
| 61 | -| :------------------------- | :--------------------------------- | |
|
| 62 | -| Operating Frequency Band | L1: 1559~1609MHz | |
|
| 63 | -| Directionality | Hemisphere, face to sky | |
|
| 64 | -| Impedance | 50 Ω | |
|
| 65 | -| Maximum Input Power | 50W | |
|
| 66 | -| VSWR | < 2 | |
|
| 67 | -| Polarization Type | RHCP or Linear | |
|
| 68 | -| Passive Antenna Gain | 0dBi | |
|
| 69 | -| Active Antenna Gain | -2dBi | |
|
| 70 | -| Active Antenna Noise Figure| < 1.5 | |
|
| 71 | -| Built-in Antenna LNA Gain | 20dB(Typ.) | |
|
| 72 | -| Total Antenna Gain | < 18 dB | |
|
| 73 | -| Coaxial Cable Insertion Loss | <1.5dB | |
|
| 74 | - |
|
| 75 | - |
|
| 76 | -## Schematic |
|
| 77 | - |
|
| 78 | -- [[A7670-dat]] |
|
| 79 | - |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | -## commands examples |
|
| 84 | - |
|
| 85 | - Search GPS + GLONASS: |
|
| 86 | - $PMTK353,1,1,0,0,0*2B |
|
| 87 | - |
|
| 88 | - Enable GPS, Glonass, Galileo: |
|
| 89 | - $PMTK353,1,1,1,0,0*2A |
|
| 90 | - |
|
| 91 | -Sets the speed threshold for static navigation. |
|
| 92 | - |
|
| 93 | - $PMTK386,0.4*39 |
|
| 94 | - $PMTK001,386,3*3D |
|
| 95 | - |
|
| 96 | -Gets whether the GPS/GLONASS/BDS/Galileo satellite seraching is enabled or not. |
|
| 97 | - |
|
| 98 | - $PMTK355*31 |
|
| 99 | - $PMTK001,355,3,1,1,0,0*33 |
|
| 100 | - |
|
| 101 | -PMTK838 PMTK_TEST_ANTI_SPOOFING - Enables or disables jamming detection function. |
|
| 102 | - |
|
| 103 | - $PMTK838,1*2C |
|
| 104 | - $PMTK001,838,3,1*2E |
|
| 105 | - |
|
| 106 | - |
|
| 107 | -PMTK605 PMTK_Q_RELEASE - Queries the firmware release information. See PMTK_DT_RELEASE for the query result. |
|
| 108 | - |
|
| 109 | - $PMTK605*31 |
|
| 110 | - $PMTK705,MT3333_AXN5.1.9_MODULE_STD_F1_P1,0007,Quectel-L76L,1.0*08 |
|
| 111 | - $PMTK705,AXN_5.1.6_3333_19010218,0007,Quectel-L76L,1.0*53 |
|
| 112 | - |
|
| 113 | - |
|
| 114 | -## GNSS Log |
|
| 115 | - |
|
| 116 | - $GBGSV,2,1,06,03,65,189,40,07,41,202,27,16,27,165,34,27,79,266,39,0*75 |
|
| 117 | - $GBGSV,2,2,06,28,46,154,39,32,50,281,47,0*7F |
|
| 118 | - $GNRMC,081456.00,A,2234.27498,N,11353.24761,E,0.000,,010625,,,A,V*1E |
|
| 119 | - $GNGGA,081456.00,2234.27498,N,11353.24761,E,1,13,1.36,28.7,M,,M,,*6D |
|
| 120 | - $GNGSA,A,3,05,11,15,29,18,24,13,,,,,,2.04,1.36,1.53,1*03 |
|
| 121 | - $GNGSA,A,3,27,28,32,03,07,16,,,,,,,2.04,1.36,1.53,4*0C |
|
| 122 | - $GPGSV,3,1,09,05,44,017,30,15,66,258,46,18,13,320,31,29,47,278,44,0*6A |
|
| 123 | - $GPGSV,3,2,09,11,32,114,29,13,68,041,26,24,19,179,26,194,,,27,0*62 |
|
| 124 | - $GPGSV,3,3,09,199,,,26,0*59 |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -### GNSS Data Summary (June 1, 2025, 08:14:56 UTC) |
|
| 128 | - |
|
| 129 | -| Parameter | Value | |
|
| 130 | -|-----------------------|----------------------------------------| |
|
| 131 | -| **Date/Time (UTC)** | 2025-06-01 08:14:56 | |
|
| 132 | -| **Fix Status** | 3D Fix (Valid) | |
|
| 133 | -| **Latitude** | 22° 34.27498′ N | |
|
| 134 | -| **Longitude** | 113° 53.24761′ E | |
|
| 135 | -| **Altitude** | 28.7 m above mean sea level | |
|
| 136 | -| **Speed (Ground)** | 0.000 knots (stationary) | |
|
| 137 | -| **Satellites Used** | 13 (GPS + BeiDou) | |
|
| 138 | -| **Satellites in View**| 15 (9 GPS, 6 BeiDou) | |
|
| 139 | -| **HDOP** | 1.36 (Good) | |
|
| 140 | -| **VDOP** | 1.53 (Good) | |
|
| 141 | -| **PDOP** | 2.04 | |
|
| 142 | -| **GPS Satellites** | 05, 11, 13, 15, 18, 24, 29, (194?), (199?) | |
|
| 143 | -| **BeiDou Satellites** | 03, 07, 16, 27, 28, 32 | |
|
| 144 | - |
|
| 145 | - |
|
| 146 | -## ref |
|
| 147 | - |
|
| 148 | -- [[GPS-dat]] - [[quectel-GPS-dat]] |
|
| 149 | - |
|
| 150 | -- [[SIMCOM-dat]] - [[simcom-at-sscom-location-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/location-dat/GNSS-dat/quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf
| ... | ... | Binary files a/Tech-dat/Network-dat/location-dat/GNSS-dat/quectel_l76-lbl26-lblc86l_gnss_protocol_specification_v2-2.pdf and /dev/null differ |
Tech-dat/Network-dat/location-dat/GPS-dat/GPS-dat.md
| ... | ... | @@ -1,101 +0,0 @@ |
| 1 | - |
|
| 2 | -# GPS-dat |
|
| 3 | - |
|
| 4 | -- legacy wiki page - https://w.electrodragon.com/w/Category:Location#GNSS |
|
| 5 | - |
|
| 6 | -## Functions |
|
| 7 | - |
|
| 8 | -- [[GNSS-dat]] |
|
| 9 | -- ATGM |
|
| 10 | -- [[GPS-dat]] |
|
| 11 | -- Galileo |
|
| 12 | -- sbas |
|
| 13 | -- dgps |
|
| 14 | -- beidou |
|
| 15 | -- glonass |
|
| 16 | -- gzss |
|
| 17 | -- [[AGPS-dat]] |
|
| 18 | - |
|
| 19 | -## boards |
|
| 20 | - |
|
| 21 | -- [[NGS1052-dat]] - [[NGS1089-dat]] - [[NGS1078-dat]] - [[quectel-gps-dat]] |
|
| 22 | - |
|
| 23 | -## chip manufactures |
|
| 24 | - |
|
| 25 | -- [[quectel-gps-dat]] - [[ZHONGKEWEI-dat]] - [[SIMCOM-dat]] |
|
| 26 | - |
|
| 27 | -- [[u-blox-dat]] |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## software |
|
| 31 | - |
|
| 32 | -- https://igs.bkg.bund.de/ntrip/download |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -## Tesing |
|
| 38 | - |
|
| 39 | -[[NGS1089-dat]] |
|
| 40 | - |
|
| 41 | - AT+CPIN? |
|
| 42 | - +CPIN: READY |
|
| 43 | - |
|
| 44 | - AT+CGNSPWR=? |
|
| 45 | - +CGNSPWR: (0-1) |
|
| 46 | - |
|
| 47 | - OK |
|
| 48 | - AT+CGNSPWR? |
|
| 49 | - +CGNSPWR: 0 |
|
| 50 | - |
|
| 51 | - OK |
|
| 52 | - AT+CGNSPWR=1 |
|
| 53 | - OK |
|
| 54 | - |
|
| 55 | - AT+CGNSINF |
|
| 56 | - +CGNSINF: 1,0,19800109075159.000,,,,0.00,0.0,0,,,,,,3,0,2,,44,, |
|
| 57 | - |
|
| 58 | - OK |
|
| 59 | - AT+CGNSINF |
|
| 60 | - +CGNSINF: 1,0,20240626075200.000,,,,0.00,0.0,0,,,,,,3,0,2,,44,, |
|
| 61 | - |
|
| 62 | - |
|
| 63 | - AT+CGNSINF |
|
| 64 | - +CGNSINF: 1,1,20240626074838.000,22.570777,113.887168,155.727,0.00,65.8,1,,2.8,3.0,1.0,,7,4,5,,47,, |
|
| 65 | - |
|
| 66 | - |
|
| 67 | -- 2.1 AT+CGNSPWR GNSS power control ...................................................................... 8 |
|
| 68 | -- 2.2 AT+CGNSSEQ Define the last NMEA sentence that parsed ..................................... 9 |
|
| 69 | -- 2.3 AT+CGNSINF GNSS navigation information parsed from NMEA sentences ......... 11 |
|
| 70 | -- 2.4 AT+CGNSURC GNSS navigation, GEO-fences and speed alarm URC report ....... 12 |
|
| 71 | -- 2.5 AT+CGNSCMD Send command to GNSS ............................................................... 13 |
|
| 72 | -- 2.6 AT+CGNSTST Send data received from UART2 to UART1 ................................... 14 |
|
| 73 | -- 2.7 AT+CGNSCHK Check EPO file property ................................................................ 14 |
|
| 74 | -- 2.8 AT+CGNSDEL Delete EPO file ............................................................................... 15 |
|
| 75 | -- 2.9 AT+CGNSIPR Configure UART2 baud rate ............................................................ 16 |
|
| 76 | -- 2.10 AT+CGNSAID Send EPO file to GNSS engine ....................................................... 16 |
|
| 77 | -- 2.11 AT+CRFLOC Give reference location to GNSS engine ........................................... 17 |
|
| 78 | -- 2.12 AT+CGNSVER Query GNSS version....................................................................... 17 |
|
| 79 | - |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | -## Note |
|
| 85 | - |
|
| 86 | -### Why you really need good GPS signal, compare to your smart phone? |
|
| 87 | - |
|
| 88 | -- your smart phone use 4G network to assist the location, but GPS module use [[GPS-dat]] signal location only |
|
| 89 | -- read more at [[AGPS-net]] |
|
| 90 | - |
|
| 91 | -## interface |
|
| 92 | - |
|
| 93 | -- [[serial-dat]] |
|
| 94 | - |
|
| 95 | -- [[NGS1078]] |
|
| 96 | - |
|
| 97 | -- [[quectel-gps-dat]] - [[quectel-gnss-dat]] |
|
| 98 | - |
|
| 99 | -## ref |
|
| 100 | - |
|
| 101 | -- [[location-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/location-dat/LBS-dat/LBS-dat.md
| ... | ... | @@ -1,6 +0,0 @@ |
| 1 | - |
|
| 2 | -# LBS-dat |
|
| 3 | - |
|
| 4 | -what is LBS location? |
|
| 5 | - |
|
| 6 | -LBS (Location-Based Service) location refers to the technology used to determine the approximate location of a device using information from cellular network towers, Wi-Fi hotspots, and other non-GPS data sources. It's used to provide location-based services to users. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/location-dat/NEMA-dat/NEMA-dat.md
| ... | ... | @@ -1,235 +0,0 @@ |
| 1 | - |
|
| 2 | -# NEMA-dat |
|
| 3 | - |
|
| 4 | - AT+QGNSSRD? |
|
| 5 | - +QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F |
|
| 6 | - $GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22 |
|
| 7 | - $GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F |
|
| 8 | - $GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E |
|
| 9 | - $BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11 |
|
| 10 | - $GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F |
|
| 11 | - $GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70 |
|
| 12 | - $GPGSV,3,3,10,194,,,31,195,,,30*78 |
|
| 13 | - $BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F |
|
| 14 | - $BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D |
|
| 15 | - $BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C |
|
| 16 | - $BDGSV,4,4,14,11,01,318,,12,,,20*57 |
|
| 17 | - $GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45 |
|
| 18 | - |
|
| 19 | - OK |
|
| 20 | - |
|
| 21 | -* `+QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F`: Recommended Minimum GNSS data: Fix at 07:56:20.000 UTC, Lat 22°34.2809'N, Lon 113°53.2465'E, speed 0.2 knots, course 253.84°, date 14/05/2025, valid, autonomous. |
|
| 22 | -* `$GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22`: Course Over Ground and Ground Speed: Course 253.84° True, speed 0.20 knots (0.38 km/h), autonomous. |
|
| 23 | -* `$GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F`: Global Positioning System Fix Data: Fix at 07:56:20.000 UTC, Lat/Lon, quality 1 (GPS fix), 12 satellites, HDOP 0.91, altitude 52.5m. |
|
| 24 | -* `$GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E`: GPS DOP and Active Satellites: Automatic 3D fix, using 8 GPS satellites (IDs listed), PDOP 1.20, HDOP 0.91, VDOP 0.79. |
|
| 25 | -* `$BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11`: BeiDou DOP and Active Satellites: Automatic 3D fix, using 4 BeiDou satellites (IDs listed), PDOP 1.20, HDOP 0.91, VDOP 0.79. |
|
| 26 | -* `$GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F`: GPS Satellites in View (message 1 of 3): 10 GPS satellites total, details for 4 (IDs 50, 13, 05, 15). |
|
| 27 | -* `$GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70`: GPS Satellites in View (message 2 of 3): Details for 4 more GPS satellites (IDs 06, 29, 12, 19). |
|
| 28 | -* `$GPGSV,3,3,10,194,,,31,195,,,30*78`: GPS Satellites in View (message 3 of 3): Details for the last 2 GPS satellites (IDs 194, 195). |
|
| 29 | -* `$BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F`: BeiDou Satellites in View (message 1 of 4): 14 BeiDou satellites total, details for 4 (IDs 10, 03, 07, 08). |
|
| 30 | -* `$BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D`: BeiDou Satellites in View (message 2 of 4): Details for 4 more BeiDou satellites (IDs 13, 01, 02, 04). |
|
| 31 | -* `$BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C`: BeiDou Satellites in View (message 3 of 4): Details for 4 more BeiDou satellites (IDs 05, 16, 06, 09). |
|
| 32 | -* `$BDGSV,4,4,14,11,01,318,,12,,,20*57`: BeiDou Satellites in View (message 4 of 4): Details for the last 2 BeiDou satellites (IDs 11, 12). |
|
| 33 | -* `$GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45`: Geographic Position (Latitude/Longitude): Fix at 07:56:20.000 UTC, Lat 22°34.2809'N, Lon 113°53.2465'E, data valid, autonomous mode. |
|
| 34 | -* |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -### `+QGNSSRD: $GNRMC,075620.000,A,2234.2809,N,11353.2465,E,0.20,253.84,140525,,,A*7F` |
|
| 38 | - |
|
| 39 | -This line is the response from the module, starting with the NMEA RMC sentence. |
|
| 40 | -* `+QGNSSRD:`: Indicates this is a response to the `AT+QGNSSRD?` command. |
|
| 41 | -* `$GNRMC`: NMEA sentence type. |
|
| 42 | - * `GN`: Indicates a combined GNSS fix (e.g., GPS, GLONASS, Galileo, BeiDou). |
|
| 43 | - * `RMC`: Recommended Minimum Specific GNSS Data. |
|
| 44 | -* `075620.000`: UTC Time of fix: 07:56:20.000. |
|
| 45 | -* `A`: Status: `A` = Active (data valid). `V` = Void (data not valid). |
|
| 46 | -* `2234.2809,N`: Latitude: 22 degrees, 34.2809 minutes North. |
|
| 47 | -* `11353.2465,E`: Longitude: 113 degrees, 53.2465 minutes East. |
|
| 48 | -* `0.20`: Speed over ground in knots. |
|
| 49 | -* `253.84`: Course over ground in degrees (True). |
|
| 50 | -* `140525`: Date: 14th May 2025 (DDMMYY format). |
|
| 51 | -* `,,,`: Magnetic variation (degrees, E/W) - field is empty, not provided. |
|
| 52 | -* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous mode. `D` = Differential mode. `E` = Estimated (dead reckoning) mode. `N` = Data not valid. |
|
| 53 | -* `*7F`: Checksum for data integrity (hexadecimal). |
|
| 54 | - |
|
| 55 | -### `$GNVTG,253.84,T,,M,0.20,N,0.38,K,A*22` |
|
| 56 | - |
|
| 57 | -This is the VTG (Course Over Ground and Ground Speed) sentence. |
|
| 58 | -* `$GNVTG`: NMEA sentence type. |
|
| 59 | - * `GN`: Combined GNSS. |
|
| 60 | - * `VTG`: Course Over Ground and Ground Speed. |
|
| 61 | -* `253.84,T`: Course over ground (degrees True). `T` indicates True North. |
|
| 62 | -* `,,M`: Course over ground (degrees Magnetic). `M` indicates Magnetic North - field is empty, not provided. |
|
| 63 | -* `0.20,N`: Speed over ground in knots. `N` indicates Knots. |
|
| 64 | -* `0.38,K`: Speed over ground in kilometers per hour. `K` indicates Kilometers per hour. |
|
| 65 | -* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous. `D` = Differential. `E` = Estimated. `N` = Data not valid. |
|
| 66 | -* `*22`: Checksum. |
|
| 67 | - |
|
| 68 | -### `$GNGGA,075620.000,2234.2809,N,11353.2465,E,1,12,0.91,52.5,M,-2.9,M,,*5F` |
|
| 69 | - |
|
| 70 | -This is the GGA (Global Positioning System Fix Data) sentence. |
|
| 71 | -* `$GNGGA`: NMEA sentence type. |
|
| 72 | - * `GN`: Combined GNSS. |
|
| 73 | - * `GGA`: Global Positioning System Fix Data. |
|
| 74 | -* `075620.000`: UTC Time of fix. |
|
| 75 | -* `2234.2809,N`: Latitude. |
|
| 76 | -* `11353.2465,E`: Longitude. |
|
| 77 | -* `1`: Fix quality: |
|
| 78 | - * `0` = Invalid |
|
| 79 | - * `1` = GPS fix (SPS) |
|
| 80 | - * `2` = DGPS fix |
|
| 81 | - * `3` = PPS fix |
|
| 82 | - * `4` = Real Time Kinematic |
|
| 83 | - * `5` = Float RTK |
|
| 84 | - * `6` = Estimated (dead reckoning) |
|
| 85 | - * `7` = Manual input mode |
|
| 86 | - * `8` = Simulation mode |
|
| 87 | -* `12`: Number of satellites being tracked. |
|
| 88 | -* `0.91`: Horizontal Dilution of Precision (HDOP). |
|
| 89 | -* `52.5,M`: Altitude of antenna above mean sea level. `M` indicates Meters. |
|
| 90 | -* `-2.9,M`: Geoidal separation (difference between WGS-84 earth ellipsoid and mean sea level). `M` indicates Meters. |
|
| 91 | -* `,,`: Age of DGPS data (seconds since last SC104 type 1 or 9 update) - field is empty. DGPS station ID number - field is empty. |
|
| 92 | -* `*5F`: Checksum. |
|
| 93 | - |
|
| 94 | -### `$GPGSA,A,3,12,19,13,15,05,29,194,06,,,,,1.20,0.91,0.79*3E` |
|
| 95 | - |
|
| 96 | -This is the GSA (GNSS DOP and Active Satellites) sentence, specifically for GPS satellites. |
|
| 97 | -* `$GPGSA`: NMEA sentence type. |
|
| 98 | - * `GP`: GPS satellites. |
|
| 99 | - * `GSA`: GNSS DOP and Active Satellites. |
|
| 100 | -* `A`: Mode: `M` = Manual, forced to operate in 2D or 3D mode. `A` = Automatic, allowed to automatically switch 2D/3D. |
|
| 101 | -* `3`: Fix type: `1` = Fix not available. `2` = 2D. `3` = 3D. |
|
| 102 | -* `12,19,13,15,05,29,194,06,,,,,`: PRNs (Pseudo-Random Noise codes) of satellites used in fix (up to 12). Here, GPS satellites with PRNs 12, 19, 13, 15, 05, 29, 194, and 06 are used. |
|
| 103 | -* `1.20`: Position Dilution of Precision (PDOP). |
|
| 104 | -* `0.91`: Horizontal Dilution of Precision (HDOP). |
|
| 105 | -* `0.79`: Vertical Dilution of Precision (VDOP). |
|
| 106 | -* `*3E`: Checksum. |
|
| 107 | - |
|
| 108 | -### `$BDGSA,A,3,03,10,07,13,,,,,,,,,1.20,0.91,0.79*11` |
|
| 109 | - |
|
| 110 | -This is the GSA sentence, specifically for BeiDou satellites. |
|
| 111 | -* `$BDGSA`: NMEA sentence type. |
|
| 112 | - * `BD`: BeiDou satellites. |
|
| 113 | - * `GSA`: GNSS DOP and Active Satellites. |
|
| 114 | -* `A`: Mode: `A` = Automatic. |
|
| 115 | -* `3`: Fix type: `3` = 3D. |
|
| 116 | -* `03,10,07,13,,,,,,,,,`: PRNs of BeiDou satellites used in fix. Here, BeiDou satellites with PRNs 03, 10, 07, and 13 are used. |
|
| 117 | -* `1.20`: PDOP. |
|
| 118 | -* `0.91`: HDOP. |
|
| 119 | -* `0.79`: VDOP. |
|
| 120 | -* `*11`: Checksum. |
|
| 121 | - |
|
| 122 | -### `$GPGSV,3,1,10,50,59,148,30,13,55,166,44,05,52,310,38,15,29,211,34*7F` |
|
| 123 | - |
|
| 124 | -This is the GSV (GNSS Satellites in View) sentence, specifically for GPS satellites. This is the first message of three. |
|
| 125 | -* `$GPGSV`: NMEA sentence type. |
|
| 126 | - * `GP`: GPS satellites. |
|
| 127 | - * `GSV`: GNSS Satellites in View. |
|
| 128 | -* `3`: Total number of GSV messages for current data (this is message 1 of 3 for GPS). |
|
| 129 | -* `1`: Message number (this is the first message). |
|
| 130 | -* `10`: Total number of GPS satellites in view. |
|
| 131 | -* For each satellite (up to 4 per message): |
|
| 132 | - * `50`: Satellite PRN number (ID 50). |
|
| 133 | - * `59`: Elevation in degrees (max 90). |
|
| 134 | - * `148`: Azimuth in degrees (True, 0-359). |
|
| 135 | - * `30`: SNR (Signal to Noise Ratio) in dB (00-99), null when not tracking. |
|
| 136 | - * `13,55,166,44`: Satellite ID 13, Elevation 55, Azimuth 166, SNR 44. |
|
| 137 | - * `05,52,310,38`: Satellite ID 05, Elevation 52, Azimuth 310, SNR 38. |
|
| 138 | - * `15,29,211,34`: Satellite ID 15, Elevation 29, Azimuth 211, SNR 34. |
|
| 139 | -* `*7F`: Checksum. |
|
| 140 | - |
|
| 141 | -### `$GPGSV,3,2,10,06,27,091,27,29,22,320,20,12,19,232,35,19,12,149,24*70` |
|
| 142 | - |
|
| 143 | -Second GSV message for GPS satellites (message 2 of 3). |
|
| 144 | -* `$GPGSV`: GPS Satellites in View. |
|
| 145 | -* `3`: Total number of GSV messages. |
|
| 146 | -* `2`: Message number. |
|
| 147 | -* `10`: Total number of GPS satellites in view. |
|
| 148 | -* Satellite data: |
|
| 149 | - * `06,27,091,27`: ID 06, El 27, Az 091, SNR 27. |
|
| 150 | - * `29,22,320,20`: ID 29, El 22, Az 320, SNR 20. |
|
| 151 | - * `12,19,232,35`: ID 12, El 19, Az 232, SNR 35. |
|
| 152 | - * `19,12,149,24`: ID 19, El 12, Az 149, SNR 24. |
|
| 153 | -* `*70`: Checksum. |
|
| 154 | - |
|
| 155 | -### `$GPGSV,3,3,10,194,,,31,195,,,30*78` |
|
| 156 | - |
|
| 157 | -Third GSV message for GPS satellites (message 3 of 3). |
|
| 158 | -* `$GPGSV`: GPS Satellites in View. |
|
| 159 | -* `3`: Total number of GSV messages. |
|
| 160 | -* `3`: Message number. |
|
| 161 | -* `10`: Total number of GPS satellites in view. |
|
| 162 | -* Satellite data for the remaining 2 GPS satellites: |
|
| 163 | - * `194,,,31`: ID 194, Elevation and Azimuth not provided, SNR 31. |
|
| 164 | - * `195,,,30`: ID 195, Elevation and Azimuth not provided, SNR 30. |
|
| 165 | -* `*78`: Checksum. |
|
| 166 | - |
|
| 167 | -### `$BDGSV,4,1,14,10,65,231,36,03,64,189,38,07,63,205,37,08,52,325,*6F` |
|
| 168 | - |
|
| 169 | -This is the GSV sentence for BeiDou satellites. This is the first message of four. |
|
| 170 | -* `$BDGSV`: NMEA sentence type. |
|
| 171 | - * `BD`: BeiDou satellites. |
|
| 172 | - * `GSV`: GNSS Satellites in View. |
|
| 173 | -* `4`: Total number of GSV messages for BeiDou data. |
|
| 174 | -* `1`: Message number. |
|
| 175 | -* `14`: Total number of BeiDou satellites in view. |
|
| 176 | -* Satellite data: |
|
| 177 | - * `10,65,231,36`: ID 10, El 65, Az 231, SNR 36. |
|
| 178 | - * `03,64,189,38`: ID 03, El 64, Az 189, SNR 38. |
|
| 179 | - * `07,63,205,37`: ID 07, El 63, Az 205, SNR 37. |
|
| 180 | - * `08,52,325,`: ID 08, El 52, Az 325, SNR not provided (field ends before SNR). |
|
| 181 | -* `*6F`: Checksum. (Note: The line in the example seems to be truncated for the last satellite's SNR, which might affect checksum if it was fully present). |
|
| 182 | - |
|
| 183 | -### `$BDGSV,4,2,14,13,49,300,42,01,48,121,,02,47,236,,04,34,107,*6D` |
|
| 184 | - |
|
| 185 | -Second GSV message for BeiDou satellites (message 2 of 4). |
|
| 186 | -* `$BDGSV`: BeiDou Satellites in View. |
|
| 187 | -* `4`: Total number of GSV messages. |
|
| 188 | -* `2`: Message number. |
|
| 189 | -* `14`: Total number of BeiDou satellites in view. |
|
| 190 | -* Satellite data: |
|
| 191 | - * `13,49,300,42`: ID 13, El 49, Az 300, SNR 42. |
|
| 192 | - * `01,48,121,,`: ID 01, El 48, Az 121, SNR not provided. |
|
| 193 | - * `02,47,236,,`: ID 02, El 47, Az 236, SNR not provided. |
|
| 194 | - * `04,34,107,`: ID 04, El 34, Az 107, SNR not provided. |
|
| 195 | -* `*6D`: Checksum. |
|
| 196 | - |
|
| 197 | -### `$BDGSV,4,3,14,05,23,254,,16,12,169,,06,10,176,,09,04,188,*6C` |
|
| 198 | - |
|
| 199 | -Third GSV message for BeiDou satellites (message 3 of 4). |
|
| 200 | -* `$BDGSV`: BeiDou Satellites in View. |
|
| 201 | -* `4`: Total number of GSV messages. |
|
| 202 | -* `3`: Message number. |
|
| 203 | -* `14`: Total number of BeiDou satellites in view. |
|
| 204 | -* Satellite data: |
|
| 205 | - * `05,23,254,,`: ID 05, El 23, Az 254, SNR not provided. |
|
| 206 | - * `16,12,169,,`: ID 16, El 12, Az 169, SNR not provided. |
|
| 207 | - * `06,10,176,,`: ID 06, El 10, Az 176, SNR not provided. |
|
| 208 | - * `09,04,188,`: ID 09, El 04, Az 188, SNR not provided. |
|
| 209 | -* `*6C`: Checksum. |
|
| 210 | - |
|
| 211 | -### `$BDGSV,4,4,14,11,01,318,,12,,,20*57` |
|
| 212 | - |
|
| 213 | -Fourth GSV message for BeiDou satellites (message 4 of 4). |
|
| 214 | -* `$BDGSV`: BeiDou Satellites in View. |
|
| 215 | -* `4`: Total number of GSV messages. |
|
| 216 | -* `4`: Message number. |
|
| 217 | -* `14`: Total number of BeiDou satellites in view. |
|
| 218 | -* Satellite data for the remaining 2 BeiDou satellites: |
|
| 219 | - * `11,01,318,,`: ID 11, El 01, Az 318, SNR not provided. |
|
| 220 | - * `12,,,20`: ID 12, Elevation and Azimuth not provided, SNR 20. |
|
| 221 | -* `*57`: Checksum. |
|
| 222 | - |
|
| 223 | -### `$GNGLL,2234.2809,N,11353.2465,E,075620.000,A,A*45` |
|
| 224 | - |
|
| 225 | -This is the GLL (Geographic Position - Latitude/Longitude) sentence. |
|
| 226 | -* `$GNGLL`: NMEA sentence type. |
|
| 227 | - * `GN`: Combined GNSS. |
|
| 228 | - * `GLL`: Geographic Position - Latitude/Longitude. |
|
| 229 | -* `2234.2809,N`: Latitude: 22 degrees, 34.2809 minutes North. |
|
| 230 | -* `11353.2465,E`: Longitude: 113 degrees, 53.2465 minutes East. |
|
| 231 | -* `075620.000`: UTC Time of fix. |
|
| 232 | -* `A`: Status: `A` = Data valid. `V` = Data invalid. |
|
| 233 | -* `A`: Mode indicator (NMEA 0183 v2.3 and later): `A` = Autonomous. `D` = Differential. `E` = Estimated. `N` = Data not valid. |
|
| 234 | -* `*45`: Checksum. |
|
| 235 | - |
Tech-dat/Network-dat/location-dat/location-dat.md
| ... | ... | @@ -1,73 +0,0 @@ |
| 1 | - |
|
| 2 | -# location-dat |
|
| 3 | - |
|
| 4 | -[all location boards here. ](https://www.electrodragon.com/product-category/network/tracker/) |
|
| 5 | - |
|
| 6 | -## tech |
|
| 7 | - |
|
| 8 | -- [[GNSS-dat]] - [[GPS-dat]] - [[AGPS-dat]] - [[NEMA-dat]] |
|
| 9 | - |
|
| 10 | -- [[amplifier-dat]] |
|
| 11 | - |
|
| 12 | -- [[antenna-location-dat]] |
|
| 13 | - |
|
| 14 | -## companies |
|
| 15 | - |
|
| 16 | -- [[u-blox-dat]] - [[NEO-7-dat]] - [[NEO-6M-dat]] |
|
| 17 | - |
|
| 18 | -- [[quectel-dat]] - [[quectel-gps-dat]] - [[quectel-GNSS-AT-dat]] - [[L86-dat]] - [[L76-dat]] - [[ED20-dat]] - [[EC20-dat]] - [[BC20-dat]] |
|
| 19 | - |
|
| 20 | -- [[simcom-dat]] - [[A7670-dat]] - [[SIM7080-dat]] - [[SIM7000-dat]] - [[SIM868-dat]] - [[SIM808-dat]] |
|
| 21 | - |
|
| 22 | -- [[ATGM336H-dat]] |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## Common Locating Issues |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -**Network Dependency** |
|
| 30 | - |
|
| 31 | -A-GPS (Assisted GPS) - [[AGPS-dat]] relies on Wi-Fi or mobile data to speed up location locking. If no internet is available, it may take much longer. |
|
| 32 | - |
|
| 33 | -Poor mobile signal or no Wi-Fi can delay GPS start. |
|
| 34 | - |
|
| 35 | -**Cold Start vs Warm Start** |
|
| 36 | - |
|
| 37 | -If you haven't used GPS in a while or have moved a long distance since last use, your GPS might need a "cold start," which takes longer. |
|
| 38 | - |
|
| 39 | -## location by [[A7670-dat]] |
|
| 40 | - |
|
| 41 | -turn on GPS functions |
|
| 42 | - |
|
| 43 | - AT+CGNSSPWR=1 |
|
| 44 | - |
|
| 45 | -turn on GPS power by GPIO pin 4: |
|
| 46 | - |
|
| 47 | - AT+CGDRT=4,1 |
|
| 48 | - AT+CGSETV=4,1 |
|
| 49 | - |
|
| 50 | -wait until GPS feedback READY! |
|
| 51 | - |
|
| 52 | - +CGNSSPWR: READY! |
|
| 53 | - |
|
| 54 | -foward signal to GPS NEMA serial port |
|
| 55 | - |
|
| 56 | - AT+CGNSSTST=1 |
|
| 57 | - OK |
|
| 58 | - |
|
| 59 | -## GPS NEMA output Port |
|
| 60 | - |
|
| 61 | - SimTech HS-USB NMEA 9011 (COM346) |
|
| 62 | - 设备类型:端口(COM和LPT) |
|
| 63 | - 制造商:SimTechIncorporated |
|
| 64 | - 位置:0000.001d.0000.001.002.002.000.000.000 |
|
| 65 | - |
|
| 66 | - |
|
| 67 | - |
|
| 68 | -## ref |
|
| 69 | - |
|
| 70 | -- [[STM32-dat]] |
|
| 71 | - |
|
| 72 | -- [[location]] - [[network]] |
|
| 73 | - |
Tech-dat/Network-dat/modbus-dat/modbus-dat.md
| ... | ... | @@ -1,93 +0,0 @@ |
| 1 | - |
|
| 2 | -# modbus-dat |
|
| 3 | - |
|
| 4 | -## Modbus: An Overview |
|
| 5 | - |
|
| 6 | -Modbus is a serial communication protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers (PLCs). It has since become a de facto standard communication protocol in industry and is now one of the most commonly available means of connecting industrial electronic devices. |
|
| 7 | - |
|
| 8 | -**Purpose:** Modbus is typically used for transmitting information over serial lines or Ethernet between electronic devices. The device requesting the information is called the Modbus Master (or Client), and the devices supplying information are Modbus Slaves (or Servers). In a standard Modbus network, there is one Master and up to 247 Slaves, each with a unique Slave Address from 1 to 247. |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## How Modbus Works |
|
| 12 | - |
|
| 13 | -Modbus communication is based on a master-slave (or client-server in Modbus TCP/IP) architecture. |
|
| 14 | - |
|
| 15 | -1. **Master-Slave Architecture:** |
|
| 16 | - * **Master (Client):** Initiates communication. It sends a request (a "query") to a specific slave device. Only one master can initiate communication at a time on a Modbus serial line. |
|
| 17 | - * **Slave (Server):** Responds to requests from the master. It performs the action requested by the master (e.g., read data, write data) and sends a response back. Slaves do not initiate communication; they only respond. |
|
| 18 | - |
|
| 19 | -2. **Communication Layers & Variants:** |
|
| 20 | - Modbus has different variants depending on the communication layer: |
|
| 21 | - * **Modbus RTU (Remote Terminal Unit):** This is the most common implementation and uses serial communication (typically RS-485, but also RS-232 or RS-422). Data is transmitted in a binary format. It includes a Cyclic Redundancy Check (CRC) for error detection. |
|
| 22 | - * **Modbus ASCII:** Also uses serial communication but transmits data as ASCII characters. This makes it more human-readable but less efficient than RTU. It uses a Longitudinal Redundancy Check (LRC) for error detection. |
|
| 23 | - * **Modbus TCP/IP (or Modbus TCP):** This variant is used for communications over TCP/IP networks (like Ethernet). It encapsulates Modbus RTU messages within a TCP/IP wrapper. It doesn't require a checksum as TCP/IP already handles error checking. This allows for communication over standard Ethernet networks and the internet. |
|
| 24 | - * **Modbus Plus (MB+):** A proprietary, higher-speed, token-passing network developed by Modicon. Less common now. |
|
| 25 | - |
|
| 26 | -3. **Data Representation (Data Model):** |
|
| 27 | - Modbus defines a simple data model consisting of four primary data types or tables that can be accessed in the slave device: |
|
| 28 | - * **Coils (Discrete Outputs):** 1-bit read/write values. These typically represent on/off states (e.g., a relay, a lamp). |
|
| 29 | - * **Discrete Inputs:** 1-bit read-only values. These typically represent digital inputs (e.g., a switch status). |
|
| 30 | - * **Input Registers:** 16-bit read-only values. These typically represent analog inputs or other measured data from sensors. |
|
| 31 | - * **Holding Registers:** 16-bit read/write values. These can be used for various purposes, such as configuration parameters, setpoints, or general data storage. |
|
| 32 | - |
|
| 33 | - Each of these data types is addressed from 0 to 65535. |
|
| 34 | - |
|
| 35 | -4. **Message Structure (PDU and ADU):** |
|
| 36 | - A Modbus message frame consists of two main parts: |
|
| 37 | - * **PDU (Protocol Data Unit):** This is independent of the underlying communication layer. It contains: |
|
| 38 | - * **Function Code (1 byte):** Specifies the action to be performed (e.g., read coils, write holding register). |
|
| 39 | - * **Data (N bytes):** Contains the actual data for the request or response (e.g., starting address, number of registers, register values). |
|
| 40 | - * **ADU (Application Data Unit):** This includes the PDU plus additional information specific to the communication layer: |
|
| 41 | - * **For Modbus RTU/ASCII (Serial):** |
|
| 42 | - * **Slave Address (1 byte):** The address of the slave device the message is intended for (or from). |
|
| 43 | - * **PDU** |
|
| 44 | - * **Error Check (2 bytes for CRC in RTU, 1 byte for LRC in ASCII):** For detecting transmission errors. |
|
| 45 | - * **For Modbus TCP/IP:** |
|
| 46 | - * **MBAP Header (Modbus Application Protocol Header - 7 bytes):** Contains a transaction identifier, protocol identifier, length field, and unit identifier (similar to slave address). |
|
| 47 | - * **PDU** |
|
| 48 | - |
|
| 49 | -5. **Communication Flow (Example - Read Holding Registers):** |
|
| 50 | - 1. **Master Sends Request:** |
|
| 51 | - * Slave Address (e.g., 01) |
|
| 52 | - * Function Code (e.g., 03 for Read Holding Registers) |
|
| 53 | - * Starting Address of Registers (e.g., 00 6B for register 40108) |
|
| 54 | - * Number of Registers to Read (e.g., 00 02 for 2 registers) |
|
| 55 | - * Error Check (CRC) |
|
| 56 | - 2. **Slave Processes Request:** The slave device with the specified address receives the request, validates it, and retrieves the requested data. |
|
| 57 | - 3. **Slave Sends Response:** |
|
| 58 | - * Slave Address (e.g., 01) |
|
| 59 | - * Function Code (e.g., 03) |
|
| 60 | - * Byte Count (number of data bytes to follow, e.g., 04 for 2 registers * 2 bytes/register) |
|
| 61 | - * Register Values (e.g., 02 2B for the first register, 00 00 for the second) |
|
| 62 | - * Error Check (CRC) |
|
| 63 | - If an error occurs (e.g., invalid address, invalid function code), the slave responds with an exception code. |
|
| 64 | - |
|
| 65 | -6. **Common Function Codes:** |
|
| 66 | - * `01 (0x01)`: Read Coils |
|
| 67 | - * `02 (0x02)`: Read Discrete Inputs |
|
| 68 | - * `03 (0x03)`: Read Holding Registers |
|
| 69 | - * `04 (0x04)`: Read Input Registers |
|
| 70 | - * `05 (0x05)`: Write Single Coil |
|
| 71 | - * `06 (0x06)`: Write Single Holding Register |
|
| 72 | - * `15 (0x0F)`: Write Multiple Coils |
|
| 73 | - * `16 (0x10)`: Write Multiple Holding Registers |
|
| 74 | - |
|
| 75 | -## Key Characteristics & Advantages: |
|
| 76 | - |
|
| 77 | -* **Simplicity:** The protocol is relatively simple to implement and understand. |
|
| 78 | -* **Open Standard:** It's an open protocol, meaning manufacturers can build it into their equipment without paying royalties. |
|
| 79 | -* **Widely Adopted:** Supported by a vast range of industrial devices from many different vendors. |
|
| 80 | -* **Flexibility:** Can be used over various physical layers (serial, Ethernet). |
|
| 81 | -* **Reliability:** Error checking mechanisms (CRC/LRC) are built-in for serial versions. |
|
| 82 | - |
|
| 83 | -## Common Use Cases: |
|
| 84 | - |
|
| 85 | -* Connecting SCADA, HMI (Human-Machine Interface) systems to PLCs and other industrial devices. |
|
| 86 | -* Reading sensor data (temperature, pressure, flow, level). |
|
| 87 | -* Controlling actuators (valves, motors). |
|
| 88 | -* Monitoring and configuring device parameters. |
|
| 89 | -* Data logging. |
|
| 90 | -* Building automation. |
|
| 91 | -* Energy monitoring. |
|
| 92 | -* |
|
| 93 | - |
Tech-dat/Network-dat/mqtt-dat.md
| ... | ... | @@ -1,139 +0,0 @@ |
| 1 | - |
|
| 2 | -# mqtt dat |
|
| 3 | - |
|
| 4 | -## arduino library |
|
| 5 | - |
|
| 6 | -- async-mqtt-client-master |
|
| 7 | - |
|
| 8 | -- PubSubClient |
|
| 9 | - - https://github.com/knolleary/pubsubclient |
|
| 10 | - - examples/mqtt_esp8266.ino |
|
| 11 | - |
|
| 12 | -- radiolib |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## MQTT broker on ubuntu |
|
| 16 | - |
|
| 17 | -install service and check status |
|
| 18 | - |
|
| 19 | - sudo apt install -y mosquitto |
|
| 20 | - |
|
| 21 | - sudo systemctl status mosquitto |
|
| 22 | - |
|
| 23 | -more systemctl check |
|
| 24 | - |
|
| 25 | -- Stop the mosquitto service: |
|
| 26 | - - $ sudo systemctl stop mosquitto |
|
| 27 | -- Start the mosquitto service: |
|
| 28 | - - $ sudo systemctl start mosquitto |
|
| 29 | -- Restart the mosquitto service: |
|
| 30 | - - $ sudo systemctl restart mosquitto |
|
| 31 | - |
|
| 32 | -Log file |
|
| 33 | - |
|
| 34 | - cat /var/log/mosquitto/mosquitto.log |
|
| 35 | - |
|
| 36 | -## Conf Setup list |
|
| 37 | - |
|
| 38 | -Secure the Mosquitto Server |
|
| 39 | - |
|
| 40 | -Create a default.conf under the directory. |
|
| 41 | - |
|
| 42 | - nano /etc/mosquitto/conf.d/default.conf |
|
| 43 | - |
|
| 44 | - allow_anonymous false // not allow anonymous |
|
| 45 | - password_file /etc/mosquitto/passwd // set password |
|
| 46 | - |
|
| 47 | -optionally |
|
| 48 | - |
|
| 49 | - listener 1883 // set port 1883 public, or listener 1883 localhost for localhost only |
|
| 50 | - listener 1884 // set 1884 for wss protocol websockets |
|
| 51 | - |
|
| 52 | -set users |
|
| 53 | - |
|
| 54 | - nano /etc/mosquitto/passwd |
|
| 55 | - |
|
| 56 | - electrodragon:electrodragon |
|
| 57 | - |
|
| 58 | -Restart the mosquitto service to load the new changes. |
|
| 59 | - |
|
| 60 | - sudo systemctl restart mosquitto |
|
| 61 | - |
|
| 62 | - |
|
| 63 | -## MQTT client |
|
| 64 | - |
|
| 65 | - sudo apt install -y mosquitto-clients |
|
| 66 | - |
|
| 67 | -sub: |
|
| 68 | - |
|
| 69 | - mosquitto_sub -t "test" |
|
| 70 | - mosquitto_sub -u electrodragon -P electrodragon -t "test" |
|
| 71 | - |
|
| 72 | -pub: |
|
| 73 | - |
|
| 74 | - mosquitto_pub -m "ON" -t "test" |
|
| 75 | - |
|
| 76 | -A number of my IoT students make use of (the FREE plan with) BeeBotte for their remote MQTT broker. |
|
| 77 | - |
|
| 78 | -https://beebotte.com/ |
|
| 79 | - |
|
| 80 | -It's very easy to set up and works really well with Nod-RED. |
|
| 81 | - |
|
| 82 | -## execute |
|
| 83 | - |
|
| 84 | -From this point forward, you should execute any pub/sub command using the syntax below. Remember to replace electrodragon and EXAMPLE_PASSWORD with the credentials that you defined in the password file. |
|
| 85 | - |
|
| 86 | - mosquitto_sub -u electrodragon -P electrodragon -t "home/lights/sitting_room" |
|
| 87 | - mosquitto_pub -u electrodragon -P electrodragon -t "home/lights/sitting_room" -m "ON" |
|
| 88 | - |
|
| 89 | - |
|
| 90 | - |
|
| 91 | - |
|
| 92 | - |
|
| 93 | -## web test |
|
| 94 | - |
|
| 95 | -- https://testclient-cloud.mqtt.cool/ |
|
| 96 | - |
|
| 97 | -may not working SSL not enabled |
|
| 98 | - |
|
| 99 | -- https://www.hivemq.com/demos/websocket-client/ |
|
| 100 | -- https://www.emqx.io/mqtt/mqtt-websocket-toolkit |
|
| 101 | - |
|
| 102 | -## free electrodragon MQTT broker |
|
| 103 | - |
|
| 104 | -- 206.237.31.27 |
|
| 105 | -- user == electrodragon |
|
| 106 | -- password == electrodragon |
|
| 107 | -- SSL not enabled |
|
| 108 | - |
|
| 109 | -## android software |
|
| 110 | - |
|
| 111 | -- IOT MQTT Panel |
|
| 112 | - |
|
| 113 | -setup guide for out free MQTT broker |
|
| 114 | - |
|
| 115 | - |
|
| 116 | - |
|
| 117 | -1. connection part |
|
| 118 | - |
|
| 119 | - |
|
| 120 | - |
|
| 121 | -notice in addtional options add user name and password to be electrodragon and electrodragon |
|
| 122 | - |
|
| 123 | -2. dashboard part |
|
| 124 | - |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -3. panel part |
|
| 128 | - |
|
| 129 | - |
|
| 130 | - |
|
| 131 | -4. output |
|
| 132 | - |
|
| 133 | - |
|
| 134 | - |
|
| 135 | -## ref |
|
| 136 | - |
|
| 137 | -- https://mosquitto.org/man/mosquitto-conf-5.html |
|
| 138 | - |
|
| 139 | -- [[android-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/nbiot-dat/nbiot-dat.md
| ... | ... | @@ -1,40 +0,0 @@ |
| 1 | - |
|
| 2 | -# nbiot-dat |
|
| 3 | - |
|
| 4 | -## CAT-M1 vs. NBIOT |
|
| 5 | - |
|
| 6 | -| Feature | **Cat-M1 (LTE-M)** | **NB-IoT** | |
|
| 7 | -| --------------------- | --------------------------------------------- | ----------------------------------------------- | |
|
| 8 | -| **Bandwidth** | 1.4 MHz | 200 kHz | |
|
| 9 | -| **Data Speed** | Up to 1 Mbps | Up to 250 kbps | |
|
| 10 | -| **Latency** | 50–100 ms | 1–10 seconds | |
|
| 11 | -| **Use Cases** | Wearables, smart meters, asset tracking | Smart sensors, environmental monitoring | |
|
| 12 | -| **Frequency Bands** | B1, B3, B5, B8, B20, B28 (and more) | B3, B5, B8, B20, B28 (and some guard bands) | |
|
| 13 | -| **Power Consumption** | Low, but higher than NB-IoT | Extremely low power consumption | |
|
| 14 | -| **Mobility Support** | Yes, supports mobility | No, designed for stationary devices | |
|
| 15 | -| **Global Coverage** | Broad, supports a wide range of LTE bands | Narrower, depends on supported bands | |
|
| 16 | -| **Data Transmission** | Suitable for moderate data transfer | Ideal for small, infrequent transmissions | |
|
| 17 | -| **Best For** | Applications needing moderate data & mobility | Large-scale IoT deployments with low data needs | |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -[[SIM7020-dat]] |
|
| 22 | - |
|
| 23 | -- [[NGS1096-dat]] |
|
| 24 | - |
|
| 25 | -[[SIM7080-dat]] |
|
| 26 | - |
|
| 27 | -- [[NGS1128-dat]] - [[NGS1129-dat]] |
|
| 28 | - |
|
| 29 | -[[SIM7000-dat]] |
|
| 30 | - |
|
| 31 | -- [[NGS1119-dat]] |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -legacy wiki page - https://w.electrodragon.com/w/Category:NBIOT |
|
| 35 | - |
|
| 36 | -## ref |
|
| 37 | - |
|
| 38 | -- [[low-power-dat]] |
|
| 39 | - |
|
| 40 | -- [[NBIOT]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/network-dat.md
| ... | ... | @@ -1,110 +0,0 @@ |
| 1 | -# network-dat.md |
|
| 2 | - |
|
| 3 | -- [[protocols-dat]] |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## Network tech by range |
|
| 8 | - |
|
| 9 | -| Technology | Range | Data Rate | Notes | |
|
| 10 | -|-----------------|-----------------------------|------------------|---------------------------------------------| |
|
| 11 | -| [[M2M-dat]] | Almost infinite (provider) | Varies | Limited by service provider network | |
|
| 12 | -| [[lora-dat]] | Long, up to 10 km | Low | | |
|
| 13 | -| [[RF-link-dat]] | Medium, up to 1 km | Low | | |
|
| 14 | -| [[ELRS-dat]] | Medium, up to 1 km (5 km) | High | | |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## main category |
|
| 19 | - |
|
| 20 | -- [[M2M-dat]] - [[LTE-dat]] - [[POE-dat]] - [[low-power-test-dat]] - [[M2M-interface-dat]] |
|
| 21 | - |
|
| 22 | -- [[bluetooth-dat]] |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -- [[cable-dat]] - [[fiber-optic-dat]]- [[coaxial-cable-dat]] - [[POF-dat]] - [[toslink-dat]] |
|
| 26 | - |
|
| 27 | -- long distance = [[lora-dat]] - [[lorawan-dat]] - [[rf-switch-dat]] |
|
| 28 | - |
|
| 29 | -- [[RFID-dat]] - [[wiegand-dat]] |
|
| 30 | - |
|
| 31 | -- [[M2M-dat]] - [[LTE-dat]] - [[LWPA-dat]] |
|
| 32 | - |
|
| 33 | -- [[interface-dat]] |
|
| 34 | - |
|
| 35 | -- [[radio-dat]] |
|
| 36 | - |
|
| 37 | -- [[ethernet-dat]] - [[wifi-dat]] |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## RC apps protocols |
|
| 43 | - |
|
| 44 | -- [[RC-dat]] - [[RF-DAT]] - [[CRSF-dat]] - [[GFSK-dat]] - [[ardupilot-dat]] - [[SBUS-dat]] |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -- [[ELRS-dat]] - [[ELRS-TX-dat]] - [[ELRS-RX-dat]] - [[GFSK-dat]] |
|
| 48 | - |
|
| 49 | -RC protocols - [[CRSF-dat]] - [[SBUS-dat]] |
|
| 50 | - |
|
| 51 | -and more - [[IBUS-dat]] - [[PPM-dat]] - [[FPort-dat]] - [[SPEKTRUM-dat]] - [[SUMD-dat]] - [[SRXL-dat]] - [[Ghost-dat]] - [[MAVLink-dat]] - [[DroneCAN-dat]] |
|
| 52 | - |
|
| 53 | -- [[PS2-console-dat]] |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## Software |
|
| 58 | - |
|
| 59 | -- [[ardupilot-dat]] |
|
| 60 | - |
|
| 61 | -- [[openwrt-dat]] |
|
| 62 | - |
|
| 63 | -- [[zigbee-dat]] - [[openthread-dat]] - [[micropython-dat]] |
|
| 64 | - |
|
| 65 | - |
|
| 66 | -## RF boards |
|
| 67 | - |
|
| 68 | -- [[DVA1002-dat]] - [[DVA1007-dat]] |
|
| 69 | - |
|
| 70 | -- [[NRF24L01-dat]] - [[NWL1032-dat]] |
|
| 71 | - |
|
| 72 | - |
|
| 73 | -## M2M Boards |
|
| 74 | - |
|
| 75 | -- [[NGS1131-dat]] - [[NGS1132-dat]] - [[NGS1140-dat]] |
|
| 76 | - |
|
| 77 | -- [[NGS1063-dat]] |
|
| 78 | - |
|
| 79 | - |
|
| 80 | -## Location |
|
| 81 | - |
|
| 82 | - |
|
| 83 | -- [[location-dat]] - [[GNSS-dat]] - [[GPS-dat]] - [[AGPS-dat]] |
|
| 84 | - |
|
| 85 | -- [[NGS1089-dat]] |
|
| 86 | - |
|
| 87 | -## IOT |
|
| 88 | - |
|
| 89 | -- [[NBIOT-dat]] - [[MQTT-dat]] |
|
| 90 | - |
|
| 91 | -- [[zigbee-dat]] |
|
| 92 | - |
|
| 93 | -## Ethernet |
|
| 94 | - |
|
| 95 | -- [[ethernet-dat]] |
|
| 96 | - |
|
| 97 | -EtherCAT (Ethernet for Control Automation Technology) is a high-performance, real-time Ethernet-based fieldbus system. It was originally developed by Beckhoff Automation. |
|
| 98 | - |
|
| 99 | -## System and APPs |
|
| 100 | - |
|
| 101 | -- [[RTU-dat]] - [[modbus-dat]] |
|
| 102 | - |
|
| 103 | - |
|
| 104 | - |
|
| 105 | - |
|
| 106 | - |
|
| 107 | - |
|
| 108 | -## ref |
|
| 109 | - |
|
| 110 | -- [[antenna-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-17.png
| ... | ... | Binary files a/Tech-dat/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-17.png and /dev/null differ |
Tech-dat/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-33.png
| ... | ... | Binary files a/Tech-dat/Network-dat/network-system-dat/TCPIP-dat/2025-07-30-16-43-33.png and /dev/null differ |
Tech-dat/Network-dat/network-system-dat/TCPIP-dat/TCPIP-dat.md
| ... | ... | @@ -1,56 +0,0 @@ |
| 1 | - |
|
| 2 | -# TCPIP-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## tools |
|
| 6 | - |
|
| 7 | -### 1. Netcat (nc) == Cross-platform or Windows |
|
| 8 | -- Type: Command-line |
|
| 9 | -- Supports: TCP and UDP |
|
| 10 | -- Platforms: Linux, macOS, Windows (via `ncat`) |
|
| 11 | - |
|
| 12 | -Example (TCP listener): |
|
| 13 | - |
|
| 14 | - nc -l -p 5000 |
|
| 15 | - |
|
| 16 | -Example (send TCP): |
|
| 17 | - |
|
| 18 | - echo "Hello" | nc 127.0.0.1 5000 |
|
| 19 | - |
|
| 20 | -## TCP server python script |
|
| 21 | - |
|
| 22 | - # tcp_server.py |
|
| 23 | - import socket |
|
| 24 | - |
|
| 25 | - HOST = '0.0.0.0' # Listen on all interfaces |
|
| 26 | - PORT = 5000 # Change as needed |
|
| 27 | - |
|
| 28 | - server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
| 29 | - server_socket.bind((HOST, PORT)) |
|
| 30 | - server_socket.listen() |
|
| 31 | - |
|
| 32 | - print(f"Listening on {HOST}:{PORT}...") |
|
| 33 | - |
|
| 34 | - conn, addr = server_socket.accept() |
|
| 35 | - print(f"Connected by {addr}") |
|
| 36 | - |
|
| 37 | - while True: |
|
| 38 | - data = conn.recv(1024) |
|
| 39 | - if not data: |
|
| 40 | - break |
|
| 41 | - print("Received:", data.decode()) |
|
| 42 | - conn.sendall(b'ACK: ' + data) # Send back confirmation |
|
| 43 | - |
|
| 44 | - conn.close() |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -1) tcp通讯过程 |
|
| 48 | - |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -2) tcp client |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -[[http-dat]]、[[mqtt-dat]] 这些协议都是在tcp之上的协议。 |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/network-system-dat/meshtastic-dat/meshtastic-dat.md
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | - |
|
| 2 | -# meshtastic-dat |
|
| 3 | - |
|
| 4 | -https://github.com/meshtastic/firmware |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## flash |
|
| 8 | - |
|
| 9 | -https://meshtastic.org/docs/getting-started/ |
|
| 10 | - |
|
| 11 | -https://meshtastic.org/docs/getting-started/flashing-firmware/esp32/ |
|
| 12 | - |
|
| 13 | -🗃️ ESP32 Device == [[ESP32-dat]] |
|
| 14 | - |
|
| 15 | -🗃️ nRF52/RP2040 Device = [[NRF52-dat]] - [[RP2040-dat]] - [[NRF52840-dat]] |
|
| 16 | - |
|
| 17 | -- [[MCU-dat]] |
|
| 18 | - |
|
| 19 | -[Web Flasher](https://flasher.meshtastic.org/) |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -## configuration |
|
| 25 | - |
|
| 26 | -[bluetooth and android app ](https://meshtastic.org/docs/category/android-app/) |
|
| 27 | - |
|
| 28 | -Open the Meshtastic Web interface: client.meshtastic.org |
|
| 29 | - |
|
| 30 | -CLI |
|
| 31 | - |
|
| 32 | -Install Meshtastic PythonCLI |
|
| 33 | - |
|
| 34 | - pip3 install --upgrade pytap2 |
|
| 35 | - pip3 install --upgrade meshtastic |
|
| 36 | - |
|
| 37 | - |
|
| 38 | -## hardware |
|
| 39 | - |
|
| 40 | -- [[nRF52840-dat]] - [[SX1262-dat]] - [[Semtech-dat]] |
|
| 41 | - |
|
| 42 | -## ref |
|
| 43 | - |
|
| 44 | -- [[lora-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/network-system-dat/network-system-dat.md
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | - |
|
| 2 | -# network-system-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -- [[meshtastic-dat]] == [[lora-dat]] based |
|
| 7 | - |
|
| 8 | -- [[TCPIP-dat]] and optional [[UDP-dat]] == [[internet-dat]] based, [[M2M-dat]] boards |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -- [[MQTT-dat]] == [[internet-dat]] based, [[M2M-dat]] boards |
Tech-dat/Network-dat/networking-dat/2025-06-26-19-14-24.png
| ... | ... | Binary files a/Tech-dat/Network-dat/networking-dat/2025-06-26-19-14-24.png and /dev/null differ |
Tech-dat/Network-dat/networking-dat/2025-06-26-19-28-10.png
| ... | ... | Binary files a/Tech-dat/Network-dat/networking-dat/2025-06-26-19-28-10.png and /dev/null differ |
Tech-dat/Network-dat/networking-dat/2025-06-26-19-33-23.png
| ... | ... | Binary files a/Tech-dat/Network-dat/networking-dat/2025-06-26-19-33-23.png and /dev/null differ |
Tech-dat/Network-dat/networking-dat/networking-dat.md
| ... | ... | @@ -1,79 +0,0 @@ |
| 1 | -# networking-dat |
|
| 2 | - |
|
| 3 | -## Relay Networking |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -Relay mode refers to a transmission mode in which some LoRa devices in a LoRa network act as relay nodes to forward data streams from stream mode or packet mode. The relay mode device's interface does not output any data, achieving the function of extending the wireless communication distance. |
|
| 8 | - |
|
| 9 | ---- |
|
| 10 | - |
|
| 11 | -## Packet Mode |
|
| 12 | - |
|
| 13 | -**Packet mode refers to a transmission mode in which the first 3 bytes of the data stream sent by a LoRa device specify the address and channel of the receiving device.** |
|
| 14 | - |
|
| 15 | -The data stream uses hexadecimal (Hex) data format. |
|
| 16 | - |
|
| 17 | -Suppose there are six LoRa devices: Device A, B, C, D, E, and F, forming a packet mode LoRa communication network. To change the address, channel, and working mode of devices in the LoRa network, refer to the communication diagram and parameter table below. Note: Use the AT command (`AT+MODE=2\r\n`) to switch to packet mode. |
|
| 18 | - |
|
| 19 | -- Device A and Device C form point-to-point communication in packet mode. |
|
| 20 | - - Device A sends the hex data stream `FF FE 12 AA`, where `FF FE` is the address of the receiving device (Device C), `12` is the channel of the receiving device (Device C), and `AA` is the data (hexadecimal format, e.g., AA, AF, FA, etc.). Device C with matching address and channel receives it correctly. |
|
| 21 | - - Device C sends the hex data stream `00 01 12 CC`, where `00 01` is the address of the receiving device (Device A), `12` is the channel of the receiving device (Device A), and `CC` is the data. Device A with matching address and channel receives it correctly. |
|
| 22 | - |
|
| 23 | -- Devices A, B, C, D, E, and F form point-to-multipoint communication in packet mode. |
|
| 24 | - - Device B's address is set to 65535 (Hex: 0xFFFF), making it a broadcast listening device in the LoRa network. When Device B broadcasts a data stream, all devices with addresses from 0 to 65535 on the same channel can receive the data stream. When other devices send data streams, Device B can listen to the data streams from devices with addresses from 0 to 65535 on the same channel. |
|
| 25 | - - Device B broadcasts the hex data stream `FF FF 12 BB`, where `FF FF` is the broadcast address, `12` is the channel, and `BB` is the data. Devices A, C, D, and E with matching channel (`18` Hex: `0x12`) receive it correctly. Device F with a non-matching channel (`65` Hex: `0x41`) fails to receive. |
|
| 26 | - - When Devices A, C, D, or E send data streams (e.g., Device A sends `FF FE 12 AA`), Device B can listen and receive the data stream. |
|
| 27 | - - When Device F (with a non-matching channel, `65` Hex: `0x41`) sends a data stream, Device B fails to listen and receive. |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | ---- |
|
| 32 | - |
|
| 33 | -## Stream Mode |
|
| 34 | - |
|
| 35 | -### Stream Mode Overview |
|
| 36 | - |
|
| 37 | -Stream mode means that a LoRa Device (SX1262-LoRa-DTU, USB-TO-LoRa) transmits the data stream received from its interface via LoRa to another device, which demodulates and outputs the data stream from its specified interface. What you send is what you get. |
|
| 38 | - |
|
| 39 | -### Example Network |
|
| 40 | - |
|
| 41 | -Suppose there are six LoRa devices: Device A, B, C, D, E, and F, forming a stream mode LoRa communication network. |
|
| 42 | - |
|
| 43 | -- To change the address, channel, and working mode of each device in the LoRa network, refer to the communication diagram and parameter table below. |
|
| 44 | -- Use the AT command to switch to stream mode: |
|
| 45 | - ``` |
|
| 46 | - AT+MODE=1\r\n |
|
| 47 | - ``` |
|
| 48 | - |
|
| 49 | ---- |
|
| 50 | - |
|
| 51 | -#### 1. Point-to-Point Communication |
|
| 52 | - |
|
| 53 | -- Device A and Device C form a point-to-point communication in stream mode. |
|
| 54 | -- Device A sends `Hello World` to Device C. Device C with matching **address and channel** receives it correctly. |
|
| 55 | -- Device C sends `any World` to Device A. Device A with matching **address and channel** receives it correctly. |
|
| 56 | - |
|
| 57 | ---- |
|
| 58 | - |
|
| 59 | -#### 2. Point-to-Multipoint Communication & Broadcast Listening |
|
| 60 | - |
|
| 61 | -- Devices A, B, C, D, E, and F form a point-to-multipoint communication network in stream mode. |
|
| 62 | -- Device B's address is set to 65535 (Hex: 0xFFFF), making it a broadcast listening device in the LoRa network. |
|
| 63 | -- When Device B broadcasts a data stream, all devices with addresses from 0 to 65535 on the same channel can receive the data stream. |
|
| 64 | -- When other devices send data streams, Device B can listen to the data streams from devices with addresses from 0 to 65535 on the same channel. |
|
| 65 | - |
|
| 66 | -#### Examples |
|
| 67 | - |
|
| 68 | -- Device B broadcasts `Hi World` data stream. Devices A, C, D, and E with matching channels receive it correctly. Device F with a non-matching channel fails to receive. |
|
| 69 | -- When Devices A, C, D, or E send data streams (e.g., Device A sends `Hello World`), Device B can listen and receive the data stream. |
|
| 70 | -- When Device F (with a non-matching channel) sends a data stream, Device B fails to listen and receive. |
|
| 71 | - |
|
| 72 | ---- |
|
| 73 | - |
|
| 74 | -#### Communication Diagram |
|
| 75 | - |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | - |
Tech-dat/Network-dat/openwrt-dat/openwrt-dat.md
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | - |
|
| 2 | -# openwrt-dat |
|
| 3 | - |
|
| 4 | -legacy wiki page - https://www.electrodragon.com/w/Category:Openwrt |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## boards |
|
| 8 | - |
|
| 9 | -- [[AR9331-dat]] - [[NWI1215-dat]] - [[DOD1111-dat]] |
|
| 10 | - |
|
| 11 | -- [[MT7628-dat]] |
|
| 12 | - |
|
| 13 | -- [[NWI1219-dat]] - [[MT7688-dat]] |
|
| 14 | - |
|
| 15 | -- [[NWI1002-dat]] |
|
| 16 | - |
|
| 17 | -## ref |
|
| 18 | - |
|
| 19 | -- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/radio-dat/2025-07-13-03-32-19.png
| ... | ... | Binary files a/Tech-dat/Network-dat/radio-dat/2025-07-13-03-32-19.png and /dev/null differ |
Tech-dat/Network-dat/radio-dat/radio-dat.md
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | - |
|
| 2 | -# radio-dat |
|
| 3 | - |
|
| 4 | -## SI4713-dat |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## ref |
|
| 11 | - |
|
| 12 | -- [[network-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Network-dat/software-define-radio-dat/software-define-radio-dat.md
| ... | ... | @@ -1,5 +0,0 @@ |
| 1 | - |
|
| 2 | -# software-define-radio-dat |
|
| 3 | - |
|
| 4 | -https://github.com/cariboulabs/cariboulite/tree/main |
|
| 5 | - |
Tech-dat/Network-dat/zigbee-dat/zigbee-dat.md
| ... | ... | @@ -1,3 +0,0 @@ |
| 1 | - |
|
| 2 | -# zigbee-dat |
|
| 3 | - |
app-dat/RC-apps-dat/ArduPilot-dat/2025-05-04-16-11-57.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/ArduPilot-dat/2025-05-04-16-11-57.png differ |
app-dat/RC-apps-dat/ArduPilot-dat/ArduPilot-dat.md
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | + |
|
| 2 | +# ArduPilot-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## Radio Control Systems |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +- [Radio Control Systems](https://ardupilot.org/rover/docs/common-rc-systems.html) |
|
| 9 | + |
|
| 10 | +Compatible RC Protocols |
|
| 11 | + |
|
| 12 | +ArduPilot autopilots are compatible with the following receiver output protocols: |
|
| 13 | + |
|
| 14 | +PPM-Sum receivers - [[PPM-dat]] |
|
| 15 | + |
|
| 16 | +SBus receivers - [[SBUS-dat]] |
|
| 17 | + |
|
| 18 | +Fast SBus (from DJI HDL video/RC systems) |
|
| 19 | + |
|
| 20 | +i-BUS receivers - [[IBUS-dat]] |
|
| 21 | + |
|
| 22 | +FPort Receivers |
|
| 23 | + |
|
| 24 | +Spektrum SRXL2,DSM, DSM2, and DSM-X Satellite receivers |
|
| 25 | + |
|
| 26 | +Multiplex SRXL version 1 and version 2 receivers |
|
| 27 | + |
|
| 28 | +CRSF receivers (including ExpressLRS systems) - [[ELRS-dat]] - [[CRSF-dat]] |
|
| 29 | + |
|
| 30 | +mLRS (with telemetry) (MAVLink) |
|
| 31 | + |
|
| 32 | +Graupner SUM-D |
|
| 33 | + |
|
| 34 | +IRC Ghost |
|
| 35 | + |
|
| 36 | +DroneCAN peripherals can decode these RC protocols on a peripheral and pass to the autopilot |
|
| 37 | + |
|
| 38 | +MAVLink connected RC (not to be confused with MAVLink RC Overrides used for CS joystick control of RC functions) |
|
| 39 | + |
|
| 40 | +Parallel PWM outputs encoded to PPM-Sum using an external encoder (see below, not supported on many autopilots now) |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +## specs |
|
| 45 | + |
|
| 46 | +| Original Manu | Range | Telemetry | Telem Speed | TX Display | RC Protocol | Notes | |
|
| 47 | +| --------------- | ------ | --------------- | ----------- | ----------- | -------------------- | ----- | |
|
| 48 | +| Flysky | Short | Yes | | yes | i-BUS/SBUS | 7 | |
|
| 49 | +| FrSky X series | Short | Bi-dir | Medium | yes | PPM-SUM/SBUS/ FPort | 2 | |
|
| 50 | +| Futaba | Short | No | | | SBus | | |
|
| 51 | +| Graupner | Short | Yes | Medium | yes | SUM-D | | |
|
| 52 | +| Multiplex | Short | No | | | SRXL | | |
|
| 53 | +| Spektrum | Short | Vendor Specific | | yes | DSM/DSM2 DSM-X/ SRXL | | |
|
| 54 | +| FrSky R9 series | Medium | Bi-dir | Medium | yes | PPM-SUM/SBUS/ FPort | 2 | |
|
| 55 | +| IRC Ghost | Medium | Vendor Specific | | yes | IRC Ghost | | |
|
| 56 | +| [[CRSF-dat]] | Long | Bi-dir | Variable | yes | SBUS/CRSF | 3 | |
|
| 57 | +| DragonLink | Long | Bi-dir | 56K | via MTP/LUA | PPM_SUM/SBUS | 1 | |
|
| 58 | +| [[ELRS-dat]] | Long | Bi-Dir | Variable | optional | SBUS/CRSF Mavlink | 4 | |
|
| 59 | +| HereLink | Long | Bi-dir | 56K | integrated | SBUS | 8 | |
|
| 60 | +| mLRS | Long | Bi-dir | 12K - 91K | via LUA | SBUS/CRSF | 5 | |
|
| 61 | +| SIYI | Long | Bi-dir | 56K | integrated | SBUS | 8 | |
|
| 62 | + |
|
| 63 | +- [[network-dat]] |
|
| 64 | + |
|
| 65 | +RC protocols - [[SBUS-dat]] - [[CRSF-dat]] - [[PPM-SUM-dat]] - [[Fport-dat]] - [[SUM-D-dat]] - [[IBUS-dat]] - [[DSM-dat]] |
|
| 66 | + |
|
| 67 | + |
|
| 68 | + |
|
| 69 | +Note 1: DragonLink provides a 56Kbaud transparent link for telemetry, allowing full MAVLink telemetry to/from the vehicle from the transmitter module. Dragonlink is an add-on module to the transmitter, such as an FRSky Taranis or RadioMaster T16. See DragonLink RC Systems. MTP (Mavlink to Passthru) converters are available to allow direct display of MAVLink Telemetry data on OpenTX transmitters using Yaapu Telemetry LUA Script. |
|
| 70 | + |
|
| 71 | +Note 2: See Yaapu FrSky Telemetry Script for OpenTX. The ability to change parameters over FRSky telemetry from an Open TX compatible transmitter in addition to displaying the telemetry data is possible. Most FRSky compatible transmitters use OpenTX. Note that R9 systems are not quite Long Range, but much further range than normal FRSky systems, themselves at the very high end of the Short Range category at 1.6-2km range. |
|
| 72 | + |
|
| 73 | +Note 3: ArduPilot provides a means to send its telemetry data via CRSF such that it can be displayed on OpenTX transmitters using the Yaapu Telemetry LUA Script. The ability to change parameters over CRSF telemetry from an Open TX compatible transmitter in addition to displaying the telemetry data is also possible. See TBS Crossfire Telemetry |
|
| 74 | + |
|
| 75 | +Note 4: ELRS (ExpressLRS) is a flexible open-source system that can output CRSF, SBUS, or MAVLink (with embedded RC) protocols. Telemetry requires the use of CRSF or Mavlink, and the receiver must be wired to a full UART. See ExpressLRS site <https://www.expresslrs.org/> and TBS CRSF/ ELRS for more information. |
|
| 76 | + |
|
| 77 | +Note 5: The mLRS project is firmware designed specifically to carry both RC and MAVLink. The usable telemetry speed varies by the chosen mode and is managed via RADIO_STATUS flow control. It uses the CRSF (TBS Crossfire) RC protocol on both the receiver and Tx module. It also integrates full MAVLink telemetry via serial connections on the Tx module and the receiver. |
|
| 78 | + |
|
| 79 | +Note 6: Vendor Specific Telem means that they accomodate sensor additions to the vehicle and can display the information on certain Vendor specific TXs but do not send ArduPilot telemetry from the vehicle to ArduPilot compatible GCS or OpenTX display scripts. |
|
| 80 | + |
|
| 81 | +Note 7: The receiver must support i-BUS telemetry (look for a SENS port on the receiver or check the product specifications). |
|
| 82 | + |
|
| 83 | +Note 8: These systems have integrated HD video transmission from Ethernet or HDMI camera systems in addition to RC control and vehicle telemetry. |
|
| 84 | + |
|
| 85 | + |
|
| 86 | +## protocol converter |
|
| 87 | + |
|
| 88 | + |
|
| 89 | + |
|
| 90 | + |
|
| 91 | +## ref |
|
| 92 | + |
|
| 93 | +- [[ardupilot-dat]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/2025-04-02-12-45-53.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/2025-04-02-12-45-53.png differ |
app-dat/RC-apps-dat/FPV-dat/2025-04-02-13-14-05.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/2025-04-02-13-14-05.png differ |
app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-16-45.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-16-45.png differ |
app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-18-59.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-18-59.png differ |
app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-19-59.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-19-59.png differ |
app-dat/RC-apps-dat/FPV-dat/FPV-accesories-dat/FPV-accesories-dat.md
| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | + |
|
| 2 | +# FPV-accesories-dat |
|
| 3 | + |
|
| 4 | +- [[RC-gimbal-dat]] |
|
| 5 | + |
|
| 6 | +- [[3d-dat]] |
|
| 7 | + |
|
| 8 | +## mobula 8 |
|
| 9 | + |
|
| 10 | +- [[mobula8-dat]] - [[3d-print-dat]] |
|
| 11 | + |
|
| 12 | +- landing Gears |
|
| 13 | +https://www.printables.com/model/915475-mobula-8-landing-gears |
|
| 14 | + |
|
| 15 | +- landing legs |
|
| 16 | +https://makerworld.com/en/models/701610-mobula-8-landing-legs#profileId-631151 |
|
| 17 | +1.1*1.4*1.4cm |
|
| 18 | + |
|
| 19 | +## canopy and camera mount |
|
| 20 | + |
|
| 21 | +- hard case |
|
| 22 | +https://www.printables.com/model/517225-mobula-8-hard-case |
|
| 23 | + |
|
| 24 | +- thumb holder / Thumb - Camera Mount |
|
| 25 | + |
|
| 26 | +https://cults3d.com/en/3d-model/gadget/mobula8-thumb-mount = 0.55U |
|
| 27 | + |
|
| 28 | +https://www.printables.com/model/774692-mobula-7-8-hawkeye-thumb-camera-mount |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +for insta360 go 2 |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | +- [[camera-FPV-dat]] |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## lollipop antenna mount |
|
| 43 | + |
|
| 44 | +- [[antenna-lolipop-dat]] |
|
| 45 | + |
|
| 46 | +https://makerworld.com/en/models/689978-mobula8-reinforced-canopy-with-lollipop-mount#profileId-618749 |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +## ref |
|
| 51 | + |
|
| 52 | +- [[FPV-dat]] - [[FPV]] |
|
| 53 | + |
|
| 54 | +- [[antenna-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/FPV-dat.excalidraw
| ... | ... | @@ -0,0 +1,1054 @@ |
| 1 | +{ |
|
| 2 | + "type": "excalidraw", |
|
| 3 | + "version": 2, |
|
| 4 | + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", |
|
| 5 | + "elements": [ |
|
| 6 | + { |
|
| 7 | + "id": "_pL6dpKK027sscxF4R0Ow", |
|
| 8 | + "type": "rectangle", |
|
| 9 | + "x": 567, |
|
| 10 | + "y": 194, |
|
| 11 | + "width": 574, |
|
| 12 | + "height": 246, |
|
| 13 | + "angle": 0, |
|
| 14 | + "strokeColor": "#1e1e1e", |
|
| 15 | + "backgroundColor": "#a5d8ff", |
|
| 16 | + "fillStyle": "hachure", |
|
| 17 | + "strokeWidth": 2, |
|
| 18 | + "strokeStyle": "solid", |
|
| 19 | + "roughness": 1, |
|
| 20 | + "opacity": 100, |
|
| 21 | + "groupIds": [], |
|
| 22 | + "frameId": null, |
|
| 23 | + "index": "Zz", |
|
| 24 | + "roundness": { |
|
| 25 | + "type": 3 |
|
| 26 | + }, |
|
| 27 | + "seed": 290319832, |
|
| 28 | + "version": 190, |
|
| 29 | + "versionNonce": 1203415457, |
|
| 30 | + "isDeleted": false, |
|
| 31 | + "boundElements": [ |
|
| 32 | + { |
|
| 33 | + "type": "text", |
|
| 34 | + "id": "7uvKNiSFKfjeoWs50eo-W" |
|
| 35 | + } |
|
| 36 | + ], |
|
| 37 | + "updated": 1748426654666, |
|
| 38 | + "link": null, |
|
| 39 | + "locked": false |
|
| 40 | + }, |
|
| 41 | + { |
|
| 42 | + "id": "7uvKNiSFKfjeoWs50eo-W", |
|
| 43 | + "type": "text", |
|
| 44 | + "x": 572, |
|
| 45 | + "y": 199, |
|
| 46 | + "width": 46.43998718261719, |
|
| 47 | + "height": 50, |
|
| 48 | + "angle": 0, |
|
| 49 | + "strokeColor": "#1e1e1e", |
|
| 50 | + "backgroundColor": "#a5d8ff", |
|
| 51 | + "fillStyle": "hachure", |
|
| 52 | + "strokeWidth": 2, |
|
| 53 | + "strokeStyle": "solid", |
|
| 54 | + "roughness": 1, |
|
| 55 | + "opacity": 100, |
|
| 56 | + "groupIds": [], |
|
| 57 | + "frameId": null, |
|
| 58 | + "index": "Zz8", |
|
| 59 | + "roundness": null, |
|
| 60 | + "seed": 2009457576, |
|
| 61 | + "version": 64, |
|
| 62 | + "versionNonce": 81186177, |
|
| 63 | + "isDeleted": false, |
|
| 64 | + "boundElements": [], |
|
| 65 | + "updated": 1748426654666, |
|
| 66 | + "link": null, |
|
| 67 | + "locked": false, |
|
| 68 | + "text": " \n 720", |
|
| 69 | + "fontSize": 20, |
|
| 70 | + "fontFamily": 5, |
|
| 71 | + "textAlign": "left", |
|
| 72 | + "verticalAlign": "top", |
|
| 73 | + "containerId": "_pL6dpKK027sscxF4R0Ow", |
|
| 74 | + "originalText": " \n 720", |
|
| 75 | + "autoResize": true, |
|
| 76 | + "lineHeight": 1.25 |
|
| 77 | + }, |
|
| 78 | + { |
|
| 79 | + "id": "kVK3CpWh-IBYWSSv8RfmC", |
|
| 80 | + "type": "rectangle", |
|
| 81 | + "x": 720, |
|
| 82 | + "y": 569, |
|
| 83 | + "width": 96, |
|
| 84 | + "height": 49, |
|
| 85 | + "angle": 0, |
|
| 86 | + "strokeColor": "#1e1e1e", |
|
| 87 | + "backgroundColor": "#ffec99", |
|
| 88 | + "fillStyle": "solid", |
|
| 89 | + "strokeWidth": 2, |
|
| 90 | + "strokeStyle": "solid", |
|
| 91 | + "roughness": 1, |
|
| 92 | + "opacity": 100, |
|
| 93 | + "groupIds": [], |
|
| 94 | + "frameId": null, |
|
| 95 | + "index": "a0", |
|
| 96 | + "roundness": { |
|
| 97 | + "type": 3 |
|
| 98 | + }, |
|
| 99 | + "seed": 1501295272, |
|
| 100 | + "version": 71, |
|
| 101 | + "versionNonce": 1389371864, |
|
| 102 | + "isDeleted": false, |
|
| 103 | + "boundElements": [ |
|
| 104 | + { |
|
| 105 | + "id": "7tQtgsgMUXcvCJP0w9-QM", |
|
| 106 | + "type": "text" |
|
| 107 | + } |
|
| 108 | + ], |
|
| 109 | + "updated": 1748422816163, |
|
| 110 | + "link": null, |
|
| 111 | + "locked": false |
|
| 112 | + }, |
|
| 113 | + { |
|
| 114 | + "id": "7tQtgsgMUXcvCJP0w9-QM", |
|
| 115 | + "type": "text", |
|
| 116 | + "x": 748.4900131225586, |
|
| 117 | + "y": 581, |
|
| 118 | + "width": 39.01997375488281, |
|
| 119 | + "height": 25, |
|
| 120 | + "angle": 0, |
|
| 121 | + "strokeColor": "#1e1e1e", |
|
| 122 | + "backgroundColor": "transparent", |
|
| 123 | + "fillStyle": "solid", |
|
| 124 | + "strokeWidth": 2, |
|
| 125 | + "strokeStyle": "solid", |
|
| 126 | + "roughness": 1, |
|
| 127 | + "opacity": 100, |
|
| 128 | + "groupIds": [], |
|
| 129 | + "frameId": null, |
|
| 130 | + "index": "a1", |
|
| 131 | + "roundness": null, |
|
| 132 | + "seed": 230120872, |
|
| 133 | + "version": 56, |
|
| 134 | + "versionNonce": 1428039384, |
|
| 135 | + "isDeleted": false, |
|
| 136 | + "boundElements": [], |
|
| 137 | + "updated": 1748422816163, |
|
| 138 | + "link": null, |
|
| 139 | + "locked": false, |
|
| 140 | + "text": "FPV", |
|
| 141 | + "fontSize": 20, |
|
| 142 | + "fontFamily": 5, |
|
| 143 | + "textAlign": "center", |
|
| 144 | + "verticalAlign": "middle", |
|
| 145 | + "containerId": "kVK3CpWh-IBYWSSv8RfmC", |
|
| 146 | + "originalText": "FPV", |
|
| 147 | + "autoResize": true, |
|
| 148 | + "lineHeight": 1.25 |
|
| 149 | + }, |
|
| 150 | + { |
|
| 151 | + "id": "xwZqhCJw7rZ5KZzboz518", |
|
| 152 | + "type": "rectangle", |
|
| 153 | + "x": 961, |
|
| 154 | + "y": 257, |
|
| 155 | + "width": 134, |
|
| 156 | + "height": 60, |
|
| 157 | + "angle": 0, |
|
| 158 | + "strokeColor": "#1e1e1e", |
|
| 159 | + "backgroundColor": "#b2f2bb", |
|
| 160 | + "fillStyle": "solid", |
|
| 161 | + "strokeWidth": 2, |
|
| 162 | + "strokeStyle": "solid", |
|
| 163 | + "roughness": 1, |
|
| 164 | + "opacity": 100, |
|
| 165 | + "groupIds": [], |
|
| 166 | + "frameId": null, |
|
| 167 | + "index": "a2", |
|
| 168 | + "roundness": { |
|
| 169 | + "type": 3 |
|
| 170 | + }, |
|
| 171 | + "seed": 1219705512, |
|
| 172 | + "version": 254, |
|
| 173 | + "versionNonce": 1763171425, |
|
| 174 | + "isDeleted": false, |
|
| 175 | + "boundElements": [ |
|
| 176 | + { |
|
| 177 | + "type": "text", |
|
| 178 | + "id": "pX0Y0w0-Bv8Gt6ILXDiuQ" |
|
| 179 | + }, |
|
| 180 | + { |
|
| 181 | + "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 182 | + "type": "arrow" |
|
| 183 | + } |
|
| 184 | + ], |
|
| 185 | + "updated": 1748426628832, |
|
| 186 | + "link": null, |
|
| 187 | + "locked": false |
|
| 188 | + }, |
|
| 189 | + { |
|
| 190 | + "id": "pX0Y0w0-Bv8Gt6ILXDiuQ", |
|
| 191 | + "type": "text", |
|
| 192 | + "x": 980.5200271606445, |
|
| 193 | + "y": 262, |
|
| 194 | + "width": 94.95994567871094, |
|
| 195 | + "height": 50, |
|
| 196 | + "angle": 0, |
|
| 197 | + "strokeColor": "#1e1e1e", |
|
| 198 | + "backgroundColor": "transparent", |
|
| 199 | + "fillStyle": "solid", |
|
| 200 | + "strokeWidth": 2, |
|
| 201 | + "strokeStyle": "solid", |
|
| 202 | + "roughness": 1, |
|
| 203 | + "opacity": 100, |
|
| 204 | + "groupIds": [], |
|
| 205 | + "frameId": null, |
|
| 206 | + "index": "a3", |
|
| 207 | + "roundness": null, |
|
| 208 | + "seed": 403144104, |
|
| 209 | + "version": 223, |
|
| 210 | + "versionNonce": 1367320641, |
|
| 211 | + "isDeleted": false, |
|
| 212 | + "boundElements": [], |
|
| 213 | + "updated": 1748426628832, |
|
| 214 | + "link": null, |
|
| 215 | + "locked": false, |
|
| 216 | + "text": "FC+ESC =\n200", |
|
| 217 | + "fontSize": 20, |
|
| 218 | + "fontFamily": 5, |
|
| 219 | + "textAlign": "center", |
|
| 220 | + "verticalAlign": "middle", |
|
| 221 | + "containerId": "xwZqhCJw7rZ5KZzboz518", |
|
| 222 | + "originalText": "FC+ESC = 200", |
|
| 223 | + "autoResize": true, |
|
| 224 | + "lineHeight": 1.25 |
|
| 225 | + }, |
|
| 226 | + { |
|
| 227 | + "id": "dQBMrJbnJiglt6EVOOgLZ", |
|
| 228 | + "type": "rectangle", |
|
| 229 | + "x": 825.5, |
|
| 230 | + "y": 243, |
|
| 231 | + "width": 104, |
|
| 232 | + "height": 60, |
|
| 233 | + "angle": 0, |
|
| 234 | + "strokeColor": "#1e1e1e", |
|
| 235 | + "backgroundColor": "#b2f2bb", |
|
| 236 | + "fillStyle": "solid", |
|
| 237 | + "strokeWidth": 2, |
|
| 238 | + "strokeStyle": "solid", |
|
| 239 | + "roughness": 1, |
|
| 240 | + "opacity": 100, |
|
| 241 | + "groupIds": [], |
|
| 242 | + "frameId": null, |
|
| 243 | + "index": "a4", |
|
| 244 | + "roundness": { |
|
| 245 | + "type": 3 |
|
| 246 | + }, |
|
| 247 | + "seed": 2039189672, |
|
| 248 | + "version": 245, |
|
| 249 | + "versionNonce": 1584654977, |
|
| 250 | + "isDeleted": false, |
|
| 251 | + "boundElements": [ |
|
| 252 | + { |
|
| 253 | + "id": "EzJHStmuRq2FMwEzaiSOc", |
|
| 254 | + "type": "text" |
|
| 255 | + } |
|
| 256 | + ], |
|
| 257 | + "updated": 1748426631232, |
|
| 258 | + "link": null, |
|
| 259 | + "locked": false |
|
| 260 | + }, |
|
| 261 | + { |
|
| 262 | + "id": "EzJHStmuRq2FMwEzaiSOc", |
|
| 263 | + "type": "text", |
|
| 264 | + "x": 838.6900100708008, |
|
| 265 | + "y": 248, |
|
| 266 | + "width": 77.61997985839844, |
|
| 267 | + "height": 50, |
|
| 268 | + "angle": 0, |
|
| 269 | + "strokeColor": "#1e1e1e", |
|
| 270 | + "backgroundColor": "transparent", |
|
| 271 | + "fillStyle": "solid", |
|
| 272 | + "strokeWidth": 2, |
|
| 273 | + "strokeStyle": "solid", |
|
| 274 | + "roughness": 1, |
|
| 275 | + "opacity": 100, |
|
| 276 | + "groupIds": [], |
|
| 277 | + "frameId": null, |
|
| 278 | + "index": "a5", |
|
| 279 | + "roundness": null, |
|
| 280 | + "seed": 102972328, |
|
| 281 | + "version": 254, |
|
| 282 | + "versionNonce": 2020930145, |
|
| 283 | + "isDeleted": false, |
|
| 284 | + "boundElements": [], |
|
| 285 | + "updated": 1748426631232, |
|
| 286 | + "link": null, |
|
| 287 | + "locked": false, |
|
| 288 | + "text": "Motor =\n300", |
|
| 289 | + "fontSize": 20, |
|
| 290 | + "fontFamily": 5, |
|
| 291 | + "textAlign": "center", |
|
| 292 | + "verticalAlign": "middle", |
|
| 293 | + "containerId": "dQBMrJbnJiglt6EVOOgLZ", |
|
| 294 | + "originalText": "Motor = 300", |
|
| 295 | + "autoResize": true, |
|
| 296 | + "lineHeight": 1.25 |
|
| 297 | + }, |
|
| 298 | + { |
|
| 299 | + "id": "39yg0hT4KcgyXCf0RjyvK", |
|
| 300 | + "type": "rectangle", |
|
| 301 | + "x": 828.5, |
|
| 302 | + "y": 326, |
|
| 303 | + "width": 107, |
|
| 304 | + "height": 60, |
|
| 305 | + "angle": 0, |
|
| 306 | + "strokeColor": "#1e1e1e", |
|
| 307 | + "backgroundColor": "#b2f2bb", |
|
| 308 | + "fillStyle": "solid", |
|
| 309 | + "strokeWidth": 2, |
|
| 310 | + "strokeStyle": "solid", |
|
| 311 | + "roughness": 1, |
|
| 312 | + "opacity": 100, |
|
| 313 | + "groupIds": [], |
|
| 314 | + "frameId": null, |
|
| 315 | + "index": "a6", |
|
| 316 | + "roundness": { |
|
| 317 | + "type": 3 |
|
| 318 | + }, |
|
| 319 | + "seed": 1897638056, |
|
| 320 | + "version": 292, |
|
| 321 | + "versionNonce": 328437857, |
|
| 322 | + "isDeleted": false, |
|
| 323 | + "boundElements": [ |
|
| 324 | + { |
|
| 325 | + "type": "text", |
|
| 326 | + "id": "3zOHoxCB7REYe6Y7NAXng" |
|
| 327 | + } |
|
| 328 | + ], |
|
| 329 | + "updated": 1748426632165, |
|
| 330 | + "link": null, |
|
| 331 | + "locked": false |
|
| 332 | + }, |
|
| 333 | + { |
|
| 334 | + "id": "3zOHoxCB7REYe6Y7NAXng", |
|
| 335 | + "type": "text", |
|
| 336 | + "x": 840.1700286865234, |
|
| 337 | + "y": 331, |
|
| 338 | + "width": 83.65994262695312, |
|
| 339 | + "height": 50, |
|
| 340 | + "angle": 0, |
|
| 341 | + "strokeColor": "#1e1e1e", |
|
| 342 | + "backgroundColor": "transparent", |
|
| 343 | + "fillStyle": "solid", |
|
| 344 | + "strokeWidth": 2, |
|
| 345 | + "strokeStyle": "solid", |
|
| 346 | + "roughness": 1, |
|
| 347 | + "opacity": 100, |
|
| 348 | + "groupIds": [], |
|
| 349 | + "frameId": null, |
|
| 350 | + "index": "a7", |
|
| 351 | + "roundness": null, |
|
| 352 | + "seed": 1139823528, |
|
| 353 | + "version": 310, |
|
| 354 | + "versionNonce": 442817601, |
|
| 355 | + "isDeleted": false, |
|
| 356 | + "boundElements": [], |
|
| 357 | + "updated": 1748426632165, |
|
| 358 | + "link": null, |
|
| 359 | + "locked": false, |
|
| 360 | + "text": "Propeller\n= 10", |
|
| 361 | + "fontSize": 20, |
|
| 362 | + "fontFamily": 5, |
|
| 363 | + "textAlign": "center", |
|
| 364 | + "verticalAlign": "middle", |
|
| 365 | + "containerId": "39yg0hT4KcgyXCf0RjyvK", |
|
| 366 | + "originalText": "Propeller = 10", |
|
| 367 | + "autoResize": true, |
|
| 368 | + "lineHeight": 1.25 |
|
| 369 | + }, |
|
| 370 | + { |
|
| 371 | + "id": "_6REgZmTfF3_wkHlUN7l_", |
|
| 372 | + "type": "rectangle", |
|
| 373 | + "x": 663, |
|
| 374 | + "y": 325, |
|
| 375 | + "width": 122.99999999999997, |
|
| 376 | + "height": 64, |
|
| 377 | + "angle": 0, |
|
| 378 | + "strokeColor": "#1e1e1e", |
|
| 379 | + "backgroundColor": "#b2f2bb", |
|
| 380 | + "fillStyle": "solid", |
|
| 381 | + "strokeWidth": 2, |
|
| 382 | + "strokeStyle": "solid", |
|
| 383 | + "roughness": 1, |
|
| 384 | + "opacity": 100, |
|
| 385 | + "groupIds": [], |
|
| 386 | + "frameId": null, |
|
| 387 | + "index": "a8", |
|
| 388 | + "roundness": { |
|
| 389 | + "type": 3 |
|
| 390 | + }, |
|
| 391 | + "seed": 152476328, |
|
| 392 | + "version": 175, |
|
| 393 | + "versionNonce": 2042024872, |
|
| 394 | + "isDeleted": false, |
|
| 395 | + "boundElements": [ |
|
| 396 | + { |
|
| 397 | + "id": "pcmRID4XlTVjkJbrWTJFh", |
|
| 398 | + "type": "text" |
|
| 399 | + } |
|
| 400 | + ], |
|
| 401 | + "updated": 1748422716662, |
|
| 402 | + "link": null, |
|
| 403 | + "locked": false |
|
| 404 | + }, |
|
| 405 | + { |
|
| 406 | + "id": "pcmRID4XlTVjkJbrWTJFh", |
|
| 407 | + "type": "text", |
|
| 408 | + "x": 671.1800537109375, |
|
| 409 | + "y": 332, |
|
| 410 | + "width": 106.639892578125, |
|
| 411 | + "height": 50, |
|
| 412 | + "angle": 0, |
|
| 413 | + "strokeColor": "#1e1e1e", |
|
| 414 | + "backgroundColor": "transparent", |
|
| 415 | + "fillStyle": "solid", |
|
| 416 | + "strokeWidth": 2, |
|
| 417 | + "strokeStyle": "solid", |
|
| 418 | + "roughness": 1, |
|
| 419 | + "opacity": 100, |
|
| 420 | + "groupIds": [], |
|
| 421 | + "frameId": null, |
|
| 422 | + "index": "a9", |
|
| 423 | + "roundness": null, |
|
| 424 | + "seed": 1136461224, |
|
| 425 | + "version": 170, |
|
| 426 | + "versionNonce": 99491496, |
|
| 427 | + "isDeleted": false, |
|
| 428 | + "boundElements": [], |
|
| 429 | + "updated": 1748422716662, |
|
| 430 | + "link": null, |
|
| 431 | + "locked": false, |
|
| 432 | + "text": "Main-Frame\n= 150", |
|
| 433 | + "fontSize": 20, |
|
| 434 | + "fontFamily": 5, |
|
| 435 | + "textAlign": "center", |
|
| 436 | + "verticalAlign": "middle", |
|
| 437 | + "containerId": "_6REgZmTfF3_wkHlUN7l_", |
|
| 438 | + "originalText": "Main-Frame = 150", |
|
| 439 | + "autoResize": true, |
|
| 440 | + "lineHeight": 1.25 |
|
| 441 | + }, |
|
| 442 | + { |
|
| 443 | + "id": "J2UFOMDRFu5ttiaWqG7fH", |
|
| 444 | + "type": "rectangle", |
|
| 445 | + "x": 700, |
|
| 446 | + "y": 491, |
|
| 447 | + "width": 129.99999999999994, |
|
| 448 | + "height": 41.99999999999999, |
|
| 449 | + "angle": 0, |
|
| 450 | + "strokeColor": "#1e1e1e", |
|
| 451 | + "backgroundColor": "#ffc9c9", |
|
| 452 | + "fillStyle": "solid", |
|
| 453 | + "strokeWidth": 2, |
|
| 454 | + "strokeStyle": "solid", |
|
| 455 | + "roughness": 1, |
|
| 456 | + "opacity": 100, |
|
| 457 | + "groupIds": [], |
|
| 458 | + "frameId": null, |
|
| 459 | + "index": "aA", |
|
| 460 | + "roundness": { |
|
| 461 | + "type": 3 |
|
| 462 | + }, |
|
| 463 | + "seed": 795808728, |
|
| 464 | + "version": 264, |
|
| 465 | + "versionNonce": 1340595361, |
|
| 466 | + "isDeleted": false, |
|
| 467 | + "boundElements": [ |
|
| 468 | + { |
|
| 469 | + "id": "Du7DHS8OTbnNNNwya2j5K", |
|
| 470 | + "type": "text" |
|
| 471 | + } |
|
| 472 | + ], |
|
| 473 | + "updated": 1748427033925, |
|
| 474 | + "link": null, |
|
| 475 | + "locked": false |
|
| 476 | + }, |
|
| 477 | + { |
|
| 478 | + "id": "Du7DHS8OTbnNNNwya2j5K", |
|
| 479 | + "type": "text", |
|
| 480 | + "x": 710.4500045776367, |
|
| 481 | + "y": 499.5, |
|
| 482 | + "width": 109.09999084472656, |
|
| 483 | + "height": 25, |
|
| 484 | + "angle": 0, |
|
| 485 | + "strokeColor": "#1e1e1e", |
|
| 486 | + "backgroundColor": "transparent", |
|
| 487 | + "fillStyle": "solid", |
|
| 488 | + "strokeWidth": 2, |
|
| 489 | + "strokeStyle": "solid", |
|
| 490 | + "roughness": 1, |
|
| 491 | + "opacity": 100, |
|
| 492 | + "groupIds": [], |
|
| 493 | + "frameId": null, |
|
| 494 | + "index": "aB", |
|
| 495 | + "roundness": null, |
|
| 496 | + "seed": 1695471832, |
|
| 497 | + "version": 264, |
|
| 498 | + "versionNonce": 384147585, |
|
| 499 | + "isDeleted": false, |
|
| 500 | + "boundElements": [], |
|
| 501 | + "updated": 1748427033925, |
|
| 502 | + "link": null, |
|
| 503 | + "locked": false, |
|
| 504 | + "text": "VTX = 200", |
|
| 505 | + "fontSize": 20, |
|
| 506 | + "fontFamily": 5, |
|
| 507 | + "textAlign": "center", |
|
| 508 | + "verticalAlign": "middle", |
|
| 509 | + "containerId": "J2UFOMDRFu5ttiaWqG7fH", |
|
| 510 | + "originalText": "VTX = 200", |
|
| 511 | + "autoResize": true, |
|
| 512 | + "lineHeight": 1.25 |
|
| 513 | + }, |
|
| 514 | + { |
|
| 515 | + "id": "3vVT9tiSgEKxWbpOrX7X8", |
|
| 516 | + "type": "rectangle", |
|
| 517 | + "x": 522, |
|
| 518 | + "y": 487, |
|
| 519 | + "width": 126.00000000000003, |
|
| 520 | + "height": 60, |
|
| 521 | + "angle": 0, |
|
| 522 | + "strokeColor": "#1e1e1e", |
|
| 523 | + "backgroundColor": "#ffc9c9", |
|
| 524 | + "fillStyle": "solid", |
|
| 525 | + "strokeWidth": 2, |
|
| 526 | + "strokeStyle": "solid", |
|
| 527 | + "roughness": 1, |
|
| 528 | + "opacity": 100, |
|
| 529 | + "groupIds": [], |
|
| 530 | + "frameId": null, |
|
| 531 | + "index": "aC", |
|
| 532 | + "roundness": { |
|
| 533 | + "type": 3 |
|
| 534 | + }, |
|
| 535 | + "seed": 1068534952, |
|
| 536 | + "version": 230, |
|
| 537 | + "versionNonce": 1297363624, |
|
| 538 | + "isDeleted": false, |
|
| 539 | + "boundElements": [ |
|
| 540 | + { |
|
| 541 | + "id": "FgwLKQnis0PNy-skik7v9", |
|
| 542 | + "type": "text" |
|
| 543 | + } |
|
| 544 | + ], |
|
| 545 | + "updated": 1748422796813, |
|
| 546 | + "link": null, |
|
| 547 | + "locked": false |
|
| 548 | + }, |
|
| 549 | + { |
|
| 550 | + "id": "FgwLKQnis0PNy-skik7v9", |
|
| 551 | + "type": "text", |
|
| 552 | + "x": 541.9700317382812, |
|
| 553 | + "y": 492, |
|
| 554 | + "width": 86.0599365234375, |
|
| 555 | + "height": 50, |
|
| 556 | + "angle": 0, |
|
| 557 | + "strokeColor": "#1e1e1e", |
|
| 558 | + "backgroundColor": "transparent", |
|
| 559 | + "fillStyle": "solid", |
|
| 560 | + "strokeWidth": 2, |
|
| 561 | + "strokeStyle": "solid", |
|
| 562 | + "roughness": 1, |
|
| 563 | + "opacity": 100, |
|
| 564 | + "groupIds": [], |
|
| 565 | + "frameId": null, |
|
| 566 | + "index": "aD", |
|
| 567 | + "roundness": null, |
|
| 568 | + "seed": 910735272, |
|
| 569 | + "version": 194, |
|
| 570 | + "versionNonce": 1552391592, |
|
| 571 | + "isDeleted": false, |
|
| 572 | + "boundElements": [], |
|
| 573 | + "updated": 1748422796813, |
|
| 574 | + "link": null, |
|
| 575 | + "locked": false, |
|
| 576 | + "text": "Camera =\n100", |
|
| 577 | + "fontSize": 20, |
|
| 578 | + "fontFamily": 5, |
|
| 579 | + "textAlign": "center", |
|
| 580 | + "verticalAlign": "middle", |
|
| 581 | + "containerId": "3vVT9tiSgEKxWbpOrX7X8", |
|
| 582 | + "originalText": "Camera = 100", |
|
| 583 | + "autoResize": true, |
|
| 584 | + "lineHeight": 1.25 |
|
| 585 | + }, |
|
| 586 | + { |
|
| 587 | + "id": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 588 | + "type": "rectangle", |
|
| 589 | + "x": 1229, |
|
| 590 | + "y": 252, |
|
| 591 | + "width": 138.99999999999994, |
|
| 592 | + "height": 60, |
|
| 593 | + "angle": 0, |
|
| 594 | + "strokeColor": "#1e1e1e", |
|
| 595 | + "backgroundColor": "#a5d8ff", |
|
| 596 | + "fillStyle": "solid", |
|
| 597 | + "strokeWidth": 2, |
|
| 598 | + "strokeStyle": "solid", |
|
| 599 | + "roughness": 1, |
|
| 600 | + "opacity": 100, |
|
| 601 | + "groupIds": [], |
|
| 602 | + "frameId": null, |
|
| 603 | + "index": "aE", |
|
| 604 | + "roundness": { |
|
| 605 | + "type": 3 |
|
| 606 | + }, |
|
| 607 | + "seed": 809181608, |
|
| 608 | + "version": 323, |
|
| 609 | + "versionNonce": 1891906799, |
|
| 610 | + "isDeleted": false, |
|
| 611 | + "boundElements": [ |
|
| 612 | + { |
|
| 613 | + "type": "text", |
|
| 614 | + "id": "LCDVnC1vv263MbHoIDBW_" |
|
| 615 | + }, |
|
| 616 | + { |
|
| 617 | + "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 618 | + "type": "arrow" |
|
| 619 | + } |
|
| 620 | + ], |
|
| 621 | + "updated": 1748427037458, |
|
| 622 | + "link": null, |
|
| 623 | + "locked": false |
|
| 624 | + }, |
|
| 625 | + { |
|
| 626 | + "id": "LCDVnC1vv263MbHoIDBW_", |
|
| 627 | + "type": "text", |
|
| 628 | + "x": 1240.5300521850586, |
|
| 629 | + "y": 257, |
|
| 630 | + "width": 115.93989562988281, |
|
| 631 | + "height": 50, |
|
| 632 | + "angle": 0, |
|
| 633 | + "strokeColor": "#1e1e1e", |
|
| 634 | + "backgroundColor": "transparent", |
|
| 635 | + "fillStyle": "solid", |
|
| 636 | + "strokeWidth": 2, |
|
| 637 | + "strokeStyle": "solid", |
|
| 638 | + "roughness": 1, |
|
| 639 | + "opacity": 100, |
|
| 640 | + "groupIds": [], |
|
| 641 | + "frameId": null, |
|
| 642 | + "index": "aF", |
|
| 643 | + "roundness": null, |
|
| 644 | + "seed": 1119399080, |
|
| 645 | + "version": 338, |
|
| 646 | + "versionNonce": 1533918991, |
|
| 647 | + "isDeleted": false, |
|
| 648 | + "boundElements": [], |
|
| 649 | + "updated": 1748427037458, |
|
| 650 | + "link": null, |
|
| 651 | + "locked": false, |
|
| 652 | + "text": "RC Receiver\n= 50", |
|
| 653 | + "fontSize": 20, |
|
| 654 | + "fontFamily": 5, |
|
| 655 | + "textAlign": "center", |
|
| 656 | + "verticalAlign": "middle", |
|
| 657 | + "containerId": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 658 | + "originalText": "RC Receiver = 50", |
|
| 659 | + "autoResize": true, |
|
| 660 | + "lineHeight": 1.25 |
|
| 661 | + }, |
|
| 662 | + { |
|
| 663 | + "id": "wL-KVbUba9QmRU7CkegfR", |
|
| 664 | + "type": "rectangle", |
|
| 665 | + "x": 880.5, |
|
| 666 | + "y": 493, |
|
| 667 | + "width": 69.99999999999997, |
|
| 668 | + "height": 35, |
|
| 669 | + "angle": 0, |
|
| 670 | + "strokeColor": "#1e1e1e", |
|
| 671 | + "backgroundColor": "#e9ecef", |
|
| 672 | + "fillStyle": "solid", |
|
| 673 | + "strokeWidth": 2, |
|
| 674 | + "strokeStyle": "solid", |
|
| 675 | + "roughness": 1, |
|
| 676 | + "opacity": 100, |
|
| 677 | + "groupIds": [], |
|
| 678 | + "frameId": null, |
|
| 679 | + "index": "aI", |
|
| 680 | + "roundness": { |
|
| 681 | + "type": 3 |
|
| 682 | + }, |
|
| 683 | + "seed": 1463674584, |
|
| 684 | + "version": 256, |
|
| 685 | + "versionNonce": 2117512751, |
|
| 686 | + "isDeleted": false, |
|
| 687 | + "boundElements": [ |
|
| 688 | + { |
|
| 689 | + "type": "text", |
|
| 690 | + "id": "gJ0j4-eRygfcUS-K51Vwg" |
|
| 691 | + } |
|
| 692 | + ], |
|
| 693 | + "updated": 1748427039465, |
|
| 694 | + "link": null, |
|
| 695 | + "locked": false |
|
| 696 | + }, |
|
| 697 | + { |
|
| 698 | + "id": "gJ0j4-eRygfcUS-K51Vwg", |
|
| 699 | + "type": "text", |
|
| 700 | + "x": 894.5000152587891, |
|
| 701 | + "y": 498, |
|
| 702 | + "width": 41.999969482421875, |
|
| 703 | + "height": 25, |
|
| 704 | + "angle": 0, |
|
| 705 | + "strokeColor": "#1e1e1e", |
|
| 706 | + "backgroundColor": "transparent", |
|
| 707 | + "fillStyle": "solid", |
|
| 708 | + "strokeWidth": 2, |
|
| 709 | + "strokeStyle": "solid", |
|
| 710 | + "roughness": 1, |
|
| 711 | + "opacity": 100, |
|
| 712 | + "groupIds": [], |
|
| 713 | + "frameId": null, |
|
| 714 | + "index": "aJ", |
|
| 715 | + "roundness": null, |
|
| 716 | + "seed": 1904954328, |
|
| 717 | + "version": 276, |
|
| 718 | + "versionNonce": 515838031, |
|
| 719 | + "isDeleted": false, |
|
| 720 | + "boundElements": [], |
|
| 721 | + "updated": 1748427039465, |
|
| 722 | + "link": null, |
|
| 723 | + "locked": false, |
|
| 724 | + "text": "GPS", |
|
| 725 | + "fontSize": 20, |
|
| 726 | + "fontFamily": 5, |
|
| 727 | + "textAlign": "center", |
|
| 728 | + "verticalAlign": "middle", |
|
| 729 | + "containerId": "wL-KVbUba9QmRU7CkegfR", |
|
| 730 | + "originalText": "GPS", |
|
| 731 | + "autoResize": true, |
|
| 732 | + "lineHeight": 1.25 |
|
| 733 | + }, |
|
| 734 | + { |
|
| 735 | + "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 736 | + "type": "arrow", |
|
| 737 | + "x": 1228.0845892628427, |
|
| 738 | + "y": 287.3184231778119, |
|
| 739 | + "width": 132.17468159686268, |
|
| 740 | + "height": 0.26982762300536933, |
|
| 741 | + "angle": 0, |
|
| 742 | + "strokeColor": "#1e1e1e", |
|
| 743 | + "backgroundColor": "#e9ecef", |
|
| 744 | + "fillStyle": "solid", |
|
| 745 | + "strokeWidth": 2, |
|
| 746 | + "strokeStyle": "solid", |
|
| 747 | + "roughness": 1, |
|
| 748 | + "opacity": 100, |
|
| 749 | + "groupIds": [], |
|
| 750 | + "frameId": null, |
|
| 751 | + "index": "aK", |
|
| 752 | + "roundness": { |
|
| 753 | + "type": 2 |
|
| 754 | + }, |
|
| 755 | + "seed": 1421350312, |
|
| 756 | + "version": 253, |
|
| 757 | + "versionNonce": 1755383087, |
|
| 758 | + "isDeleted": false, |
|
| 759 | + "boundElements": [ |
|
| 760 | + { |
|
| 761 | + "type": "text", |
|
| 762 | + "id": "PSWMR8UYgGKRD2Crq-piz" |
|
| 763 | + } |
|
| 764 | + ], |
|
| 765 | + "updated": 1748427037458, |
|
| 766 | + "link": null, |
|
| 767 | + "locked": false, |
|
| 768 | + "points": [ |
|
| 769 | + [ |
|
| 770 | + 0, |
|
| 771 | + 0 |
|
| 772 | + ], |
|
| 773 | + [ |
|
| 774 | + -132.17468159686268, |
|
| 775 | + 0.26982762300536933 |
|
| 776 | + ] |
|
| 777 | + ], |
|
| 778 | + "lastCommittedPoint": null, |
|
| 779 | + "startBinding": { |
|
| 780 | + "elementId": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 781 | + "focus": -0.16664069699466444, |
|
| 782 | + "gap": 1 |
|
| 783 | + }, |
|
| 784 | + "endBinding": { |
|
| 785 | + "elementId": "xwZqhCJw7rZ5KZzboz518", |
|
| 786 | + "focus": 0.013272489423998435, |
|
| 787 | + "gap": 1 |
|
| 788 | + }, |
|
| 789 | + "startArrowhead": null, |
|
| 790 | + "endArrowhead": "arrow", |
|
| 791 | + "elbowed": false |
|
| 792 | + }, |
|
| 793 | + { |
|
| 794 | + "id": "PSWMR8UYgGKRD2Crq-piz", |
|
| 795 | + "type": "text", |
|
| 796 | + "x": 842.2223983119171, |
|
| 797 | + "y": 488.29889940873977, |
|
| 798 | + "width": 85.69993591308594, |
|
| 799 | + "height": 25, |
|
| 800 | + "angle": 0, |
|
| 801 | + "strokeColor": "#1e1e1e", |
|
| 802 | + "backgroundColor": "#e9ecef", |
|
| 803 | + "fillStyle": "solid", |
|
| 804 | + "strokeWidth": 2, |
|
| 805 | + "strokeStyle": "solid", |
|
| 806 | + "roughness": 1, |
|
| 807 | + "opacity": 100, |
|
| 808 | + "groupIds": [], |
|
| 809 | + "frameId": null, |
|
| 810 | + "index": "aL", |
|
| 811 | + "roundness": null, |
|
| 812 | + "seed": 1364791512, |
|
| 813 | + "version": 10, |
|
| 814 | + "versionNonce": 900883160, |
|
| 815 | + "isDeleted": false, |
|
| 816 | + "boundElements": [], |
|
| 817 | + "updated": 1748421421408, |
|
| 818 | + "link": null, |
|
| 819 | + "locked": false, |
|
| 820 | + "text": "on-board", |
|
| 821 | + "fontSize": 20, |
|
| 822 | + "fontFamily": 5, |
|
| 823 | + "textAlign": "center", |
|
| 824 | + "verticalAlign": "middle", |
|
| 825 | + "containerId": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 826 | + "originalText": "on-board", |
|
| 827 | + "autoResize": true, |
|
| 828 | + "lineHeight": 1.25 |
|
| 829 | + }, |
|
| 830 | + { |
|
| 831 | + "id": "WHHJztwkpBDaharxfS1O_", |
|
| 832 | + "type": "rectangle", |
|
| 833 | + "x": 656, |
|
| 834 | + "y": 241, |
|
| 835 | + "width": 134, |
|
| 836 | + "height": 60, |
|
| 837 | + "angle": 0, |
|
| 838 | + "strokeColor": "#1e1e1e", |
|
| 839 | + "backgroundColor": "#b2f2bb", |
|
| 840 | + "fillStyle": "solid", |
|
| 841 | + "strokeWidth": 2, |
|
| 842 | + "strokeStyle": "solid", |
|
| 843 | + "roughness": 1, |
|
| 844 | + "opacity": 100, |
|
| 845 | + "groupIds": [], |
|
| 846 | + "frameId": null, |
|
| 847 | + "index": "aM", |
|
| 848 | + "roundness": { |
|
| 849 | + "type": 3 |
|
| 850 | + }, |
|
| 851 | + "seed": 1090484136, |
|
| 852 | + "version": 277, |
|
| 853 | + "versionNonce": 1199615521, |
|
| 854 | + "isDeleted": false, |
|
| 855 | + "boundElements": [ |
|
| 856 | + { |
|
| 857 | + "type": "text", |
|
| 858 | + "id": "vDNvXqlsNS7xDG-c7FBVM" |
|
| 859 | + } |
|
| 860 | + ], |
|
| 861 | + "updated": 1748426626032, |
|
| 862 | + "link": null, |
|
| 863 | + "locked": false |
|
| 864 | + }, |
|
| 865 | + { |
|
| 866 | + "id": "vDNvXqlsNS7xDG-c7FBVM", |
|
| 867 | + "type": "text", |
|
| 868 | + "x": 666.8700332641602, |
|
| 869 | + "y": 246, |
|
| 870 | + "width": 112.25993347167969, |
|
| 871 | + "height": 50, |
|
| 872 | + "angle": 0, |
|
| 873 | + "strokeColor": "#1e1e1e", |
|
| 874 | + "backgroundColor": "transparent", |
|
| 875 | + "fillStyle": "solid", |
|
| 876 | + "strokeWidth": 2, |
|
| 877 | + "strokeStyle": "solid", |
|
| 878 | + "roughness": 1, |
|
| 879 | + "opacity": 100, |
|
| 880 | + "groupIds": [], |
|
| 881 | + "frameId": null, |
|
| 882 | + "index": "aN", |
|
| 883 | + "roundness": null, |
|
| 884 | + "seed": 612516520, |
|
| 885 | + "version": 263, |
|
| 886 | + "versionNonce": 375931393, |
|
| 887 | + "isDeleted": false, |
|
| 888 | + "boundElements": [], |
|
| 889 | + "updated": 1748426626032, |
|
| 890 | + "link": null, |
|
| 891 | + "locked": false, |
|
| 892 | + "text": "Battery 2x\n= 60", |
|
| 893 | + "fontSize": 20, |
|
| 894 | + "fontFamily": 5, |
|
| 895 | + "textAlign": "center", |
|
| 896 | + "verticalAlign": "middle", |
|
| 897 | + "containerId": "WHHJztwkpBDaharxfS1O_", |
|
| 898 | + "originalText": "Battery 2x = 60", |
|
| 899 | + "autoResize": true, |
|
| 900 | + "lineHeight": 1.25 |
|
| 901 | + }, |
|
| 902 | + { |
|
| 903 | + "id": "lw0YBO3rN5fCfHzt5296t", |
|
| 904 | + "type": "rectangle", |
|
| 905 | + "x": 527, |
|
| 906 | + "y": 684, |
|
| 907 | + "width": 126.00000000000003, |
|
| 908 | + "height": 60, |
|
| 909 | + "angle": 0, |
|
| 910 | + "strokeColor": "#1e1e1e", |
|
| 911 | + "backgroundColor": "#ffc9c9", |
|
| 912 | + "fillStyle": "solid", |
|
| 913 | + "strokeWidth": 2, |
|
| 914 | + "strokeStyle": "solid", |
|
| 915 | + "roughness": 1, |
|
| 916 | + "opacity": 100, |
|
| 917 | + "groupIds": [], |
|
| 918 | + "frameId": null, |
|
| 919 | + "index": "aO", |
|
| 920 | + "roundness": { |
|
| 921 | + "type": 3 |
|
| 922 | + }, |
|
| 923 | + "seed": 17567448, |
|
| 924 | + "version": 278, |
|
| 925 | + "versionNonce": 1530818575, |
|
| 926 | + "isDeleted": false, |
|
| 927 | + "boundElements": [ |
|
| 928 | + { |
|
| 929 | + "id": "-BF2YHpA4rxtMrddxdpyf", |
|
| 930 | + "type": "text" |
|
| 931 | + } |
|
| 932 | + ], |
|
| 933 | + "updated": 1748427035974, |
|
| 934 | + "link": null, |
|
| 935 | + "locked": false |
|
| 936 | + }, |
|
| 937 | + { |
|
| 938 | + "id": "-BF2YHpA4rxtMrddxdpyf", |
|
| 939 | + "type": "text", |
|
| 940 | + "x": 542.5500259399414, |
|
| 941 | + "y": 689, |
|
| 942 | + "width": 94.89994812011719, |
|
| 943 | + "height": 50, |
|
| 944 | + "angle": 0, |
|
| 945 | + "strokeColor": "#1e1e1e", |
|
| 946 | + "backgroundColor": "transparent", |
|
| 947 | + "fillStyle": "solid", |
|
| 948 | + "strokeWidth": 2, |
|
| 949 | + "strokeStyle": "solid", |
|
| 950 | + "roughness": 1, |
|
| 951 | + "opacity": 100, |
|
| 952 | + "groupIds": [], |
|
| 953 | + "frameId": null, |
|
| 954 | + "index": "aP", |
|
| 955 | + "roundness": null, |
|
| 956 | + "seed": 257192920, |
|
| 957 | + "version": 257, |
|
| 958 | + "versionNonce": 1832097327, |
|
| 959 | + "isDeleted": false, |
|
| 960 | + "boundElements": [], |
|
| 961 | + "updated": 1748427035974, |
|
| 962 | + "link": null, |
|
| 963 | + "locked": false, |
|
| 964 | + "text": "Goggles =\n350", |
|
| 965 | + "fontSize": 20, |
|
| 966 | + "fontFamily": 5, |
|
| 967 | + "textAlign": "center", |
|
| 968 | + "verticalAlign": "middle", |
|
| 969 | + "containerId": "lw0YBO3rN5fCfHzt5296t", |
|
| 970 | + "originalText": "Goggles = 350", |
|
| 971 | + "autoResize": true, |
|
| 972 | + "lineHeight": 1.25 |
|
| 973 | + }, |
|
| 974 | + { |
|
| 975 | + "id": "-rpj5rbOsNGxn0AKS84xn", |
|
| 976 | + "type": "rectangle", |
|
| 977 | + "x": 499, |
|
| 978 | + "y": 589, |
|
| 979 | + "width": 150.00000000000003, |
|
| 980 | + "height": 60, |
|
| 981 | + "angle": 0, |
|
| 982 | + "strokeColor": "#1e1e1e", |
|
| 983 | + "backgroundColor": "#ffc9c9", |
|
| 984 | + "fillStyle": "solid", |
|
| 985 | + "strokeWidth": 2, |
|
| 986 | + "strokeStyle": "solid", |
|
| 987 | + "roughness": 1, |
|
| 988 | + "opacity": 100, |
|
| 989 | + "groupIds": [], |
|
| 990 | + "frameId": null, |
|
| 991 | + "index": "aQ", |
|
| 992 | + "roundness": { |
|
| 993 | + "type": 3 |
|
| 994 | + }, |
|
| 995 | + "seed": 1647720104, |
|
| 996 | + "version": 117, |
|
| 997 | + "versionNonce": 1987722351, |
|
| 998 | + "isDeleted": false, |
|
| 999 | + "boundElements": [ |
|
| 1000 | + { |
|
| 1001 | + "type": "text", |
|
| 1002 | + "id": "kw9KSSez4CvmVvKdCexi9" |
|
| 1003 | + } |
|
| 1004 | + ], |
|
| 1005 | + "updated": 1748426673933, |
|
| 1006 | + "link": null, |
|
| 1007 | + "locked": false |
|
| 1008 | + }, |
|
| 1009 | + { |
|
| 1010 | + "id": "kw9KSSez4CvmVvKdCexi9", |
|
| 1011 | + "type": "text", |
|
| 1012 | + "x": 509.0500259399414, |
|
| 1013 | + "y": 594, |
|
| 1014 | + "width": 129.8999481201172, |
|
| 1015 | + "height": 50, |
|
| 1016 | + "angle": 0, |
|
| 1017 | + "strokeColor": "#1e1e1e", |
|
| 1018 | + "backgroundColor": "#a5d8ff", |
|
| 1019 | + "fillStyle": "solid", |
|
| 1020 | + "strokeWidth": 2, |
|
| 1021 | + "strokeStyle": "solid", |
|
| 1022 | + "roughness": 1, |
|
| 1023 | + "opacity": 100, |
|
| 1024 | + "groupIds": [], |
|
| 1025 | + "frameId": null, |
|
| 1026 | + "index": "aR", |
|
| 1027 | + "roundness": null, |
|
| 1028 | + "seed": 1750714840, |
|
| 1029 | + "version": 105, |
|
| 1030 | + "versionNonce": 1542903439, |
|
| 1031 | + "isDeleted": false, |
|
| 1032 | + "boundElements": [], |
|
| 1033 | + "updated": 1748426673933, |
|
| 1034 | + "link": null, |
|
| 1035 | + "locked": false, |
|
| 1036 | + "text": "Console TX =\n200", |
|
| 1037 | + "fontSize": 20, |
|
| 1038 | + "fontFamily": 5, |
|
| 1039 | + "textAlign": "center", |
|
| 1040 | + "verticalAlign": "middle", |
|
| 1041 | + "containerId": "-rpj5rbOsNGxn0AKS84xn", |
|
| 1042 | + "originalText": "Console TX = 200", |
|
| 1043 | + "autoResize": true, |
|
| 1044 | + "lineHeight": 1.25 |
|
| 1045 | + } |
|
| 1046 | + ], |
|
| 1047 | + "appState": { |
|
| 1048 | + "gridSize": 20, |
|
| 1049 | + "gridStep": 5, |
|
| 1050 | + "gridModeEnabled": false, |
|
| 1051 | + "viewBackgroundColor": "#ffffff" |
|
| 1052 | + }, |
|
| 1053 | + "files": {} |
|
| 1054 | +} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/FPV-dat.md
| ... | ... | @@ -0,0 +1,413 @@ |
| 1 | + |
|
| 2 | +# FPV-dat |
|
| 3 | + |
|
| 4 | +## Info |
|
| 5 | + |
|
| 6 | +- [[quadcopter-dat]] |
|
| 7 | + |
|
| 8 | +- [[ELRS-dat]] - [[FrSky-dat]] - [[ArduPilot-dat]] - [[CRSF-dat]] |
|
| 9 | + |
|
| 10 | +- [[BMS-dat]] - [[flight-controller-dat]] - [[ESC-dat]] - [[motor-dat]] - [[propeller-dat]] |
|
| 11 | + |
|
| 12 | +- [[camera-FPV-dat]] - [[VTX-dat]] |
|
| 13 | + |
|
| 14 | +- [[RC-controller-dat]] |
|
| 15 | + |
|
| 16 | +- [[FPV]] - [[DJI-dat]] - [[RC-supplier-dat]] |
|
| 17 | + |
|
| 18 | +- [[battery-pack-dat]] - [[power-dat]] |
|
| 19 | + |
|
| 20 | +- [[sensor-dat]] - [[motor-dat]] - [[motor-FPV-dat]] |
|
| 21 | + |
|
| 22 | +- [[FPV-accesories-dat]] |
|
| 23 | + |
|
| 24 | +- [[betaflight-dat]] - [[RC-configurator-dat]] |
|
| 25 | + |
|
| 26 | +- [[indoor-fly-dat]] - [[FPV-load-dat]] |
|
| 27 | + |
|
| 28 | +- [[CaddxFPV-dat]] - [[DJI-dat]] |
|
| 29 | + |
|
| 30 | +- [[conn-dat]] - [[antenna-dat]] |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## build |
|
| 35 | + |
|
| 36 | +| indx | parts | cost RMB | cost USD/7 | eg. common select | |
|
| 37 | +| ---- | ------------------------- | -------- | --------------- | ----------------- | |
|
| 38 | +| 1 | [[frame-dat]] | 22.5 | 3 | [[mobula8-dat]] | |
|
| 39 | +| 2 | [[flight-controller-dat]] | 383 | 55 | [[X12-dat]] | |
|
| 40 | +| 3 | [[motor-FPV-dat]] x4 | 54 | 8 x4 = 32 | [[EX1103-dat]] | |
|
| 41 | +| 4 | [[propeller-dat]] x4 | 1.6 | 0.23 x4 = 0.92 | 乾丰2023三叶 | |
|
| 42 | +| 5 | [[VTX-dat]] | 81 | 11.6 | Caddx ANT 1200TVL | |
|
| 43 | +| | [[XT30-dat]] cable | 4 | 0.6 | | |
|
| 44 | +| | [[battery-dat]] x2 | 55 | 7.9 x2 = 15.8 | | |
|
| 45 | +| | [[mobula8-dat]] | | 100 | | |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +- [[CONN-dat]] |
|
| 49 | + |
|
| 50 | +## popular whoops |
|
| 51 | + |
|
| 52 | +- [[aquila16]] |
|
| 53 | + |
|
| 54 | +- indoor build 65mm - [[mobula6-dat]] - meteor65 |
|
| 55 | + |
|
| 56 | + |
|
| 57 | + |
|
| 58 | +## FPV by purposes |
|
| 59 | + |
|
| 60 | +- [[indoor-fly-dat]] |
|
| 61 | + |
|
| 62 | +- Tinywhoop = indoor fun. |
|
| 63 | +- Cinewhoop = cinematic close shots. |
|
| 64 | +- Racing = pure speed. |
|
| 65 | +- Freestyle = tricks & acro. |
|
| 66 | +- Long-range = exploration. |
|
| 67 | +- Heavy-lift = pro filmmaking. |
|
| 68 | + |
|
| 69 | +### 1. Tiny Whoop |
|
| 70 | + |
|
| 71 | +- [[tinywhoop-dat]] |
|
| 72 | + |
|
| 73 | +- **Size:** 65–85 mm wheelbase, 1S battery |
|
| 74 | +- **Purpose:** Indoor flying, safe around people/pets, practice |
|
| 75 | +- **Features:** Ducted props, very light, low risk |
|
| 76 | + |
|
| 77 | +### 2. Cinewhoop |
|
| 78 | + |
|
| 79 | +- [[cinewhoop-dat]] |
|
| 80 | + |
|
| 81 | +- **Size:** 85–150 mm wheelbase, 2.5–3.5 inch props |
|
| 82 | +- **Purpose:** Smooth, stable cinematic footage (close proximity / indoors) |
|
| 83 | +- **Features:** Ducted props for safety, carries small action camera (GoPro, Naked GoPro, Insta360) |
|
| 84 | + |
|
| 85 | +### 3. Racing Drones |
|
| 86 | + |
|
| 87 | +- [[racing-drones-dat]] |
|
| 88 | + |
|
| 89 | +- **Size:** 3–5 inch props (120–250 mm wheelbase) |
|
| 90 | +- **Purpose:** Maximum speed and agility for competition |
|
| 91 | +- **Features:** Lightweight, optimized for acceleration, high thrust-to-weight ratio |
|
| 92 | + |
|
| 93 | +### 4. Freestyle Quads |
|
| 94 | + |
|
| 95 | +- [[freestyle-drones-dat]] |
|
| 96 | + |
|
| 97 | +- **Size:** Typically 5 inch props |
|
| 98 | +- **Purpose:** Acrobatics, tricks, expressive flying outdoors |
|
| 99 | +- **Features:** Durable frame, strong motors, smooth response |
|
| 100 | + |
|
| 101 | +### 5. Long-Range FPV |
|
| 102 | + |
|
| 103 | +- [[long-range-drones-dat]] |
|
| 104 | + |
|
| 105 | +- **Size:** 4–7 inch props |
|
| 106 | +- **Purpose:** Extended range flights (kilometers away), exploration |
|
| 107 | +- **Features:** Larger battery, GPS, efficient motors, sometimes wings |
|
| 108 | + |
|
| 109 | +### 6. Micro / Toothpick |
|
| 110 | + |
|
| 111 | +- [[toothpick-drones-dat]] |
|
| 112 | + |
|
| 113 | +- **Size:** 2.5–4 inch props, very light frame |
|
| 114 | +- **Purpose:** Outdoor fun flying, mix of agility and portability |
|
| 115 | +- **Features:** No ducts, higher power-to-weight than Tiny Whoop, still safe-ish |
|
| 116 | + |
|
| 117 | +### 7. Heavy-Lift / Cinematic |
|
| 118 | + |
|
| 119 | +- [[heavy-lift-drones-dat]] |
|
| 120 | + |
|
| 121 | +- **Size:** 6–12 inch props (custom builds) |
|
| 122 | +- **Purpose:** Professional film-making, carrying big cinema cameras (RED, Blackmagic) |
|
| 123 | +- **Features:** Very stable, high payload, expensive |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +## The best overall FPV drone Starting Kit |
|
| 128 | + |
|
| 129 | +- [[RC-dat]] == [[radiomaster-dat]] = 50 USD |
|
| 130 | + |
|
| 131 | +- [[goggles-dat]] == [[walksnail-dat]] = 180 USD |
|
| 132 | + |
|
| 133 | +- [[drone-maker-dat]] == [[mobula8-dat]] == [[happymodel-dat]] == 100 USD |
|
| 134 | + |
|
| 135 | +- [[betaFPV-dat]] - [[Aquila16-dat]] |
|
| 136 | + |
|
| 137 | + |
|
| 138 | +## RC configurator |
|
| 139 | + |
|
| 140 | +- [[betaflight-dat]] - [[BLHeli-Configurator-dat]] |
|
| 141 | + |
|
| 142 | +- [[FPV-takeoff-checklist-dat]] |
|
| 143 | + |
|
| 144 | + |
|
| 145 | +## whoop by size |
|
| 146 | + |
|
| 147 | +# FPV Drone Categories Comparison |
|
| 148 | + |
|
| 149 | +| Category | Size (Wheelbase / Prop) | Weight (approx) | Features | Best Use Case | Example Models | |
|
| 150 | +| --------------- | ------------------------ | --------------- | ------------------------------------- | ------------------------------------- | ------------------------------------ | |
|
| 151 | +| **TinyWhoop** | 65–75mm / 31–40mm props | 20–30g | Ducted, safe, brushed/brushless | Indoor, beginner, safe around people | Mobula6, BetaFPV Meteor65 | |
|
| 152 | +| **MicroWhoop** | 75–100mm / 40–50mm props | 30–60g | Brushless, small ducts, more power | Indoor & small outdoor | Mobula7, Meteor85 | |
|
| 153 | +| **CineWhoop** | 3 inch / 120–150mm | 200–400g | Ducted, smooth flight, carries camera | Cinematic filming (GoPro/naked GoPro) | GEPRC CineLog 30, iFlight Protek35 | |
|
| 154 | +| **Toothpick** | 2.5–4 inch / 90–160mm | 40–120g | Very light, no ducts, carbon frame | Outdoor freestyle, nimble flying | Happymodel Sailfly-X, HX115 | |
|
| 155 | +| **Micro Quad** | 100–150mm / 2–3 inch | 70–150g | Small frame, not always ducted | Small park freestyle & racing | Emax Babyhawk II, iFlight Alpha A85 | |
|
| 156 | +| **5-inch Quad** | 210–250mm / 5 inch | 250–600g | Most common, powerful, versatile | Freestyle, racing, cinematic w/ GoPro | ImpulseRC Apex, iFlight Nazgul5 | |
|
| 157 | +| **Long Range** | 6–7 inch | 400–800g+ | Large props, GPS, big batteries | Long-distance cruising, mountains | iFlight Chimera7, Flywoo Explorer LR | |
|
| 158 | +| **X-Class** | 10–13 inch+ | >2kg | Huge, heavy lift, pro cameras | Professional filming, commercial work | Shendrones Siccario, custom builds | |
|
| 159 | + |
|
| 160 | +- **Whoop**: |
|
| 161 | + - Smallest class, typically **65mm–85mm** frames. |
|
| 162 | + - Ducted props (prop guards). |
|
| 163 | + - Prop size: ~31–40 mm. |
|
| 164 | +- **Micro (2"–4")**: |
|
| 165 | + - Larger, **90mm–150mm** frames. |
|
| 166 | + - Open props (no ducts, usually). |
|
| 167 | + - Prop size: **2"–4"**. |
|
| 168 | + |
|
| 169 | + |
|
| 170 | + |
|
| 171 | +## parts of the FPV drones |
|
| 172 | + |
|
| 173 | + |
|
| 174 | +- [[flight-controller-dat]] |
|
| 175 | + |
|
| 176 | +- [[ESC-dat]] |
|
| 177 | + |
|
| 178 | +- **Motors**: Provide the thrust needed for flight. Brushless motors are commonly used in FPV drones due to their efficiency and power. |
|
| 179 | + |
|
| 180 | +- **Propellers**: Generate lift by spinning rapidly. The size and pitch of the propellers can significantly affect the drone's performance and flight characteristics. |
|
| 181 | + |
|
| 182 | +- [[SCU1059-dat]] - [[propeller-dat]] |
|
| 183 | + |
|
| 184 | +- **Camera**: Captures real-time video for FPV flying. FPV cameras are designed to provide low-latency video transmission to the pilot's goggles or screen. |
|
| 185 | + |
|
| 186 | +- [[VTX-dat]]: Video Transmitters are commonly referred to as VTX units. They are responsible for transmitting the video signal from the camera to the pilot's goggles or screen. VTX units come in various power levels and frequencies, allowing pilots to choose the best option for their flying environment. |
|
| 187 | +- **Antenna**: Enhances the signal strength and range of the VTX. Different antenna types (e.g., dipole, patch, circular polarized) can be used to optimize performance. |
|
| 188 | + |
|
| 189 | +- **ExpressLRS**: A long-range radio control link for FPV drones, known for its low latency and high refresh rates. It is an open-source project that competes with other systems like Crossfire and ELRS. |
|
| 190 | + |
|
| 191 | + - [[ELRS-dat]] |
|
| 192 | + |
|
| 193 | +- **Goggles**: Wearable displays that allow pilots to see the live video feed from the drone's camera. They often include features like head tracking and DVR (Digital Video Recorder) capabilities. |
|
| 194 | + |
|
| 195 | + |
|
| 196 | + |
|
| 197 | + |
|
| 198 | + |
|
| 199 | +## Bee35 |
|
| 200 | + |
|
| 201 | + |
|
| 202 | + |
|
| 203 | + |
|
| 204 | + |
|
| 205 | + |
|
| 206 | +| version | price | description | |
|
| 207 | +| -------------------------- | ----- | ------------------------------------- | |
|
| 208 | +| Bee35 Pro O3 Air Unit TBS | 480 | O3 Air Unit, TBS radio | |
|
| 209 | +| Bee35 Pro O3 Air Unit ELRS | 470 | O3 Air Unit, ELRS radio | |
|
| 210 | +| Bee35 Pro O3 Air Unit PNP | 460 | O3 Air Unit, no receiver | |
|
| 211 | +| Bee35 Pro | 270 | Standard analog version | |
|
| 212 | +| Bee35 Pro LINK WASP TBS | 430 | LINK WASP digital system, TBS radio | |
|
| 213 | +| Bee35 Pro LINK WASP ELRS | 420 | LINK WASP digital system, ELRS radio | |
|
| 214 | +| Bee35 Pro LINK WASP PNP | 400 | LINK WASP digital system, no receiver | |
|
| 215 | +| Bee35 Analog TBS | 306 | Analog FPV system, TBS radio | |
|
| 216 | +| Bee35 Analog ELRS | 296 | Analog FPV system, ELRS radio | |
|
| 217 | + |
|
| 218 | + |
|
| 219 | + |
|
| 220 | +## commerialized FPV |
|
| 221 | + |
|
| 222 | +- [[speedybee-dat]] |
|
| 223 | + |
|
| 224 | +### 1. [SpeedyBee Flight Controllers & Stacks](https://speedybee.com/) |
|
| 225 | +- **Brand:** SpeedyBee |
|
| 226 | +- **Description:** Budget-friendly, Betaflight-supported flight controllers with easy app-based tuning. |
|
| 227 | +- **Example Products:** |
|
| 228 | + - **SpeedyBee F405 V4 Stack** (F4-based, affordable) |
|
| 229 | + - **SpeedyBee F7 V3 Stack** (F7-based, powerful & feature-rich) |
|
| 230 | +- **Commercial Features:** |
|
| 231 | + - Wireless **Bluetooth & Wi-Fi tuning** via SpeedyBee app. |
|
| 232 | + - Fully compatible with Betaflight Configurator. |
|
| 233 | +- **Website:** [speedybee.com](https://speedybee.com/) |
|
| 234 | + |
|
| 235 | +--- |
|
| 236 | + |
|
| 237 | +### 2. [TBS Tango 2 (Crossfire-Integrated Radio Controller)](https://www.team-blacksheep.com/) |
|
| 238 | +- **Brand:** Team BlackSheep (TBS) |
|
| 239 | +- **Description:** A high-performance FPV radio transmitter designed for **Betaflight-based drones** with **built-in Crossfire**. |
|
| 240 | +- **Commercial Features:** |
|
| 241 | + - Fully optimized for **Betaflight & Crossfire**. |
|
| 242 | + - Compact, ergonomic design for FPV pilots. |
|
| 243 | +- **Website:** [team-blacksheep.com](https://www.team-blacksheep.com/) |
|
| 244 | + |
|
| 245 | + |
|
| 246 | +## opensource control projects |
|
| 247 | + |
|
| 248 | +# Most Famous Open-Source FPV GitHub Projects |
|
| 249 | + |
|
| 250 | +If you're looking for **open-source FPV (First-Person View) projects** on GitHub, here are some of the **most famous** ones: |
|
| 251 | + |
|
| 252 | +## 1. [Betaflight](https://github.com/betaflight/betaflight) |
|
| 253 | +- **Description:** One of the most widely used open-source flight control firmware for FPV drones. |
|
| 254 | +- **Features:** |
|
| 255 | + - Highly optimized for **acrobatic** and **racing drones**. |
|
| 256 | + - Supports a wide range of flight controllers. |
|
| 257 | + - Advanced **tuning options** for PID, filters, and motor control. |
|
| 258 | +- **GitHub:** [github.com/betaflight/betaflight](https://github.com/betaflight/betaflight) |
|
| 259 | + |
|
| 260 | +--- |
|
| 261 | + |
|
| 262 | +## 2. [iNavFlight](https://github.com/iNavFlight/inav) |
|
| 263 | +- **Description:** A fork of Betaflight, but optimized for **GPS and long-range FPV**. |
|
| 264 | +- **Features:** |
|
| 265 | + - Supports **GPS waypoint navigation, return-to-home (RTH), and mission planning**. |
|
| 266 | + - Designed for **freestyle and long-range cruising** rather than racing. |
|
| 267 | +- **GitHub:** [github.com/iNavFlight/inav](https://github.com/iNavFlight/inav) |
|
| 268 | + |
|
| 269 | +--- |
|
| 270 | + |
|
| 271 | +## 3. [ArduPilot](https://github.com/ArduPilot/ardupilot) |
|
| 272 | +- **Description:** A professional-grade open-source autopilot for drones, including **FPV quadcopters, planes, and rovers**. |
|
| 273 | +- **Features:** |
|
| 274 | + - **Highly autonomous** with advanced mission planning. |
|
| 275 | + - Works with multiple types of vehicles (planes, multirotors, helicopters). |
|
| 276 | + - Compatible with **Mission Planner** and **QGroundControl**. |
|
| 277 | +- **GitHub:** [github.com/ArduPilot/ardupilot](https://github.com/ArduPilot/ardupilot) |
|
| 278 | + |
|
| 279 | +--- |
|
| 280 | + |
|
| 281 | +## 4. [PX4](https://github.com/PX4/PX4-Autopilot) |
|
| 282 | +- **Description:** A powerful open-source **flight control software** used in drones and FPV systems. |
|
| 283 | +- **Features:** |
|
| 284 | + - Supports both **FPV racing drones** and **autonomous UAVs**. |
|
| 285 | + - Works with Pixhawk flight controllers and supports **ROS (Robot Operating System)**. |
|
| 286 | +- **GitHub:** [github.com/PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) |
|
| 287 | + |
|
| 288 | +--- |
|
| 289 | + |
|
| 290 | +## 5. [FalcoX](https://github.com/FlightOne/FalcoX) |
|
| 291 | +- **Description:** An alternative FPV flight control firmware focusing on **ease of use and smooth flight performance**. |
|
| 292 | +- **Features:** |
|
| 293 | + - Intuitive configuration interface. |
|
| 294 | + - Aimed at both **freestyle pilots** and **racers**. |
|
| 295 | +- **GitHub:** [github.com/FlightOne/FalcoX](https://github.com/FlightOne/FalcoX) |
|
| 296 | + |
|
| 297 | +--- |
|
| 298 | + |
|
| 299 | +## 6. [ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) |
|
| 300 | +- **Description:** Open-source long-range **radio control link** for FPV drones, competing with Crossfire and ELRS. |
|
| 301 | +- **Features:** |
|
| 302 | + - **Low latency and high refresh rates** (great for FPV racing). |
|
| 303 | + - Compatible with many radio transmitters (TBS, Jumper, Radiomaster). |
|
| 304 | +- **GitHub:** [github.com/ExpressLRS/ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) |
|
| 305 | + |
|
| 306 | +--- |
|
| 307 | + |
|
| 308 | +## 7. [OpenHD](https://github.com/OpenHD/OpenHD) |
|
| 309 | +- **Description:** Open-source **HD video transmission** for FPV drones (alternative to DJI HD systems). |
|
| 310 | +- **Features:** |
|
| 311 | + - Uses **Raspberry Pi + WiFi** for HD FPV video streaming. |
|
| 312 | + - Supports OSD (On-Screen Display) and telemetry data. |
|
| 313 | +- **GitHub:** [github.com/OpenHD/OpenHD](https://github.com/OpenHD/OpenHD) |
|
| 314 | + |
|
| 315 | +--- |
|
| 316 | + |
|
| 317 | +## 🔥 Which One Should You Choose? |
|
| 318 | +| Purpose | Best Open-Source Project | |
|
| 319 | +| ------------------------------------------- | ------------------------------------------------------ | |
|
| 320 | +| **Racing/Freestyle FPV** | [Betaflight](https://github.com/betaflight/betaflight) | |
|
| 321 | +| **GPS & Long-Range FPV** | [iNav](https://github.com/iNavFlight/inav) | |
|
| 322 | +| **Full Autopilot (Drones, Planes, Rovers)** | [ArduPilot](https://github.com/ArduPilot/ardupilot) | |
|
| 323 | +| **Professional UAVs & Research** | [PX4](https://github.com/PX4/PX4-Autopilot) | |
|
| 324 | +| **HD FPV Video Streaming** | [OpenHD](https://github.com/OpenHD/OpenHD) | |
|
| 325 | +| **Long-Range Radio Links** | [ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) | |
|
| 326 | + |
|
| 327 | + |
|
| 328 | + |
|
| 329 | +## standards |
|
| 330 | + |
|
| 331 | +### PNP stands for "Plug and Play." |
|
| 332 | + |
|
| 333 | +In the context of FPV drones, a PNP version means that the drone comes mostly assembled but does not include a radio receiver. |
|
| 334 | + |
|
| 335 | +Here's why it doesn't include a receiver: |
|
| 336 | + |
|
| 337 | +Flexibility: PNP versions cater to experienced FPV pilots who already have their preferred radio transmitter and receiver. This allows them to use their existing equipment and avoid paying for redundant components. |
|
| 338 | +Customization: Pilots might have specific receiver requirements based on their radio system (e.g., TBS Crossfire, ELRS, FrSky). Offering a PNP version lets them choose the exact receiver that's compatible with their setup. |
|
| 339 | +Cost Savings: By excluding the receiver, the manufacturer can offer the PNP version at a lower price point, making it attractive to those who don't need the included receiver. |
|
| 340 | +In short, PNP versions are designed for users who want to use their own radio gear and prefer to avoid unnecessary costs or compatibility issues. |
|
| 341 | + |
|
| 342 | + |
|
| 343 | + |
|
| 344 | +## popular products |
|
| 345 | + |
|
| 346 | +DJI |
|
| 347 | + |
|
| 348 | +- [DJI Avata 2 (Drone Only), FPV Drone with Camera 4K, Immersive Flight Experience, Built-in Propeller Guard, Easy Flip/Roll, Super-Wide 155° FOV, Compatible with RC Motion 3, FAA Remote ID Compliant](https://www.amazon.com/DJI-Immersive-Experience-Super-Wide-Compatible/dp/B0CS6KY96F/ref=sr_1_45?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-45) |
|
| 349 | + |
|
| 350 | +BetaFPV |
|
| 351 | + |
|
| 352 | +- [BETAFPV Betaflight ELRS V3 Cetus X FPV Kit with LiteRadio 3 Transmitter C04 Camera VR03 Goggles with DVR Recording Function, Supported 2S Power Advanced RTF Kit for FPV Beginners to Fly Faster Further](https://www.amazon.com/BETAFPV-LiteRadio-Transmitter-Recording-Betaflight/dp/B0BJVP3XW7/ref=sr_1_48?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-48) == rating == 3.5 |
|
| 353 | + |
|
| 354 | +- [BETAFPV Pavo20 Brushless Whoop Quadcopter with HD Digital Bracket for O3 Air Unit, F4 2-3S 20A FC, 1103 8500KV Motor, COB LED Strip, Compatible for FPV Racing Indoor and Outdoor](https://www.amazon.com/BETAFPV-Brushless-Quadcopter-Material-Compatible/dp/B0CKT5G6C1/ref=sr_1_11?crid=1KCLBGZLCPWMM&dib=eyJ2IjoiMSJ9.u8zpDMqhQLF9cnPbc5r76LO9SVPJiVyPzTq0xdtVa2u4UYSXdyYl9H-Z3gMzqguhRBkKgkoRZWaxBHDFD6BRFsCQJKVb4iWibNm9DVSzo8jjnyx10jKEMfQICYMtZJab4CpDzmZXALE0VqfYmsl2b2z6zA536zmhj3MbQfvXxqOrlO8RzQiYLdFv-lIZbHe3VqkD5N2AuBL25TgOETuGrMPmYt7Yhvu1G4lry067nFXe06m0NOi7YGC9HehoblQsTDd1-4IPkuJfZGdR6OljCFD_F9mIqaJ-dIPMlULs8kg.m1NOD5DB1dn9oAtRj6kjXh5UkWTCRb94gNjUZ8Owz8Y&dib_tag=se&keywords=betafpv&qid=1744202445&sprefix=beta%2Caps%2C676&sr=8-11) == rating == 4.1 |
|
| 355 | + |
|
| 356 | + |
|
| 357 | +SpeedyBee Frame |
|
| 358 | + |
|
| 359 | +- [Speedy Bee Bee35 3.5inch Cinewhoop FPV Drone Frame- Pro Version 4S 6S Frame Kit Compatible with DJI O3 Air Unit FPV VTX,Different Flight Controller Stack](https://www.amazon.com/3-5inch-Cinewhoop-Compatible-Different-Controller/dp/B086X5M24H/ref=sr_1_1?dib=eyJ2IjoiMSJ9.flOlB5a6W8Z4mxOLR-K_BDlWDFVnqHJ69LrRLHzsG3Vt1_EuF1CQCJw-erVA1bWn.aK6G-MxmMYmSkACuczQuR4yI0PIn2BzHbY4-bbiXRLo&dib_tag=se&keywords=bee35&qid=1744202041&sr=8-1) |
|
| 360 | + |
|
| 361 | + |
|
| 362 | + |
|
| 363 | +## BEE25 |
|
| 364 | + |
|
| 365 | +Propeller Size: 2.5 inches |
|
| 366 | + |
|
| 367 | +The SpeedyBee Bee25 is a compact 2.5-inch cinewhoop drone designed for agility and portability, especially suited for indoor and tight-space flying. |
|
| 368 | + |
|
| 369 | + |
|
| 370 | +## wheelbase |
|
| 371 | + |
|
| 372 | +In FPV drones, the **wheelbase** refers to the **diagonal distance between the centers of the two furthest-apart motors**, usually measured in **millimeters (mm)**. It’s a standard way to classify the size of a drone frame. |
|
| 373 | + |
|
| 374 | +--- |
|
| 375 | + |
|
| 376 | +### 🧩 Why Wheelbase Matters |
|
| 377 | + |
|
| 378 | +- **Determines Propeller Size**: Larger wheelbase = larger props supported. |
|
| 379 | +- **Affects Maneuverability**: Smaller wheelbase = more agile, Larger = more stable. |
|
| 380 | +- **Influences Payload**: Bigger wheelbase frames can carry heavier gear (e.g., action cameras, larger batteries). |
|
| 381 | + |
|
| 382 | +--- |
|
| 383 | + |
|
| 384 | +### 📏 Common FPV Drone Wheelbase Categories |
|
| 385 | + |
|
| 386 | +| Size Category | Typical Wheelbase | Prop Size | Usage | | |
|
| 387 | +| -------------- | ----------------- | --------- | -------------------------------- | ---------------------------- | |
|
| 388 | +| **Tiny Whoop** | 65–75 mm | 31–40 mm | Indoor, safe micro flying | Meteor75, Aquila16 | |
|
| 389 | +| **Micro** | 85–120 mm | 2"–2.5" | Indoor/outdoor, cinewhoop | BEE25, Pavo25, Pavo20 = 90mm | |
|
| 390 | +| **Mini** | 130–180 mm | 3"–4" | Freestyle, racing | | |
|
| 391 | +| **Standard** | 200–250 mm | 5" | Freestyle, long-range, cinematic | | |
|
| 392 | +| **Large** | 250+ mm | 6"+ | Long-range, heavy payloads | | |
|
| 393 | + |
|
| 394 | + |
|
| 395 | +--- |
|
| 396 | + |
|
| 397 | +### 📌 Examples |
|
| 398 | + |
|
| 399 | +- **Meteor75** → **75mm wheelbase** → Tiny Whoop class |
|
| 400 | +- **SpeedyBee Bee25** → **120mm wheelbase** → Micro/Cinewhoop class |
|
| 401 | + |
|
| 402 | +- cinelog-25 |
|
| 403 | + |
|
| 404 | +- [[FPV-load-dat]] |
|
| 405 | + |
|
| 406 | + |
|
| 407 | + |
|
| 408 | + |
|
| 409 | +- [[drone-maker-dat]] |
|
| 410 | + |
|
| 411 | +## ref |
|
| 412 | + |
|
| 413 | +- [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/FPV-frame-dat/FPV-frame-dat.md
| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | + |
|
| 2 | +# FPV-frame-dat |
|
| 3 | + |
app-dat/RC-apps-dat/FPV-dat/FPV-load-dat/FPV-load-dat.md
| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | + |
|
| 2 | +# FPV-load-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +== [[TX800-dat]] + [[MS-519-dat]] + [[camera-action-dat]] = RMB 250 + 500 = 750 |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## Can the BetaFPV Pavo25 (Bee25) Carry a 120g GoPro? |
|
| 10 | + |
|
| 11 | +Yes, the **BetaFPV Pavo25** can carry a **120g GoPro** (like the HERO11 Mini), but **with limitations**. |
|
| 12 | + |
|
| 13 | +--- |
|
| 14 | + |
|
| 15 | +### 🔋 Battery & Flight Time |
|
| 16 | + |
|
| 17 | +- **Recommended battery**: 4S 650–850mAh LiPo |
|
| 18 | +- **With a naked GoPro (~30g)**: ~4–5 minutes of flight |
|
| 19 | +- **With a full GoPro (~120g)**: ~2–3 minutes of flight |
|
| 20 | +- **Heavier load** = more power draw = **shorter flight time** and **higher heat** |
|
| 21 | + |
|
| 22 | +--- |
|
| 23 | + |
|
| 24 | +### ⚙️ Hardware Requirements |
|
| 25 | + |
|
| 26 | +- **Motors**: Stock 1404 4500KV can lift it, but performance drops |
|
| 27 | +- **Battery**: Use a **high C-rate** (≥75C) to avoid voltage sag |
|
| 28 | +- **Frame**: Strip off any unnecessary accessories to reduce weight |
|
| 29 | + |
|
| 30 | +--- |
|
| 31 | + |
|
| 32 | +### 🛑 Potential Drawbacks |
|
| 33 | + |
|
| 34 | +- **Increased ESC and motor temperature** |
|
| 35 | +- **Reduced agility and climb rate** |
|
| 36 | +- **Poor handling in wind** |
|
| 37 | +- **Shorter battery life** |
|
| 38 | +- **Risk of motor burnout** if pushed too hard |
|
| 39 | + |
|
| 40 | +--- |
|
| 41 | + |
|
| 42 | +### ✅ Tips for Better Performance |
|
| 43 | + |
|
| 44 | +- Use a **"naked GoPro"** (~30–35g) to lighten the load |
|
| 45 | +- Fly in **calm weather** |
|
| 46 | +- Limit aggressive maneuvers |
|
| 47 | +- Consider switching to a **larger cinewhoop** (like Pavo30, Defender 25, or CineLog30) |
|
| 48 | + |
|
| 49 | +--- |
|
| 50 | + |
|
| 51 | +### 📦 Summary |
|
| 52 | + |
|
| 53 | +| Payload | Flyable? | Flight Time | Notes | |
|
| 54 | +|----------------|----------|-------------|--------------------------------| |
|
| 55 | +| Naked GoPro (~30g) | ✅ Yes | ~4–5 min | Best performance | |
|
| 56 | +| Full GoPro (~120g) | ⚠️ Yes | ~2–3 min | Limited performance, extra strain | |
|
| 57 | + |
|
| 58 | + |
|
| 59 | +## ref |
|
| 60 | + |
|
| 61 | +- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/FPV-purpose-dat/FPV-purpose-dat.md
| ... | ... | @@ -0,0 +1,60 @@ |
| 1 | + |
|
| 2 | +# FPV-purpose-dat |
|
| 3 | + |
|
| 4 | +## Better Cinewhoop Options Than Mobula8 |
|
| 5 | + |
|
| 6 | +If your goal is **cinematic FPV footage**, there are stronger options than the Mobula8. |
|
| 7 | +Key things to look for in a cinewhoop: |
|
| 8 | +- Larger frame with ducts/guards → protects props, cleaner footage. |
|
| 9 | +- Stronger motors/ESCs → can carry payload (Insta360 GO, Naked GoPro, etc.). |
|
| 10 | +- HD video system (DJI O3, Walksnail, HDZero, or high-quality analog). |
|
| 11 | +- Stable flight time even with payload. |
|
| 12 | + |
|
| 13 | +--- |
|
| 14 | + |
|
| 15 | +### Comparison: Mobula8 vs Alternatives |
|
| 16 | + |
|
| 17 | +| Model / Frame | Size | Battery | Payload Ability | Notes | |
|
| 18 | +|--------------------------|-------------|---------------|-----------------|-------| |
|
| 19 | +| [[Mobula8-dat]] | 85 mm, 2S | 450–650 mAh | Insta360 GO / Peanut | Best of Mobula line, but limited thrust for heavy cams. | |
|
| 20 | +| **Flylens 85** | 85 mm, 2" | 2S–3S | Light HD cam | Cinewhoop-focused frame with ducts. | |
|
| 21 | +| **Petrel85 Whoop** | 85 mm, 2" | 2S–3S | Light HD cam | Strong, good for micro cine builds. | |
|
| 22 | +| **SpeedyBee Flex25** | 2.5 inch | 3S–4S | Naked GoPro | Compact but powerful, indoor + outdoor cinewhoop. | |
|
| 23 | +| **TransTEC Beetle 2.5"**| 2.5 inch | 3S–4S | Naked GoPro | Supports DJI digital system. | |
|
| 24 | +| **GEPRC CL35 V2** | 3.5 inch | 4S–6S | Full GoPro | Heavier, great outdoors, stable footage. | |
|
| 25 | +| **iFlight Green Hornet**| 3 inch | 4S–6S | Naked/Full GoPro| Classic cinewhoop, strong ducts, proven design. | |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +--- |
|
| 30 | + |
|
| 31 | +### Product Suggestions |
|
| 32 | + |
|
| 33 | +#### 1. BETAFPV Meteor65 Pro (O4 / 1S) |
|
| 34 | +- Ultra-light 1S whoop with HD system. |
|
| 35 | +- Great for **tiny indoor cinematic flying**. |
|
| 36 | +- Cannot carry external action cam. |
|
| 37 | + |
|
| 38 | +#### 2. HGLRC Talon 2-inch 4S Cinewhoop |
|
| 39 | +- 2-inch cinewhoop, very stable. |
|
| 40 | +- Handles **Insta360 GO2 / Naked GoPro**. |
|
| 41 | +- Best balance of power and size. |
|
| 42 | + |
|
| 43 | +#### 3. Lumenier QAV-PRO Nano Whoop (2-inch) |
|
| 44 | +- Premium cinewhoop frame kit. |
|
| 45 | +- Great ducts, solid carbon design. |
|
| 46 | +- Designed for cinematic micro builds. |
|
| 47 | + |
|
| 48 | +#### 4. GEPRC CL35 V2 (3.5-inch) |
|
| 49 | +- Large cinewhoop, supports **full GoPro Hero**. |
|
| 50 | +- Best for outdoor cinematic work. |
|
| 51 | +- More thrust, less indoor-friendly. |
|
| 52 | + |
|
| 53 | +--- |
|
| 54 | + |
|
| 55 | +### ✅ Recommendation |
|
| 56 | +- **Small indoor cinewhoop** → BETAFPV Meteor65 Pro (ultra-light) |
|
| 57 | +- **Balanced micro cinewhoop** → HGLRC Talon 2" or SpeedyBee Flex25 |
|
| 58 | +- **Heavy-duty outdoor cinewhoop** → GEPRC CL35 V2 or iFlight Green Hornet |
|
| 59 | + |
|
| 60 | +👉 If you want something better than Mobula8 but still compact: **SpeedyBee Flex25** or **HGLRC Talon 2"** are the best choices. |
app-dat/RC-apps-dat/FPV-dat/FPV-simulation-dat/FPV-simulation-dat.md
| ... | ... | @@ -0,0 +1,89 @@ |
| 1 | + |
|
| 2 | +# FPV-simulation-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## Popular FPV Simulators for PC |
|
| 8 | + |
|
| 9 | +| Simulator | Highlights | Price | |
|
| 10 | +| ------------- | ---------------------------------------------------------- | ----- | |
|
| 11 | +| Liftoff | Realistic physics, good for racing & freestyle | ~$20 | |
|
| 12 | +| VelociDrone | Excellent feel, popular for competition practice | ~$20 | |
|
| 13 | +| DRL Simulator | Based on the Drone Racing League, includes tracks & events | ~$10 | |
|
| 14 | +| Uncrashed | Stunning graphics, smooth flying | ~$15 | |
|
| 15 | +| FPV Freerider | Lightweight, good for low-end PCs | ~$5 | |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## Compatible Controllers |
|
| 20 | + |
|
| 21 | +- RadioMaster TX16S |
|
| 22 | +- FrSky Taranis QX7 / X9D |
|
| 23 | +- BetaFPV LiteRadio |
|
| 24 | +- DJI FPV controller (works with some sims) |
|
| 25 | +- Most transmitters that support USB or simulator mode |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +## 🆓 Free or Open Source FPV Simulators for PC |
|
| 30 | + |
|
| 31 | +### 🛠 FPV.Skydive (from ORQA) |
|
| 32 | +- ✅ Free on Steam |
|
| 33 | +- 🧠 Beginner-friendly with training modules |
|
| 34 | +- 🎮 Supports many controllers (via USB) |
|
| 35 | +- 📦 Good for freestyle and basic racing |
|
| 36 | +- ❗ Not open-source, but completely free |
|
| 37 | +- 🔗 [Steam Link](https://store.steampowered.com/app/1645840/FPV_Skydive/) |
|
| 38 | + |
|
| 39 | +https://store.steampowered.com/app/1278060/FPV_SkyDive__FPV_Drone_Simulator/ |
|
| 40 | + |
|
| 41 | +--- |
|
| 42 | + |
|
| 43 | +### 🛠 RotorHazard Simulator |
|
| 44 | +- ⚙️ Community-developed simulator inspired by RotorHazard timing system |
|
| 45 | +- 🖥 Lightweight, browser-based or local |
|
| 46 | +- 💻 Not super polished, but interesting for DIY folks |
|
| 47 | +- 🌐 Open-source (GitHub available) |
|
| 48 | +- 🔗 [GitHub Repository](https://github.com/RotorHazard) |
|
| 49 | + |
|
| 50 | +--- |
|
| 51 | + |
|
| 52 | +### 🛠 OpenFPV Simulator (dead?) |
|
| 53 | +- 🌍 Browser-based prototype sim |
|
| 54 | +- 👶 Very basic physics and controls |
|
| 55 | +- 🧑💻 Open-source, you can fork or contribute |
|
| 56 | +- 🔧 Good for devs/hackers/experimenters |
|
| 57 | +- 🔗 [GitHub Link](https://github.com/OpenFPV/openfpv-simulator) |
|
| 58 | + |
|
| 59 | +--- |
|
| 60 | + |
|
| 61 | +### 🛠 Multirotor Sim (Unity-based) (dead?) |
|
| 62 | +- 🧪 Community project with editable Unity source |
|
| 63 | +- 🎮 Supports USB controllers |
|
| 64 | +- 🔧 Needs a bit of setup, but can be modified freely |
|
| 65 | +- 🔗 [GitHub Link](https://github.com/ArduPilot/multirotor_sim) |
|
| 66 | + |
|
| 67 | +--- |
|
| 68 | + |
|
| 69 | +### 📌 Honorable Mentions (Free Trials or Demos) |
|
| 70 | + |
|
| 71 | +#### **FPV Freerider (Demo version)** |
|
| 72 | +- Limited map, but physics work well |
|
| 73 | +- 🔗 [freeriderfpv.com](https://fpv-freerider.itch.io/fpv-freerider-recharged-demo) |
|
| 74 | + |
|
| 75 | +--- |
|
| 76 | + |
|
| 77 | +### 🧭 Recommendation |
|
| 78 | + |
|
| 79 | +- **If you're new and want a polished free experience:** |
|
| 80 | + ➡️ Try **[FPV.Skydive](https://store.steampowered.com/app/1645840/FPV_Skydive/)** |
|
| 81 | + |
|
| 82 | +- **If you're into tinkering or want to code your own sim:** |
|
| 83 | + ➡️ Check out **OpenFPV** or **Multirotor Sim** on GitHub |
|
| 84 | + |
|
| 85 | + |
|
| 86 | +## ref |
|
| 87 | + |
|
| 88 | + |
|
| 89 | +- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/FPV-takeoff-checklist-dat.md
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | + |
|
| 2 | +# FPV-takeoff-checklist-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## first flight |
|
| 9 | + |
|
| 10 | +1) Never run Mobula8 on USB for a long time; limit to a few minutes for configuration. |
|
| 11 | +2) Always remove propellers before powering via USB. |
|
| 12 | +3) For extended testing or Betaflight tuning, use a small 1S LiPo instead of USB — it provides proper current. |
|
| 13 | +4) If the board feels hot to touch (>50°C), unplug immediately and let it cool. |
|
| 14 | +5) Do not attempt to fly while USB is plugged in. |
|
| 15 | +6) Configure and test sticks, switches, and modes in Betaflight quickly, then disconnect USB. |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +Ensure **Motor Stop** mode is OFF (so motors spin when armed). |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +Modes Tab → check flight modes assigned (Angle / Horizon / Acro). |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +Configuration → **Minimum Command / Motor Idle**. - Set to ~5–10% (~1050–1100 in Betaflight). |
|
| 33 | + |
|
| 34 | +- [[RC-controller-dat]] |
|
| 35 | + |
|
| 36 | + |
|
| 37 | +- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 38 | + |
|
| 39 | +- [[mobula8-dat]] |
|
| 40 | + |
|
| 41 | +- [[propeller-dat]] |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +https://www.happymodel.cn/index.php/2023/05/05/default-factory-dump-file-for-mobula8/ |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/Goggles-dat/2025-09-04-15-39-13.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/Goggles-dat/2025-09-04-15-39-13.png differ |
app-dat/RC-apps-dat/FPV-dat/Goggles-dat/Goggles-dat.md
| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | + |
|
| 2 | +# Goggles-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[DJI-dat]] - [[fat-shark-dat]] - [[sky-zone-dat]] |
|
| 6 | + |
|
| 7 | +- [[DJI-goggles-dat]] |
|
| 8 | + |
|
| 9 | +- [[walksnail-dat]] |
|
| 10 | + |
|
| 11 | +- GogglesX |
|
| 12 | +- Goggles L |
|
| 13 | + |
|
| 14 | +## pair |
|
| 15 | + |
|
| 16 | +3. **Enter auto-scan mode on goggles** |
|
| 17 | + - Press the **Band/Channel button** (short press or long press, depending on goggles model) to start **auto-search/scan**. |
|
| 18 | + - The goggles will automatically scan through all frequencies to lock onto the strongest signal. |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## Features |
|
| 22 | + |
|
| 23 | +- eye view == 155 degree |
|
| 24 | + |
|
| 25 | +- fly speed == 27M/s |
|
| 26 | + |
|
| 27 | +- freestyle |
|
| 28 | + |
|
| 29 | +- stablization |
|
| 30 | + |
|
| 31 | +- battery |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## Analog FPV drones: |
|
| 35 | + |
|
| 36 | +- If your drone transmits on **5.8 GHz analog** (common for micro/Whoop drones), Aquila16 can receive it. |
|
| 37 | +- support OSD or digital link. |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## mechanical Gimbal |
|
| 43 | + |
|
| 44 | +- GM1 |
|
| 45 | +- GM2 |
|
| 46 | +- GM3 |
|
| 47 | + |
|
| 48 | + |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | + |
|
| 56 | + |
|
| 57 | +## Rotorama 008D Pro == 朗视特 |
|
| 58 | + |
|
| 59 | + |
|
| 60 | +Rotorama 008D are basic FPV goggles for starting FPV pilots. The basis is a 4.3" IPS display with an aspect ratio of 16:9 and a resolution of 800x480 pixels, which is sufficient for displaying an analog video signal. The reception is taken care of by a dual receiver supporting all the usual 40 channels. In the package you can find two basic antennas with circular polarization. The goggles support the DVR function, when the received image can be recorded on an SD card of up to 32GB (FAT32). It is possible to connect headphones or an external video receiver. Power is provided by an integrated battery with a capacity of 2000mAh, which is enough for 2-3 hours of operation. The battery is charged via USB connector. The goggles are delivered in a hard case with a zipper. |
|
| 61 | + |
|
| 62 | +Key Features |
|
| 63 | +- Size: 144x155x113mm |
|
| 64 | +- Connector: RP-SMA |
|
| 65 | +- Receiver: Dual 40Ch |
|
| 66 | +- Display: 4.3" IPS 800x480px 16:9 |
|
| 67 | +- Battery: Integrated 2000mAh |
|
| 68 | +- Input voltage: 5-23V |
|
| 69 | +- Supporting DVR |
|
| 70 | + |
|
| 71 | + |
|
| 72 | +## BeeRotor |
|
| 73 | + |
|
| 74 | +- **Second Generation Upgrades:** |
|
| 75 | + - New DVR recording function, can record flight video in real-time, and play back flight recordings. |
|
| 76 | + - With audio recording function, can record the sound of the aircraft flying in the air. |
|
| 77 | + - Increased fan and heat dissipation holes, can effectively prevent fogging of the lens during long-term use. |
|
| 78 | + - Comes with new BEEROTOR mushroom antenna and flat panel antenna for better performance. |
|
| 79 | + - Dual 5.8G reception, high sensitivity, strong anti-interference ability, good reception effect. |
|
| 80 | + - Built-in 5-inch high-definition screen, strong FPV immersion, making the flight feel immersive. |
|
| 81 | + - The shell is made of EPP molding, ultra-light and drop-resistant, weighing only 236g. |
|
| 82 | + - 2-6S LIPO wide voltage input, low battery requirements, strong applicability. |
|
| 83 | + |
|
| 84 | +- **Product Parameters:** |
|
| 85 | + - Dimensions: 165*150*115mm |
|
| 86 | + - Weight: Ready-to-use 242 grams (without antenna) |
|
| 87 | + - Or 264 grams (including flat panel and Honeydrop antenna) |
|
| 88 | + - Battery Voltage Range: |
|
| 89 | + - 7-25VDC power supply range, 2S or 3S is recommended. |
|
| 90 | + - A 2200mAh 2S 7.4V battery can be used for approximately 3 hours of FPV. |
|
| 91 | + - When the battery is low, an external battery can be plugged in for charging while in use. |
|
| 92 | + - Display Screen Size: 5.0 inches, 800*480px |
|
| 93 | + - Brightness: 600cd/m2 |
|
| 94 | + - Lens: 2.9x, PMMA, no dispersion, no distortion, Fresnel |
|
| 95 | + - Headband: Three-way adjustable T-strap |
|
| 96 | + |
|
| 97 | +## SkyZone |
|
| 98 | + |
|
| 99 | + |
|
| 100 | +## ref |
|
| 101 | + |
|
| 102 | +- [[goggles]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/FPV-dat/Goggles-dat/fat-shark-dat/fat-shark-dat.md
| ... | ... | @@ -0,0 +1,38 @@ |
| 1 | + |
|
| 2 | +# fat-shark-dat |
|
| 3 | + |
|
| 4 | +## Double AXII Long Range - antenna only |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +Also works great on the DJI digital FPV goggles! Just make sure to purchase RP-SMA to SMA adapters so they can |
|
| 8 | +properly mount to the RP-SMA connection the goggles. |
|
| 9 | + |
|
| 10 | +- DJI Digital HD FPV Goggles |
|
| 11 | +- RF RP-SMA Male to SMA Female Adapter |
|
| 12 | + |
|
| 13 | +Specifications |
|
| 14 | +- Gain: 4.7dBiC |
|
| 15 | +- Axial ratio: 1.0 (near perfect) |
|
| 16 | +- Bandwidth: 5.3GHz-6.2GHz |
|
| 17 | +- Radiation Efficiency: 98% |
|
| 18 | +- SWR: <=1.5:1 |
|
| 19 | +- Weight: 12g |
|
| 20 | +- Size: 130mm x17.5mm |
|
| 21 | +- Cable: Semi-rigidRG402 |
|
| 22 | +- Connector: Straight SMA |
|
| 23 | + |
|
| 24 | +Polarization - Right Hand Circular(RHCP) |
|
| 25 | + |
|
| 26 | +Includes - 1x Lumenier Double AXIl 2 SMA 5.8GHz Antenna (RHCP) |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +[Fat Shark Recon Echo FPV Goggles](https://www.amazon.com/Fat-Shark-Recon-Echo-Goggles/dp/B0CTB8VLYQ/ref=sr_1_41?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-41) |
|
| 31 | + |
|
| 32 | + |
|
| 33 | +## video |
|
| 34 | + |
|
| 35 | +- https://www.youtube.com/watch?v=S1uHXYxcE_Q |
|
| 36 | + |
|
| 37 | +## ref |
|
| 38 | + |
app-dat/RC-apps-dat/FPV-dat/Goggles-dat/skyzone-dat/2025-05-29-16-35-55.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/FPV-dat/Goggles-dat/skyzone-dat/2025-05-29-16-35-55.png differ |
app-dat/RC-apps-dat/FPV-dat/Goggles-dat/skyzone-dat/skyzone-dat.md
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | + |
|
| 2 | +# sky-zone-dat |
|
| 3 | + |
|
| 4 | +SKYZONE 04X PRO |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +Skyzone SKY02S V+ 3D 5.8G 40CH FPV Goggles |
|
| 10 | +- 10 years |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## ref |
|
| 16 | + |
|
| 17 | +- [[goggles-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-Controller-dat/2025-09-03-12-17-19.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-Controller-dat/2025-09-03-12-17-19.png differ |
app-dat/RC-apps-dat/RC-Controller-dat/2025-09-03-12-23-28.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-Controller-dat/2025-09-03-12-23-28.png differ |
app-dat/RC-apps-dat/RC-Controller-dat/FPV-controller-dat/FPV-controller-dat.md
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | + |
|
| 2 | +# FPV-receiver-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +- [[NRF24L01-dat]] |
|
| 8 | + |
|
| 9 | +## control |
|
| 10 | + |
|
| 11 | +- [[radiomaster-dat]] |
|
| 12 | + |
|
| 13 | +rest at exact 1500 |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +- right - L/R == roll |
|
| 17 | +- right - U/D == pitch |
|
| 18 | +- left - L/R == yaw |
|
| 19 | +- left - U/D == throttle |
|
| 20 | +- AUX 1 |
|
| 21 | +- AUX 2 |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +## common calibration methods |
|
| 25 | + |
|
| 26 | +校准遥控器:左摇杆油门拉到最低,右摇杆往左下方打,遥控器出现 calibrating.... ,释放右摇杆 |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +- [[ELRS-dat]] - [[TBS-dat]] |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +## DJI |
|
| 36 | + |
|
| 37 | +- [DJI FPV Remote Controller 3](https://www.amazon.com/DJI-FPV-Remote-Controller-Compatibility/dp/B0CS6JCX2W/ref=sr_1_3?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-3) |
|
| 38 | + |
|
| 39 | +- [DJI RC Motion 3, FPV Smart Controller with Immersive Motion Control, Compact and Portable, One-Click Emergency Brake, AR Cursor, Intuitive Drone Controller, Multi-Model Compatibility](https://www.amazon.com/DJI-Controller-Immersive-Multi-Model-Compatibility/dp/B0CS6LDCKC/ref=sr_1_11?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-11) |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## ref |
|
| 43 | + |
|
| 44 | +- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-Controller-dat/RC-controller-dat.md
| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | + |
|
| 2 | +# RC-controller-dat |
|
| 3 | + |
|
| 4 | +Check **Channel Map**: should be **AETR**. |
|
| 5 | + |
|
| 6 | +- A: Aileron (Roll) |
|
| 7 | +- E: Elevator (Pitch) |
|
| 8 | +- T: Throttle |
|
| 9 | +- R: Rudder (Yaw) |
|
| 10 | + |
|
| 11 | +A Roll E Pitch R Yaw T Throttle |
|
| 12 | + |
|
| 13 | +Roll Pitch Yaw Throttle |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +- [[mobula8-dat]] |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## drift |
|
| 24 | + |
|
| 25 | +### 2. Calibration & Orientation |
|
| 26 | + |
|
| 27 | +7. Betaflight → `Setup` → **Calibrate Accelerometer** (drone must be level). |
|
| 28 | +8. In `Setup` 3D model: tilt the drone → model should move the same way. |
|
| 29 | +- If not → fix in Configuration → `Board Alignment` (Yaw 90/180/270 etc). |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +- **Calibrate Accelerometer**: Betaflight → Setup → Calibrate on a perfectly flat surface. |
|
| 33 | +- Make sure the quad is completely still during calibration. |
|
| 34 | +- Check **Setup Tab 3D model** → it must move exactly like the real quad. |
|
| 35 | +- If model twitches on its own → gyro noise or vibration problem. |
|
| 36 | + |
|
| 37 | +### 4. Fixing “Steady Right Drift” |
|
| 38 | + |
|
| 39 | +12. If subtrim is correct but it still drifts → go to `PID Tuning`. |
|
| 40 | +13. Increase **Roll I-term** slightly (+1 → +4, test each step). |
|
| 41 | +14. If oscillations appear → reduce Roll P or Roll D by small steps (-1). |
|
| 42 | +15. Check Motor Idle value: `Configuration → DShot Idle` around **5%** (or min_command ≈1050). |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +- Reset to Betaflight **default PIDs** for Mobula8 (start clean). |
|
| 47 | +- Reduce **Roll/Pitch P by 10%** if oscillations occur. |
|
| 48 | +- Increase **I-term by +5** if drift is slow and continuous. |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +### 4. Angle Mode Settings |
|
| 52 | +- If drift only happens in **Angle Mode**: |
|
| 53 | + - Use small **Accelerometer Roll/Pitch Trim** adjustments. |
|
| 54 | + - Example: Drift forward → Pitch Trim negative. |
|
| 55 | + |
|
| 56 | +### If drift happens in **Acro Mode too** |
|
| 57 | + |
|
| 58 | +→ it’s not accelerometer, it’s mechanical or PID. |
|
| 59 | + |
|
| 60 | + |
|
| 61 | + |
|
| 62 | +## 🛠️ PID Tuning for Slow & Smooth Flight (Mobula8) |
|
| 63 | + |
|
| 64 | +- [[PID-dat]] |
|
| 65 | + |
|
| 66 | +### 1. Start from Defaults |
|
| 67 | +- In Betaflight Configurator → **PID Tuning Tab** → click *Reset to Defaults*. |
|
| 68 | +- This gives you a stable baseline. |
|
| 69 | + |
|
| 70 | +### 2. Lower P and D Gains (Gentler Response) |
|
| 71 | +- Roll / Pitch **P**: reduce by ~20% |
|
| 72 | +- Roll / Pitch **D**: reduce by ~20% |
|
| 73 | +- Yaw can stay default. |
|
| 74 | +👉 Lower P/D = less aggressive corrections → smoother flying. |
|
| 75 | + |
|
| 76 | +### 3. Increase I-Term Slightly (Stable Hover) |
|
| 77 | +- Roll / Pitch **I**: increase by +10–15% |
|
| 78 | +👉 Helps hold level in hover, prevents drift. |
|
| 79 | + |
|
| 80 | +### 4. Add a Bit of Damping (TPA / D-Term Filter) |
|
| 81 | +- Leave filters at default first. |
|
| 82 | +- If motors get hot, lower D-Term a bit more. |
|
| 83 | + |
|
| 84 | + |
|
| 85 | + |
|
| 86 | +### 5. Rates (Most Important for Smooth Flying) |
|
| 87 | +Go to **Rates Tab**: |
|
| 88 | +- **RC Rate**: 0.80 → change to **0.50** |
|
| 89 | +- **Super Rate**: 0.70 → change to **0.60** |
|
| 90 | +- **Expo**: set to **0.25–0.30** |
|
| 91 | +👉 Slows down stick sensitivity, smoother camera movement. |
|
| 92 | + |
|
| 93 | +### 6. Throttle Curve (for Gentle Hover) |
|
| 94 | +- Betaflight: use **Throttle Expo** in PID Tuning → Throttle tab. |
|
| 95 | + - Throttle Mid: set to ~0.50 |
|
| 96 | + - Throttle Expo: set to 0.20–0.30 |
|
| 97 | +👉 Gives finer control near hover point. |
|
| 98 | + |
|
| 99 | +### 7. Test Hover Indoors |
|
| 100 | +- Arm in **Angle Mode**. |
|
| 101 | +- Slowly raise throttle. |
|
| 102 | +- Quad should lift smoothly without sudden jerks. |
|
| 103 | +- Adjust Expo if still too sensitive. |
|
| 104 | + |
|
| 105 | +--- |
|
| 106 | +### ✅ Summary for Smooth / Cinewhoop-style Flying |
|
| 107 | +- Lower **P/D** = softer movements. |
|
| 108 | +- Raise **I** = stable hover. |
|
| 109 | +- Reduce **Rates** + add **Expo** = slower stick response. |
|
| 110 | +- Throttle Expo = smoother lift / descend. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-apps-dat.md
| ... | ... | @@ -0,0 +1,66 @@ |
| 1 | + |
|
| 2 | +# RC-apps-dat |
|
| 3 | + |
|
| 4 | +- [[RC-dat]] |
|
| 5 | + |
|
| 6 | +- [[rover-dat]] - [[RC-car-dat]] - [[RC-car-hack-dat]] - [[video-rc-car-dat]] |
|
| 7 | + |
|
| 8 | +- [[quadcopter-dat]] - [[FPV-dat]] |
|
| 9 | + |
|
| 10 | +- [[airplane-dat]] |
|
| 11 | + |
|
| 12 | +- [[UAV-dat]] |
|
| 13 | + |
|
| 14 | +- [[rc-code-dat]] |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## RC - signal |
|
| 19 | + |
|
| 20 | +- [[RC-signal-dat]] |
|
| 21 | + |
|
| 22 | +## RC - systems |
|
| 23 | + |
|
| 24 | +- [[ardupilot-dat]] |
|
| 25 | + |
|
| 26 | +## RC - Hardware |
|
| 27 | + |
|
| 28 | +- [[flight-controller-dat]] - [[RC-link-dat]] |
|
| 29 | + |
|
| 30 | +- [[BMS-dat]] - [[battery-dat]] |
|
| 31 | + |
|
| 32 | +## RC - manufacturers |
|
| 33 | + |
|
| 34 | +- [[Wfly-dat]] - [[betaFPV-dat]] - [[speedybee-dat]] |
|
| 35 | + |
|
| 36 | +## Teardown post |
|
| 37 | + |
|
| 38 | +[Tear down and Learn a good-build $20 RC Toy Car](https://www.electrodragon.com/disassemble-and-learn-a-good-build-20-rc-toy-car/) |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | +## RC Link - SPI ELRS RC Link Update Rates |
|
| 44 | + |
|
| 45 | +### 1. Supported ELRS Packet Rates (Hz) |
|
| 46 | +- 25 Hz (long range, very low latency priority not needed) |
|
| 47 | +- 50 Hz |
|
| 48 | +- 100 Hz |
|
| 49 | +- 250 Hz |
|
| 50 | +- 500 Hz |
|
| 51 | +- 1000 Hz (only with UART-based receivers, *not supported* on SPI RX) |
|
| 52 | + |
|
| 53 | +### 2. Mobula8 SPI Receiver Limitation |
|
| 54 | +- SPI-based ELRS receivers (built into flight controllers) **usually support up to 500 Hz max**. |
|
| 55 | +- They don’t handle 1000 Hz mode reliably. |
|
| 56 | + |
|
| 57 | +### 3. Radiomaster Pocket ELRS |
|
| 58 | +- Can output up to **1000 Hz**. |
|
| 59 | +- But the Mobula8 SPI ELRS will negotiate down to **max 500 Hz**. |
|
| 60 | + |
|
| 61 | +--- |
|
| 62 | + |
|
| 63 | +### Final Answer |
|
| 64 | + |
|
| 65 | +The **RC link update rate between your Radiomaster Pocket and Mobula8 SPI ELRS** can be set to **25 / 50 / 100 / 250 / 500 Hz**, |
|
| 66 | +but **500 Hz is the highest stable rate** supported by the Mobula8 SPI receiver. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-console-dat/2025-05-23-16-14-35.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-console-dat/2025-05-23-16-14-35.png differ |
app-dat/RC-apps-dat/RC-console-dat/RC-console-dat.md
| ... | ... | @@ -0,0 +1,53 @@ |
| 1 | + |
|
| 2 | +# RC-console-dat |
|
| 3 | + |
|
| 4 | +- [[Wfly-dat]] - [[WFT06x-dat]] - [[WFR06S-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +- [[radiomaster-dat]] |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## RC Tx |
|
| 12 | + |
|
| 13 | +- [[PX4-dat]] |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## RC Receiver |
|
| 20 | + |
|
| 21 | +When you push the **RC console (joystick or stick) up and down**, you're typically controlling the throttle or elevator channel, depending on the mode of your transmitter. The PWM (Pulse Width Modulation) signal output sent to the receiver or flight controller varies accordingly: |
|
| 22 | + |
|
| 23 | +PWM signal range: ~1000 µs (microseconds) to ~2000 µs |
|
| 24 | + |
|
| 25 | + Center/stick neutral: ~1500 µs |
|
| 26 | + |
|
| 27 | + Stick fully down: ~1000 µs |
|
| 28 | + |
|
| 29 | + Stick fully up: ~2000 µs |
|
| 30 | + |
|
| 31 | +Example: |
|
| 32 | + |
|
| 33 | +If you're using Mode 2 (common mode): |
|
| 34 | + |
|
| 35 | +Left stick up/down = Throttle |
|
| 36 | + |
|
| 37 | + Stick down = 1000 µs (zero throttle) |
|
| 38 | + |
|
| 39 | + Stick up = 2000 µs (full throttle) |
|
| 40 | + |
|
| 41 | +If it's controlling elevator (pitch): |
|
| 42 | + |
|
| 43 | + Stick down (nose down) = 1000 µs |
|
| 44 | + |
|
| 45 | + Stick up (nose up) = 2000 µs |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | +## ref |
|
| 50 | + |
|
| 51 | +- https://docs.px4.io/v1.11/en/getting_started/rc_transmitter_receiver.html |
|
| 52 | + |
|
| 53 | +- [[RC-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/RC-supplier-dat.md
| ... | ... | @@ -0,0 +1,15 @@ |
| 1 | + |
|
| 2 | +# RC-supplier-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[drone-maker-dat]] |
|
| 6 | + |
|
| 7 | +- [[caddxFPV-dat]] - [[walksnail-dat]] |
|
| 8 | + |
|
| 9 | +- [[frsky-dat]] - [[radiomaster-dat]] |
|
| 10 | + |
|
| 11 | +- [[runcam-dat]] |
|
| 12 | + |
|
| 13 | +- [[WFLY-dat]] |
|
| 14 | + |
|
| 15 | +- [[betaFPV-dat]] - [[betaFPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-45-14.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-45-14.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-51-22.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-51-22.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-53-48.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-53-48.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-58-58.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-58-58.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-15-03-29.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/2025-05-05-15-03-29.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/WFLY-WFT06X_Mannual.pdf
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/WFLY-WFT06X_Mannual.pdf differ |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/WFLY-dat.md
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | + |
|
| 2 | +# WFLY-dat.md |
|
| 3 | + |
|
| 4 | +- [[WFT06x-dat]] - [[WFR06S-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## ref |
|
| 9 | + |
|
| 10 | +- [[PPM-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/WFR06S-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# WFR06S-dat.md |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +## New type of WFLY receiver |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +- A. 跳频速度高,采用扩跳频系统(FHSS&DSSS):不但采用了DSSS技术而且在DSSS技术基础上可以进行大约每4毫秒(ms)一次的跳频。 |
|
| 12 | +- B. 接收机输出给舵机的PWM信号稳定度高足以匹配精密数码舱机:可用示波器观察到纳秒级(nS)的细节,而其他一些牌子的接收机输出的PWM信号用示波器在us级别观察就不稳定了 |
|
| 13 | +- C. 44096数据不仅分辨率提升,反应速度也大幅提升(配合9S或8S控) |
|
| 14 | +- D. 接收机开机的时候自动识别PPM,PCMS,4096PCMS三种传输模式日采用可跳频的DSSS,可靠性高。数十台设备同时工作而互无影响。 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/WFLY-dat/WFT06X-dat.md
| ... | ... | @@ -0,0 +1,129 @@ |
| 1 | +# WFLY-dat |
|
| 2 | + |
|
| 3 | +- [[PPM-dat]] |
|
| 4 | + |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +- the manual == [[WFLY-WFT06X_Mannual.pdf]] |
|
| 10 | +- [fccd.io manual link](https://fccid.io/TZVWFT06XWFT08S/User-Manual/User-Manual-1-1119279.pdf) |
|
| 11 | + |
|
| 12 | +## Info |
|
| 13 | + |
|
| 14 | +- WFT06X-A: 6 channels airplane,mixfunction,D/R,HDE helicopter. |
|
| 15 | +- WFT06X-B: 4 channesl airplane, mix function,D/R, HDE helicopter. |
|
| 16 | +- WFT06X-C: 6 channels CCPMhelicopter,airplane. |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## Models |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +- [[airplane-dat]] |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## toggle switches |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +| Switch | State | | Up | Down | |
|
| 32 | +| :---------- | :--------- | --------------------------- | :--------------------------------- | :--------------------------------- | |
|
| 33 | +| A | Helicopter | Ch3 to Ch4 mixture. (note1) | Enables | Disables | |
|
| 34 | +| B | N/A | | Selects Helicopter state. | Selects Airplane state. | |
|
| 35 | +| C (1,2,4,6) | Airplane | | Dual Rate set to ±125%. | Dual Rate set to ±100%. | |
|
| 36 | +| D | Airplane | | Enables mixture functions (E, F). | Disables mixture functions (E, F). | |
|
| 37 | +| E | Airplane | | Enables Ch2 & Ch4 mixture (note3) | Enables Ch1 & Ch6 mixture (note3) | |
|
| 38 | +| F | Airplane | | Enables Ch1 & Ch2 mixture (note2). | N/A | |
|
| 39 | +| G (Ch1) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 40 | +| H (Ch2) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 41 | +| I (Ch3) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 42 | +| J (Ch4) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 43 | +| K (Ch6) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 44 | + |
|
| 45 | +note1 == Ch3 to Ch6 mix always active |
|
| 46 | + |
|
| 47 | +note2 == (Elevon/Delta Wing) (Requires D Up, overrides D) |
|
| 48 | + |
|
| 49 | +note3 == (V-Tail) (Requires D Up). |
|
| 50 | + |
|
| 51 | +Switch Function Instruction |
|
| 52 | + |
|
| 53 | +- (A)At helicopterstate,pulling A down to put offmixturefunction of channel3to channel4,when pulling it up it willcomebackthefunction.Butthemixturefunctiontochannel 6isstable,whichisirrelevant with this switch. |
|
| 54 | +- (B) Pulling B down is airplane state and pulling it up is helicopter state. |
|
| 55 | +- (C) At airplane state, pulling 1, 2, 4, 6 down the dual rate is ±100%; when pulling them up, the dual rate will be ±125%. |
|
| 56 | +- (D) At airplane state, pulling D down make switches have no mixture function, but pulling it up will cause them have thefunction. |
|
| 57 | +- (E) At airplane state, when D is pulled up, pulling E down cause channel 1 & 6 mixture function (Flaperon); pulling E up will cause channel 2 & 4 mixture function(V-TAIL). |
|
| 58 | +- (F) At airplane state,when D is pulled up,pulling F up it works as the mixture function of channel 1&2(TrianglewingELEVON),and Dfunctiondoesn'tworkat that moment. |
|
| 59 | +- (G) Channel 1 is reverse switch for aileron.Pulling G down is to make it in normal mode,and pulling it up is to make it act in reverse. |
|
| 60 | +- (H) Channel 2 is reverse switch for elevator. Pulling H down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 61 | +- (I) Channel 3 is reverse switch for power. Pulling I down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 62 | +- (J) Channel 4 is reverse switch for rudder. Pulling J down is to make it in normal mode, and pulling it up is to makeitactinreverse. |
|
| 63 | +- (K) Channel 6 is reverse switch for screw-pitch/ flaperon.Pulling K down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 64 | + |
|
| 65 | + |
|
| 66 | + |
|
| 67 | +## Binding Instructions: |
|
| 68 | + |
|
| 69 | +1. **Receiver:** Press and hold the "SET" button until the orange "STATUS" light flashes slowly. The receiver is now waiting for the transmitter's binding command. |
|
| 70 | +2. **Transmitter:** Press and hold the "SET" button while powering on the transmitter. Press the SET button once more to enter the binding function (the orange "STATUS" light will be solid). Then, press and hold the SET button until the orange light flashes slowly, entering the binding state. |
|
| 71 | +3. **Binding Successful:** The transmitter's green light will turn solid, and the receiver's indicator light will turn off. |
|
| 72 | + |
|
| 73 | +## Failsafe Setup: |
|
| 74 | + |
|
| 75 | +1. Power on the receiver. |
|
| 76 | +2. Press and hold the "SET" button while powering on the transmitter. Then, press and hold the SET button for about 2 seconds to enter the failsafe setup state (the green light will flash). |
|
| 77 | +3. The receiver's green light will flash quickly. The data currently being output by the transmitter will be set as the failsafe output data for the receiver. |
|
| 78 | +4. **Failsafe Active State:** The receiver's red light will be solid. |
|
| 79 | + |
|
| 80 | +## Technical Parameters: |
|
| 81 | + |
|
| 82 | +* **Application:** Fixed-wing aircraft, HDE helicopters, fixed-pitch helicopters, cars, boats |
|
| 83 | +* **Frequency Band:** 2.400 - 2.483 GHz |
|
| 84 | +* **Transmit Power:** ≤ 100mW |
|
| 85 | +* **Operating Current:** ≤ 160mA |
|
| 86 | +* **Encoding:** PPM |
|
| 87 | +* **RF Module:** Built-in |
|
| 88 | +* **Power Supply:** 9.6 - 12V |
|
| 89 | +* **Dual Rate/Expo Range:** 100% ~ 125% |
|
| 90 | +* **Mixing:** |
|
| 91 | + * Flaperon (Channel 6 and Channel 1 mix) |
|
| 92 | + * V-Tail (Channel 4 and Channel 2 mix) |
|
| 93 | + * Delta Wing (Elevon) (Channel 1 and Channel 2 mix) |
|
| 94 | + * HDE Helicopter (Channel 3 to Channel 4 & 6 mix) |
|
| 95 | + * HDE Helicopter (Channel 3 to Channel 6 mix) |
|
| 96 | +* **Reverse Switches:** |
|
| 97 | + * Channel 1: Aileron 副翼 |
|
| 98 | + * Channel 2: Elevator 升降舵 |
|
| 99 | + * Channel 3: Throttle 油门 |
|
| 100 | + * Channel 4: Rudder 方向舵 |
|
| 101 | + * Channel 6: Flap/Pitch 襟翼/螺距 |
|
| 102 | +* **Low Voltage Alarm (Visual & Audible):** |
|
| 103 | + * Battery Voltage < 8.8V: Power indicator flashes once per second with beeping. |
|
| 104 | + * Battery Voltage < 8.3V: Power indicator flashes twice per second (0.5s interval) with beeping. |
|
| 105 | +* **Charging Jack:** Yes |
|
| 106 | +* **Simulator Jack:** Yes |
|
| 107 | + |
|
| 108 | + |
|
| 109 | +## Beeping |
|
| 110 | + |
|
| 111 | +According to the document, the device will provide a sound-and-light notification when the battery voltage is low. |
|
| 112 | + |
|
| 113 | +**When the battery voltage is below 8.8V**, the power indicator light will glitter and buzz at a rate of 1S/1S. |
|
| 114 | + |
|
| 115 | +**When the battery voltage drops below 8.3V**, the power indicator light will glitter and buzz at a rate of 0.5S/1S. |
|
| 116 | + |
|
| 117 | +Additionally, the WFT06X-C model transmitter will alarm if it is turned on in an Idle-up state with no output. |
|
| 118 | + |
|
| 119 | + |
|
| 120 | + |
|
| 121 | + |
|
| 122 | + |
|
| 123 | +## demo video |
|
| 124 | + |
|
| 125 | +- [how to binding WFLY in chinese ](https://www.bilibili.com/video/BV1Mh4y1c7FS/?vd_source=74a6b8b9bfcd41c5946a742815bf71ae) |
|
| 126 | + |
|
| 127 | +## ref |
|
| 128 | + |
|
| 129 | +- [[WFLY]] - [[lightradio]] - [[radiomaster]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-29-58.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-29-58.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-30-18.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-30-18.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-17-13-25.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-17-13-25.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-15.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-15.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-45.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-45.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-02-28.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-02-28.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-54-45.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-54-45.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/caddxFPV-dat/caddxFPV-dat.md
| ... | ... | @@ -0,0 +1,142 @@ |
| 1 | + |
|
| 2 | +# caddxFPV-dat |
|
| 3 | + |
|
| 4 | +- [[walksnail-dat]] is a brand of caddxFPV |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## digial camera |
|
| 8 | + |
|
| 9 | +Several companies make digital FPV systems that can compete with or complement DJI O4. Here’s a detailed overview: |
|
| 10 | + |
|
| 11 | +--- |
|
| 12 | + |
|
| 13 | +### 1. **Caddx FPV Systems** |
|
| 14 | + |
|
| 15 | +| Model | Features | Notes | |
|
| 16 | +|-------|----------|-------| |
|
| 17 | +| **Caddx Nebula Pro / Vista** | HD 1080p or 4K video, low-latency digital feed, small form factor | Requires compatible goggles (Fat Shark or Caddx) | |
|
| 18 | +| **Caddx Nebula Nano** | Ultra-lightweight for micro quads | Limited range (~500–800 m) | |
|
| 19 | +| **Caddx Vista HD** | HDMI input, supports OSD | Compatible with multiple cameras, low latency (~30 ms) | |
|
| 20 | + |
|
| 21 | +--- |
|
| 22 | + |
|
| 23 | +### 2. **Walksnail Avatar Series** |
|
| 24 | + |
|
| 25 | +| Model | Features | Notes | |
|
| 26 | +|-------|----------|-------| |
|
| 27 | +| **Walksnail Avatar Kit / Module** | HD digital video, Wi-Fi phone viewing, low-latency (~100–200 ms) | Works with phone or tablet directly; good for casual FPV | |
|
| 28 | +| **Walksnail Avatar Nano** | Micro lightweight module | For 2–3” frames, similar features | |
|
| 29 | + |
|
| 30 | +### moonlight kit |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +### Walksnail Avatar HD |
|
| 37 | + |
|
| 38 | +Camera |
|
| 39 | + |
|
| 40 | +- **Model:** Avatar HD V2 Camera |
|
| 41 | +- **Image Sensor:** 1/3.2-inch 4MP 4:3 sensor |
|
| 42 | +- **Resolution:** |
|
| 43 | + - 1080P/60fps |
|
| 44 | + - 720P/100fps |
|
| 45 | + - 720P/60fps |
|
| 46 | + - Compatible with 1080P/100fps and 1080P/120fps |
|
| 47 | +- **Aspect Ratio:** 16:9; native 4:3 |
|
| 48 | +- **Lens:** 2.1mm |
|
| 49 | +- **Field of View:** 160° |
|
| 50 | +- **Aperture:** F2.0 |
|
| 51 | +- **Shutter:** Rolling shutter |
|
| 52 | +- **Minimum Illumination:** 0.001 Lux |
|
| 53 | +- **Weight:** 7.2g |
|
| 54 | +- **Dimensions:** 19 × 19 × 22 mm |
|
| 55 | +- **Coaxial Cable Length:** 140mm |
|
| 56 | + |
|
| 57 | + |
|
| 58 | +VTX |
|
| 59 | + |
|
| 60 | +- **Frequency:** 5.725–5.850 GHz |
|
| 61 | +- **Transmitter Power (EIRP):** |
|
| 62 | + - FCC: <30 dBm |
|
| 63 | + - CE: <14 dBm |
|
| 64 | + - SRRC: <20 dBm |
|
| 65 | + - MIC: <25 dBm |
|
| 66 | +- **I/O Ports:** |
|
| 67 | + - JST1.0 × 4 (Power Input) |
|
| 68 | + - JST0.8 × 6 (USB) |
|
| 69 | +- **Mounting Holes:** 25.5 × 25.5 mm; 20 × 20 mm |
|
| 70 | +- **Dimensions:** 33.5 × 33.5 × 10.5 mm |
|
| 71 | +- **Storage:** 32 GB |
|
| 72 | +- **Recording:** 1080P / 720P |
|
| 73 | +- **Weight:** 15.4 g |
|
| 74 | +- **Operating Temperature:** –20°C to 40°C |
|
| 75 | +- **Channels:** 8 |
|
| 76 | +- **Wide Voltage Input:** 6V–25.2V |
|
| 77 | +- **Supported FC Systems:** Betaflight, Inav, Fettec, ArduPilot, Kiss |
|
| 78 | +- **OSD:** Canvas mode |
|
| 79 | +- **Latency:** Average 22 ms (canvas mode) |
|
| 80 | +- **Antenna:** 2 (IPEX) |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | + |
|
| 85 | + |
|
| 86 | +## analog camera |
|
| 87 | + |
|
| 88 | + |
|
| 89 | +- caddx nano |
|
| 90 | +- Baby Ratel 2 |
|
| 91 | + |
|
| 92 | + |
|
| 93 | +### Caddx ANT 1200TVL |
|
| 94 | + |
|
| 95 | +- [[mobula8-dat]] == Caddx ANT 1200TVL == 4:3 |
|
| 96 | + |
|
| 97 | + |
|
| 98 | + |
|
| 99 | + |
|
| 100 | + |
|
| 101 | +### ratel 2 |
|
| 102 | + |
|
| 103 | +Caddx蜗牛平头哥二代穿越机摄像头fpv摄像机夜视镜头无人机ratel2 |
|
| 104 | + |
|
| 105 | + |
|
| 106 | +### nano CADDX 蜗牛 Nano |
|
| 107 | + |
|
| 108 | + |
|
| 109 | + |
|
| 110 | + |
|
| 111 | +### ratel pro |
|
| 112 | + |
|
| 113 | + |
|
| 114 | + |
|
| 115 | + |
|
| 116 | + |
|
| 117 | + |
|
| 118 | +lens diameter 15mm |
|
| 119 | + |
|
| 120 | +body dimesnion ~20mm |
|
| 121 | + |
|
| 122 | + |
|
| 123 | + |
|
| 124 | + |
|
| 125 | + |
|
| 126 | + |
|
| 127 | +## goggles |
|
| 128 | + |
|
| 129 | +- goggles HD |
|
| 130 | + |
|
| 131 | + |
|
| 132 | +## gimbal |
|
| 133 | + |
|
| 134 | +- [[RC-gimbal-dat]] |
|
| 135 | + |
|
| 136 | + |
|
| 137 | + |
|
| 138 | + |
|
| 139 | + |
|
| 140 | +## ref |
|
| 141 | + |
|
| 142 | +- [[caddxFPV]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/2025-09-12-13-24-29.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/2025-09-12-13-24-29.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/Aquila16-dat.md
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | + |
|
| 2 | +# Aquila16-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +BT2.0 (BetaFPV’s low-resistance connector, better than PH2.0 for higher current draw) |
|
| 7 | + |
|
| 8 | +- [[CONN-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## re-pair ELRS |
|
| 12 | + |
|
| 13 | +- wait one minute after power on, no need radio, drone led color turn to quick GREEN flash, find expressLRS RX as a wifi spot |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +## ref |
|
| 17 | + |
|
| 18 | +- [[betaFPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Meteor65-Pro-dat/Meteor65-Pro-dat.md
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | + |
|
| 2 | +# Meteor65-Pro-dat |
|
| 3 | + |
|
| 4 | +Yes — the BetaFPV Meteor65 Pro supports Betaflight. |
|
| 5 | + |
|
| 6 | +It comes with BetaFPV’s F4 1S AIO flight controller, which is fully compatible with Betaflight. |
|
| 7 | + |
|
| 8 | +Out of the box, it is usually pre-flashed with Betaflight firmware. |
|
| 9 | + |
|
| 10 | +You can connect it to Betaflight Configurator via USB-C to adjust PIDs, rates, filters, receiver setup, OSD, etc. |
|
| 11 | + |
|
| 12 | +Many people use Betaflight for Meteor65 Pro, but it also supports Bluejay ESC firmware (for 48/96 kHz PWM and bidirectional DShot). |
|
| 13 | + |
|
| 14 | +✅ So yes — you can set it up, tune, and fly it in Betaflight without issues. |
|
| 15 | + |
|
| 16 | + |
|
| 17 | +## ref |
|
| 18 | + |
|
| 19 | +- [[betaFPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/betaFPV-dat.md
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | + |
|
| 2 | +# betaFPV-dat |
|
| 3 | + |
|
| 4 | +- [[FPV-dat]] |
|
| 5 | + |
|
| 6 | +- [[lightradio-dat]] |
|
| 7 | + |
|
| 8 | +- [[aquila16-dat]] |
|
| 9 | + |
|
| 10 | +- [[meteor65-pro-dat]] |
|
| 11 | + |
|
| 12 | +- [[meteor75-dat]] |
|
| 13 | + |
|
| 14 | +- [[meteor75-pro-dat]] - ELRS - fully supports Betaflight == 629 |
|
| 15 | + |
|
| 16 | +- [[meteor85-dat]] ?? |
|
| 17 | + |
|
| 18 | +Meteor系列 |
|
| 19 | +适合新手入门&基础训练 |
|
| 20 | +飞控PCB板厚度1.0mm |
|
| 21 | +坚固耐用,抗摔性强 |
|
| 22 | +无需焊接、方便维护 |
|
| 23 | +新手入门基础训练必选 |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +- AIR65 |
|
| 27 | + |
|
| 28 | +- AIR75 |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +Air系列 |
|
| 32 | +有经验玩家&职业竞速飞手 |
|
| 33 | +飞控PCB板厚度0.8mm |
|
| 34 | +超轻量化,性能满格 |
|
| 35 | +需要较高焊接技术 |
|
| 36 | +飞手进阶竞速训练必选 |
|
| 37 | + |
|
| 38 | + |
|
| 39 | +- pavo femto |
|
| 40 | + |
|
| 41 | +- pavo20 pro |
|
| 42 | + |
|
| 43 | +- betaFPV goggles |
|
| 44 | + |
|
| 45 | +- cetus pro - Frsky ? - [[betaflight-dat]] not support ? |
|
| 46 | + |
|
| 47 | +## ref |
|
| 48 | + |
|
| 49 | +- [[betaFPV]] |
|
| 50 | + |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-14-49-45.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-14-49-45.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-15-34-48.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-15-34-48.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/lightradio-dat.md
| ... | ... | @@ -0,0 +1,94 @@ |
| 1 | + |
|
| 2 | +# lightradio-dat |
|
| 3 | + |
|
| 4 | +## Lightradio 3 Pro |
|
| 5 | + |
|
| 6 | +- professional version |
|
| 7 | +- build-in OLED display |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +Choice of two protocols: |
|
| 12 | + |
|
| 13 | +* **Built-in ELRS 2.4G:** Maximum output power up to 250mW, built-in omnidirectional antenna, enables long-range flight. |
|
| 14 | +* **Built-in CC2500 version:** Supports Frsky D / Frsky X / SFHSS and other protocols, maximum 100mW transmission power. |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## lightradio 3 |
|
| 19 | + |
|
| 20 | +- does NOT support original [[ELRS-dat]] system |
|
| 21 | + |
|
| 22 | +### info |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +### Flight Controller |
|
| 28 | + |
|
| 29 | +The application supports flight controller that can run LiteSilver firmeware. |
|
| 30 | + |
|
| 31 | +- Lite Brushed FC V3 |
|
| 32 | +- Cetus FPV Kit |
|
| 33 | +- Cetus Pro FPV Kit |
|
| 34 | +- Cetus X FPV KIT |
|
| 35 | +- Cetus Lite FPV Kit |
|
| 36 | +- Aquila 16 FPV kit |
|
| 37 | + |
|
| 38 | +Configurator for FC board is active.Follow the steps to enter FC Setup page. |
|
| 39 | + |
|
| 40 | +1. Connect the FC board to the computer via USB data cable. |
|
| 41 | +2. Select the virtual COM port and click the *Connect" button on the top right. |
|
| 42 | + |
|
| 43 | +Note: If enter FC Setup page fail, please update the FC firmware first. |
|
| 44 | + |
|
| 45 | +Click the "Firmware Flasher" tab on the left for firmware update. |
|
| 46 | + |
|
| 47 | +### Radio Transmitter |
|
| 48 | + |
|
| 49 | +Support the radio controller come with BETAFPV LiteRadio Firmware 2.0 Version. |
|
| 50 | + |
|
| 51 | +- LiteRadio 1 |
|
| 52 | +- LiteRadio 2 SEV2 |
|
| 53 | +- LiteRadio 3 |
|
| 54 | +- LiteRadio 4 SE |
|
| 55 | + |
|
| 56 | +The LiteRadio 2 SE Frsky or Bayang version is not supported. LiteRadio 2 and LiteRadio 3 Pro is powered by OpenTX system, please use the OpenTX Companion. |
|
| 57 | + |
|
| 58 | +Click the yellow button below to active configurator for radio controller. |
|
| 59 | + |
|
| 60 | +### Remote control parameters |
|
| 61 | + |
|
| 62 | +- Model == LiteRadio3 remote control |
|
| 63 | +- Remote control distance == 500-600 meters |
|
| 64 | +- Frequency range == 2.4G (2403MHz-2447MHz) |
|
| 65 | +- Support protocol == ELRS 2.4G/Frsky (CC2500) |
|
| 66 | +- Channel == 8 |
|
| 67 | +- Support protocol == ELRS 2.4G |
|
| 68 | +- Power == 25mW/50mW/100mW |
|
| 69 | +- Adaptive drone type supports |
|
| 70 | + - Multi-rotor/support USB firmware update |
|
| 71 | + - BETAFPV Configurator connection |
|
| 72 | + - Custom LiteRadio system joystick calibration |
|
| 73 | +- LED light == red light on/red warning/blue normal |
|
| 74 | +- Battery built-in == 2000mAh1S battery |
|
| 75 | +- Charging connector == Type-C |
|
| 76 | + |
|
| 77 | +## BetaFPV Configurator |
|
| 78 | + |
|
| 79 | +[github release ](https://github.com/BETAFPV/BETAFPV_Configurator/releases) |
|
| 80 | + |
|
| 81 | +[BETAFPV Configurator User Manual](https://support.betafpv.com/hc/en-us/articles/40712112687769-BETAFPV-Configurator-User-Manual) |
|
| 82 | + |
|
| 83 | +[github BETAFPV_Configurator](https://github.com/BETAFPV/BETAFPV_Configurator) |
|
| 84 | + |
|
| 85 | + |
|
| 86 | +### Connection |
|
| 87 | + |
|
| 88 | +- via serial port (USB) |
|
| 89 | + |
|
| 90 | + |
|
| 91 | + |
|
| 92 | +## ref |
|
| 93 | + |
|
| 94 | +- [[betaFPV]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/meteor85-dat/meteor85-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# meteor85-dat |
|
| 3 | + |
|
| 4 | +- [[propeller-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/drone-maker-dat.md
| ... | ... | @@ -0,0 +1,51 @@ |
| 1 | + |
|
| 2 | +# drone-maker-dat |
|
| 3 | + |
|
| 4 | +- [[betaFPV-dat]] - [[Aquila16-dat]] |
|
| 5 | + |
|
| 6 | +- [[happymodel-dat]] - [[mobula8-dat]] |
|
| 7 | + |
|
| 8 | +- [[speedybee-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +- [[CADDXFPV-dat]] - [[GoFlim-20-dat]] |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +## FPV by size |
|
| 19 | + |
|
| 20 | +[[Meteor75-dat]] == [[mobula7-dat]] |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +| model | from | wheelbase | prop size | description | price | carry weight | |
|
| 24 | +| -------------------- | --------------- | --------- | --------- | ----------- | ----- | ------------ | |
|
| 25 | +| [[Meteor75-dat]] | [[betaFPV-dat]] | 75 | 1.6-inch | micro-whoop | | | |
|
| 26 | +| [[Meteor75-dat]] pro | [[betaFPV-dat]] | | 2-inch | micro-whoop | | | |
|
| 27 | +| [[Aquila16-dat]] | [[betaFPV-dat]] | | | | | | |
|
| 28 | +| [[Pavo20-dat]] | | 90 | 2-inch | micro-whoop | | ~35–45 g | |
|
| 29 | +| [[mobula8-dat]] | | 85 | 2.3-inch | micro-whoop | | ~35–45 g | |
|
| 30 | +| [[BEE25-dat]] | | 120 | 2.5-inch | cinewhoop | | ~60–120 g | |
|
| 31 | +| [[Pavo25-dat]] | | 108 | 2.5-inch | cinewhoop | | ~60–120 g | |
|
| 32 | + |
|
| 33 | +- Aquila16 |
|
| 34 | + |
|
| 35 | +No, the BetaFPV Aquila16 does not support Betaflight tuning. It uses a proprietary firmware and configuration tool developed by BetaFPV |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | +Compatibility with Other Hardware |
|
| 40 | + |
|
| 41 | +The VR03 FPV goggles are compatible with any analog 5.8GHz VTX. |
|
| 42 | + |
|
| 43 | +The LiteRaido 2 SE in the Aquila16 kit works with any drone equipped with 2.4GHz ExpressLRS (ELRS) receivers (V3 firmware). |
|
| 44 | + |
|
| 45 | +You can control the Aquila16 drone with any radio equipped with a 2.4GHz ELRS module (V3 firmware). For binding instructions, see this tutorial: https://oscarliang.com/bind-expresslrs-receivers/ |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | +## ref |
|
| 50 | + |
|
| 51 | +- [[RC-maker]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/happymodel-dat.md
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | + |
|
| 2 | +# happymodel-dat |
|
| 3 | + |
|
| 4 | +- [[mobula8-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
|
| 8 | +# Comparison: Mobula6 vs Mobula7 vs Mobula8 |
|
| 9 | + |
|
| 10 | +| Feature | Mobula6 | Mobula7 | Mobula8 | |
|
| 11 | +| ---------------------- | ---------------------- | ------------------------------ | ----------------------------------------- | |
|
| 12 | +| **Frame Size** | 65 mm | 75 mm | 85 mm | |
|
| 13 | +| **Motor-to-Motor** | 65 mm | 75 mm | 85 mm | |
|
| 14 | +| **Motor Size** | 0802 | 0802 / 1102 (HD) | 1102 | |
|
| 15 | +| **Propeller Size** | 31 mm | 40 mm | 45 mm | |
|
| 16 | +| **Weight (dry)** | ~20 g | ~26 g | ~36 g | |
|
| 17 | +| **Weight (with batt)** | ~25 g | ~33–45 g | ~45–55 g | |
|
| 18 | +| **Battery** | 1S 300–450 mAh | 1S 450 mAh / 2S 300–450 mAh | 2S 450–650 mAh | |
|
| 19 | +| **Flight Style** | Indoor (tight) | Indoor & light outdoor | Indoor & outdoor | |
|
| 20 | +| **Power** | Mild, stable | Medium, flexible | Strong, very stable | |
|
| 21 | +| **Best For** | Beginners, tiny indoor | All-round indoor, some outdoor | Stable indoor/outdoor, freestyle practice | |
|
| 22 | + |
|
| 23 | +✅ **Summary:** |
|
| 24 | +- **Mobula6** = Best for **tiny indoor spaces**. |
|
| 25 | +- **Mobula7** = A **balanced whoop** for both indoor and light outdoor. |
|
| 26 | +- **Mobula8** = Bigger, more powerful, can handle **outdoor freestyle** while still smooth indoors. |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## Cinewhoop Potential: Mobula6 vs Mobula7 vs Mobula8 |
|
| 31 | + |
|
| 32 | +| Model | Cinewhoop Suitability | Why / Why Not | |
|
| 33 | +| ----------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
|
| 34 | +| **Mobula6** | ❌ Not suitable | Too small (65 mm, 1S, 31 mm props). Cannot carry HD camera (even Naked GoPro). Only good for basic indoor FPV. | |
|
| 35 | +| **Mobula7** | ⚠️ Limited | 75 mm frame can carry **lightweight HD cams** (e.g., Insta360 GO, Caddx Turtle, RunCam Split Lite). Still underpowered for heavy payloads. Works as a **micro cinewhoop** in small spaces. | |
|
| 36 | +| **Mobula8** | ✅ Best option | 85 mm frame, 1102 motors, 2S battery. Can carry **Naked GoPro, Insta360 GO, or Caddx Peanut**. Enough thrust for smooth indoor and outdoor cinematic shots. | |
|
| 37 | + |
|
| 38 | +--- |
|
| 39 | + |
|
| 40 | +### ✅ Recommendation |
|
| 41 | +- **Mobula6** → NOT a cinewhoop. Only for training and fun indoor flying. |
|
| 42 | +- **Mobula7** → Can be a **beginner micro cinewhoop** with very light HD cam. |
|
| 43 | +- **Mobula8** → **Best cinewhoop choice** among them. Handles small action cams and provides stable footage. |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +## ref |
|
| 49 | + |
|
| 50 | +- [[happymodel]] - [[drone-maker]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula6-dat/mobula6-dat.md
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | + |
|
| 2 | +# mobula6-dat |
|
| 3 | + |
|
| 4 | +- [[propeller-dat]] |
|
| 5 | + |
|
| 6 | +- [[radiomaster-dat]] - [[frsky-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +- **Frame size (wheelbase)**: 65 mm |
|
| 12 | +- **Diagonal motor-to-motor distance**: 65 mm |
|
| 13 | +- **Motor size**: 0802 (for most versions) |
|
| 14 | +- **Propeller size**: 31 mm (4-blade) |
|
| 15 | +- **Weight**: ~20 g (without battery), ~25 g (with 1S battery) |
|
| 16 | +- **Typical battery**: 1S 300–450 mAh LiPo |
|
| 17 | + |
|
| 18 | +✅ Mobula6 is an **ultralight 65mm whoop**, perfect for **indoor flying** and tight spaces. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-13-10-40.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-13-10-40.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-18.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-18.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-34.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-34.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-50.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-50.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-32.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-32.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-51.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-51.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-12-21.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-12-21.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-05.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-05.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-17.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-17.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-11-21-33-48.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-11-21-33-48.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-12-12-31-55.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-12-12-31-55.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-dat.md
| ... | ... | @@ -0,0 +1,508 @@ |
| 1 | + |
|
| 2 | +# mobula8-dat |
|
| 3 | + |
|
| 4 | +- [[FPV-dat]] |
|
| 5 | + |
|
| 6 | +- [[battery-pack-dat]] - [[flight-controller-dat]] - [[PID-dat]] |
|
| 7 | + |
|
| 8 | +- [[betaflight-presents-dat]] |
|
| 9 | + |
|
| 10 | +- [[FPV-accesories-dat]] |
|
| 11 | + |
|
| 12 | +- [[EX1103-dat]] - [[motor-dat]] - [[Thrust-dat]] - [[motor-FPV-dat]] |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## pre-note |
|
| 16 | + |
|
| 17 | +REMOVE PROPS before first flight !! |
|
| 18 | + |
|
| 19 | +install propeller - [[propeller-dat]] - [[motor-dat]] |
|
| 20 | + |
|
| 21 | +## dimension of the frame |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +- PCB dimension == 25.4 |
|
| 25 | +- motor bottom hole == 1.8 |
|
| 26 | + |
|
| 27 | + |
|
| 28 | + |
|
| 29 | +## tuning |
|
| 30 | + |
|
| 31 | +- [total default stock tuning, running 1S? ](https://www.reddit.com/r/TinyWhoop/comments/146r0v6/happymodel_mobula_8_first_test_flights/) |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## hack |
|
| 35 | + |
|
| 36 | +battery holder to strap |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## how to use |
|
| 41 | + |
|
| 42 | +[[RC-binding-mode-dat]] |
|
| 43 | + |
|
| 44 | +config by [[USB-dat]] USB port |
|
| 45 | + |
|
| 46 | + |
|
| 47 | + |
|
| 48 | + |
|
| 49 | +- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 50 | + |
|
| 51 | +[user manual](https://www.happymodel.cn/wp-content/uploads/2023/04/Manual-for-Mobula8-SPI-ELRS-1-2S-85mm-Micro-FPV-whoop-drone.pdf) |
|
| 52 | + |
|
| 53 | +- [[radiomaster-dat]] how to bind with it |
|
| 54 | + |
|
| 55 | + |
|
| 56 | +## betaflight correct setup to match [[radiomaster-dat]] |
|
| 57 | + |
|
| 58 | +- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 59 | + |
|
| 60 | +### configuration |
|
| 61 | + |
|
| 62 | + |
|
| 63 | + |
|
| 64 | + |
|
| 65 | + |
|
| 66 | + |
|
| 67 | +### receiver |
|
| 68 | + |
|
| 69 | + |
|
| 70 | + |
|
| 71 | +- AETR1234 |
|
| 72 | + |
|
| 73 | +- [[RC-controller-dat]] |
|
| 74 | + |
|
| 75 | +### modes setup |
|
| 76 | + |
|
| 77 | + |
|
| 78 | + |
|
| 79 | +### motors setup |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | + |
|
| 85 | +## info |
|
| 86 | + |
|
| 87 | +Mobula8 |
|
| 88 | +- 1-2S |
|
| 89 | +- 85mm无刷穿越机 |
|
| 90 | +- X12飞控 - [[X12-dat]] - [[flight-controller-dat]] |
|
| 91 | +- 400mw图传 |
|
| 92 | +- 1103电机 |
|
| 93 | +- ELRS |
|
| 94 | + |
|
| 95 | + |
|
| 96 | + |
|
| 97 | +- 400mw VTX, 1103 Motor, ELRS |
|
| 98 | +- **Packing List & Product Parameters:** |
|
| 99 | + - Mobula8 Frame * 1, Brand Name: Happymodel |
|
| 100 | + - EX1103 KV11000 Brushless Motor, Item Name: Mobula8 1-2S 85mm - [[EX1103-dat]] |
|
| 101 | + - Gemfan 2023 Three-blade Propellers (4CW+4CCW), Wheelbase: 85mm |
|
| 102 | + - Caddx ANT 1200TVL Camera, Size: 120mm*120mm*50mm - [[VTX-dat]] |
|
| 103 | + - Onboard 5.8G OpenVTX 0mw~400mw VTX * 1, Weight: 43g |
|
| 104 | + - Canopy for 14mmx14mm camera * 1 |
|
| 105 | + - Screwdriver * 1 |
|
| 106 | +- **Packing List:** |
|
| 107 | + - Mobula8 Frame * 1 |
|
| 108 | + - EX1103 KV11000 Brushless Motor |
|
| 109 | + - Gemfan 2023 Three-blade Propellers (4CW+4CCW) |
|
| 110 | + |
|
| 111 | + |
|
| 112 | + |
|
| 113 | +- **Frame wheelbase:** 85 mm (motor-to-motor diagonal) |
|
| 114 | +- **Typical prop size:** 2 inches |
|
| 115 | +- **Reason:** |
|
| 116 | + - 65 mm whoops → ~31 mm props (≈1.2 inch) |
|
| 117 | + - 75 mm whoops → ~40 mm props (≈1.6 inch) |
|
| 118 | + - 85 mm whoops → ~48 mm props (≈2 inch) |
|
| 119 | + |
|
| 120 | +## battery |
|
| 121 | + |
|
| 122 | +95C 2S1P 550mAH |
|
| 123 | + |
|
| 124 | +2S 厚17× 宽13× 长80mm 34克 |
|
| 125 | + |
|
| 126 | +XT30 |
|
| 127 | + |
|
| 128 | +- ✅ 2S (7.4V LiPo / 8.7V LiHV) → Official recommended setup |
|
| 129 | +- ⚠️ 3S (11.1V LiPo / 13.05V LiHV) |
|
| 130 | + - Technically possible but **NOT recommended** with 11000KV motors |
|
| 131 | + - Motors will run hot, risk of burning out |
|
| 132 | + - Frame is very light → too much power, hard to control indoors |
|
| 133 | +- ❌ 4S (14.8V LiPo / 17.4V LiHV) |
|
| 134 | + - **Not supported** |
|
| 135 | + - Will instantly overheat or fry ESC/motors |
|
| 136 | + |
|
| 137 | + |
|
| 138 | +## problems |
|
| 139 | + |
|
| 140 | +### 🚁 Why Throttle Feels Jumpy on Mobula8 |
|
| 141 | + |
|
| 142 | +1. **No Altitude Hold** |
|
| 143 | + - Mobula8 + Betaflight does not have barometer/alt-hold. |
|
| 144 | + - Throttle is fully manual: up = climb, down = descend. |
|
| 145 | + |
|
| 146 | +2. **Throttle Center** |
|
| 147 | + - Hover point is usually not at 50%. |
|
| 148 | + - For Mobula8 (2S), hover is often around **30–40% throttle**. |
|
| 149 | + |
|
| 150 | +3. **Tiny Quad Sensitivity** |
|
| 151 | + - Small quads react fast to throttle changes. |
|
| 152 | + - Even small stick movement = big altitude change. |
|
| 153 | + |
|
| 154 | + |
|
| 155 | +### 🛠️ How to Make Hovering Easier |
|
| 156 | + |
|
| 157 | +1. Enable Angle Mode |
|
| 158 | + |
|
| 159 | +Betaflight Configurator → Modes Tab. |
|
| 160 | + |
|
| 161 | +Add ANGLE mode to a switch on your Radiomaster Pocket. |
|
| 162 | + |
|
| 163 | +Angle mode keeps the quad level so you only need to manage throttle. |
|
| 164 | + |
|
| 165 | +2. Adjust Throttle Curve / Expo |
|
| 166 | + |
|
| 167 | +On Radiomaster Pocket (EdgeTX): |
|
| 168 | + |
|
| 169 | +Go to Model Setup → Inputs → Throttle. |
|
| 170 | + |
|
| 171 | +Add Expo (20–30%) or a custom curve. |
|
| 172 | + |
|
| 173 | +This makes mid-throttle less sensitive, easier to hover. |
|
| 174 | + |
|
| 175 | +3. Set Proper Motor Idle |
|
| 176 | + |
|
| 177 | +Betaflight → Configuration Tab. |
|
| 178 | + |
|
| 179 | +Motor Idle Throttle Value: ~5% (default too low/high can cause jumps). |
|
| 180 | + |
|
| 181 | +4. Practice Hover |
|
| 182 | + |
|
| 183 | +Hover indoors at waist height. |
|
| 184 | + |
|
| 185 | +Slowly adjust throttle until you find the "sweet spot". |
|
| 186 | + |
|
| 187 | +Remember: FPV drones require constant micro-adjustments. |
|
| 188 | + |
|
| 189 | + |
|
| 190 | +## Best Preset Build for Mobula8 — Tuning Overview |
|
| 191 | + |
|
| 192 | +### 1. Base Tune (Factory Defaults) |
|
| 193 | +- Stick with the **factory PID and rates** unless you fly aggressively past stock performance. |
|
| 194 | + - Many experienced pilots, including reviewers, report that “the default PIDs and rates felt dialed” for smooth flight :contentReference[oaicite:0]{index=0}. |
|
| 195 | + |
|
| 196 | +--- |
|
| 197 | + |
|
| 198 | +### 2. Recommended Flight Modes |
|
| 199 | +- **Angle Mode** for stable, slow, and cinematic flight. |
|
| 200 | +- Optional: **Motor Beacon** (helps find your quad when disarmed) :contentReference[oaicite:1]{index=1}. |
|
| 201 | + |
|
| 202 | +--- |
|
| 203 | + |
|
| 204 | +### 3. Essential Configuration Settings |
|
| 205 | +- **Configuration →** |
|
| 206 | + - **Arming Angle**: Set to **180** to allow arming from uneven ground |
|
| 207 | + - **Thrust Linearization**: Useful for smooth low-throttle response; a small boost (~20%) helps |
|
| 208 | + |
|
| 209 | +--- |
|
| 210 | + |
|
| 211 | +### 4. PID Adjustments (Optional, For Smoother Flight) |
|
| 212 | +If you want even smoother, gentle flight: |
|
| 213 | +- On Mobula6 users reported: |
|
| 214 | + - **Roll / Pitch** P: ~18–20 |
|
| 215 | + - **I**: 30 |
|
| 216 | + - **Feedforward / Damping tweaks** apply similarly well to Mobula8 |
|
| 217 | + |
|
| 218 | +--- |
|
| 219 | + |
|
| 220 | +### 5. Rate Settings for Smooth Control |
|
| 221 | +- Custom builds often use **higher rates** (e.g. roll & pitch ~850, yaw ~700) with expo to mellow control lines :contentReference[oaicite:5]{index=5}. |
|
| 222 | +- Adjust RC Expo to around **0.5** for soft response at stick center (common for smooth flight profiles). |
|
| 223 | + |
|
| 224 | +--- |
|
| 225 | + |
|
| 226 | +### 6. Filtering and RPM Output |
|
| 227 | +- Many users dial down **gyro/D-term filter multipliers** (e.g., from 0.9 → 0.8 → 0.7) to reduce vibration and jello :contentReference[oaicite:6]{index=6}. |
|
| 228 | +- Stick with **DSHOT300 or 600**, add some **RPM filtering** if your ESC supports it :contentReference[oaicite:7]{index=7}. |
|
| 229 | + |
|
| 230 | +--- |
|
| 231 | + |
|
| 232 | +### 7. Preset Summary (In One Table) |
|
| 233 | + |
|
| 234 | +| Feature | Recommendation | |
|
| 235 | +|--------------------|--------------------------------------------| |
|
| 236 | +| PID | Stock factory (default) | |
|
| 237 | +| Flight Modes | Angle mode + Motor Beacon | |
|
| 238 | +| Arming Angle | Max: 180° | |
|
| 239 | +| Thrust Linear | ~20% boost for smooth low throttle | |
|
| 240 | +| Optional PID tweak | P ≈ 18–20, I = 30 for gentle flight | |
|
| 241 | +| Rates | Roll/Pitch ~850, Yaw ~700, Expo ~0.5 | |
|
| 242 | +| Filtering | Gyro/D-term filter ~0.8 multiplier | |
|
| 243 | + |
|
| 244 | + |
|
| 245 | + |
|
| 246 | + |
|
| 247 | +## sorted English |
|
| 248 | + |
|
| 249 | +- Mobula8, this is Happymodel's first attempt on an 85mm frame. |
|
| 250 | +- It uses the X12 series flight controller, 1103 KV11000 motors with Gemfan Hurricane 2023 three-blade propellers, providing excellent power and extremely smooth flight. |
|
| 251 | +- **Features:** |
|
| 252 | + - X12 5-in-1 AIO flight controller with built-in 2.4G ELRS V2.0 and OPENVTX. |
|
| 253 | + - VTX power up to 400mw. |
|
| 254 | + - ELRS V2.0 (default), firmware supporting ELRS V3.0 available. |
|
| 255 | + - EX1103 KV110000 motors. |
|
| 256 | + - CaddxFPV Ant FPV camera. |
|
| 257 | + - Smooth and powerful. |
|
| 258 | + - Compatible with 1S-2S Lipo/LIHV batteries. |
|
| 259 | + - Recommended to use 2S 450mah/550mah/650mah batteries (not included). |
|
| 260 | +- **Specifications:** |
|
| 261 | + - Brand Name: Happymodel |
|
| 262 | + - Item Name: Mobula8 1-2S 85mm Micro FPV Whoop Drone |
|
| 263 | + - Wheelbase: 85mm |
|
| 264 | + - Size: 120mm*120mm*50mm |
|
| 265 | + - Weight: 43g |
|
| 266 | +- **Receiver Options:** |
|
| 267 | + - 2.4G ELRS SPI (supports ELRS v2.0, firmware compatible with ELRS v3.0 available) |
|
| 268 | + - SPI Frsky D8/D16 (not compatible with EMAX E6 radio) |
|
| 269 | + - SPI Flysky AFHDS2A |
|
| 270 | + - PNP (no onboard receiver) |
|
| 271 | + - TBS version (external TBS CRSF NANO RX) |
|
| 272 | +- **Package Includes:** |
|
| 273 | + - Item Name Quantity |
|
| 274 | + - Mobula8 Frame 1 |
|
| 275 | + - Option 1: X12 ELRS V2.1 flight controller with built-in SPI ELRS 2.4G receiver |
|
| 276 | + - Option 2: X12 Frsky V2.1 flight controller with built-in SPI Frsky 2.4G receiver |
|
| 277 | + - Option 3: X12 Flysky V1.0 flight controller with built-in SPI Flysky 2.4G receiver |
|
| 278 | + - Option 4: X12 PNP V1.1 flight controller without onboard receiver |
|
| 279 | + - Option 5: X12 PNP V1.1 flight controller with TBS CRSF NANO RX |
|
| 280 | + - EX1103 KV11000 brushless motor |
|
| 281 | + - Gemfan 2023 three-blade propellers (4cw+4ccw) |
|
| 282 | + - Caddx ANT 1200TVL camera |
|
| 283 | + - Onboard 5.8G OpenVTX 0mw~400mw VTX 1 |
|
| 284 | + - Canopy for 14mmx14mm camera 1 |
|
| 285 | + - Screwdriver 1 |
|
| 286 | +- **Spare Parts Specifications:** |
|
| 287 | + - **Motor:** |
|
| 288 | + - Model: EX1103 KV11000 |
|
| 289 | + - Configuration: 9N12P |
|
| 290 | + - Stator Diameter: 11mm |
|
| 291 | + - Stator Length: 3mm |
|
| 292 | + - Shaft Diameter: Φ1.5mm |
|
| 293 | + - Motor Dimensions (Dia.*Len): Φ13.5mm*15.5mm |
|
| 294 | + - Weight (g): 3.8g |
|
| 295 | + - Applicable Battery: 1-2S |
|
| 296 | + - **Propeller:** |
|
| 297 | + - Weight: 0.88g |
|
| 298 | + - Material: PC |
|
| 299 | + - Pitch: 2.3 inches |
|
| 300 | + - Prop Dia: 52.17mm |
|
| 301 | + - Center Thickness: 5mm |
|
| 302 | + - Center Hole Dia: 1.5mm |
|
| 303 | + - **Flight Controller:** |
|
| 304 | + - X12 ELRS V2.1 built-in ELRS 2.4G receiver target: CRAZYBEEF4SX1280 |
|
| 305 | + - X12 Frsky V2.1 flight controller built-in SPI Frsky 2.4G receiver target: CRAZYBEEF4FR |
|
| 306 | + - X12 Flysky V1.0 flight controller built-in SPI Flysky 2.4G receiver target: CRAZYBEEF4FS |
|
| 307 | + - X12 PNP V1.1 flight controller without onboard receiver target: CRAZYBEEF4DX |
|
| 308 | + - MCU: STM32F411CEU6 (100MHz, 512K FLASH) |
|
| 309 | + - Sensor: ICM20689 or ICM42688P (SPI connection) |
|
| 310 | + - Mounting hole size: 25.5mm*25.5mm |
|
| 311 | + - Power supply: 1-2S battery input (DC 2.9V-8.7V) |
|
| 312 | + - Built-in 12A (each) Blheli_S 4in1 ESC |
|
| 313 | + - Built-in Betaflight OSD (SPI Control) |
|
| 314 | + - Built-in 5.8G OpenVTX 0mw~400mw |
|
| 315 | + - Built-in ExpressLRS 2.4G, Frsky D8/D16, Flysky AFHDS 2A |
|
| 316 | + - Built-in voltage detection |
|
| 317 | + - Built-in current sensor |
|
| 318 | + - **Onboard 4in1 ESC:** |
|
| 319 | + - Power supply: 1-2S LiPo/LiPo HV |
|
| 320 | + - Current: 12A continuous peak 15A (3 seconds) |
|
| 321 | + - Supports BLHeliSuite programmable |
|
| 322 | + - Firmware target: Z_H_30 |
|
| 323 | + - Default protocol: DSHOT300 |
|
| 324 | + - Supports Bluejay firmware |
|
| 325 | + - **Onboard SPI ExpressLRS 2.4GHz Receiver:** |
|
| 326 | + - Packet Rate options: 50Hz/150Hz/250Hz/500Hz |
|
| 327 | + - Firmware version: V2.0 |
|
| 328 | + - RF Frequency: 2.4GHz |
|
| 329 | + - Antenna: SMD antenna |
|
| 330 | + - Telemetry output power: <12dBm |
|
| 331 | + - Receiver protocol: SPI ExpressLRS |
|
| 332 | + - Compatible with ExpressLRS V2.0 TX module |
|
| 333 | + - Cannot flash ExpressLRS firmware separately |
|
| 334 | + - Can flash FC firmware to support ExpressLRS v3.0 TX module |
|
| 335 | + - **Onboard SPI Frsky D8/D16 Receiver Version:** |
|
| 336 | + - SPI BUS receiver Frsky D8/D16 compatible |
|
| 337 | + - Compatible with non-EU transmitter D8/D16 models |
|
| 338 | + - Channels: 8ch/16ch |
|
| 339 | + - **Onboard SPI Flysky Receiver Version:** |
|
| 340 | + - SPI BUS receiver |
|
| 341 | + - Protocol: AFHDS-2A |
|
| 342 | + - Channels: 14ch (AFHDS-2A) |
|
| 343 | + - Failsafe support |
|
| 344 | + - **PNP Version (No onboard receiver):** |
|
| 345 | + - External receiver full UART1 |
|
| 346 | + - Supports CRSF/GHOST/SBUS/IBUS/DSMX protocols |
|
| 347 | + - IR1 pad (inverted RX1) for SBUS input |
|
| 348 | + - **External TBS CRSF Nano Receiver Version:** |
|
| 349 | + - Original TBS CROSSFIRE receiver |
|
| 350 | + - CRSF protocol |
|
| 351 | + - Official TBS transmitter compatible |
|
| 352 | + - **Onboard 5.8g OPENVTX:** |
|
| 353 | + - Firmware version: OPENVTX |
|
| 354 | + - Smartaudio v2.1 |
|
| 355 | + - PIT mode support |
|
| 356 | + - RCE mode support |
|
| 357 | + - Channels: 48ch |
|
| 358 | + - Transmission power: 0/RCE/25mw/100mw/400mw |
|
| 359 | + - Power supply: DC 5V |
|
| 360 | + - Current (5v): <650ma (400mw) |
|
| 361 | + - **Caddx ANT 1200TVL Camera:** |
|
| 362 | + - Image Sensor: 1/3" CMOS Sensor |
|
| 363 | + - Horizontal Resolution: 1200TVL |
|
| 364 | + - TV System: NTSC or PAL |
|
| 365 | + - Image: 16:9 or 4:3 |
|
| 366 | + - Synchronization: Internal |
|
| 367 | + - Electronic Shutter: PAL: 1/50~100,000; NTSC: 1/60~100,000 |
|
| 368 | + - S/N Ratio: >52dB (AGC OFF) |
|
| 369 | + - Video Output: CVBS |
|
| 370 | + - Lens: 1.8mm |
|
| 371 | + - Min. Illumination: [email protected] |
|
| 372 | + - Auto Gain Control: Yes |
|
| 373 | + - WDR: Global WDR |
|
| 374 | + - DNR: 3D DNR |
|
| 375 | + - Dimensions: 14*14mm (with bracket to 19*19mm) |
|
| 376 | + - Wide Power Input: DC 3.7-18V |
|
| 377 | + - Weight: 2g (N.W.) |
|
| 378 | + |
|
| 379 | +## raw info |
|
| 380 | +Mobula8,这是Happymodel首次尝试在85mmframe上的尝试 |
|
| 381 | +采用X12系列飞控,1103KV11000的电机配合GemfanHur |
|
| 382 | +ricane2023三叶螺旋桨,动力表现优异,飞行极其顺畅。 |
|
| 383 | +特点: |
|
| 384 | +X125合1AIO飞行控制器内置2.4GELRSV2.0和OPENVTX |
|
| 385 | +VTX功率高达400mw |
|
| 386 | +ELRSV2.0(默认),提供支持ELRSV3.0的固件 |
|
| 387 | +EX1103KV110000电机 |
|
| 388 | +caddxfpv蚂蚁FPV摄像机 |
|
| 389 | +平稳有力 |
|
| 390 | +兼容1S-2SLipo/LIHV电池 |
|
| 391 | +推荐使用2S450mah/550mah/650mah电池(不含) |
|
| 392 | +规格: |
|
| 393 | +品牌名称:Happymodel |
|
| 394 | +项目名称:Mobula81-2S85mm微型FPVWhoop无人机 |
|
| 395 | +轴距:85毫米 |
|
| 396 | +大小:120mm*120mm*50毫米 |
|
| 397 | +重量:43克 |
|
| 398 | +接收机选择: |
|
| 399 | +2.4GELRSSPI(支持ELRSv2.0,提供兼容ELRSv3.O的固件) |
|
| 400 | +SPIFrskyD8/D16与EMAXE6无线电不兼容 |
|
| 401 | +SPI Flysky AFHDS2A |
|
| 402 | +PNP(无板载接收机) |
|
| 403 | +TBS版本(外接TBSCRSFNANORX) |
|
| 404 | +包包括: |
|
| 405 | +项目名称数量 |
|
| 406 | +Mobula8机架1 |
|
| 407 | +选项1:X12ELRSV2.1飞行控制器内置SPIELRS2.4G接收器 |
|
| 408 | +Option2:X12FrskyV2.1飞行控制器内置SPIFrsky2.4G接收器 |
|
| 409 | +Option3:X12FlyskyV1.0飞行控制器内置SPlFlysky2.4G接收 |
|
| 410 | +器 |
|
| 411 | +选项4:无机载接收机的X12PNPV1.1飞行控制器 |
|
| 412 | +选项5:X12PNPV1.1飞行控制器与TBSCRSFNANORX |
|
| 413 | +EX1103KV11000无刷电机 |
|
| 414 | +乾丰2023三叶螺旋桨(4cw+4ccw) |
|
| 415 | +caddxANT1200TVL摄像机 |
|
| 416 | +板载5.8GOpenvtx0mw~400mwvtx1 |
|
| 417 | +用于14mmx14mm相机头罩1 |
|
| 418 | +螺丝刀1 |
|
| 419 | +备件规格: |
|
| 420 | +电机模式:EX1103KV11000 |
|
| 421 | +Configu-ration: 9 n12p |
|
| 422 | +定子直径:11毫米 |
|
| 423 | +定子长度:3毫米 |
|
| 424 | +轴直径:Φ1.5毫米 |
|
| 425 | +电机尺寸(Dia。。*Len):Φ13.5毫米*15.5毫米 |
|
| 426 | +重量(克):3.8g |
|
| 427 | +适用电池:1-2S |
|
| 428 | +螺旋桨重量:0.88g |
|
| 429 | +材料:PC |
|
| 430 | +节距:2.3英寸 |
|
| 431 | +道具Dia:52.17毫米 |
|
| 432 | +中心厚度:5毫米 |
|
| 433 | +中心孔直径:1.5mm |
|
| 434 | +飞行控制器X12ELRSV2.1内置ELRS2.4G接收机目标:CRAZYBE |
|
| 435 | +EF4SX1280 |
|
| 436 | +X12FrskyV2.1飞行控制器内置SPIFrsky2.4G接收器目标:CRA |
|
| 437 | +ZYBEEF4FR |
|
| 438 | +X12FlyskyV1.0飞行控制器内置SPIFlysky2.4G接收器目标:CR |
|
| 439 | +AZYBEEF4FS |
|
| 440 | +无机载接收机的X12PNPV1.1飞行控制器目标:CRAZYBEEF4DX |
|
| 441 | +MCU: Stm32f411ceu6 (100mhz, 512k闪存) |
|
| 442 | +传感器:ICM20689或ICM42688P(SPI连接) |
|
| 443 | +安装孔尺寸:25.5mm*25.5mm |
|
| 444 | +电源:1-2S电池输入(直流2.9V-8.7V) |
|
| 445 | +内置12A(每个)BIheli_S4in1ESC |
|
| 446 | +内置betflight OSD(SPI控制) |
|
| 447 | +内置5.8GOpenVTX0mw~400mw |
|
| 448 | +内置ExpressLRS 2.4G,frysky D8/D16,Flysky AFHDS 2A |
|
| 449 | +内置电压检测 |
|
| 450 | +内置电流传感器 |
|
| 451 | +板载4in1 esc电源:1-2SLiPo/LiPoHV |
|
| 452 | +电流:12A连续峰值15A(3秒) |
|
| 453 | +支持BLHeliSuite可编程 |
|
| 454 | +固件目标:Z_H_30 |
|
| 455 | +默认协议:DSHOT300 |
|
| 456 | +支持蓝鸟固件 |
|
| 457 | +板载SPIExpressLRS2.4GHz接收器包速率选项:50Hz/150Hz/2 |
|
| 458 | +50Hz/500Hz |
|
| 459 | +固件版本:V2.0 |
|
| 460 | +射频频率:2.4GHz |
|
| 461 | +天线:SMD天线 |
|
| 462 | +遥测输出功率:<12dBm |
|
| 463 | +接收协议:SPIExpressLRS |
|
| 464 | +兼容ExpressLRSV2.0 TX模块 |
|
| 465 | +无法单独flashExpressLRS固件 |
|
| 466 | +可以flashFC固件支持ExpressLRSv3.0TX模块 |
|
| 467 | +板载SPIFrskyD8/D16接收器版本SPIBUS接收器FrskyD8/D1 |
|
| 468 | +6兼容 |
|
| 469 | +兼容非欧盟发射机D8/D16型号通道:8ch/16ch |
|
| 470 | +板载SPIFlysky接收器版本SPIBUS接收器 |
|
| 471 | +协议:AFHDS-2A |
|
| 472 | +通道:14 ch (AFHDS-2A) |
|
| 473 | +失控保护支持 |
|
| 474 | +PNP型版本 |
|
| 475 | +(无板载接收器)外部接收器满UART1 |
|
| 476 | +支持CRSF/GHOST/SBUS/IBUS/DSMX协议 |
|
| 477 | +IR1 pad(反向RX1),用于SBUS输入 |
|
| 478 | +外部TBSCRSF纳米接收器版本原始TBSCROSSFIRE接收器,C |
|
| 479 | +RSF协议,官方TBS发射器兼容 |
|
| 480 | +板载5.8gOPENVTX固件版本:OPENVTX |
|
| 481 | +Smartaudio v2.1 |
|
| 482 | +PIT模式支持 |
|
| 483 | +RCE模式支持 |
|
| 484 | +渠道:48ch |
|
| 485 | +发射功率:0/RCE/25mw/100mw/400mw |
|
| 486 | +电源:直流5V |
|
| 487 | +电流(5v):<650ma (400mw) |
|
| 488 | +cadxANT1200tvI相机图像传感器:1/3"CMOS传感器 |
|
| 489 | +水平分辨率:1200TVL |
|
| 490 | +电视系统:NTSC或PAL |
|
| 491 | +图像:16:9或4:3 |
|
| 492 | +同步:内部 |
|
| 493 | +电子快门:PAL:1/50~100,000;NTSC:1/60~100000 |
|
| 494 | +信噪比:>52dB(AGC OFF) |
|
| 495 | +视频输出:CVBS |
|
| 496 | +镜头:1.8毫米 |
|
| 497 | +最小照度:[email protected] |
|
| 498 | +自动增益控制:是的 |
|
| 499 | +WDR:Global WDR |
|
| 500 | +Dnr: 3d Dnr |
|
| 501 | +尺寸:14*14mm(带支架至19*19mm) |
|
| 502 | +宽电源输入:DC3.7-18V |
|
| 503 | +重量:2g (N.W.) |
|
| 504 | + |
|
| 505 | + |
|
| 506 | +## ref |
|
| 507 | + |
|
| 508 | +- [[happymodel-dat]] - [[mobula8]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-indoor-fly-dat/mobula8-indoor-1.txt
| ... | ... | @@ -0,0 +1,246 @@ |
| 1 | +defaults nosave |
|
| 2 | + |
|
| 3 | + |
|
| 4 | +# version |
|
| 5 | +# Betaflight / STM32F411 (S411) 4.5.2 Apr 8 2025 / 09:45:08 (024f8e13d) MSP API: 1.46 |
|
| 6 | +# config rev: 2f448eb |
|
| 7 | + |
|
| 8 | +# start the command batch |
|
| 9 | +batch start |
|
| 10 | + |
|
| 11 | +# reset configuration to default settings |
|
| 12 | +defaults nosave |
|
| 13 | + |
|
| 14 | +board_name CRAZYBEEF4SX1280 |
|
| 15 | +manufacturer_id HAMO |
|
| 16 | +mcu_id 003b00543134510d33343336 |
|
| 17 | +signature |
|
| 18 | + |
|
| 19 | +# name: Mobula8 |
|
| 20 | + |
|
| 21 | +# resources |
|
| 22 | +resource LED_STRIP 1 NONE |
|
| 23 | + |
|
| 24 | +# dma |
|
| 25 | +dma ADC 1 1 |
|
| 26 | +# ADC 1: DMA2 Stream 4 Channel 0 |
|
| 27 | + |
|
| 28 | +# feature |
|
| 29 | +feature -AIRMODE |
|
| 30 | +feature TELEMETRY |
|
| 31 | +feature OSD |
|
| 32 | + |
|
| 33 | +# serial |
|
| 34 | +serial 1 2048 115200 57600 0 115200 |
|
| 35 | + |
|
| 36 | +# beacon |
|
| 37 | +beacon RX_LOST |
|
| 38 | +beacon RX_SET |
|
| 39 | + |
|
| 40 | +# aux |
|
| 41 | +aux 0 0 0 1700 2100 0 0 |
|
| 42 | +aux 1 1 1 1700 2100 0 0 |
|
| 43 | +aux 2 2 1 1300 1700 0 0 |
|
| 44 | +aux 3 13 3 1300 1700 0 0 |
|
| 45 | +aux 4 28 2 1300 1700 0 0 |
|
| 46 | +aux 5 35 2 1700 2100 0 0 |
|
| 47 | + |
|
| 48 | +# adjrange |
|
| 49 | +adjrange 0 0 3 1500 2100 12 3 0 0 |
|
| 50 | +adjrange 1 0 3 900 1500 12 3 0 0 |
|
| 51 | +adjrange 2 0 1 1800 2100 12 1 0 0 |
|
| 52 | + |
|
| 53 | +# vtxtable |
|
| 54 | +vtxtable bands 6 |
|
| 55 | +vtxtable channels 8 |
|
| 56 | +vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725 |
|
| 57 | +vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866 |
|
| 58 | +vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665 0 5885 5905 0 0 |
|
| 59 | +vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880 |
|
| 60 | +vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917 |
|
| 61 | +vtxtable band 6 LOWRACE L FACTORY 5333 5373 5413 5453 5493 5533 5573 5613 |
|
| 62 | +vtxtable powerlevels 5 |
|
| 63 | +vtxtable powervalues 10 2 14 20 26 |
|
| 64 | +vtxtable powerlabels 0 RCE 25 100 400 |
|
| 65 | + |
|
| 66 | +# master |
|
| 67 | +set gyro_lpf1_static_hz = 0 |
|
| 68 | +set gyro_lpf2_static_hz = 300 |
|
| 69 | +set dyn_notch_q = 250 |
|
| 70 | +set dyn_notch_min_hz = 150 |
|
| 71 | +set gyro_lpf1_dyn_min_hz = 120 |
|
| 72 | +set gyro_lpf1_dyn_max_hz = 360 |
|
| 73 | +set acc_lpf_hz = 10 |
|
| 74 | +set acc_calibration = 18,40,-22,1 |
|
| 75 | +set rc_smoothing_auto_factor = 25 |
|
| 76 | +set rc_smoothing_auto_factor_throttle = 25 |
|
| 77 | +set serialrx_provider = SPEK1024 |
|
| 78 | +set airmode_start_throttle_percent = 35 |
|
| 79 | +set blackbox_sample_rate = 1/2 |
|
| 80 | +set blackbox_device = NONE |
|
| 81 | +set dshot_idle_value = 300 |
|
| 82 | +set dshot_bidir = ON |
|
| 83 | +set dshot_bitbang = AUTO |
|
| 84 | +set motor_poles = 12 |
|
| 85 | +set failsafe_delay = 4 |
|
| 86 | +set failsafe_recovery_delay = 20 |
|
| 87 | +set vbat_max_cell_voltage = 420 |
|
| 88 | +set vbat_min_cell_voltage = 350 |
|
| 89 | +set vbat_multiplier = 2 |
|
| 90 | +set ibata_scale = 470 |
|
| 91 | +set small_angle = 180 |
|
| 92 | +set gps_provider = NMEA |
|
| 93 | +set gps_ublox_flight_model = AIRBORNE_4G |
|
| 94 | +set gps_rescue_min_start_dist = 30 |
|
| 95 | +set gps_rescue_ascend_rate = 500 |
|
| 96 | +set gps_rescue_ground_speed = 2000 |
|
| 97 | +set gps_rescue_descent_dist = 200 |
|
| 98 | +set gps_rescue_descend_rate = 100 |
|
| 99 | +set gps_rescue_landing_alt = 5 |
|
| 100 | +set gps_rescue_throttle_max = 1600 |
|
| 101 | +set gps_rescue_throttle_hover = 1280 |
|
| 102 | +set gps_rescue_sanity_checks = RESCUE_SANITY_ON |
|
| 103 | +set gps_rescue_throttle_p = 150 |
|
| 104 | +set gps_rescue_throttle_i = 20 |
|
| 105 | +set gps_rescue_throttle_d = 50 |
|
| 106 | +set gps_rescue_velocity_p = 80 |
|
| 107 | +set gps_rescue_velocity_i = 20 |
|
| 108 | +set gps_rescue_velocity_d = 15 |
|
| 109 | +set gps_rescue_yaw_p = 40 |
|
| 110 | +set deadband = 5 |
|
| 111 | +set yaw_deadband = 5 |
|
| 112 | +set pid_process_denom = 2 |
|
| 113 | +set simplified_gyro_filter = OFF |
|
| 114 | +set osd_rssi_pos = 314 |
|
| 115 | +set osd_link_quality_pos = 2392 |
|
| 116 | +set osd_rssi_dbm_pos = 2360 |
|
| 117 | +set osd_tim_2_pos = 2433 |
|
| 118 | +set osd_flymode_pos = 2457 |
|
| 119 | +set osd_throttle_pos = 2425 |
|
| 120 | +set osd_vtx_channel_pos = 2305 |
|
| 121 | +set osd_current_pos = 2336 |
|
| 122 | +set osd_mah_drawn_pos = 2368 |
|
| 123 | +set osd_craft_name_pos = 2442 |
|
| 124 | +set osd_warnings_pos = 2345 |
|
| 125 | +set osd_avg_cell_voltage_pos = 2401 |
|
| 126 | +set osd_disarmed_pos = 2314 |
|
| 127 | +set osd_esc_rpm_pos = 161 |
|
| 128 | +set osd_core_temp_pos = 2328 |
|
| 129 | +set osd_displayport_device = AUTO |
|
| 130 | +set osd_canvas_width = 30 |
|
| 131 | +set osd_canvas_height = 13 |
|
| 132 | +set debug_mode = DUAL_GYRO_SCALED |
|
| 133 | +set vtx_band = 5 |
|
| 134 | +set vtx_channel = 8 |
|
| 135 | +set vtx_power = 3 |
|
| 136 | +set vtx_low_power_disarm = ON |
|
| 137 | +set vtx_freq = 5917 |
|
| 138 | +set vcd_video_system = NTSC |
|
| 139 | +set pinio_box = 255,255,255,255 |
|
| 140 | +set expresslrs_uid = 9,212,226,35,100,206 |
|
| 141 | +set expresslrs_rate_index = 1 |
|
| 142 | +set expresslrs_switch_mode = HYBRID |
|
| 143 | +set rpm_filter_min_hz = 90 |
|
| 144 | +set craft_name = Mobula8 |
|
| 145 | + |
|
| 146 | +profile 0 |
|
| 147 | + |
|
| 148 | +# profile 0 |
|
| 149 | +set dterm_lpf1_dyn_min_hz = 70 |
|
| 150 | +set dterm_lpf1_dyn_max_hz = 140 |
|
| 151 | +set dterm_lpf1_static_hz = 120 |
|
| 152 | +set dterm_lpf2_static_hz = 200 |
|
| 153 | +set vbat_sag_compensation = 100 |
|
| 154 | +set anti_gravity_gain = 100 |
|
| 155 | +set crash_recovery = ON |
|
| 156 | +set iterm_relax_cutoff = 25 |
|
| 157 | +set yaw_lowpass_hz = 0 |
|
| 158 | +set throttle_boost = 0 |
|
| 159 | +set acro_trainer_angle_limit = 30 |
|
| 160 | +set p_pitch = 74 |
|
| 161 | +set i_pitch = 119 |
|
| 162 | +set d_pitch = 50 |
|
| 163 | +set f_pitch = 130 |
|
| 164 | +set p_roll = 70 |
|
| 165 | +set i_roll = 113 |
|
| 166 | +set d_roll = 46 |
|
| 167 | +set f_roll = 135 |
|
| 168 | +set p_yaw = 53 |
|
| 169 | +set i_yaw = 95 |
|
| 170 | +set f_yaw = 130 |
|
| 171 | +set angle_p_gain = 35 |
|
| 172 | +set angle_limit = 45 |
|
| 173 | +set horizon_level_strength = 50 |
|
| 174 | +set d_min_roll = 0 |
|
| 175 | +set d_min_pitch = 0 |
|
| 176 | +set d_max_advance = 0 |
|
| 177 | +set motor_output_limit = 50 |
|
| 178 | +set thrust_linear = 20 |
|
| 179 | +set feedforward_jitter_factor = 5 |
|
| 180 | +set feedforward_boost = 10 |
|
| 181 | +set feedforward_max_rate_limit = 95 |
|
| 182 | +set dyn_idle_min_rpm = 30 |
|
| 183 | +set simplified_pids_mode = OFF |
|
| 184 | +set simplified_master_multiplier = 150 |
|
| 185 | +set simplified_i_gain = 90 |
|
| 186 | +set simplified_d_gain = 120 |
|
| 187 | +set simplified_pi_gain = 105 |
|
| 188 | +set simplified_dmax_gain = 0 |
|
| 189 | +set simplified_feedforward_gain = 90 |
|
| 190 | +set simplified_dterm_filter = OFF |
|
| 191 | +set tpa_mode = PD |
|
| 192 | +set tpa_rate = 25 |
|
| 193 | +set tpa_breakpoint = 1150 |
|
| 194 | +set ez_landing_speed = 30 |
|
| 195 | + |
|
| 196 | +profile 1 |
|
| 197 | + |
|
| 198 | +profile 2 |
|
| 199 | + |
|
| 200 | +profile 3 |
|
| 201 | + |
|
| 202 | +# restore original profile selection |
|
| 203 | +profile 0 |
|
| 204 | + |
|
| 205 | +rateprofile 0 |
|
| 206 | + |
|
| 207 | +# rateprofile 0 |
|
| 208 | +set thr_mid = 100 |
|
| 209 | +set thr_expo = 100 |
|
| 210 | +set roll_rc_rate = 1 |
|
| 211 | +set pitch_rc_rate = 1 |
|
| 212 | +set yaw_rc_rate = 1 |
|
| 213 | +set roll_expo = 10 |
|
| 214 | +set pitch_expo = 10 |
|
| 215 | +set yaw_expo = 10 |
|
| 216 | +set roll_srate = 10 |
|
| 217 | +set pitch_srate = 10 |
|
| 218 | +set yaw_srate = 10 |
|
| 219 | +set throttle_limit_type = SCALE |
|
| 220 | +set throttle_limit_percent = 90 |
|
| 221 | + |
|
| 222 | +rateprofile 1 |
|
| 223 | + |
|
| 224 | +rateprofile 2 |
|
| 225 | + |
|
| 226 | +# rateprofile 2 |
|
| 227 | +set thr_mid = 100 |
|
| 228 | +set thr_expo = 100 |
|
| 229 | +set rates_type = BETAFLIGHT |
|
| 230 | +set roll_rc_rate = 10 |
|
| 231 | +set pitch_rc_rate = 10 |
|
| 232 | +set yaw_rc_rate = 10 |
|
| 233 | +set roll_expo = 30 |
|
| 234 | +set pitch_expo = 30 |
|
| 235 | +set yaw_expo = 30 |
|
| 236 | +set roll_srate = 30 |
|
| 237 | +set pitch_srate = 30 |
|
| 238 | +set yaw_srate = 50 |
|
| 239 | +set throttle_limit_type = SCALE |
|
| 240 | + |
|
| 241 | +rateprofile 3 |
|
| 242 | + |
|
| 243 | +# restore original rateprofile selection |
|
| 244 | +rateprofile 0 |
|
| 245 | + |
|
| 246 | +# save configuration |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-indoor-fly-dat/mobula8-indoor-fly-dat.md
| ... | ... | @@ -0,0 +1,50 @@ |
| 1 | + |
|
| 2 | +# mobula8-indoor-fly-dat |
|
| 3 | + |
|
| 4 | +- [[betaflight-PID-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +1. Flight Modes |
|
| 8 | + |
|
| 9 | +Enable Angle or Horizon Mode for self-leveling and easy control indoors. |
|
| 10 | +- Angle: safest, no flips/rolls. |
|
| 11 | +- Horizon: allows gentle flips/rolls, still self-levels. |
|
| 12 | + |
|
| 13 | +2. Rates and Expo |
|
| 14 | + |
|
| 15 | +- Lower your rates (e.g., 400–500 deg/s) for smoother, slower stick response. |
|
| 16 | +- Increase expo (e.g., 0.3–0.5) for finer control near center stick. |
|
| 17 | + |
|
| 18 | +3. PID Tuning |
|
| 19 | + |
|
| 20 | +- Lower P and D gains slightly for softer, less twitchy response. |
|
| 21 | +- Increase I gain a bit to help hold attitude against drafts. |
|
| 22 | +- Use the “tuned profile” in your table as a starting point, but reduce values if the quad feels too sharp. |
|
| 23 | + |
|
| 24 | +4. Feedforward |
|
| 25 | + |
|
| 26 | +Set Feedforward (FF) lower for smoother, less aggressive stick response (e.g., 130–140). |
|
| 27 | + |
|
| 28 | +5. Anti-Gravity |
|
| 29 | + |
|
| 30 | +Enable Anti-Gravity and set gain to 10 or higher for stable altitude during throttle changes. |
|
| 31 | + |
|
| 32 | +6. Throttle and Motor Settings |
|
| 33 | + |
|
| 34 | +- Motor Output Limit: Set to 75–80% for safer, gentler indoor power. |
|
| 35 | +- Throttle Boost: Set low (5–7) for smooth throttle response. |
|
| 36 | +- Dynamic Idle: Set to 30–35 to prevent motor stalling at low throttle. |
|
| 37 | +- Vbat Sag Compensation: Enable to keep performance consistent as battery drains. |
|
| 38 | + |
|
| 39 | +7. Master Multiplier/Sliders |
|
| 40 | + |
|
| 41 | +Keep Master Multiplier low (0.5–1.0) for gentle, stable flight. |
|
| 42 | + |
|
| 43 | +8. Angle/Horizon Strength |
|
| 44 | + |
|
| 45 | +Lower “Strength” and “Angle Limit” for less aggressive self-leveling and more cinematic movement (see your “optimized for indoor fly” table). |
|
| 46 | + |
|
| 47 | + |
|
| 48 | +## ref |
|
| 49 | + |
|
| 50 | +- [[indoor-fly-dat]] - [[indoor-fly]] - [[betaflight]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-06-22.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-06-22.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-26.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-26.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-50.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-50.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/bee25-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# bee25-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +bee25 is a 2.5-inch frame specially designed for FPV aircraft, suitable for various small drones and FPV racing aircraft. It is made of high-strength carbon fiber material, featuring lightweight and high rigidity characteristics, capable of withstanding impacts and vibrations during high-speed flight. |
|
| 7 | +The design of this frame emphasizes aerodynamics, providing good aerodynamic performance, reducing flight drag, and improving flight efficiency. It supports multiple motor and ESC configurations, suitable for different flight needs. |
|
| 8 | + |
|
| 9 | +## drawbacks |
|
| 10 | + |
|
| 11 | +- the frame only support [[speedybee-dat]] its own [[VTX-dat]] == [[TX800]], because of the fixed size |
|
| 12 | + |
|
| 13 | +## assembled |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## TX800 |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +## ref |
|
| 26 | + |
|
| 27 | +- [[speedybee-dat]] - [[FPV-dat]] |
|
| 28 | + |
|
| 29 | +- [[VTX-dat]] - [[MS-519-dat]] - [[camera-dat]] - [[bee25-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/speedybee-dat.md
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | + |
|
| 2 | +# speedybee-dat |
|
| 3 | + |
|
| 4 | +[SpeedyBee 4pcs FPV Soldering Practice Board for FPV Drone Beginners, Tools for Flight controller ESC Soldering Practice](https://www.amazon.com/SpeedyBee-Soldering-Practice-Beginners-controller/dp/B0C5X26JWQ/ref=sr_1_32?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-32) |
|
| 5 | + |
|
| 6 | + |
|
| 7 | + |
app-dat/RC-apps-dat/RC-supplier-dat/frsky-dat/frsky-dat.md
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | + |
|
| 2 | +# frsky-dat |
|
| 3 | + |
|
| 4 | +- [Taranis Series](https://www.frsky-rc.com/product-category/transmitters/taranis-series/) |
|
| 5 | + |
|
| 6 | +- [[CC2500-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## ref |
|
| 12 | + |
|
| 13 | +- [[RC-supplier-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-45-54.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-45-54.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-47-56.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-47-56.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-48-22.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-48-22.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-09-02-13-11-15.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-09-02-13-11-15.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-09-15-00-53-56.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/2025-09-15-00-53-56.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/radiomaster-dat.md
| ... | ... | @@ -0,0 +1,138 @@ |
| 1 | + |
|
| 2 | +# radiomaster-dat |
|
| 3 | + |
|
| 4 | +basic information vist at - [[RC-controller-dat]] |
|
| 5 | + |
|
| 6 | +## all buttons |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | +## binding |
|
| 12 | + |
|
| 13 | +## Pocket Radio Controller (M2) |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +https://www.radiomasterrc.com/products/pocket-radio-controller-m2 |
|
| 17 | + |
|
| 18 | +https://cdn.shopify.com/s/files/1/0609/8324/7079/files/Pocket_1.pdf?v=1736839330 |
|
| 19 | + |
|
| 20 | +firmwares - https://www.radiomasterrc.com/pages/firmware-updates |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + RadioMaster Pocket Internal 2.4GHz TX |
|
| 27 | + Firmware Rev. 3.5.4 (a6f9a2) ISM2G4 |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## wifi |
|
| 31 | + |
|
| 32 | + |
|
| 33 | +turn on wifi mode: |
|
| 34 | + |
|
| 35 | +1) Power on your Radiomaster transmitter. |
|
| 36 | +2) Long-press SYS to open the System Menu. |
|
| 37 | +3) Navigate to the TOOLS tab. |
|
| 38 | +4) Run “ExpressLRS.lua”. |
|
| 39 | +5) Select “WiFi Connectivity” → “Enable Wi-Fi”. |
|
| 40 | +6) Wait for the module to restart into Wi-Fi mode. |
|
| 41 | +7) On your phone/PC, connect to SSID: ExpressLRS TX (password: expresslrs). |
|
| 42 | +8) Open a browser and go to: http://10.0.0.1 |
|
| 43 | +9) Update firmware or adjust settings in the ELRS WebUI. |
|
| 44 | +10) Exit Wi-Fi mode by backing out of the script or power-cycling the radio. |
|
| 45 | + |
|
| 46 | +better use this wifi option to connect your devices to your local network: |
|
| 47 | + |
|
| 48 | + One-time connect to network, retain Home network setting |
|
| 49 | + |
|
| 50 | + http://elrs_tx.local |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +find firmware version |
|
| 54 | + |
|
| 55 | + ExpressLRS |
|
| 56 | + RadioMaster Pocket Internal 2.4GHz TX |
|
| 57 | + Firmware Rev. 3.5.4 (a6f9a2) ISM2G4 |
|
| 58 | + |
|
| 59 | + |
|
| 60 | +## module downloads |
|
| 61 | + |
|
| 62 | +1) Power off your Radiomaster Pocket. |
|
| 63 | +2) Remove the SD card (or plug in USB-C in storage mode). |
|
| 64 | +3) Download the correct EdgeTX SD card pack for Radiomaster Pocket: |
|
| 65 | + - From: https://edgetx.org/sdcard |
|
| 66 | + - Choose the same EdgeTX version as your radio. |
|
| 67 | +4) Download the latest ExpressLRS Lua script: |
|
| 68 | + - From: https://github.com/ExpressLRS/ExpressLRS |
|
| 69 | + - Copy `ExpressLRS.lua` into `/SCRIPTS/TOOLS/` on your SD card. |
|
| 70 | +5) Safely eject the SD card (or USB storage) and restart the radio. |
|
| 71 | +6) Go to [SYS] → TOOLS → Run ExpressLRS.lua. |
|
| 72 | +7) The script should now load instead of freezing. |
|
| 73 | + |
|
| 74 | +## bind with mobula8 setup |
|
| 75 | + |
|
| 76 | +- Packet Rate == 250Hz (-108d) |
|
| 77 | +- telem Ratio == STD |
|
| 78 | +- Switch Mode == Hybrid |
|
| 79 | +- Link Mode == Off |
|
| 80 | + |
|
| 81 | + |
|
| 82 | + |
|
| 83 | + |
|
| 84 | + |
|
| 85 | + |
|
| 86 | + |
|
| 87 | + |
|
| 88 | +## flash |
|
| 89 | + |
|
| 90 | + You must choose regulatory domain for your device in 2.4 GHz band |
|
| 91 | + |
|
| 92 | + Custom binding phrase must be longer than 6 characters |
|
| 93 | + |
|
| 94 | + |
|
| 95 | +## build firmware first |
|
| 96 | + |
|
| 97 | + |
|
| 98 | + |
|
| 99 | + |
|
| 100 | + |
|
| 101 | + |
|
| 102 | +## flash log |
|
| 103 | + |
|
| 104 | + % Total % Received % Xferd Average Speed Time Time Time Current |
|
| 105 | + Dload Upload Total Spent |
|
| 106 | + Left Speed |
|
| 107 | + |
|
| 108 | + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 |
|
| 109 | + 12 1534k 0 0 12 192k 0 153k 0:00:09 0:00:01 0:00:08 154k |
|
| 110 | + 20 1534k 0 0 20 320k 0 137k 0:00:11 0:00:02 0:00:09 137k |
|
| 111 | + 25 1534k 0 0 25 384k 0 119k 0:00:12 0:00:03 0:00:09 119k |
|
| 112 | + 33 1534k 0 0 33 512k 0 113k 0:00:13 0:00:04 0:00:09 113k |
|
| 113 | + 37 1534k 0 0 37 576k 0 110k 0:00:13 0:00:05 0:00:08 110k |
|
| 114 | + 45 1534k 0 0 45 704k 0 105k 0:00:14 0:00:06 0:00:08 96234 |
|
| 115 | + 50 1534k 0 0 50 768k 0 103k 0:00:14 0:00:07 0:00:07 90181 |
|
| 116 | + 54 1534k 0 0 54 832k 0 102k 0:00:15 0:00:08 0:00:07 92902 |
|
| 117 | + 62 1534k 0 0 62 960k 0 100k 0:00:15 0:00:09 0:00:06 91603 |
|
| 118 | + 66 1534k 0 0 66 1024k 0 100k 0:00:15 0:00:10 0:00:05 91548 |
|
| 119 | + 75 1534k 0 0 75 1152k 0 99k 0:00:15 0:00:11 0:00:04 93775 |
|
| 120 | + 79 1534k 0 0 79 1216k 0 98k 0:00:15 0:00:12 0:00:03 94064 |
|
| 121 | + 83 1534k 0 0 83 1280k 0 98k 0:00:15 0:00:13 0:00:02 93852 |
|
| 122 | + 91 1534k 0 0 91 1408k 0 99813 0:00:15 0:00:14 0:00:01 92958 |
|
| 123 | + 95 1534k 0 0 95 1472k 0 99416 0:00:15 0:00:15 --:--:-- 92639 |
|
| 124 | + 100 1534k 0 0 100 1534k 0 92904 0:00:16 0:00:16 --:--:-- 73560 |
|
| 125 | + 100 1534k 0 0 100 1534k 0 87667 0:00:17 0:00:17 --:--:-- 57992 |
|
| 126 | + 100 1535k 100 99 100 1534k 5 84899 0:00:19 0:00:18 0:00:01 47599 |
|
| 127 | + 100 1535k 100 99 100 1534k 5 84899 0:00:19 0:00:18 0:00:01 31982 |
|
| 128 | + |
|
| 129 | + ** UPLOADING TO: http://192.168.72.9/update |
|
| 130 | + |
|
| 131 | + UPLOAD SUCCESS |
|
| 132 | + [32mUpdate complete. Please wait for a few seconds while the device reboots.[0m |
|
| 133 | + |
|
| 134 | + |
|
| 135 | + |
|
| 136 | +## ref |
|
| 137 | + |
|
| 138 | +- [[console-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/radiomaster-dat/radiomaster-pocket-dat.md
| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | + |
|
| 2 | +# radiomaster-pocket-dat.md |
|
| 3 | + |
|
| 4 | +## 1. Radiomaster Pocket (Multi-Protocol Version) |
|
| 5 | +- Uses **CC2500 module**, same chip used in FrSky radios. |
|
| 6 | +- Supports **FrSky D8, D16**, Futaba SFHSS, Hubsan, and many more protocols. |
|
| 7 | +- ✅ You can bind directly to FrSky D8 receivers. |
|
| 8 | + |
|
| 9 | +## 2. Radiomaster Pocket (ELRS Version) |
|
| 10 | +- Uses **ExpressLRS** only. |
|
| 11 | +- ❌ Does NOT support FrSky D8/D16. |
|
| 12 | +- You would need to use an **external CC2500 module** if you want D8. |
|
| 13 | + |
|
| 14 | + |
|
| 15 | +## ref |
|
| 16 | + |
|
| 17 | +- [[radiomaster-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/runCAM-dat/2025-09-16-17-07-02.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/RC-supplier-dat/runCAM-dat/2025-09-16-17-07-02.png differ |
app-dat/RC-apps-dat/RC-supplier-dat/runCAM-dat/runCAM-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# runCAM-dat.md |
|
| 3 | + |
|
| 4 | +- [[runcam-nano4-dat]] |
|
| 5 | + |
|
| 6 | +WiFiLink2高清图传 - openIPC ? |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +- [[runCAM-nano4-dat]] |
|
| 13 | + |
|
| 14 | +- runcam nano 3 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/RC-supplier-dat/runCAM-dat/runCAM-nano4-dat.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | + |
|
| 2 | +# runCAM-nano4-dat.md |
|
| 3 | + |
|
| 4 | +- [[VTX-dat]] |
|
| 5 | + |
|
| 6 | +| Parameter | Specification | |
|
| 7 | +| --------------------- | ------------------------------------------------- | |
|
| 8 | +| Model | RunCam Racer Nano 4 | |
|
| 9 | +| Image Sensor | Super Wide Dynamic CMOS Sensor | |
|
| 10 | +| Horizontal Resolution | 1200 TVL | |
|
| 11 | +| Lens FOV | Diagonal: 160° / Horizontal: 125° / Vertical: 97° | |
|
| 12 | +| Aspect Ratio | 4:3 (switchable to widescreen) | |
|
| 13 | +| Mirror/Flip | Supported | |
|
| 14 | +| Video Format | PAL/NTSC switchable | |
|
| 15 | +| Shutter | Rolling Shutter | |
|
| 16 | +| Wide Dynamic Range | Super Wide Dynamic Range | |
|
| 17 | +| Day/Night Switch | Color | |
|
| 18 | +| Menu Control | Button Board Control | |
|
| 19 | +| Power Supply | DC 5-36V | |
|
| 20 | +| Working Current | 120mA @ 5V / 70mA @ 12V | |
|
| 21 | +| Case Material | ABS | |
|
| 22 | +| Net Weight | 4.5g | |
|
| 23 | +| Dimensions | 14mm × 14mm × | |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +## ref |
|
| 28 | + |
|
| 29 | +- [[runCAM-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/Tank-dat/2025-05-22-00-49-44.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/Tank-dat/2025-05-22-00-49-44.png differ |
app-dat/RC-apps-dat/Tank-dat/2025-05-22-00-50-12.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/Tank-dat/2025-05-22-00-50-12.png differ |
app-dat/RC-apps-dat/Tank-dat/Tank-dat.md
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | + |
|
| 2 | +# Tank-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +- [[dc-gear-motor-dat]] - [[MG513-dat]] |
|
| 6 | + |
|
| 7 | +- [[tank-track-dat]] |
|
| 8 | + |
|
| 9 | +## tank platform 1 |
|
| 10 | + |
|
| 11 | +- Each wheel has an independent suspension spring |
|
| 12 | +- six rogs each side |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## 3D |
|
| 21 | + |
|
| 22 | +- tank track and [[robot-arm-dat]] - [3D model](https://cad.onshape.com/documents/74b490fd20a2a4c684736444/w/df7ed99939a49695aecaa97f/e/90154fe41bafe724913e360f?renderMode=0&uiState=68301af9be87bf505c7ca7d0) |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +## ref |
|
| 27 | + |
|
| 28 | +- [[RC]] - [[tank]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/Tank-dat/markus-tank-dat/markus-tank-dat.md
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | + |
|
| 2 | +# markus-rover-dat |
|
| 3 | + |
|
| 4 | +- [FPV-Rover V2.0 (RC Tank)](https://www.thingiverse.com/thing:2952852) |
|
| 5 | +- [youtube](https://www.youtube.com/watch?v=dpUSdjNppN0) |
|
| 6 | +- https://www.instructables.com/FPV-Rover-V20/ |
|
| 7 | + |
|
| 8 | +## printed parts |
|
| 9 | + |
|
| 10 | +- 2x main cog front |
|
| 11 | +- 2x main cog rear (needs support) |
|
| 12 | +- 16x small cog |
|
| 13 | +- 1x body (needs support) |
|
| 14 | +- 2x outer frame |
|
| 15 | +- 2x big bevel gear (use 4:1 for less heat and more torque) |
|
| 16 | +- 2x small bevel gear (I recommend strong filament like Nylon) (use 4:1 for less heat and more torque) |
|
| 17 | +- 2x motor mounting bracket |
|
| 18 | +- 2x ESC mount |
|
| 19 | +- 1x inner frame left (or inner frame left high) |
|
| 20 | +- 1x inner frame right (or inner frame right high) |
|
| 21 | +- 1x front cover (needs support) |
|
| 22 | +- 1x rear cover |
|
| 23 | +- 64x tank track |
|
| 24 | +- 64x rubber track for tank track |
|
| 25 | + |
|
| 26 | +## ordered parts |
|
| 27 | + |
|
| 28 | + |
|
| 29 | + |
|
| 30 | +## knowledge |
|
| 31 | + |
|
| 32 | +- [[3d-printer-dat]] |
|
| 33 | + |
|
| 34 | +- [[dc-motor-dat]] - [[tank-track-dat]] - [[ESC-dat]] |
|
| 35 | + |
|
| 36 | +- cog == gear |
app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-09-36.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-09-36.png differ |
app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-10-22.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-10-22.png differ |
app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-11-57.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/Tank-dat/tank-track-dat/2025-05-22-14-11-57.png differ |
app-dat/RC-apps-dat/Tank-dat/tank-track-dat/tank-track-dat.md
| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | + |
|
| 2 | +# tank-track-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## ✅ When Tank Tracks Are Better |
|
| 6 | +- **Soft Terrain** (sand, mud, snow): |
|
| 7 | + - Tracks distribute weight over a larger surface, preventing sinking. |
|
| 8 | +- **Uneven Terrain** (rocks, slopes, obstacles): |
|
| 9 | + - Tracks provide better grip and stability. |
|
| 10 | +- **Heavy Loads**: |
|
| 11 | + - Tracks can support and move heavier equipment with more traction. |
|
| 12 | + |
|
| 13 | +## ✅ When Wheels Are Better |
|
| 14 | +- **Hard, Flat Terrain** (pavement, concrete): |
|
| 15 | + - Wheels are faster and more energy-efficient. |
|
| 16 | +- **Speed & Efficiency**: |
|
| 17 | + - Wheeled systems are usually lighter and less power-hungry. |
|
| 18 | +- **Maintenance & Cost**: |
|
| 19 | + - Wheels are simpler, cheaper, and easier to repair. |
|
| 20 | + |
|
| 21 | + |
|
| 22 | +## 🔍 Summary Table |
|
| 23 | + |
|
| 24 | +| Feature | Tank Tracks | Wheels | |
|
| 25 | +|------------------|----------------------------------|----------------------------------| |
|
| 26 | +| Traction | Excellent on rough terrain | Good on hard surfaces | |
|
| 27 | +| Speed | Slower | Faster | |
|
| 28 | +| Efficiency | Lower (more friction) | Higher | |
|
| 29 | +| Terrain Handling | Superior on soft/uneven ground | Best on smooth/hard ground | |
|
| 30 | +| Weight Support | High | Moderate | |
|
| 31 | +| Maintenance | More complex and expensive | Easier and cheaper | |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## BOMS |
|
| 35 | + |
|
| 36 | +Cogs |
|
| 37 | + |
|
| 38 | + |
|
| 39 | + |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +Chains |
|
| 43 | + |
|
| 44 | + |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +## guide |
|
| 48 | + |
|
| 49 | +- [tank #track disassemble and re-assemble](https://t.me/electrodragon3/371) |
|
| 50 | + |
|
| 51 | + |
|
| 52 | +## ref |
|
| 53 | + |
|
| 54 | +- [[robot-dat]] - [[tank-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/UAV-dat/UAV-dat.md
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | + |
|
| 2 | +# UAV-dat |
|
| 3 | + |
|
| 4 | +A UAV stands for Unmanned Aerial Vehicle. It's an aircraft without a human pilot on board, controlled remotely or autonomously. They are also commonly known as drones. |
|
| 5 | + |
|
| 6 | +- [[betaflight-dat]] - [[ArduPilot-dat]] |
|
| 7 | + |
|
| 8 | +- [[FPV-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## fixed-wing UAV |
|
| 13 | + |
|
| 14 | +### Talon 1400 Overview |
|
| 15 | + |
|
| 16 | +#### What is the Talon 1400? |
|
| 17 | +The **Talon 1400** is a high-performance, **3D-printed unmanned aerial vehicle (UAV)** developed by Flightory. It is optimized for long-range and efficient flight. |
|
| 18 | + |
|
| 19 | +##### Specifications: |
|
| 20 | +- **Wingspan:** 1,305 mm |
|
| 21 | +- **Length:** 830 mm |
|
| 22 | +- **Flight Time:** Up to 4 hours (with large Li-Ion 4S6P battery) |
|
| 23 | +- **Materials:** LW-PLA and PETG |
|
| 24 | +- **Airfoil:** Eppler E205 |
|
| 25 | +- **Optimal Cruise Speed:** 55-65 km/h |
|
| 26 | + |
|
| 27 | +#### Is It Betaflight-Based? |
|
| 28 | + |
|
| 29 | +**No**, the Talon 1400 is **not** based on Betaflight. Since it is a **fixed-wing UAV**, it is more suited for **autonomous flight controllers** rather than Betaflight, which is designed for FPV racing drones. |
|
| 30 | + |
|
| 31 | +##### Recommended Flight Controllers: |
|
| 32 | + |
|
| 33 | +- **Mateksys F405-Wing / F765-Wing** |
|
| 34 | +- **Pixhawk (PX4 or ArduPilot firmware)** |
|
| 35 | +- **Holybro Kakute F7 / H743-Wing** |
|
| 36 | + |
|
| 37 | +These controllers support **GPS navigation, waypoint missions, and return-to-home (RTH)**, making them better suited for long-range operations. |
|
| 38 | + |
|
| 39 | +#### Resources: |
|
| 40 | + |
|
| 41 | +- [Flying a 3D Printed Fixed Wing Drone | Talon 1400 V2](https://www.youtube.com/watch?v=2ngGgtw1sUw) |
|
| 42 | + |
|
| 43 | +- [Flightory Talon 1400 Official Page](https://flightory.com/product/talon-1400/) |
|
| 44 | +- [Talon 1400 Assembly Tutorial (YouTube)](https://www.youtube.com/watch?v=LGt_8F4e5r8) |
|
| 45 | + |
|
| 46 | + |
app-dat/RC-apps-dat/airplane-dat/airplane-dat.md
| ... | ... | @@ -0,0 +1,38 @@ |
| 1 | + |
|
| 2 | +# airplane-dat |
|
| 3 | + |
|
| 4 | +## Channel 1: Aileron Action |
|
| 5 | + |
|
| 6 | +Control theright-and-left lean of the aircraft.To level the slantwise aircraft,youmust make |
|
| 7 | +thecontrol rod act inreverse direction.Otherwise,it will makethe aircraftoverturn. |
|
| 8 | + |
|
| 9 | +## Channel 2: Elevator Action |
|
| 10 | + |
|
| 11 | +Control the aerocraft to descend orascend.Pulling the control rod down will driveup the head, |
|
| 12 | +and the aeroplane will ascend.Boosting it upwill make thehead downhill,and the aeroplane |
|
| 13 | +willdescend. |
|
| 14 | + |
|
| 15 | +## Channel 3: Throttle Operation |
|
| 16 | + |
|
| 17 | +Control the power. Pulling the control rod down will minish down the power group, and boosting |
|
| 18 | +the control rod up will increase thepower group. |
|
| 19 | + |
|
| 20 | +## Channel 4: Rudder Action |
|
| 21 | + |
|
| 22 | +Control the swerve of the aerocraft. Turning the control rod to left will make the head of the |
|
| 23 | +aircraft turn left, and turning it to right will make the head turn right. |
|
| 24 | + |
|
| 25 | +## Channel 5: LandingGear/GyroAction |
|
| 26 | + |
|
| 27 | +This channel is for switch variable. It is a switch to control landing gear when used for airplane |
|
| 28 | +state, but it will be a switch for gyroscope when used for helicopter. |
|
| 29 | + |
|
| 30 | +## Channel 6: Screw-pitch/Flaperon Action |
|
| 31 | + |
|
| 32 | +The angle adjustingof the flaperon isfor the airplane state,and the adjustingof themain |
|
| 33 | +screw-pitch is forhelicopter state. |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +## ref |
|
| 37 | + |
|
| 38 | +- [[RC-dat]] - [[airplane]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/quadcopter-dat/2025-01-29-17-12-32.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/quadcopter-dat/2025-01-29-17-12-32.png differ |
app-dat/RC-apps-dat/quadcopter-dat/quadcopter-dat.md
| ... | ... | @@ -0,0 +1,67 @@ |
| 1 | + |
|
| 2 | +# quadcopter-dat |
|
| 3 | + |
|
| 4 | +- [[Coreless-Motor-dat]] - [[motor-dat]] |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## opensource |
|
| 8 | + |
|
| 9 | +### cleanfight |
|
| 10 | + |
|
| 11 | +https://github.com/cleanflight/cleanflight |
|
| 12 | + |
|
| 13 | +https://github.com/cleanflight/cleanflight/tree/master/docs |
|
| 14 | + |
|
| 15 | +https://cleanflight.com/ |
|
| 16 | + |
|
| 17 | + |
|
| 18 | +### Openpilot |
|
| 19 | + |
|
| 20 | +## Commerial |
|
| 21 | + |
|
| 22 | +### CJMCU |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | +- https://www.rcgroups.com/forums/showthread.php?2456739-Openpilot-port-to-CJMCU-stm32-quadcopter |
|
| 27 | + |
|
| 28 | +- https://oscarliang.com/build-fpv-micro-quadcopter-smallest-quad/ |
|
| 29 | + |
|
| 30 | +#### new version from https://aeracoop.net/cjmcu2-open-source-brushed-quadcopter/ |
|
| 31 | + |
|
| 32 | +https://github.com/Edragon/cjmcu2 |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | +## BOM |
|
| 37 | + |
|
| 38 | +### receiver |
|
| 39 | + |
|
| 40 | +- [DT 2.4GHz Receivers](https://www.deltang.co.uk/) |
|
| 41 | + |
|
| 42 | + |
|
| 43 | + |
|
| 44 | +### props |
|
| 45 | + |
|
| 46 | + |
|
| 47 | +### motors |
|
| 48 | + |
|
| 49 | + |
|
| 50 | +### motor drive |
|
| 51 | + |
|
| 52 | +- [[mosfet-dat]] |
|
| 53 | + |
|
| 54 | +## forum |
|
| 55 | + |
|
| 56 | +- http://www.multiwii.com/forum |
|
| 57 | +- https://www.rcgroups.com/forums |
|
| 58 | + |
|
| 59 | + |
|
| 60 | + |
|
| 61 | +## hexquadcopter |
|
| 62 | + |
|
| 63 | +- http://www.multiwii.com/forum/viewtopic.php?f=12&t=4893&p=53317#p53317 |
|
| 64 | + |
|
| 65 | +## ref |
|
| 66 | + |
|
| 67 | +- [[quadcopter]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/rover-dat/2025-05-23-15-11-02.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/2025-05-23-15-11-02.png differ |
app-dat/RC-apps-dat/rover-dat/2025-06-15-12-56-47.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/2025-06-15-12-56-47.png differ |
app-dat/RC-apps-dat/rover-dat/2025-06-15-13-03-31.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/2025-06-15-13-03-31.png differ |
app-dat/RC-apps-dat/rover-dat/2025-06-15-14-10-56.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/2025-06-15-14-10-56.png differ |
app-dat/RC-apps-dat/rover-dat/2025-06-15-14-22-34.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/2025-06-15-14-22-34.png differ |
app-dat/RC-apps-dat/rover-dat/app-remote-rover-dat/app-remote-rover-dat.md
| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | + |
|
| 2 | +# app-remote-rover-dat |
|
| 3 | + |
|
| 4 | +## features |
|
| 5 | + |
|
| 6 | +- automatically cutoff power when rover is not in use |
|
| 7 | +- automatically power on rover when remote is in use |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-00-18.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-00-18.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-00-49.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-00-49.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-01-11.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-01-11.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-02-19.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-25-15-02-19.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-28-18-44-53.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/2025-03-28-18-44-53.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/RC-car-dat.md
| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | + |
|
| 2 | +# RC-car-dat |
|
| 3 | + |
|
| 4 | +- [[video-RC-car-dat]] |
|
| 5 | + |
|
| 6 | +basic [[tech-dat]] - [[robot-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## Tracked robot platform |
|
| 11 | + |
|
| 12 | + |
|
| 13 | + |
|
| 14 | + |
|
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | +## tricycle / four-wheels platform |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | +tricycle |
|
| 26 | + |
|
| 27 | +Four-wheel two-drive car |
|
| 28 | + |
|
| 29 | +Four-wheel drive car |
|
| 30 | + |
|
| 31 | +Omnidirectional four-wheel two-wheel drive car |
|
| 32 | + |
|
| 33 | + |
|
| 34 | +## other |
|
| 35 | + |
|
| 36 | +### robot tank with camera |
|
| 37 | + |
|
| 38 | +- https://github.com/YahboomTechnology/Raspberry-pi-G1-Tank |
|
| 39 | + |
|
| 40 | + |
|
| 41 | +## read |
|
| 42 | + |
|
| 43 | +- [Tear down and Learn a good-build $20 RC Toy Car](https://www.electrodragon.com/disassemble-and-learn-a-good-build-20-rc-toy-car/) |
|
| 44 | + |
|
| 45 | +## ref |
|
| 46 | + |
|
| 47 | +- [[motor-dat]] |
|
| 48 | + |
|
| 49 | +- [[RC-car]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/rc-car-hack-dat/2025-05-12-18-37-13.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/rc-car-hack-dat/2025-05-12-18-37-13.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/rc-car-hack-dat/rc-car-hack-dat.md
| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | + |
|
| 2 | +# rc-car-hack-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +## 1. battery Enlargement |
|
| 6 | + |
|
| 7 | +- [[li-battery-dat]] - [[battery-pack-dat]] |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +## 2. RC Signal Extension |
|
| 11 | + |
|
| 12 | +- improve up to 10KM by [[FPV-dat]] system [[ELRS-dat]], or [[PPM-dat]] == [[Wfly-dat]] |
|
| 13 | + |
|
| 14 | +- [[antenna-dat]] |
|
| 15 | + |
|
| 16 | +- control system - try to hack by [[arduino-dat]] |
|
| 17 | + |
|
| 18 | +## 3. Imaging System |
|
| 19 | + |
|
| 20 | +- [[video-transmission-dat]] == pickup option == [[LTE-dat]] |
|
| 21 | + |
|
| 22 | + |
|
| 23 | +## 4. GNSS location system |
|
| 24 | + |
|
| 25 | +- [[location-dat]] |
|
| 26 | + |
|
| 27 | + |
|
| 28 | +## other fancy functions |
|
| 29 | + |
|
| 30 | +- [[WS2812-dat]] |
|
| 31 | + |
|
| 32 | + |
|
| 33 | + |
|
| 34 | + |
|
| 35 | +## Accessories |
|
| 36 | + |
|
| 37 | +- [[Velcro-dat]] |
|
| 38 | + |
|
| 39 | + |
|
| 40 | +## Get Inpsired |
|
| 41 | + |
|
| 42 | +The battery can be put in your top luggage rack |
|
| 43 | + |
|
| 44 | + |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-43-46.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-43-46.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-15.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-15.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-28.png
| ... | ... | Binary files /dev/null and b/app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-28.png differ |
app-dat/RC-apps-dat/rover-dat/rc-car-dat/video-rc-car-dat/video-RC-car-dat.md
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | + |
|
| 2 | +# video-RC-car-dat |
|
| 3 | + |
|
| 4 | + |
|
| 5 | +[[tech-dat]] - [[Camera-dat]] - [[rc-car-dat]] - [[video-transmission-dat]] - [[robot-dat]] |
|
| 6 | + |
|
| 7 | +- [[rc-car-hack-dat]] |
|
| 8 | + |
|
| 9 | +## Demos |
|
| 10 | + |
|
| 11 | +### based on cable [[fiber-optic-dat]] |
|
| 12 | + |
|
| 13 | +#### demos 1 |
|
| 14 | + |
|
| 15 | +up to 100 meters |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
|
| 21 | + |
|
| 22 | + |
|
| 23 | + |
|
| 24 | +#### demo video 2 |
|
| 25 | + |
|
| 26 | +- https://t.me/electrodragon3/334 |
|
| 27 | + |
|
| 28 | +### Wireless |
|
| 29 | + |
|
| 30 | +- [[video-transmission-dat]] |
|
| 31 | + |
|
| 32 | +## ref |
|
| 33 | + |
|
| 34 | +- [[video-RC-car]] - [[RC-car]] - [[video-transmission]] |
|
| 35 | + |
|
| 36 | +- [[camera]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-apps-dat/rover-dat/rover-dat.md
| ... | ... | @@ -0,0 +1,88 @@ |
| 1 | + |
|
| 2 | +# rover-dat |
|
| 3 | + |
|
| 4 | +- [[ardupilot-dat]] - [[rc-dat]] |
|
| 5 | + |
|
| 6 | +https://ardupilot.org/rover/index.html |
|
| 7 | + |
|
| 8 | +- [[RC-car-dat]] - [[rover-dat]] - [[RC-car-hack-dat]] |
|
| 9 | + |
|
| 10 | +- [[rc-signal-dat]] |
|
| 11 | + |
|
| 12 | +- ARKV6X Flight Controller Overview |
|
| 13 | +- ARK FPV Flight Controller Overview == STM32H743IIK6 MCU |
|
| 14 | +- CUAV V5 Plus Overview == STM32F765 |
|
| 15 | + |
|
| 16 | +- [[motor-rover-dat]] |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | +## boards |
|
| 21 | + |
|
| 22 | +- [[SDR1064-dat]] |
|
| 23 | + |
|
| 24 | +## Rover Version |
|
| 25 | + |
|
| 26 | +Very basic version |
|
| 27 | + |
|
| 28 | +including functions == [[ultrasonic-sensor-dat]], [[interactive-dat]] - [[infrared-dat]] - [[line-finder-dat]] - [[MCU-dat]] - [[chassis-dat]] - [[cad-dat]] - [[wheels-dat]] - [[PCB-accesories-dat]] |
|
| 29 | + |
|
| 30 | + |
|
| 31 | + |
|
| 32 | +plastic chassis 4WD |
|
| 33 | + |
|
| 34 | + |
|
| 35 | + |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + |
|
| 39 | +basic demo code 1 here == [[RC-code-dat]] |
|
| 40 | + |
|
| 41 | + |
|
| 42 | + |
|
| 43 | +## code |
|
| 44 | + |
|
| 45 | +- [[RC-code-dat]] |
|
| 46 | +## 3D printed |
|
| 47 | + |
|
| 48 | +- [[markus-rover-dat]] |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +### 3D files |
|
| 52 | + |
|
| 53 | + |
|
| 54 | + |
|
| 55 | +[differential drive robot](https://cad.onshape.com/documents/78baf3d450629341539223b8/w/67b1d15167c8efd1d8242192/e/0e64a58d61cf14a49375d9c6?renderMode=0&uiState=68301fdbbe87bf505c7cb858) |
|
| 56 | + |
|
| 57 | +[TT Motor 4WD Car Mecanum wheel](https://cad.onshape.com/documents/ffe6ad9ac868a2e0b125a547/w/06961ea3665cb10f47c1f6fe/e/c6b6790270216188fea6ddec?renderMode=0&uiState=6830205c37d051363fada807) |
|
| 58 | + |
|
| 59 | +[Another TT Motor 4WD Car Mecanum wheel](https://cad.onshape.com/documents/3fc9a68709b7b211c126b7b0/w/fd59e3cfbe0cf012d3264ef8/e/f35859a1e063a8642be26811?renderMode=0&uiState=68302088624d574aaab00cc0) |
|
| 60 | + |
|
| 61 | + |
|
| 62 | +## board |
|
| 63 | + |
|
| 64 | +- [[SDR1064-dat]] |
|
| 65 | + |
|
| 66 | +chip based [[PCA9685-dat]], [[L293-dat]], [[L298-dat]], [[TB6612-dat]] see more at [[motor-driver-dat]] |
|
| 67 | + |
|
| 68 | +Parts - [[TT-motor-dat]] - [[mecanum-wheel-dat]] |
|
| 69 | + |
|
| 70 | + |
|
| 71 | +## Rover Price and BOM cost 4WD |
|
| 72 | + |
|
| 73 | +- 4x 125mm [[wheel-dat]] plus [[shaft-connector-dat]] = 4x $3 == $12 |
|
| 74 | +- 4x 100KG [[reduction-gear-motor-dat]] == 4x $11 = $44 |
|
| 75 | +- [[sheet-dat]] built frame == $5 |
|
| 76 | +- 4x [[motor-driver-dat]] plus [[MCU-dat]] == 4x $2 + 1x $2 == $10 |
|
| 77 | +- 1x [[battery-dat]] == $5 |
|
| 78 | +- 1x [[battery-charger-dat]] == $1 |
|
| 79 | + |
|
| 80 | +subtotal == $77 |
|
| 81 | + |
|
| 82 | +## ref |
|
| 83 | + |
|
| 84 | +- [[dc-motor-dat]] - [[motor-driver-dat]] - [[motor-dat]] - [[servo-dat]] |
|
| 85 | + |
|
| 86 | +- [[motor-rover-dat]] |
|
| 87 | + |
|
| 88 | +- [[rc-car]] - [[maker]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/ArduPilot-dat/2025-05-04-16-11-57.png
| ... | ... | Binary files a/app-dat/RC-dat/ArduPilot-dat/2025-05-04-16-11-57.png and /dev/null differ |
app-dat/RC-dat/ArduPilot-dat/ArduPilot-dat.md
| ... | ... | @@ -1,93 +0,0 @@ |
| 1 | - |
|
| 2 | -# ArduPilot-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## Radio Control Systems |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -- [Radio Control Systems](https://ardupilot.org/rover/docs/common-rc-systems.html) |
|
| 9 | - |
|
| 10 | -Compatible RC Protocols |
|
| 11 | - |
|
| 12 | -ArduPilot autopilots are compatible with the following receiver output protocols: |
|
| 13 | - |
|
| 14 | -PPM-Sum receivers - [[PPM-dat]] |
|
| 15 | - |
|
| 16 | -SBus receivers - [[SBUS-dat]] |
|
| 17 | - |
|
| 18 | -Fast SBus (from DJI HDL video/RC systems) |
|
| 19 | - |
|
| 20 | -i-BUS receivers - [[IBUS-dat]] |
|
| 21 | - |
|
| 22 | -FPort Receivers |
|
| 23 | - |
|
| 24 | -Spektrum SRXL2,DSM, DSM2, and DSM-X Satellite receivers |
|
| 25 | - |
|
| 26 | -Multiplex SRXL version 1 and version 2 receivers |
|
| 27 | - |
|
| 28 | -CRSF receivers (including ExpressLRS systems) - [[ELRS-dat]] - [[CRSF-dat]] |
|
| 29 | - |
|
| 30 | -mLRS (with telemetry) (MAVLink) |
|
| 31 | - |
|
| 32 | -Graupner SUM-D |
|
| 33 | - |
|
| 34 | -IRC Ghost |
|
| 35 | - |
|
| 36 | -DroneCAN peripherals can decode these RC protocols on a peripheral and pass to the autopilot |
|
| 37 | - |
|
| 38 | -MAVLink connected RC (not to be confused with MAVLink RC Overrides used for CS joystick control of RC functions) |
|
| 39 | - |
|
| 40 | -Parallel PWM outputs encoded to PPM-Sum using an external encoder (see below, not supported on many autopilots now) |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -## specs |
|
| 45 | - |
|
| 46 | -| Original Manu | Range | Telemetry | Telem Speed | TX Display | RC Protocol | Notes | |
|
| 47 | -| --------------- | ------ | --------------- | ----------- | ----------- | -------------------- | ----- | |
|
| 48 | -| Flysky | Short | Yes | | yes | i-BUS/SBUS | 7 | |
|
| 49 | -| FrSky X series | Short | Bi-dir | Medium | yes | PPM-SUM/SBUS/ FPort | 2 | |
|
| 50 | -| Futaba | Short | No | | | SBus | | |
|
| 51 | -| Graupner | Short | Yes | Medium | yes | SUM-D | | |
|
| 52 | -| Multiplex | Short | No | | | SRXL | | |
|
| 53 | -| Spektrum | Short | Vendor Specific | | yes | DSM/DSM2 DSM-X/ SRXL | | |
|
| 54 | -| FrSky R9 series | Medium | Bi-dir | Medium | yes | PPM-SUM/SBUS/ FPort | 2 | |
|
| 55 | -| IRC Ghost | Medium | Vendor Specific | | yes | IRC Ghost | | |
|
| 56 | -| [[CRSF-dat]] | Long | Bi-dir | Variable | yes | SBUS/CRSF | 3 | |
|
| 57 | -| DragonLink | Long | Bi-dir | 56K | via MTP/LUA | PPM_SUM/SBUS | 1 | |
|
| 58 | -| [[ELRS-dat]] | Long | Bi-Dir | Variable | optional | SBUS/CRSF Mavlink | 4 | |
|
| 59 | -| HereLink | Long | Bi-dir | 56K | integrated | SBUS | 8 | |
|
| 60 | -| mLRS | Long | Bi-dir | 12K - 91K | via LUA | SBUS/CRSF | 5 | |
|
| 61 | -| SIYI | Long | Bi-dir | 56K | integrated | SBUS | 8 | |
|
| 62 | - |
|
| 63 | -- [[network-dat]] |
|
| 64 | - |
|
| 65 | -RC protocols - [[SBUS-dat]] - [[CRSF-dat]] - [[PPM-SUM-dat]] - [[Fport-dat]] - [[SUM-D-dat]] - [[IBUS-dat]] - [[DSM-dat]] |
|
| 66 | - |
|
| 67 | - |
|
| 68 | - |
|
| 69 | -Note 1: DragonLink provides a 56Kbaud transparent link for telemetry, allowing full MAVLink telemetry to/from the vehicle from the transmitter module. Dragonlink is an add-on module to the transmitter, such as an FRSky Taranis or RadioMaster T16. See DragonLink RC Systems. MTP (Mavlink to Passthru) converters are available to allow direct display of MAVLink Telemetry data on OpenTX transmitters using Yaapu Telemetry LUA Script. |
|
| 70 | - |
|
| 71 | -Note 2: See Yaapu FrSky Telemetry Script for OpenTX. The ability to change parameters over FRSky telemetry from an Open TX compatible transmitter in addition to displaying the telemetry data is possible. Most FRSky compatible transmitters use OpenTX. Note that R9 systems are not quite Long Range, but much further range than normal FRSky systems, themselves at the very high end of the Short Range category at 1.6-2km range. |
|
| 72 | - |
|
| 73 | -Note 3: ArduPilot provides a means to send its telemetry data via CRSF such that it can be displayed on OpenTX transmitters using the Yaapu Telemetry LUA Script. The ability to change parameters over CRSF telemetry from an Open TX compatible transmitter in addition to displaying the telemetry data is also possible. See TBS Crossfire Telemetry |
|
| 74 | - |
|
| 75 | -Note 4: ELRS (ExpressLRS) is a flexible open-source system that can output CRSF, SBUS, or MAVLink (with embedded RC) protocols. Telemetry requires the use of CRSF or Mavlink, and the receiver must be wired to a full UART. See ExpressLRS site <https://www.expresslrs.org/> and TBS CRSF/ ELRS for more information. |
|
| 76 | - |
|
| 77 | -Note 5: The mLRS project is firmware designed specifically to carry both RC and MAVLink. The usable telemetry speed varies by the chosen mode and is managed via RADIO_STATUS flow control. It uses the CRSF (TBS Crossfire) RC protocol on both the receiver and Tx module. It also integrates full MAVLink telemetry via serial connections on the Tx module and the receiver. |
|
| 78 | - |
|
| 79 | -Note 6: Vendor Specific Telem means that they accomodate sensor additions to the vehicle and can display the information on certain Vendor specific TXs but do not send ArduPilot telemetry from the vehicle to ArduPilot compatible GCS or OpenTX display scripts. |
|
| 80 | - |
|
| 81 | -Note 7: The receiver must support i-BUS telemetry (look for a SENS port on the receiver or check the product specifications). |
|
| 82 | - |
|
| 83 | -Note 8: These systems have integrated HD video transmission from Ethernet or HDMI camera systems in addition to RC control and vehicle telemetry. |
|
| 84 | - |
|
| 85 | - |
|
| 86 | -## protocol converter |
|
| 87 | - |
|
| 88 | - |
|
| 89 | - |
|
| 90 | - |
|
| 91 | -## ref |
|
| 92 | - |
|
| 93 | -- [[ardupilot-dat]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/2025-04-02-12-45-53.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/2025-04-02-12-45-53.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/2025-04-02-13-14-05.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/2025-04-02-13-14-05.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-16-45.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-16-45.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-18-59.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-18-59.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-19-59.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/FPV-accesories-dat/2025-09-12-13-19-59.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/FPV-accesories-dat/FPV-accesories-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-accesories-dat |
|
| 3 | - |
|
| 4 | -- [[RC-gimbal-dat]] |
|
| 5 | - |
|
| 6 | -- [[3d-dat]] |
|
| 7 | - |
|
| 8 | -## mobula 8 |
|
| 9 | - |
|
| 10 | -- [[mobula8-dat]] - [[3d-print-dat]] |
|
| 11 | - |
|
| 12 | -- landing Gears |
|
| 13 | -https://www.printables.com/model/915475-mobula-8-landing-gears |
|
| 14 | - |
|
| 15 | -- landing legs |
|
| 16 | -https://makerworld.com/en/models/701610-mobula-8-landing-legs#profileId-631151 |
|
| 17 | -1.1*1.4*1.4cm |
|
| 18 | - |
|
| 19 | -## canopy and camera mount |
|
| 20 | - |
|
| 21 | -- hard case |
|
| 22 | -https://www.printables.com/model/517225-mobula-8-hard-case |
|
| 23 | - |
|
| 24 | -- thumb holder / Thumb - Camera Mount |
|
| 25 | - |
|
| 26 | -https://cults3d.com/en/3d-model/gadget/mobula8-thumb-mount = 0.55U |
|
| 27 | - |
|
| 28 | -https://www.printables.com/model/774692-mobula-7-8-hawkeye-thumb-camera-mount |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -for insta360 go 2 |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | -- [[camera-FPV-dat]] |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## lollipop antenna mount |
|
| 43 | - |
|
| 44 | -- [[antenna-lolipop-dat]] |
|
| 45 | - |
|
| 46 | -https://makerworld.com/en/models/689978-mobula8-reinforced-canopy-with-lollipop-mount#profileId-618749 |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -## ref |
|
| 51 | - |
|
| 52 | -- [[FPV-dat]] - [[FPV]] |
|
| 53 | - |
|
| 54 | -- [[antenna-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/FPV-dat.excalidraw
| ... | ... | @@ -1,1054 +0,0 @@ |
| 1 | -{ |
|
| 2 | - "type": "excalidraw", |
|
| 3 | - "version": 2, |
|
| 4 | - "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", |
|
| 5 | - "elements": [ |
|
| 6 | - { |
|
| 7 | - "id": "_pL6dpKK027sscxF4R0Ow", |
|
| 8 | - "type": "rectangle", |
|
| 9 | - "x": 567, |
|
| 10 | - "y": 194, |
|
| 11 | - "width": 574, |
|
| 12 | - "height": 246, |
|
| 13 | - "angle": 0, |
|
| 14 | - "strokeColor": "#1e1e1e", |
|
| 15 | - "backgroundColor": "#a5d8ff", |
|
| 16 | - "fillStyle": "hachure", |
|
| 17 | - "strokeWidth": 2, |
|
| 18 | - "strokeStyle": "solid", |
|
| 19 | - "roughness": 1, |
|
| 20 | - "opacity": 100, |
|
| 21 | - "groupIds": [], |
|
| 22 | - "frameId": null, |
|
| 23 | - "index": "Zz", |
|
| 24 | - "roundness": { |
|
| 25 | - "type": 3 |
|
| 26 | - }, |
|
| 27 | - "seed": 290319832, |
|
| 28 | - "version": 190, |
|
| 29 | - "versionNonce": 1203415457, |
|
| 30 | - "isDeleted": false, |
|
| 31 | - "boundElements": [ |
|
| 32 | - { |
|
| 33 | - "type": "text", |
|
| 34 | - "id": "7uvKNiSFKfjeoWs50eo-W" |
|
| 35 | - } |
|
| 36 | - ], |
|
| 37 | - "updated": 1748426654666, |
|
| 38 | - "link": null, |
|
| 39 | - "locked": false |
|
| 40 | - }, |
|
| 41 | - { |
|
| 42 | - "id": "7uvKNiSFKfjeoWs50eo-W", |
|
| 43 | - "type": "text", |
|
| 44 | - "x": 572, |
|
| 45 | - "y": 199, |
|
| 46 | - "width": 46.43998718261719, |
|
| 47 | - "height": 50, |
|
| 48 | - "angle": 0, |
|
| 49 | - "strokeColor": "#1e1e1e", |
|
| 50 | - "backgroundColor": "#a5d8ff", |
|
| 51 | - "fillStyle": "hachure", |
|
| 52 | - "strokeWidth": 2, |
|
| 53 | - "strokeStyle": "solid", |
|
| 54 | - "roughness": 1, |
|
| 55 | - "opacity": 100, |
|
| 56 | - "groupIds": [], |
|
| 57 | - "frameId": null, |
|
| 58 | - "index": "Zz8", |
|
| 59 | - "roundness": null, |
|
| 60 | - "seed": 2009457576, |
|
| 61 | - "version": 64, |
|
| 62 | - "versionNonce": 81186177, |
|
| 63 | - "isDeleted": false, |
|
| 64 | - "boundElements": [], |
|
| 65 | - "updated": 1748426654666, |
|
| 66 | - "link": null, |
|
| 67 | - "locked": false, |
|
| 68 | - "text": " \n 720", |
|
| 69 | - "fontSize": 20, |
|
| 70 | - "fontFamily": 5, |
|
| 71 | - "textAlign": "left", |
|
| 72 | - "verticalAlign": "top", |
|
| 73 | - "containerId": "_pL6dpKK027sscxF4R0Ow", |
|
| 74 | - "originalText": " \n 720", |
|
| 75 | - "autoResize": true, |
|
| 76 | - "lineHeight": 1.25 |
|
| 77 | - }, |
|
| 78 | - { |
|
| 79 | - "id": "kVK3CpWh-IBYWSSv8RfmC", |
|
| 80 | - "type": "rectangle", |
|
| 81 | - "x": 720, |
|
| 82 | - "y": 569, |
|
| 83 | - "width": 96, |
|
| 84 | - "height": 49, |
|
| 85 | - "angle": 0, |
|
| 86 | - "strokeColor": "#1e1e1e", |
|
| 87 | - "backgroundColor": "#ffec99", |
|
| 88 | - "fillStyle": "solid", |
|
| 89 | - "strokeWidth": 2, |
|
| 90 | - "strokeStyle": "solid", |
|
| 91 | - "roughness": 1, |
|
| 92 | - "opacity": 100, |
|
| 93 | - "groupIds": [], |
|
| 94 | - "frameId": null, |
|
| 95 | - "index": "a0", |
|
| 96 | - "roundness": { |
|
| 97 | - "type": 3 |
|
| 98 | - }, |
|
| 99 | - "seed": 1501295272, |
|
| 100 | - "version": 71, |
|
| 101 | - "versionNonce": 1389371864, |
|
| 102 | - "isDeleted": false, |
|
| 103 | - "boundElements": [ |
|
| 104 | - { |
|
| 105 | - "id": "7tQtgsgMUXcvCJP0w9-QM", |
|
| 106 | - "type": "text" |
|
| 107 | - } |
|
| 108 | - ], |
|
| 109 | - "updated": 1748422816163, |
|
| 110 | - "link": null, |
|
| 111 | - "locked": false |
|
| 112 | - }, |
|
| 113 | - { |
|
| 114 | - "id": "7tQtgsgMUXcvCJP0w9-QM", |
|
| 115 | - "type": "text", |
|
| 116 | - "x": 748.4900131225586, |
|
| 117 | - "y": 581, |
|
| 118 | - "width": 39.01997375488281, |
|
| 119 | - "height": 25, |
|
| 120 | - "angle": 0, |
|
| 121 | - "strokeColor": "#1e1e1e", |
|
| 122 | - "backgroundColor": "transparent", |
|
| 123 | - "fillStyle": "solid", |
|
| 124 | - "strokeWidth": 2, |
|
| 125 | - "strokeStyle": "solid", |
|
| 126 | - "roughness": 1, |
|
| 127 | - "opacity": 100, |
|
| 128 | - "groupIds": [], |
|
| 129 | - "frameId": null, |
|
| 130 | - "index": "a1", |
|
| 131 | - "roundness": null, |
|
| 132 | - "seed": 230120872, |
|
| 133 | - "version": 56, |
|
| 134 | - "versionNonce": 1428039384, |
|
| 135 | - "isDeleted": false, |
|
| 136 | - "boundElements": [], |
|
| 137 | - "updated": 1748422816163, |
|
| 138 | - "link": null, |
|
| 139 | - "locked": false, |
|
| 140 | - "text": "FPV", |
|
| 141 | - "fontSize": 20, |
|
| 142 | - "fontFamily": 5, |
|
| 143 | - "textAlign": "center", |
|
| 144 | - "verticalAlign": "middle", |
|
| 145 | - "containerId": "kVK3CpWh-IBYWSSv8RfmC", |
|
| 146 | - "originalText": "FPV", |
|
| 147 | - "autoResize": true, |
|
| 148 | - "lineHeight": 1.25 |
|
| 149 | - }, |
|
| 150 | - { |
|
| 151 | - "id": "xwZqhCJw7rZ5KZzboz518", |
|
| 152 | - "type": "rectangle", |
|
| 153 | - "x": 961, |
|
| 154 | - "y": 257, |
|
| 155 | - "width": 134, |
|
| 156 | - "height": 60, |
|
| 157 | - "angle": 0, |
|
| 158 | - "strokeColor": "#1e1e1e", |
|
| 159 | - "backgroundColor": "#b2f2bb", |
|
| 160 | - "fillStyle": "solid", |
|
| 161 | - "strokeWidth": 2, |
|
| 162 | - "strokeStyle": "solid", |
|
| 163 | - "roughness": 1, |
|
| 164 | - "opacity": 100, |
|
| 165 | - "groupIds": [], |
|
| 166 | - "frameId": null, |
|
| 167 | - "index": "a2", |
|
| 168 | - "roundness": { |
|
| 169 | - "type": 3 |
|
| 170 | - }, |
|
| 171 | - "seed": 1219705512, |
|
| 172 | - "version": 254, |
|
| 173 | - "versionNonce": 1763171425, |
|
| 174 | - "isDeleted": false, |
|
| 175 | - "boundElements": [ |
|
| 176 | - { |
|
| 177 | - "type": "text", |
|
| 178 | - "id": "pX0Y0w0-Bv8Gt6ILXDiuQ" |
|
| 179 | - }, |
|
| 180 | - { |
|
| 181 | - "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 182 | - "type": "arrow" |
|
| 183 | - } |
|
| 184 | - ], |
|
| 185 | - "updated": 1748426628832, |
|
| 186 | - "link": null, |
|
| 187 | - "locked": false |
|
| 188 | - }, |
|
| 189 | - { |
|
| 190 | - "id": "pX0Y0w0-Bv8Gt6ILXDiuQ", |
|
| 191 | - "type": "text", |
|
| 192 | - "x": 980.5200271606445, |
|
| 193 | - "y": 262, |
|
| 194 | - "width": 94.95994567871094, |
|
| 195 | - "height": 50, |
|
| 196 | - "angle": 0, |
|
| 197 | - "strokeColor": "#1e1e1e", |
|
| 198 | - "backgroundColor": "transparent", |
|
| 199 | - "fillStyle": "solid", |
|
| 200 | - "strokeWidth": 2, |
|
| 201 | - "strokeStyle": "solid", |
|
| 202 | - "roughness": 1, |
|
| 203 | - "opacity": 100, |
|
| 204 | - "groupIds": [], |
|
| 205 | - "frameId": null, |
|
| 206 | - "index": "a3", |
|
| 207 | - "roundness": null, |
|
| 208 | - "seed": 403144104, |
|
| 209 | - "version": 223, |
|
| 210 | - "versionNonce": 1367320641, |
|
| 211 | - "isDeleted": false, |
|
| 212 | - "boundElements": [], |
|
| 213 | - "updated": 1748426628832, |
|
| 214 | - "link": null, |
|
| 215 | - "locked": false, |
|
| 216 | - "text": "FC+ESC =\n200", |
|
| 217 | - "fontSize": 20, |
|
| 218 | - "fontFamily": 5, |
|
| 219 | - "textAlign": "center", |
|
| 220 | - "verticalAlign": "middle", |
|
| 221 | - "containerId": "xwZqhCJw7rZ5KZzboz518", |
|
| 222 | - "originalText": "FC+ESC = 200", |
|
| 223 | - "autoResize": true, |
|
| 224 | - "lineHeight": 1.25 |
|
| 225 | - }, |
|
| 226 | - { |
|
| 227 | - "id": "dQBMrJbnJiglt6EVOOgLZ", |
|
| 228 | - "type": "rectangle", |
|
| 229 | - "x": 825.5, |
|
| 230 | - "y": 243, |
|
| 231 | - "width": 104, |
|
| 232 | - "height": 60, |
|
| 233 | - "angle": 0, |
|
| 234 | - "strokeColor": "#1e1e1e", |
|
| 235 | - "backgroundColor": "#b2f2bb", |
|
| 236 | - "fillStyle": "solid", |
|
| 237 | - "strokeWidth": 2, |
|
| 238 | - "strokeStyle": "solid", |
|
| 239 | - "roughness": 1, |
|
| 240 | - "opacity": 100, |
|
| 241 | - "groupIds": [], |
|
| 242 | - "frameId": null, |
|
| 243 | - "index": "a4", |
|
| 244 | - "roundness": { |
|
| 245 | - "type": 3 |
|
| 246 | - }, |
|
| 247 | - "seed": 2039189672, |
|
| 248 | - "version": 245, |
|
| 249 | - "versionNonce": 1584654977, |
|
| 250 | - "isDeleted": false, |
|
| 251 | - "boundElements": [ |
|
| 252 | - { |
|
| 253 | - "id": "EzJHStmuRq2FMwEzaiSOc", |
|
| 254 | - "type": "text" |
|
| 255 | - } |
|
| 256 | - ], |
|
| 257 | - "updated": 1748426631232, |
|
| 258 | - "link": null, |
|
| 259 | - "locked": false |
|
| 260 | - }, |
|
| 261 | - { |
|
| 262 | - "id": "EzJHStmuRq2FMwEzaiSOc", |
|
| 263 | - "type": "text", |
|
| 264 | - "x": 838.6900100708008, |
|
| 265 | - "y": 248, |
|
| 266 | - "width": 77.61997985839844, |
|
| 267 | - "height": 50, |
|
| 268 | - "angle": 0, |
|
| 269 | - "strokeColor": "#1e1e1e", |
|
| 270 | - "backgroundColor": "transparent", |
|
| 271 | - "fillStyle": "solid", |
|
| 272 | - "strokeWidth": 2, |
|
| 273 | - "strokeStyle": "solid", |
|
| 274 | - "roughness": 1, |
|
| 275 | - "opacity": 100, |
|
| 276 | - "groupIds": [], |
|
| 277 | - "frameId": null, |
|
| 278 | - "index": "a5", |
|
| 279 | - "roundness": null, |
|
| 280 | - "seed": 102972328, |
|
| 281 | - "version": 254, |
|
| 282 | - "versionNonce": 2020930145, |
|
| 283 | - "isDeleted": false, |
|
| 284 | - "boundElements": [], |
|
| 285 | - "updated": 1748426631232, |
|
| 286 | - "link": null, |
|
| 287 | - "locked": false, |
|
| 288 | - "text": "Motor =\n300", |
|
| 289 | - "fontSize": 20, |
|
| 290 | - "fontFamily": 5, |
|
| 291 | - "textAlign": "center", |
|
| 292 | - "verticalAlign": "middle", |
|
| 293 | - "containerId": "dQBMrJbnJiglt6EVOOgLZ", |
|
| 294 | - "originalText": "Motor = 300", |
|
| 295 | - "autoResize": true, |
|
| 296 | - "lineHeight": 1.25 |
|
| 297 | - }, |
|
| 298 | - { |
|
| 299 | - "id": "39yg0hT4KcgyXCf0RjyvK", |
|
| 300 | - "type": "rectangle", |
|
| 301 | - "x": 828.5, |
|
| 302 | - "y": 326, |
|
| 303 | - "width": 107, |
|
| 304 | - "height": 60, |
|
| 305 | - "angle": 0, |
|
| 306 | - "strokeColor": "#1e1e1e", |
|
| 307 | - "backgroundColor": "#b2f2bb", |
|
| 308 | - "fillStyle": "solid", |
|
| 309 | - "strokeWidth": 2, |
|
| 310 | - "strokeStyle": "solid", |
|
| 311 | - "roughness": 1, |
|
| 312 | - "opacity": 100, |
|
| 313 | - "groupIds": [], |
|
| 314 | - "frameId": null, |
|
| 315 | - "index": "a6", |
|
| 316 | - "roundness": { |
|
| 317 | - "type": 3 |
|
| 318 | - }, |
|
| 319 | - "seed": 1897638056, |
|
| 320 | - "version": 292, |
|
| 321 | - "versionNonce": 328437857, |
|
| 322 | - "isDeleted": false, |
|
| 323 | - "boundElements": [ |
|
| 324 | - { |
|
| 325 | - "type": "text", |
|
| 326 | - "id": "3zOHoxCB7REYe6Y7NAXng" |
|
| 327 | - } |
|
| 328 | - ], |
|
| 329 | - "updated": 1748426632165, |
|
| 330 | - "link": null, |
|
| 331 | - "locked": false |
|
| 332 | - }, |
|
| 333 | - { |
|
| 334 | - "id": "3zOHoxCB7REYe6Y7NAXng", |
|
| 335 | - "type": "text", |
|
| 336 | - "x": 840.1700286865234, |
|
| 337 | - "y": 331, |
|
| 338 | - "width": 83.65994262695312, |
|
| 339 | - "height": 50, |
|
| 340 | - "angle": 0, |
|
| 341 | - "strokeColor": "#1e1e1e", |
|
| 342 | - "backgroundColor": "transparent", |
|
| 343 | - "fillStyle": "solid", |
|
| 344 | - "strokeWidth": 2, |
|
| 345 | - "strokeStyle": "solid", |
|
| 346 | - "roughness": 1, |
|
| 347 | - "opacity": 100, |
|
| 348 | - "groupIds": [], |
|
| 349 | - "frameId": null, |
|
| 350 | - "index": "a7", |
|
| 351 | - "roundness": null, |
|
| 352 | - "seed": 1139823528, |
|
| 353 | - "version": 310, |
|
| 354 | - "versionNonce": 442817601, |
|
| 355 | - "isDeleted": false, |
|
| 356 | - "boundElements": [], |
|
| 357 | - "updated": 1748426632165, |
|
| 358 | - "link": null, |
|
| 359 | - "locked": false, |
|
| 360 | - "text": "Propeller\n= 10", |
|
| 361 | - "fontSize": 20, |
|
| 362 | - "fontFamily": 5, |
|
| 363 | - "textAlign": "center", |
|
| 364 | - "verticalAlign": "middle", |
|
| 365 | - "containerId": "39yg0hT4KcgyXCf0RjyvK", |
|
| 366 | - "originalText": "Propeller = 10", |
|
| 367 | - "autoResize": true, |
|
| 368 | - "lineHeight": 1.25 |
|
| 369 | - }, |
|
| 370 | - { |
|
| 371 | - "id": "_6REgZmTfF3_wkHlUN7l_", |
|
| 372 | - "type": "rectangle", |
|
| 373 | - "x": 663, |
|
| 374 | - "y": 325, |
|
| 375 | - "width": 122.99999999999997, |
|
| 376 | - "height": 64, |
|
| 377 | - "angle": 0, |
|
| 378 | - "strokeColor": "#1e1e1e", |
|
| 379 | - "backgroundColor": "#b2f2bb", |
|
| 380 | - "fillStyle": "solid", |
|
| 381 | - "strokeWidth": 2, |
|
| 382 | - "strokeStyle": "solid", |
|
| 383 | - "roughness": 1, |
|
| 384 | - "opacity": 100, |
|
| 385 | - "groupIds": [], |
|
| 386 | - "frameId": null, |
|
| 387 | - "index": "a8", |
|
| 388 | - "roundness": { |
|
| 389 | - "type": 3 |
|
| 390 | - }, |
|
| 391 | - "seed": 152476328, |
|
| 392 | - "version": 175, |
|
| 393 | - "versionNonce": 2042024872, |
|
| 394 | - "isDeleted": false, |
|
| 395 | - "boundElements": [ |
|
| 396 | - { |
|
| 397 | - "id": "pcmRID4XlTVjkJbrWTJFh", |
|
| 398 | - "type": "text" |
|
| 399 | - } |
|
| 400 | - ], |
|
| 401 | - "updated": 1748422716662, |
|
| 402 | - "link": null, |
|
| 403 | - "locked": false |
|
| 404 | - }, |
|
| 405 | - { |
|
| 406 | - "id": "pcmRID4XlTVjkJbrWTJFh", |
|
| 407 | - "type": "text", |
|
| 408 | - "x": 671.1800537109375, |
|
| 409 | - "y": 332, |
|
| 410 | - "width": 106.639892578125, |
|
| 411 | - "height": 50, |
|
| 412 | - "angle": 0, |
|
| 413 | - "strokeColor": "#1e1e1e", |
|
| 414 | - "backgroundColor": "transparent", |
|
| 415 | - "fillStyle": "solid", |
|
| 416 | - "strokeWidth": 2, |
|
| 417 | - "strokeStyle": "solid", |
|
| 418 | - "roughness": 1, |
|
| 419 | - "opacity": 100, |
|
| 420 | - "groupIds": [], |
|
| 421 | - "frameId": null, |
|
| 422 | - "index": "a9", |
|
| 423 | - "roundness": null, |
|
| 424 | - "seed": 1136461224, |
|
| 425 | - "version": 170, |
|
| 426 | - "versionNonce": 99491496, |
|
| 427 | - "isDeleted": false, |
|
| 428 | - "boundElements": [], |
|
| 429 | - "updated": 1748422716662, |
|
| 430 | - "link": null, |
|
| 431 | - "locked": false, |
|
| 432 | - "text": "Main-Frame\n= 150", |
|
| 433 | - "fontSize": 20, |
|
| 434 | - "fontFamily": 5, |
|
| 435 | - "textAlign": "center", |
|
| 436 | - "verticalAlign": "middle", |
|
| 437 | - "containerId": "_6REgZmTfF3_wkHlUN7l_", |
|
| 438 | - "originalText": "Main-Frame = 150", |
|
| 439 | - "autoResize": true, |
|
| 440 | - "lineHeight": 1.25 |
|
| 441 | - }, |
|
| 442 | - { |
|
| 443 | - "id": "J2UFOMDRFu5ttiaWqG7fH", |
|
| 444 | - "type": "rectangle", |
|
| 445 | - "x": 700, |
|
| 446 | - "y": 491, |
|
| 447 | - "width": 129.99999999999994, |
|
| 448 | - "height": 41.99999999999999, |
|
| 449 | - "angle": 0, |
|
| 450 | - "strokeColor": "#1e1e1e", |
|
| 451 | - "backgroundColor": "#ffc9c9", |
|
| 452 | - "fillStyle": "solid", |
|
| 453 | - "strokeWidth": 2, |
|
| 454 | - "strokeStyle": "solid", |
|
| 455 | - "roughness": 1, |
|
| 456 | - "opacity": 100, |
|
| 457 | - "groupIds": [], |
|
| 458 | - "frameId": null, |
|
| 459 | - "index": "aA", |
|
| 460 | - "roundness": { |
|
| 461 | - "type": 3 |
|
| 462 | - }, |
|
| 463 | - "seed": 795808728, |
|
| 464 | - "version": 264, |
|
| 465 | - "versionNonce": 1340595361, |
|
| 466 | - "isDeleted": false, |
|
| 467 | - "boundElements": [ |
|
| 468 | - { |
|
| 469 | - "id": "Du7DHS8OTbnNNNwya2j5K", |
|
| 470 | - "type": "text" |
|
| 471 | - } |
|
| 472 | - ], |
|
| 473 | - "updated": 1748427033925, |
|
| 474 | - "link": null, |
|
| 475 | - "locked": false |
|
| 476 | - }, |
|
| 477 | - { |
|
| 478 | - "id": "Du7DHS8OTbnNNNwya2j5K", |
|
| 479 | - "type": "text", |
|
| 480 | - "x": 710.4500045776367, |
|
| 481 | - "y": 499.5, |
|
| 482 | - "width": 109.09999084472656, |
|
| 483 | - "height": 25, |
|
| 484 | - "angle": 0, |
|
| 485 | - "strokeColor": "#1e1e1e", |
|
| 486 | - "backgroundColor": "transparent", |
|
| 487 | - "fillStyle": "solid", |
|
| 488 | - "strokeWidth": 2, |
|
| 489 | - "strokeStyle": "solid", |
|
| 490 | - "roughness": 1, |
|
| 491 | - "opacity": 100, |
|
| 492 | - "groupIds": [], |
|
| 493 | - "frameId": null, |
|
| 494 | - "index": "aB", |
|
| 495 | - "roundness": null, |
|
| 496 | - "seed": 1695471832, |
|
| 497 | - "version": 264, |
|
| 498 | - "versionNonce": 384147585, |
|
| 499 | - "isDeleted": false, |
|
| 500 | - "boundElements": [], |
|
| 501 | - "updated": 1748427033925, |
|
| 502 | - "link": null, |
|
| 503 | - "locked": false, |
|
| 504 | - "text": "VTX = 200", |
|
| 505 | - "fontSize": 20, |
|
| 506 | - "fontFamily": 5, |
|
| 507 | - "textAlign": "center", |
|
| 508 | - "verticalAlign": "middle", |
|
| 509 | - "containerId": "J2UFOMDRFu5ttiaWqG7fH", |
|
| 510 | - "originalText": "VTX = 200", |
|
| 511 | - "autoResize": true, |
|
| 512 | - "lineHeight": 1.25 |
|
| 513 | - }, |
|
| 514 | - { |
|
| 515 | - "id": "3vVT9tiSgEKxWbpOrX7X8", |
|
| 516 | - "type": "rectangle", |
|
| 517 | - "x": 522, |
|
| 518 | - "y": 487, |
|
| 519 | - "width": 126.00000000000003, |
|
| 520 | - "height": 60, |
|
| 521 | - "angle": 0, |
|
| 522 | - "strokeColor": "#1e1e1e", |
|
| 523 | - "backgroundColor": "#ffc9c9", |
|
| 524 | - "fillStyle": "solid", |
|
| 525 | - "strokeWidth": 2, |
|
| 526 | - "strokeStyle": "solid", |
|
| 527 | - "roughness": 1, |
|
| 528 | - "opacity": 100, |
|
| 529 | - "groupIds": [], |
|
| 530 | - "frameId": null, |
|
| 531 | - "index": "aC", |
|
| 532 | - "roundness": { |
|
| 533 | - "type": 3 |
|
| 534 | - }, |
|
| 535 | - "seed": 1068534952, |
|
| 536 | - "version": 230, |
|
| 537 | - "versionNonce": 1297363624, |
|
| 538 | - "isDeleted": false, |
|
| 539 | - "boundElements": [ |
|
| 540 | - { |
|
| 541 | - "id": "FgwLKQnis0PNy-skik7v9", |
|
| 542 | - "type": "text" |
|
| 543 | - } |
|
| 544 | - ], |
|
| 545 | - "updated": 1748422796813, |
|
| 546 | - "link": null, |
|
| 547 | - "locked": false |
|
| 548 | - }, |
|
| 549 | - { |
|
| 550 | - "id": "FgwLKQnis0PNy-skik7v9", |
|
| 551 | - "type": "text", |
|
| 552 | - "x": 541.9700317382812, |
|
| 553 | - "y": 492, |
|
| 554 | - "width": 86.0599365234375, |
|
| 555 | - "height": 50, |
|
| 556 | - "angle": 0, |
|
| 557 | - "strokeColor": "#1e1e1e", |
|
| 558 | - "backgroundColor": "transparent", |
|
| 559 | - "fillStyle": "solid", |
|
| 560 | - "strokeWidth": 2, |
|
| 561 | - "strokeStyle": "solid", |
|
| 562 | - "roughness": 1, |
|
| 563 | - "opacity": 100, |
|
| 564 | - "groupIds": [], |
|
| 565 | - "frameId": null, |
|
| 566 | - "index": "aD", |
|
| 567 | - "roundness": null, |
|
| 568 | - "seed": 910735272, |
|
| 569 | - "version": 194, |
|
| 570 | - "versionNonce": 1552391592, |
|
| 571 | - "isDeleted": false, |
|
| 572 | - "boundElements": [], |
|
| 573 | - "updated": 1748422796813, |
|
| 574 | - "link": null, |
|
| 575 | - "locked": false, |
|
| 576 | - "text": "Camera =\n100", |
|
| 577 | - "fontSize": 20, |
|
| 578 | - "fontFamily": 5, |
|
| 579 | - "textAlign": "center", |
|
| 580 | - "verticalAlign": "middle", |
|
| 581 | - "containerId": "3vVT9tiSgEKxWbpOrX7X8", |
|
| 582 | - "originalText": "Camera = 100", |
|
| 583 | - "autoResize": true, |
|
| 584 | - "lineHeight": 1.25 |
|
| 585 | - }, |
|
| 586 | - { |
|
| 587 | - "id": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 588 | - "type": "rectangle", |
|
| 589 | - "x": 1229, |
|
| 590 | - "y": 252, |
|
| 591 | - "width": 138.99999999999994, |
|
| 592 | - "height": 60, |
|
| 593 | - "angle": 0, |
|
| 594 | - "strokeColor": "#1e1e1e", |
|
| 595 | - "backgroundColor": "#a5d8ff", |
|
| 596 | - "fillStyle": "solid", |
|
| 597 | - "strokeWidth": 2, |
|
| 598 | - "strokeStyle": "solid", |
|
| 599 | - "roughness": 1, |
|
| 600 | - "opacity": 100, |
|
| 601 | - "groupIds": [], |
|
| 602 | - "frameId": null, |
|
| 603 | - "index": "aE", |
|
| 604 | - "roundness": { |
|
| 605 | - "type": 3 |
|
| 606 | - }, |
|
| 607 | - "seed": 809181608, |
|
| 608 | - "version": 323, |
|
| 609 | - "versionNonce": 1891906799, |
|
| 610 | - "isDeleted": false, |
|
| 611 | - "boundElements": [ |
|
| 612 | - { |
|
| 613 | - "type": "text", |
|
| 614 | - "id": "LCDVnC1vv263MbHoIDBW_" |
|
| 615 | - }, |
|
| 616 | - { |
|
| 617 | - "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 618 | - "type": "arrow" |
|
| 619 | - } |
|
| 620 | - ], |
|
| 621 | - "updated": 1748427037458, |
|
| 622 | - "link": null, |
|
| 623 | - "locked": false |
|
| 624 | - }, |
|
| 625 | - { |
|
| 626 | - "id": "LCDVnC1vv263MbHoIDBW_", |
|
| 627 | - "type": "text", |
|
| 628 | - "x": 1240.5300521850586, |
|
| 629 | - "y": 257, |
|
| 630 | - "width": 115.93989562988281, |
|
| 631 | - "height": 50, |
|
| 632 | - "angle": 0, |
|
| 633 | - "strokeColor": "#1e1e1e", |
|
| 634 | - "backgroundColor": "transparent", |
|
| 635 | - "fillStyle": "solid", |
|
| 636 | - "strokeWidth": 2, |
|
| 637 | - "strokeStyle": "solid", |
|
| 638 | - "roughness": 1, |
|
| 639 | - "opacity": 100, |
|
| 640 | - "groupIds": [], |
|
| 641 | - "frameId": null, |
|
| 642 | - "index": "aF", |
|
| 643 | - "roundness": null, |
|
| 644 | - "seed": 1119399080, |
|
| 645 | - "version": 338, |
|
| 646 | - "versionNonce": 1533918991, |
|
| 647 | - "isDeleted": false, |
|
| 648 | - "boundElements": [], |
|
| 649 | - "updated": 1748427037458, |
|
| 650 | - "link": null, |
|
| 651 | - "locked": false, |
|
| 652 | - "text": "RC Receiver\n= 50", |
|
| 653 | - "fontSize": 20, |
|
| 654 | - "fontFamily": 5, |
|
| 655 | - "textAlign": "center", |
|
| 656 | - "verticalAlign": "middle", |
|
| 657 | - "containerId": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 658 | - "originalText": "RC Receiver = 50", |
|
| 659 | - "autoResize": true, |
|
| 660 | - "lineHeight": 1.25 |
|
| 661 | - }, |
|
| 662 | - { |
|
| 663 | - "id": "wL-KVbUba9QmRU7CkegfR", |
|
| 664 | - "type": "rectangle", |
|
| 665 | - "x": 880.5, |
|
| 666 | - "y": 493, |
|
| 667 | - "width": 69.99999999999997, |
|
| 668 | - "height": 35, |
|
| 669 | - "angle": 0, |
|
| 670 | - "strokeColor": "#1e1e1e", |
|
| 671 | - "backgroundColor": "#e9ecef", |
|
| 672 | - "fillStyle": "solid", |
|
| 673 | - "strokeWidth": 2, |
|
| 674 | - "strokeStyle": "solid", |
|
| 675 | - "roughness": 1, |
|
| 676 | - "opacity": 100, |
|
| 677 | - "groupIds": [], |
|
| 678 | - "frameId": null, |
|
| 679 | - "index": "aI", |
|
| 680 | - "roundness": { |
|
| 681 | - "type": 3 |
|
| 682 | - }, |
|
| 683 | - "seed": 1463674584, |
|
| 684 | - "version": 256, |
|
| 685 | - "versionNonce": 2117512751, |
|
| 686 | - "isDeleted": false, |
|
| 687 | - "boundElements": [ |
|
| 688 | - { |
|
| 689 | - "type": "text", |
|
| 690 | - "id": "gJ0j4-eRygfcUS-K51Vwg" |
|
| 691 | - } |
|
| 692 | - ], |
|
| 693 | - "updated": 1748427039465, |
|
| 694 | - "link": null, |
|
| 695 | - "locked": false |
|
| 696 | - }, |
|
| 697 | - { |
|
| 698 | - "id": "gJ0j4-eRygfcUS-K51Vwg", |
|
| 699 | - "type": "text", |
|
| 700 | - "x": 894.5000152587891, |
|
| 701 | - "y": 498, |
|
| 702 | - "width": 41.999969482421875, |
|
| 703 | - "height": 25, |
|
| 704 | - "angle": 0, |
|
| 705 | - "strokeColor": "#1e1e1e", |
|
| 706 | - "backgroundColor": "transparent", |
|
| 707 | - "fillStyle": "solid", |
|
| 708 | - "strokeWidth": 2, |
|
| 709 | - "strokeStyle": "solid", |
|
| 710 | - "roughness": 1, |
|
| 711 | - "opacity": 100, |
|
| 712 | - "groupIds": [], |
|
| 713 | - "frameId": null, |
|
| 714 | - "index": "aJ", |
|
| 715 | - "roundness": null, |
|
| 716 | - "seed": 1904954328, |
|
| 717 | - "version": 276, |
|
| 718 | - "versionNonce": 515838031, |
|
| 719 | - "isDeleted": false, |
|
| 720 | - "boundElements": [], |
|
| 721 | - "updated": 1748427039465, |
|
| 722 | - "link": null, |
|
| 723 | - "locked": false, |
|
| 724 | - "text": "GPS", |
|
| 725 | - "fontSize": 20, |
|
| 726 | - "fontFamily": 5, |
|
| 727 | - "textAlign": "center", |
|
| 728 | - "verticalAlign": "middle", |
|
| 729 | - "containerId": "wL-KVbUba9QmRU7CkegfR", |
|
| 730 | - "originalText": "GPS", |
|
| 731 | - "autoResize": true, |
|
| 732 | - "lineHeight": 1.25 |
|
| 733 | - }, |
|
| 734 | - { |
|
| 735 | - "id": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 736 | - "type": "arrow", |
|
| 737 | - "x": 1228.0845892628427, |
|
| 738 | - "y": 287.3184231778119, |
|
| 739 | - "width": 132.17468159686268, |
|
| 740 | - "height": 0.26982762300536933, |
|
| 741 | - "angle": 0, |
|
| 742 | - "strokeColor": "#1e1e1e", |
|
| 743 | - "backgroundColor": "#e9ecef", |
|
| 744 | - "fillStyle": "solid", |
|
| 745 | - "strokeWidth": 2, |
|
| 746 | - "strokeStyle": "solid", |
|
| 747 | - "roughness": 1, |
|
| 748 | - "opacity": 100, |
|
| 749 | - "groupIds": [], |
|
| 750 | - "frameId": null, |
|
| 751 | - "index": "aK", |
|
| 752 | - "roundness": { |
|
| 753 | - "type": 2 |
|
| 754 | - }, |
|
| 755 | - "seed": 1421350312, |
|
| 756 | - "version": 253, |
|
| 757 | - "versionNonce": 1755383087, |
|
| 758 | - "isDeleted": false, |
|
| 759 | - "boundElements": [ |
|
| 760 | - { |
|
| 761 | - "type": "text", |
|
| 762 | - "id": "PSWMR8UYgGKRD2Crq-piz" |
|
| 763 | - } |
|
| 764 | - ], |
|
| 765 | - "updated": 1748427037458, |
|
| 766 | - "link": null, |
|
| 767 | - "locked": false, |
|
| 768 | - "points": [ |
|
| 769 | - [ |
|
| 770 | - 0, |
|
| 771 | - 0 |
|
| 772 | - ], |
|
| 773 | - [ |
|
| 774 | - -132.17468159686268, |
|
| 775 | - 0.26982762300536933 |
|
| 776 | - ] |
|
| 777 | - ], |
|
| 778 | - "lastCommittedPoint": null, |
|
| 779 | - "startBinding": { |
|
| 780 | - "elementId": "MGX9EXcEsb5bE0ue-50Uf", |
|
| 781 | - "focus": -0.16664069699466444, |
|
| 782 | - "gap": 1 |
|
| 783 | - }, |
|
| 784 | - "endBinding": { |
|
| 785 | - "elementId": "xwZqhCJw7rZ5KZzboz518", |
|
| 786 | - "focus": 0.013272489423998435, |
|
| 787 | - "gap": 1 |
|
| 788 | - }, |
|
| 789 | - "startArrowhead": null, |
|
| 790 | - "endArrowhead": "arrow", |
|
| 791 | - "elbowed": false |
|
| 792 | - }, |
|
| 793 | - { |
|
| 794 | - "id": "PSWMR8UYgGKRD2Crq-piz", |
|
| 795 | - "type": "text", |
|
| 796 | - "x": 842.2223983119171, |
|
| 797 | - "y": 488.29889940873977, |
|
| 798 | - "width": 85.69993591308594, |
|
| 799 | - "height": 25, |
|
| 800 | - "angle": 0, |
|
| 801 | - "strokeColor": "#1e1e1e", |
|
| 802 | - "backgroundColor": "#e9ecef", |
|
| 803 | - "fillStyle": "solid", |
|
| 804 | - "strokeWidth": 2, |
|
| 805 | - "strokeStyle": "solid", |
|
| 806 | - "roughness": 1, |
|
| 807 | - "opacity": 100, |
|
| 808 | - "groupIds": [], |
|
| 809 | - "frameId": null, |
|
| 810 | - "index": "aL", |
|
| 811 | - "roundness": null, |
|
| 812 | - "seed": 1364791512, |
|
| 813 | - "version": 10, |
|
| 814 | - "versionNonce": 900883160, |
|
| 815 | - "isDeleted": false, |
|
| 816 | - "boundElements": [], |
|
| 817 | - "updated": 1748421421408, |
|
| 818 | - "link": null, |
|
| 819 | - "locked": false, |
|
| 820 | - "text": "on-board", |
|
| 821 | - "fontSize": 20, |
|
| 822 | - "fontFamily": 5, |
|
| 823 | - "textAlign": "center", |
|
| 824 | - "verticalAlign": "middle", |
|
| 825 | - "containerId": "iB2MCaJsv-w0WkVsvmSbh", |
|
| 826 | - "originalText": "on-board", |
|
| 827 | - "autoResize": true, |
|
| 828 | - "lineHeight": 1.25 |
|
| 829 | - }, |
|
| 830 | - { |
|
| 831 | - "id": "WHHJztwkpBDaharxfS1O_", |
|
| 832 | - "type": "rectangle", |
|
| 833 | - "x": 656, |
|
| 834 | - "y": 241, |
|
| 835 | - "width": 134, |
|
| 836 | - "height": 60, |
|
| 837 | - "angle": 0, |
|
| 838 | - "strokeColor": "#1e1e1e", |
|
| 839 | - "backgroundColor": "#b2f2bb", |
|
| 840 | - "fillStyle": "solid", |
|
| 841 | - "strokeWidth": 2, |
|
| 842 | - "strokeStyle": "solid", |
|
| 843 | - "roughness": 1, |
|
| 844 | - "opacity": 100, |
|
| 845 | - "groupIds": [], |
|
| 846 | - "frameId": null, |
|
| 847 | - "index": "aM", |
|
| 848 | - "roundness": { |
|
| 849 | - "type": 3 |
|
| 850 | - }, |
|
| 851 | - "seed": 1090484136, |
|
| 852 | - "version": 277, |
|
| 853 | - "versionNonce": 1199615521, |
|
| 854 | - "isDeleted": false, |
|
| 855 | - "boundElements": [ |
|
| 856 | - { |
|
| 857 | - "type": "text", |
|
| 858 | - "id": "vDNvXqlsNS7xDG-c7FBVM" |
|
| 859 | - } |
|
| 860 | - ], |
|
| 861 | - "updated": 1748426626032, |
|
| 862 | - "link": null, |
|
| 863 | - "locked": false |
|
| 864 | - }, |
|
| 865 | - { |
|
| 866 | - "id": "vDNvXqlsNS7xDG-c7FBVM", |
|
| 867 | - "type": "text", |
|
| 868 | - "x": 666.8700332641602, |
|
| 869 | - "y": 246, |
|
| 870 | - "width": 112.25993347167969, |
|
| 871 | - "height": 50, |
|
| 872 | - "angle": 0, |
|
| 873 | - "strokeColor": "#1e1e1e", |
|
| 874 | - "backgroundColor": "transparent", |
|
| 875 | - "fillStyle": "solid", |
|
| 876 | - "strokeWidth": 2, |
|
| 877 | - "strokeStyle": "solid", |
|
| 878 | - "roughness": 1, |
|
| 879 | - "opacity": 100, |
|
| 880 | - "groupIds": [], |
|
| 881 | - "frameId": null, |
|
| 882 | - "index": "aN", |
|
| 883 | - "roundness": null, |
|
| 884 | - "seed": 612516520, |
|
| 885 | - "version": 263, |
|
| 886 | - "versionNonce": 375931393, |
|
| 887 | - "isDeleted": false, |
|
| 888 | - "boundElements": [], |
|
| 889 | - "updated": 1748426626032, |
|
| 890 | - "link": null, |
|
| 891 | - "locked": false, |
|
| 892 | - "text": "Battery 2x\n= 60", |
|
| 893 | - "fontSize": 20, |
|
| 894 | - "fontFamily": 5, |
|
| 895 | - "textAlign": "center", |
|
| 896 | - "verticalAlign": "middle", |
|
| 897 | - "containerId": "WHHJztwkpBDaharxfS1O_", |
|
| 898 | - "originalText": "Battery 2x = 60", |
|
| 899 | - "autoResize": true, |
|
| 900 | - "lineHeight": 1.25 |
|
| 901 | - }, |
|
| 902 | - { |
|
| 903 | - "id": "lw0YBO3rN5fCfHzt5296t", |
|
| 904 | - "type": "rectangle", |
|
| 905 | - "x": 527, |
|
| 906 | - "y": 684, |
|
| 907 | - "width": 126.00000000000003, |
|
| 908 | - "height": 60, |
|
| 909 | - "angle": 0, |
|
| 910 | - "strokeColor": "#1e1e1e", |
|
| 911 | - "backgroundColor": "#ffc9c9", |
|
| 912 | - "fillStyle": "solid", |
|
| 913 | - "strokeWidth": 2, |
|
| 914 | - "strokeStyle": "solid", |
|
| 915 | - "roughness": 1, |
|
| 916 | - "opacity": 100, |
|
| 917 | - "groupIds": [], |
|
| 918 | - "frameId": null, |
|
| 919 | - "index": "aO", |
|
| 920 | - "roundness": { |
|
| 921 | - "type": 3 |
|
| 922 | - }, |
|
| 923 | - "seed": 17567448, |
|
| 924 | - "version": 278, |
|
| 925 | - "versionNonce": 1530818575, |
|
| 926 | - "isDeleted": false, |
|
| 927 | - "boundElements": [ |
|
| 928 | - { |
|
| 929 | - "id": "-BF2YHpA4rxtMrddxdpyf", |
|
| 930 | - "type": "text" |
|
| 931 | - } |
|
| 932 | - ], |
|
| 933 | - "updated": 1748427035974, |
|
| 934 | - "link": null, |
|
| 935 | - "locked": false |
|
| 936 | - }, |
|
| 937 | - { |
|
| 938 | - "id": "-BF2YHpA4rxtMrddxdpyf", |
|
| 939 | - "type": "text", |
|
| 940 | - "x": 542.5500259399414, |
|
| 941 | - "y": 689, |
|
| 942 | - "width": 94.89994812011719, |
|
| 943 | - "height": 50, |
|
| 944 | - "angle": 0, |
|
| 945 | - "strokeColor": "#1e1e1e", |
|
| 946 | - "backgroundColor": "transparent", |
|
| 947 | - "fillStyle": "solid", |
|
| 948 | - "strokeWidth": 2, |
|
| 949 | - "strokeStyle": "solid", |
|
| 950 | - "roughness": 1, |
|
| 951 | - "opacity": 100, |
|
| 952 | - "groupIds": [], |
|
| 953 | - "frameId": null, |
|
| 954 | - "index": "aP", |
|
| 955 | - "roundness": null, |
|
| 956 | - "seed": 257192920, |
|
| 957 | - "version": 257, |
|
| 958 | - "versionNonce": 1832097327, |
|
| 959 | - "isDeleted": false, |
|
| 960 | - "boundElements": [], |
|
| 961 | - "updated": 1748427035974, |
|
| 962 | - "link": null, |
|
| 963 | - "locked": false, |
|
| 964 | - "text": "Goggles =\n350", |
|
| 965 | - "fontSize": 20, |
|
| 966 | - "fontFamily": 5, |
|
| 967 | - "textAlign": "center", |
|
| 968 | - "verticalAlign": "middle", |
|
| 969 | - "containerId": "lw0YBO3rN5fCfHzt5296t", |
|
| 970 | - "originalText": "Goggles = 350", |
|
| 971 | - "autoResize": true, |
|
| 972 | - "lineHeight": 1.25 |
|
| 973 | - }, |
|
| 974 | - { |
|
| 975 | - "id": "-rpj5rbOsNGxn0AKS84xn", |
|
| 976 | - "type": "rectangle", |
|
| 977 | - "x": 499, |
|
| 978 | - "y": 589, |
|
| 979 | - "width": 150.00000000000003, |
|
| 980 | - "height": 60, |
|
| 981 | - "angle": 0, |
|
| 982 | - "strokeColor": "#1e1e1e", |
|
| 983 | - "backgroundColor": "#ffc9c9", |
|
| 984 | - "fillStyle": "solid", |
|
| 985 | - "strokeWidth": 2, |
|
| 986 | - "strokeStyle": "solid", |
|
| 987 | - "roughness": 1, |
|
| 988 | - "opacity": 100, |
|
| 989 | - "groupIds": [], |
|
| 990 | - "frameId": null, |
|
| 991 | - "index": "aQ", |
|
| 992 | - "roundness": { |
|
| 993 | - "type": 3 |
|
| 994 | - }, |
|
| 995 | - "seed": 1647720104, |
|
| 996 | - "version": 117, |
|
| 997 | - "versionNonce": 1987722351, |
|
| 998 | - "isDeleted": false, |
|
| 999 | - "boundElements": [ |
|
| 1000 | - { |
|
| 1001 | - "type": "text", |
|
| 1002 | - "id": "kw9KSSez4CvmVvKdCexi9" |
|
| 1003 | - } |
|
| 1004 | - ], |
|
| 1005 | - "updated": 1748426673933, |
|
| 1006 | - "link": null, |
|
| 1007 | - "locked": false |
|
| 1008 | - }, |
|
| 1009 | - { |
|
| 1010 | - "id": "kw9KSSez4CvmVvKdCexi9", |
|
| 1011 | - "type": "text", |
|
| 1012 | - "x": 509.0500259399414, |
|
| 1013 | - "y": 594, |
|
| 1014 | - "width": 129.8999481201172, |
|
| 1015 | - "height": 50, |
|
| 1016 | - "angle": 0, |
|
| 1017 | - "strokeColor": "#1e1e1e", |
|
| 1018 | - "backgroundColor": "#a5d8ff", |
|
| 1019 | - "fillStyle": "solid", |
|
| 1020 | - "strokeWidth": 2, |
|
| 1021 | - "strokeStyle": "solid", |
|
| 1022 | - "roughness": 1, |
|
| 1023 | - "opacity": 100, |
|
| 1024 | - "groupIds": [], |
|
| 1025 | - "frameId": null, |
|
| 1026 | - "index": "aR", |
|
| 1027 | - "roundness": null, |
|
| 1028 | - "seed": 1750714840, |
|
| 1029 | - "version": 105, |
|
| 1030 | - "versionNonce": 1542903439, |
|
| 1031 | - "isDeleted": false, |
|
| 1032 | - "boundElements": [], |
|
| 1033 | - "updated": 1748426673933, |
|
| 1034 | - "link": null, |
|
| 1035 | - "locked": false, |
|
| 1036 | - "text": "Console TX =\n200", |
|
| 1037 | - "fontSize": 20, |
|
| 1038 | - "fontFamily": 5, |
|
| 1039 | - "textAlign": "center", |
|
| 1040 | - "verticalAlign": "middle", |
|
| 1041 | - "containerId": "-rpj5rbOsNGxn0AKS84xn", |
|
| 1042 | - "originalText": "Console TX = 200", |
|
| 1043 | - "autoResize": true, |
|
| 1044 | - "lineHeight": 1.25 |
|
| 1045 | - } |
|
| 1046 | - ], |
|
| 1047 | - "appState": { |
|
| 1048 | - "gridSize": 20, |
|
| 1049 | - "gridStep": 5, |
|
| 1050 | - "gridModeEnabled": false, |
|
| 1051 | - "viewBackgroundColor": "#ffffff" |
|
| 1052 | - }, |
|
| 1053 | - "files": {} |
|
| 1054 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/FPV-dat.md
| ... | ... | @@ -1,413 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-dat |
|
| 3 | - |
|
| 4 | -## Info |
|
| 5 | - |
|
| 6 | -- [[quadcopter-dat]] |
|
| 7 | - |
|
| 8 | -- [[ELRS-dat]] - [[FrSky-dat]] - [[ArduPilot-dat]] - [[CRSF-dat]] |
|
| 9 | - |
|
| 10 | -- [[BMS-dat]] - [[flight-controller-dat]] - [[ESC-dat]] - [[motor-dat]] - [[propeller-dat]] |
|
| 11 | - |
|
| 12 | -- [[camera-FPV-dat]] - [[VTX-dat]] |
|
| 13 | - |
|
| 14 | -- [[RC-controller-dat]] |
|
| 15 | - |
|
| 16 | -- [[FPV]] - [[DJI-dat]] - [[RC-supplier-dat]] |
|
| 17 | - |
|
| 18 | -- [[battery-pack-dat]] - [[power-dat]] |
|
| 19 | - |
|
| 20 | -- [[sensor-dat]] - [[motor-dat]] - [[motor-FPV-dat]] |
|
| 21 | - |
|
| 22 | -- [[FPV-accesories-dat]] |
|
| 23 | - |
|
| 24 | -- [[betaflight-dat]] - [[RC-configurator-dat]] |
|
| 25 | - |
|
| 26 | -- [[indoor-fly-dat]] - [[FPV-load-dat]] |
|
| 27 | - |
|
| 28 | -- [[CaddxFPV-dat]] - [[DJI-dat]] |
|
| 29 | - |
|
| 30 | -- [[conn-dat]] - [[antenna-dat]] |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## build |
|
| 35 | - |
|
| 36 | -| indx | parts | cost RMB | cost USD/7 | eg. common select | |
|
| 37 | -| ---- | ------------------------- | -------- | --------------- | ----------------- | |
|
| 38 | -| 1 | [[frame-dat]] | 22.5 | 3 | [[mobula8-dat]] | |
|
| 39 | -| 2 | [[flight-controller-dat]] | 383 | 55 | [[X12-dat]] | |
|
| 40 | -| 3 | [[motor-FPV-dat]] x4 | 54 | 8 x4 = 32 | [[EX1103-dat]] | |
|
| 41 | -| 4 | [[propeller-dat]] x4 | 1.6 | 0.23 x4 = 0.92 | 乾丰2023三叶 | |
|
| 42 | -| 5 | [[VTX-dat]] | 81 | 11.6 | Caddx ANT 1200TVL | |
|
| 43 | -| | [[XT30-dat]] cable | 4 | 0.6 | | |
|
| 44 | -| | [[battery-dat]] x2 | 55 | 7.9 x2 = 15.8 | | |
|
| 45 | -| | [[mobula8-dat]] | | 100 | | |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -- [[CONN-dat]] |
|
| 49 | - |
|
| 50 | -## popular whoops |
|
| 51 | - |
|
| 52 | -- [[aquila16]] |
|
| 53 | - |
|
| 54 | -- indoor build 65mm - [[mobula6-dat]] - meteor65 |
|
| 55 | - |
|
| 56 | - |
|
| 57 | - |
|
| 58 | -## FPV by purposes |
|
| 59 | - |
|
| 60 | -- [[indoor-fly-dat]] |
|
| 61 | - |
|
| 62 | -- Tinywhoop = indoor fun. |
|
| 63 | -- Cinewhoop = cinematic close shots. |
|
| 64 | -- Racing = pure speed. |
|
| 65 | -- Freestyle = tricks & acro. |
|
| 66 | -- Long-range = exploration. |
|
| 67 | -- Heavy-lift = pro filmmaking. |
|
| 68 | - |
|
| 69 | -### 1. Tiny Whoop |
|
| 70 | - |
|
| 71 | -- [[tinywhoop-dat]] |
|
| 72 | - |
|
| 73 | -- **Size:** 65–85 mm wheelbase, 1S battery |
|
| 74 | -- **Purpose:** Indoor flying, safe around people/pets, practice |
|
| 75 | -- **Features:** Ducted props, very light, low risk |
|
| 76 | - |
|
| 77 | -### 2. Cinewhoop |
|
| 78 | - |
|
| 79 | -- [[cinewhoop-dat]] |
|
| 80 | - |
|
| 81 | -- **Size:** 85–150 mm wheelbase, 2.5–3.5 inch props |
|
| 82 | -- **Purpose:** Smooth, stable cinematic footage (close proximity / indoors) |
|
| 83 | -- **Features:** Ducted props for safety, carries small action camera (GoPro, Naked GoPro, Insta360) |
|
| 84 | - |
|
| 85 | -### 3. Racing Drones |
|
| 86 | - |
|
| 87 | -- [[racing-drones-dat]] |
|
| 88 | - |
|
| 89 | -- **Size:** 3–5 inch props (120–250 mm wheelbase) |
|
| 90 | -- **Purpose:** Maximum speed and agility for competition |
|
| 91 | -- **Features:** Lightweight, optimized for acceleration, high thrust-to-weight ratio |
|
| 92 | - |
|
| 93 | -### 4. Freestyle Quads |
|
| 94 | - |
|
| 95 | -- [[freestyle-drones-dat]] |
|
| 96 | - |
|
| 97 | -- **Size:** Typically 5 inch props |
|
| 98 | -- **Purpose:** Acrobatics, tricks, expressive flying outdoors |
|
| 99 | -- **Features:** Durable frame, strong motors, smooth response |
|
| 100 | - |
|
| 101 | -### 5. Long-Range FPV |
|
| 102 | - |
|
| 103 | -- [[long-range-drones-dat]] |
|
| 104 | - |
|
| 105 | -- **Size:** 4–7 inch props |
|
| 106 | -- **Purpose:** Extended range flights (kilometers away), exploration |
|
| 107 | -- **Features:** Larger battery, GPS, efficient motors, sometimes wings |
|
| 108 | - |
|
| 109 | -### 6. Micro / Toothpick |
|
| 110 | - |
|
| 111 | -- [[toothpick-drones-dat]] |
|
| 112 | - |
|
| 113 | -- **Size:** 2.5–4 inch props, very light frame |
|
| 114 | -- **Purpose:** Outdoor fun flying, mix of agility and portability |
|
| 115 | -- **Features:** No ducts, higher power-to-weight than Tiny Whoop, still safe-ish |
|
| 116 | - |
|
| 117 | -### 7. Heavy-Lift / Cinematic |
|
| 118 | - |
|
| 119 | -- [[heavy-lift-drones-dat]] |
|
| 120 | - |
|
| 121 | -- **Size:** 6–12 inch props (custom builds) |
|
| 122 | -- **Purpose:** Professional film-making, carrying big cinema cameras (RED, Blackmagic) |
|
| 123 | -- **Features:** Very stable, high payload, expensive |
|
| 124 | - |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -## The best overall FPV drone Starting Kit |
|
| 128 | - |
|
| 129 | -- [[RC-dat]] == [[radiomaster-dat]] = 50 USD |
|
| 130 | - |
|
| 131 | -- [[goggles-dat]] == [[walksnail-dat]] = 180 USD |
|
| 132 | - |
|
| 133 | -- [[drone-maker-dat]] == [[mobula8-dat]] == [[happymodel-dat]] == 100 USD |
|
| 134 | - |
|
| 135 | -- [[betaFPV-dat]] - [[Aquila16-dat]] |
|
| 136 | - |
|
| 137 | - |
|
| 138 | -## RC configurator |
|
| 139 | - |
|
| 140 | -- [[betaflight-dat]] - [[BLHeli-Configurator-dat]] |
|
| 141 | - |
|
| 142 | -- [[FPV-takeoff-checklist-dat]] |
|
| 143 | - |
|
| 144 | - |
|
| 145 | -## whoop by size |
|
| 146 | - |
|
| 147 | -# FPV Drone Categories Comparison |
|
| 148 | - |
|
| 149 | -| Category | Size (Wheelbase / Prop) | Weight (approx) | Features | Best Use Case | Example Models | |
|
| 150 | -| --------------- | ------------------------ | --------------- | ------------------------------------- | ------------------------------------- | ------------------------------------ | |
|
| 151 | -| **TinyWhoop** | 65–75mm / 31–40mm props | 20–30g | Ducted, safe, brushed/brushless | Indoor, beginner, safe around people | Mobula6, BetaFPV Meteor65 | |
|
| 152 | -| **MicroWhoop** | 75–100mm / 40–50mm props | 30–60g | Brushless, small ducts, more power | Indoor & small outdoor | Mobula7, Meteor85 | |
|
| 153 | -| **CineWhoop** | 3 inch / 120–150mm | 200–400g | Ducted, smooth flight, carries camera | Cinematic filming (GoPro/naked GoPro) | GEPRC CineLog 30, iFlight Protek35 | |
|
| 154 | -| **Toothpick** | 2.5–4 inch / 90–160mm | 40–120g | Very light, no ducts, carbon frame | Outdoor freestyle, nimble flying | Happymodel Sailfly-X, HX115 | |
|
| 155 | -| **Micro Quad** | 100–150mm / 2–3 inch | 70–150g | Small frame, not always ducted | Small park freestyle & racing | Emax Babyhawk II, iFlight Alpha A85 | |
|
| 156 | -| **5-inch Quad** | 210–250mm / 5 inch | 250–600g | Most common, powerful, versatile | Freestyle, racing, cinematic w/ GoPro | ImpulseRC Apex, iFlight Nazgul5 | |
|
| 157 | -| **Long Range** | 6–7 inch | 400–800g+ | Large props, GPS, big batteries | Long-distance cruising, mountains | iFlight Chimera7, Flywoo Explorer LR | |
|
| 158 | -| **X-Class** | 10–13 inch+ | >2kg | Huge, heavy lift, pro cameras | Professional filming, commercial work | Shendrones Siccario, custom builds | |
|
| 159 | - |
|
| 160 | -- **Whoop**: |
|
| 161 | - - Smallest class, typically **65mm–85mm** frames. |
|
| 162 | - - Ducted props (prop guards). |
|
| 163 | - - Prop size: ~31–40 mm. |
|
| 164 | -- **Micro (2"–4")**: |
|
| 165 | - - Larger, **90mm–150mm** frames. |
|
| 166 | - - Open props (no ducts, usually). |
|
| 167 | - - Prop size: **2"–4"**. |
|
| 168 | - |
|
| 169 | - |
|
| 170 | - |
|
| 171 | -## parts of the FPV drones |
|
| 172 | - |
|
| 173 | - |
|
| 174 | -- [[flight-controller-dat]] |
|
| 175 | - |
|
| 176 | -- [[ESC-dat]] |
|
| 177 | - |
|
| 178 | -- **Motors**: Provide the thrust needed for flight. Brushless motors are commonly used in FPV drones due to their efficiency and power. |
|
| 179 | - |
|
| 180 | -- **Propellers**: Generate lift by spinning rapidly. The size and pitch of the propellers can significantly affect the drone's performance and flight characteristics. |
|
| 181 | - |
|
| 182 | -- [[SCU1059-dat]] - [[propeller-dat]] |
|
| 183 | - |
|
| 184 | -- **Camera**: Captures real-time video for FPV flying. FPV cameras are designed to provide low-latency video transmission to the pilot's goggles or screen. |
|
| 185 | - |
|
| 186 | -- [[VTX-dat]]: Video Transmitters are commonly referred to as VTX units. They are responsible for transmitting the video signal from the camera to the pilot's goggles or screen. VTX units come in various power levels and frequencies, allowing pilots to choose the best option for their flying environment. |
|
| 187 | -- **Antenna**: Enhances the signal strength and range of the VTX. Different antenna types (e.g., dipole, patch, circular polarized) can be used to optimize performance. |
|
| 188 | - |
|
| 189 | -- **ExpressLRS**: A long-range radio control link for FPV drones, known for its low latency and high refresh rates. It is an open-source project that competes with other systems like Crossfire and ELRS. |
|
| 190 | - |
|
| 191 | - - [[ELRS-dat]] |
|
| 192 | - |
|
| 193 | -- **Goggles**: Wearable displays that allow pilots to see the live video feed from the drone's camera. They often include features like head tracking and DVR (Digital Video Recorder) capabilities. |
|
| 194 | - |
|
| 195 | - |
|
| 196 | - |
|
| 197 | - |
|
| 198 | - |
|
| 199 | -## Bee35 |
|
| 200 | - |
|
| 201 | - |
|
| 202 | - |
|
| 203 | - |
|
| 204 | - |
|
| 205 | - |
|
| 206 | -| version | price | description | |
|
| 207 | -| -------------------------- | ----- | ------------------------------------- | |
|
| 208 | -| Bee35 Pro O3 Air Unit TBS | 480 | O3 Air Unit, TBS radio | |
|
| 209 | -| Bee35 Pro O3 Air Unit ELRS | 470 | O3 Air Unit, ELRS radio | |
|
| 210 | -| Bee35 Pro O3 Air Unit PNP | 460 | O3 Air Unit, no receiver | |
|
| 211 | -| Bee35 Pro | 270 | Standard analog version | |
|
| 212 | -| Bee35 Pro LINK WASP TBS | 430 | LINK WASP digital system, TBS radio | |
|
| 213 | -| Bee35 Pro LINK WASP ELRS | 420 | LINK WASP digital system, ELRS radio | |
|
| 214 | -| Bee35 Pro LINK WASP PNP | 400 | LINK WASP digital system, no receiver | |
|
| 215 | -| Bee35 Analog TBS | 306 | Analog FPV system, TBS radio | |
|
| 216 | -| Bee35 Analog ELRS | 296 | Analog FPV system, ELRS radio | |
|
| 217 | - |
|
| 218 | - |
|
| 219 | - |
|
| 220 | -## commerialized FPV |
|
| 221 | - |
|
| 222 | -- [[speedybee-dat]] |
|
| 223 | - |
|
| 224 | -### 1. [SpeedyBee Flight Controllers & Stacks](https://speedybee.com/) |
|
| 225 | -- **Brand:** SpeedyBee |
|
| 226 | -- **Description:** Budget-friendly, Betaflight-supported flight controllers with easy app-based tuning. |
|
| 227 | -- **Example Products:** |
|
| 228 | - - **SpeedyBee F405 V4 Stack** (F4-based, affordable) |
|
| 229 | - - **SpeedyBee F7 V3 Stack** (F7-based, powerful & feature-rich) |
|
| 230 | -- **Commercial Features:** |
|
| 231 | - - Wireless **Bluetooth & Wi-Fi tuning** via SpeedyBee app. |
|
| 232 | - - Fully compatible with Betaflight Configurator. |
|
| 233 | -- **Website:** [speedybee.com](https://speedybee.com/) |
|
| 234 | - |
|
| 235 | ---- |
|
| 236 | - |
|
| 237 | -### 2. [TBS Tango 2 (Crossfire-Integrated Radio Controller)](https://www.team-blacksheep.com/) |
|
| 238 | -- **Brand:** Team BlackSheep (TBS) |
|
| 239 | -- **Description:** A high-performance FPV radio transmitter designed for **Betaflight-based drones** with **built-in Crossfire**. |
|
| 240 | -- **Commercial Features:** |
|
| 241 | - - Fully optimized for **Betaflight & Crossfire**. |
|
| 242 | - - Compact, ergonomic design for FPV pilots. |
|
| 243 | -- **Website:** [team-blacksheep.com](https://www.team-blacksheep.com/) |
|
| 244 | - |
|
| 245 | - |
|
| 246 | -## opensource control projects |
|
| 247 | - |
|
| 248 | -# Most Famous Open-Source FPV GitHub Projects |
|
| 249 | - |
|
| 250 | -If you're looking for **open-source FPV (First-Person View) projects** on GitHub, here are some of the **most famous** ones: |
|
| 251 | - |
|
| 252 | -## 1. [Betaflight](https://github.com/betaflight/betaflight) |
|
| 253 | -- **Description:** One of the most widely used open-source flight control firmware for FPV drones. |
|
| 254 | -- **Features:** |
|
| 255 | - - Highly optimized for **acrobatic** and **racing drones**. |
|
| 256 | - - Supports a wide range of flight controllers. |
|
| 257 | - - Advanced **tuning options** for PID, filters, and motor control. |
|
| 258 | -- **GitHub:** [github.com/betaflight/betaflight](https://github.com/betaflight/betaflight) |
|
| 259 | - |
|
| 260 | ---- |
|
| 261 | - |
|
| 262 | -## 2. [iNavFlight](https://github.com/iNavFlight/inav) |
|
| 263 | -- **Description:** A fork of Betaflight, but optimized for **GPS and long-range FPV**. |
|
| 264 | -- **Features:** |
|
| 265 | - - Supports **GPS waypoint navigation, return-to-home (RTH), and mission planning**. |
|
| 266 | - - Designed for **freestyle and long-range cruising** rather than racing. |
|
| 267 | -- **GitHub:** [github.com/iNavFlight/inav](https://github.com/iNavFlight/inav) |
|
| 268 | - |
|
| 269 | ---- |
|
| 270 | - |
|
| 271 | -## 3. [ArduPilot](https://github.com/ArduPilot/ardupilot) |
|
| 272 | -- **Description:** A professional-grade open-source autopilot for drones, including **FPV quadcopters, planes, and rovers**. |
|
| 273 | -- **Features:** |
|
| 274 | - - **Highly autonomous** with advanced mission planning. |
|
| 275 | - - Works with multiple types of vehicles (planes, multirotors, helicopters). |
|
| 276 | - - Compatible with **Mission Planner** and **QGroundControl**. |
|
| 277 | -- **GitHub:** [github.com/ArduPilot/ardupilot](https://github.com/ArduPilot/ardupilot) |
|
| 278 | - |
|
| 279 | ---- |
|
| 280 | - |
|
| 281 | -## 4. [PX4](https://github.com/PX4/PX4-Autopilot) |
|
| 282 | -- **Description:** A powerful open-source **flight control software** used in drones and FPV systems. |
|
| 283 | -- **Features:** |
|
| 284 | - - Supports both **FPV racing drones** and **autonomous UAVs**. |
|
| 285 | - - Works with Pixhawk flight controllers and supports **ROS (Robot Operating System)**. |
|
| 286 | -- **GitHub:** [github.com/PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) |
|
| 287 | - |
|
| 288 | ---- |
|
| 289 | - |
|
| 290 | -## 5. [FalcoX](https://github.com/FlightOne/FalcoX) |
|
| 291 | -- **Description:** An alternative FPV flight control firmware focusing on **ease of use and smooth flight performance**. |
|
| 292 | -- **Features:** |
|
| 293 | - - Intuitive configuration interface. |
|
| 294 | - - Aimed at both **freestyle pilots** and **racers**. |
|
| 295 | -- **GitHub:** [github.com/FlightOne/FalcoX](https://github.com/FlightOne/FalcoX) |
|
| 296 | - |
|
| 297 | ---- |
|
| 298 | - |
|
| 299 | -## 6. [ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) |
|
| 300 | -- **Description:** Open-source long-range **radio control link** for FPV drones, competing with Crossfire and ELRS. |
|
| 301 | -- **Features:** |
|
| 302 | - - **Low latency and high refresh rates** (great for FPV racing). |
|
| 303 | - - Compatible with many radio transmitters (TBS, Jumper, Radiomaster). |
|
| 304 | -- **GitHub:** [github.com/ExpressLRS/ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) |
|
| 305 | - |
|
| 306 | ---- |
|
| 307 | - |
|
| 308 | -## 7. [OpenHD](https://github.com/OpenHD/OpenHD) |
|
| 309 | -- **Description:** Open-source **HD video transmission** for FPV drones (alternative to DJI HD systems). |
|
| 310 | -- **Features:** |
|
| 311 | - - Uses **Raspberry Pi + WiFi** for HD FPV video streaming. |
|
| 312 | - - Supports OSD (On-Screen Display) and telemetry data. |
|
| 313 | -- **GitHub:** [github.com/OpenHD/OpenHD](https://github.com/OpenHD/OpenHD) |
|
| 314 | - |
|
| 315 | ---- |
|
| 316 | - |
|
| 317 | -## 🔥 Which One Should You Choose? |
|
| 318 | -| Purpose | Best Open-Source Project | |
|
| 319 | -| ------------------------------------------- | ------------------------------------------------------ | |
|
| 320 | -| **Racing/Freestyle FPV** | [Betaflight](https://github.com/betaflight/betaflight) | |
|
| 321 | -| **GPS & Long-Range FPV** | [iNav](https://github.com/iNavFlight/inav) | |
|
| 322 | -| **Full Autopilot (Drones, Planes, Rovers)** | [ArduPilot](https://github.com/ArduPilot/ardupilot) | |
|
| 323 | -| **Professional UAVs & Research** | [PX4](https://github.com/PX4/PX4-Autopilot) | |
|
| 324 | -| **HD FPV Video Streaming** | [OpenHD](https://github.com/OpenHD/OpenHD) | |
|
| 325 | -| **Long-Range Radio Links** | [ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) | |
|
| 326 | - |
|
| 327 | - |
|
| 328 | - |
|
| 329 | -## standards |
|
| 330 | - |
|
| 331 | -### PNP stands for "Plug and Play." |
|
| 332 | - |
|
| 333 | -In the context of FPV drones, a PNP version means that the drone comes mostly assembled but does not include a radio receiver. |
|
| 334 | - |
|
| 335 | -Here's why it doesn't include a receiver: |
|
| 336 | - |
|
| 337 | -Flexibility: PNP versions cater to experienced FPV pilots who already have their preferred radio transmitter and receiver. This allows them to use their existing equipment and avoid paying for redundant components. |
|
| 338 | -Customization: Pilots might have specific receiver requirements based on their radio system (e.g., TBS Crossfire, ELRS, FrSky). Offering a PNP version lets them choose the exact receiver that's compatible with their setup. |
|
| 339 | -Cost Savings: By excluding the receiver, the manufacturer can offer the PNP version at a lower price point, making it attractive to those who don't need the included receiver. |
|
| 340 | -In short, PNP versions are designed for users who want to use their own radio gear and prefer to avoid unnecessary costs or compatibility issues. |
|
| 341 | - |
|
| 342 | - |
|
| 343 | - |
|
| 344 | -## popular products |
|
| 345 | - |
|
| 346 | -DJI |
|
| 347 | - |
|
| 348 | -- [DJI Avata 2 (Drone Only), FPV Drone with Camera 4K, Immersive Flight Experience, Built-in Propeller Guard, Easy Flip/Roll, Super-Wide 155° FOV, Compatible with RC Motion 3, FAA Remote ID Compliant](https://www.amazon.com/DJI-Immersive-Experience-Super-Wide-Compatible/dp/B0CS6KY96F/ref=sr_1_45?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-45) |
|
| 349 | - |
|
| 350 | -BetaFPV |
|
| 351 | - |
|
| 352 | -- [BETAFPV Betaflight ELRS V3 Cetus X FPV Kit with LiteRadio 3 Transmitter C04 Camera VR03 Goggles with DVR Recording Function, Supported 2S Power Advanced RTF Kit for FPV Beginners to Fly Faster Further](https://www.amazon.com/BETAFPV-LiteRadio-Transmitter-Recording-Betaflight/dp/B0BJVP3XW7/ref=sr_1_48?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-48) == rating == 3.5 |
|
| 353 | - |
|
| 354 | -- [BETAFPV Pavo20 Brushless Whoop Quadcopter with HD Digital Bracket for O3 Air Unit, F4 2-3S 20A FC, 1103 8500KV Motor, COB LED Strip, Compatible for FPV Racing Indoor and Outdoor](https://www.amazon.com/BETAFPV-Brushless-Quadcopter-Material-Compatible/dp/B0CKT5G6C1/ref=sr_1_11?crid=1KCLBGZLCPWMM&dib=eyJ2IjoiMSJ9.u8zpDMqhQLF9cnPbc5r76LO9SVPJiVyPzTq0xdtVa2u4UYSXdyYl9H-Z3gMzqguhRBkKgkoRZWaxBHDFD6BRFsCQJKVb4iWibNm9DVSzo8jjnyx10jKEMfQICYMtZJab4CpDzmZXALE0VqfYmsl2b2z6zA536zmhj3MbQfvXxqOrlO8RzQiYLdFv-lIZbHe3VqkD5N2AuBL25TgOETuGrMPmYt7Yhvu1G4lry067nFXe06m0NOi7YGC9HehoblQsTDd1-4IPkuJfZGdR6OljCFD_F9mIqaJ-dIPMlULs8kg.m1NOD5DB1dn9oAtRj6kjXh5UkWTCRb94gNjUZ8Owz8Y&dib_tag=se&keywords=betafpv&qid=1744202445&sprefix=beta%2Caps%2C676&sr=8-11) == rating == 4.1 |
|
| 355 | - |
|
| 356 | - |
|
| 357 | -SpeedyBee Frame |
|
| 358 | - |
|
| 359 | -- [Speedy Bee Bee35 3.5inch Cinewhoop FPV Drone Frame- Pro Version 4S 6S Frame Kit Compatible with DJI O3 Air Unit FPV VTX,Different Flight Controller Stack](https://www.amazon.com/3-5inch-Cinewhoop-Compatible-Different-Controller/dp/B086X5M24H/ref=sr_1_1?dib=eyJ2IjoiMSJ9.flOlB5a6W8Z4mxOLR-K_BDlWDFVnqHJ69LrRLHzsG3Vt1_EuF1CQCJw-erVA1bWn.aK6G-MxmMYmSkACuczQuR4yI0PIn2BzHbY4-bbiXRLo&dib_tag=se&keywords=bee35&qid=1744202041&sr=8-1) |
|
| 360 | - |
|
| 361 | - |
|
| 362 | - |
|
| 363 | -## BEE25 |
|
| 364 | - |
|
| 365 | -Propeller Size: 2.5 inches |
|
| 366 | - |
|
| 367 | -The SpeedyBee Bee25 is a compact 2.5-inch cinewhoop drone designed for agility and portability, especially suited for indoor and tight-space flying. |
|
| 368 | - |
|
| 369 | - |
|
| 370 | -## wheelbase |
|
| 371 | - |
|
| 372 | -In FPV drones, the **wheelbase** refers to the **diagonal distance between the centers of the two furthest-apart motors**, usually measured in **millimeters (mm)**. It’s a standard way to classify the size of a drone frame. |
|
| 373 | - |
|
| 374 | ---- |
|
| 375 | - |
|
| 376 | -### 🧩 Why Wheelbase Matters |
|
| 377 | - |
|
| 378 | -- **Determines Propeller Size**: Larger wheelbase = larger props supported. |
|
| 379 | -- **Affects Maneuverability**: Smaller wheelbase = more agile, Larger = more stable. |
|
| 380 | -- **Influences Payload**: Bigger wheelbase frames can carry heavier gear (e.g., action cameras, larger batteries). |
|
| 381 | - |
|
| 382 | ---- |
|
| 383 | - |
|
| 384 | -### 📏 Common FPV Drone Wheelbase Categories |
|
| 385 | - |
|
| 386 | -| Size Category | Typical Wheelbase | Prop Size | Usage | | |
|
| 387 | -| -------------- | ----------------- | --------- | -------------------------------- | ---------------------------- | |
|
| 388 | -| **Tiny Whoop** | 65–75 mm | 31–40 mm | Indoor, safe micro flying | Meteor75, Aquila16 | |
|
| 389 | -| **Micro** | 85–120 mm | 2"–2.5" | Indoor/outdoor, cinewhoop | BEE25, Pavo25, Pavo20 = 90mm | |
|
| 390 | -| **Mini** | 130–180 mm | 3"–4" | Freestyle, racing | | |
|
| 391 | -| **Standard** | 200–250 mm | 5" | Freestyle, long-range, cinematic | | |
|
| 392 | -| **Large** | 250+ mm | 6"+ | Long-range, heavy payloads | | |
|
| 393 | - |
|
| 394 | - |
|
| 395 | ---- |
|
| 396 | - |
|
| 397 | -### 📌 Examples |
|
| 398 | - |
|
| 399 | -- **Meteor75** → **75mm wheelbase** → Tiny Whoop class |
|
| 400 | -- **SpeedyBee Bee25** → **120mm wheelbase** → Micro/Cinewhoop class |
|
| 401 | - |
|
| 402 | -- cinelog-25 |
|
| 403 | - |
|
| 404 | -- [[FPV-load-dat]] |
|
| 405 | - |
|
| 406 | - |
|
| 407 | - |
|
| 408 | - |
|
| 409 | -- [[drone-maker-dat]] |
|
| 410 | - |
|
| 411 | -## ref |
|
| 412 | - |
|
| 413 | -- [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/FPV-frame-dat/FPV-frame-dat.md
| ... | ... | @@ -1,3 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-frame-dat |
|
| 3 | - |
app-dat/RC-dat/FPV-dat/FPV-load-dat/FPV-load-dat.md
| ... | ... | @@ -1,61 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-load-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -== [[TX800-dat]] + [[MS-519-dat]] + [[camera-action-dat]] = RMB 250 + 500 = 750 |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -## Can the BetaFPV Pavo25 (Bee25) Carry a 120g GoPro? |
|
| 10 | - |
|
| 11 | -Yes, the **BetaFPV Pavo25** can carry a **120g GoPro** (like the HERO11 Mini), but **with limitations**. |
|
| 12 | - |
|
| 13 | ---- |
|
| 14 | - |
|
| 15 | -### 🔋 Battery & Flight Time |
|
| 16 | - |
|
| 17 | -- **Recommended battery**: 4S 650–850mAh LiPo |
|
| 18 | -- **With a naked GoPro (~30g)**: ~4–5 minutes of flight |
|
| 19 | -- **With a full GoPro (~120g)**: ~2–3 minutes of flight |
|
| 20 | -- **Heavier load** = more power draw = **shorter flight time** and **higher heat** |
|
| 21 | - |
|
| 22 | ---- |
|
| 23 | - |
|
| 24 | -### ⚙️ Hardware Requirements |
|
| 25 | - |
|
| 26 | -- **Motors**: Stock 1404 4500KV can lift it, but performance drops |
|
| 27 | -- **Battery**: Use a **high C-rate** (≥75C) to avoid voltage sag |
|
| 28 | -- **Frame**: Strip off any unnecessary accessories to reduce weight |
|
| 29 | - |
|
| 30 | ---- |
|
| 31 | - |
|
| 32 | -### 🛑 Potential Drawbacks |
|
| 33 | - |
|
| 34 | -- **Increased ESC and motor temperature** |
|
| 35 | -- **Reduced agility and climb rate** |
|
| 36 | -- **Poor handling in wind** |
|
| 37 | -- **Shorter battery life** |
|
| 38 | -- **Risk of motor burnout** if pushed too hard |
|
| 39 | - |
|
| 40 | ---- |
|
| 41 | - |
|
| 42 | -### ✅ Tips for Better Performance |
|
| 43 | - |
|
| 44 | -- Use a **"naked GoPro"** (~30–35g) to lighten the load |
|
| 45 | -- Fly in **calm weather** |
|
| 46 | -- Limit aggressive maneuvers |
|
| 47 | -- Consider switching to a **larger cinewhoop** (like Pavo30, Defender 25, or CineLog30) |
|
| 48 | - |
|
| 49 | ---- |
|
| 50 | - |
|
| 51 | -### 📦 Summary |
|
| 52 | - |
|
| 53 | -| Payload | Flyable? | Flight Time | Notes | |
|
| 54 | -|----------------|----------|-------------|--------------------------------| |
|
| 55 | -| Naked GoPro (~30g) | ✅ Yes | ~4–5 min | Best performance | |
|
| 56 | -| Full GoPro (~120g) | ⚠️ Yes | ~2–3 min | Limited performance, extra strain | |
|
| 57 | - |
|
| 58 | - |
|
| 59 | -## ref |
|
| 60 | - |
|
| 61 | -- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/FPV-purpose-dat/FPV-purpose-dat.md
| ... | ... | @@ -1,60 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-purpose-dat |
|
| 3 | - |
|
| 4 | -## Better Cinewhoop Options Than Mobula8 |
|
| 5 | - |
|
| 6 | -If your goal is **cinematic FPV footage**, there are stronger options than the Mobula8. |
|
| 7 | -Key things to look for in a cinewhoop: |
|
| 8 | -- Larger frame with ducts/guards → protects props, cleaner footage. |
|
| 9 | -- Stronger motors/ESCs → can carry payload (Insta360 GO, Naked GoPro, etc.). |
|
| 10 | -- HD video system (DJI O3, Walksnail, HDZero, or high-quality analog). |
|
| 11 | -- Stable flight time even with payload. |
|
| 12 | - |
|
| 13 | ---- |
|
| 14 | - |
|
| 15 | -### Comparison: Mobula8 vs Alternatives |
|
| 16 | - |
|
| 17 | -| Model / Frame | Size | Battery | Payload Ability | Notes | |
|
| 18 | -|--------------------------|-------------|---------------|-----------------|-------| |
|
| 19 | -| [[Mobula8-dat]] | 85 mm, 2S | 450–650 mAh | Insta360 GO / Peanut | Best of Mobula line, but limited thrust for heavy cams. | |
|
| 20 | -| **Flylens 85** | 85 mm, 2" | 2S–3S | Light HD cam | Cinewhoop-focused frame with ducts. | |
|
| 21 | -| **Petrel85 Whoop** | 85 mm, 2" | 2S–3S | Light HD cam | Strong, good for micro cine builds. | |
|
| 22 | -| **SpeedyBee Flex25** | 2.5 inch | 3S–4S | Naked GoPro | Compact but powerful, indoor + outdoor cinewhoop. | |
|
| 23 | -| **TransTEC Beetle 2.5"**| 2.5 inch | 3S–4S | Naked GoPro | Supports DJI digital system. | |
|
| 24 | -| **GEPRC CL35 V2** | 3.5 inch | 4S–6S | Full GoPro | Heavier, great outdoors, stable footage. | |
|
| 25 | -| **iFlight Green Hornet**| 3 inch | 4S–6S | Naked/Full GoPro| Classic cinewhoop, strong ducts, proven design. | |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | ---- |
|
| 30 | - |
|
| 31 | -### Product Suggestions |
|
| 32 | - |
|
| 33 | -#### 1. BETAFPV Meteor65 Pro (O4 / 1S) |
|
| 34 | -- Ultra-light 1S whoop with HD system. |
|
| 35 | -- Great for **tiny indoor cinematic flying**. |
|
| 36 | -- Cannot carry external action cam. |
|
| 37 | - |
|
| 38 | -#### 2. HGLRC Talon 2-inch 4S Cinewhoop |
|
| 39 | -- 2-inch cinewhoop, very stable. |
|
| 40 | -- Handles **Insta360 GO2 / Naked GoPro**. |
|
| 41 | -- Best balance of power and size. |
|
| 42 | - |
|
| 43 | -#### 3. Lumenier QAV-PRO Nano Whoop (2-inch) |
|
| 44 | -- Premium cinewhoop frame kit. |
|
| 45 | -- Great ducts, solid carbon design. |
|
| 46 | -- Designed for cinematic micro builds. |
|
| 47 | - |
|
| 48 | -#### 4. GEPRC CL35 V2 (3.5-inch) |
|
| 49 | -- Large cinewhoop, supports **full GoPro Hero**. |
|
| 50 | -- Best for outdoor cinematic work. |
|
| 51 | -- More thrust, less indoor-friendly. |
|
| 52 | - |
|
| 53 | ---- |
|
| 54 | - |
|
| 55 | -### ✅ Recommendation |
|
| 56 | -- **Small indoor cinewhoop** → BETAFPV Meteor65 Pro (ultra-light) |
|
| 57 | -- **Balanced micro cinewhoop** → HGLRC Talon 2" or SpeedyBee Flex25 |
|
| 58 | -- **Heavy-duty outdoor cinewhoop** → GEPRC CL35 V2 or iFlight Green Hornet |
|
| 59 | - |
|
| 60 | -👉 If you want something better than Mobula8 but still compact: **SpeedyBee Flex25** or **HGLRC Talon 2"** are the best choices. |
app-dat/RC-dat/FPV-dat/FPV-simulation-dat/FPV-simulation-dat.md
| ... | ... | @@ -1,89 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-simulation-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## Popular FPV Simulators for PC |
|
| 8 | - |
|
| 9 | -| Simulator | Highlights | Price | |
|
| 10 | -| ------------- | ---------------------------------------------------------- | ----- | |
|
| 11 | -| Liftoff | Realistic physics, good for racing & freestyle | ~$20 | |
|
| 12 | -| VelociDrone | Excellent feel, popular for competition practice | ~$20 | |
|
| 13 | -| DRL Simulator | Based on the Drone Racing League, includes tracks & events | ~$10 | |
|
| 14 | -| Uncrashed | Stunning graphics, smooth flying | ~$15 | |
|
| 15 | -| FPV Freerider | Lightweight, good for low-end PCs | ~$5 | |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -## Compatible Controllers |
|
| 20 | - |
|
| 21 | -- RadioMaster TX16S |
|
| 22 | -- FrSky Taranis QX7 / X9D |
|
| 23 | -- BetaFPV LiteRadio |
|
| 24 | -- DJI FPV controller (works with some sims) |
|
| 25 | -- Most transmitters that support USB or simulator mode |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -## 🆓 Free or Open Source FPV Simulators for PC |
|
| 30 | - |
|
| 31 | -### 🛠 FPV.Skydive (from ORQA) |
|
| 32 | -- ✅ Free on Steam |
|
| 33 | -- 🧠 Beginner-friendly with training modules |
|
| 34 | -- 🎮 Supports many controllers (via USB) |
|
| 35 | -- 📦 Good for freestyle and basic racing |
|
| 36 | -- ❗ Not open-source, but completely free |
|
| 37 | -- 🔗 [Steam Link](https://store.steampowered.com/app/1645840/FPV_Skydive/) |
|
| 38 | - |
|
| 39 | -https://store.steampowered.com/app/1278060/FPV_SkyDive__FPV_Drone_Simulator/ |
|
| 40 | - |
|
| 41 | ---- |
|
| 42 | - |
|
| 43 | -### 🛠 RotorHazard Simulator |
|
| 44 | -- ⚙️ Community-developed simulator inspired by RotorHazard timing system |
|
| 45 | -- 🖥 Lightweight, browser-based or local |
|
| 46 | -- 💻 Not super polished, but interesting for DIY folks |
|
| 47 | -- 🌐 Open-source (GitHub available) |
|
| 48 | -- 🔗 [GitHub Repository](https://github.com/RotorHazard) |
|
| 49 | - |
|
| 50 | ---- |
|
| 51 | - |
|
| 52 | -### 🛠 OpenFPV Simulator (dead?) |
|
| 53 | -- 🌍 Browser-based prototype sim |
|
| 54 | -- 👶 Very basic physics and controls |
|
| 55 | -- 🧑💻 Open-source, you can fork or contribute |
|
| 56 | -- 🔧 Good for devs/hackers/experimenters |
|
| 57 | -- 🔗 [GitHub Link](https://github.com/OpenFPV/openfpv-simulator) |
|
| 58 | - |
|
| 59 | ---- |
|
| 60 | - |
|
| 61 | -### 🛠 Multirotor Sim (Unity-based) (dead?) |
|
| 62 | -- 🧪 Community project with editable Unity source |
|
| 63 | -- 🎮 Supports USB controllers |
|
| 64 | -- 🔧 Needs a bit of setup, but can be modified freely |
|
| 65 | -- 🔗 [GitHub Link](https://github.com/ArduPilot/multirotor_sim) |
|
| 66 | - |
|
| 67 | ---- |
|
| 68 | - |
|
| 69 | -### 📌 Honorable Mentions (Free Trials or Demos) |
|
| 70 | - |
|
| 71 | -#### **FPV Freerider (Demo version)** |
|
| 72 | -- Limited map, but physics work well |
|
| 73 | -- 🔗 [freeriderfpv.com](https://fpv-freerider.itch.io/fpv-freerider-recharged-demo) |
|
| 74 | - |
|
| 75 | ---- |
|
| 76 | - |
|
| 77 | -### 🧭 Recommendation |
|
| 78 | - |
|
| 79 | -- **If you're new and want a polished free experience:** |
|
| 80 | - ➡️ Try **[FPV.Skydive](https://store.steampowered.com/app/1645840/FPV_Skydive/)** |
|
| 81 | - |
|
| 82 | -- **If you're into tinkering or want to code your own sim:** |
|
| 83 | - ➡️ Check out **OpenFPV** or **Multirotor Sim** on GitHub |
|
| 84 | - |
|
| 85 | - |
|
| 86 | -## ref |
|
| 87 | - |
|
| 88 | - |
|
| 89 | -- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/FPV-takeoff-checklist-dat.md
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-takeoff-checklist-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## first flight |
|
| 9 | - |
|
| 10 | -1) Never run Mobula8 on USB for a long time; limit to a few minutes for configuration. |
|
| 11 | -2) Always remove propellers before powering via USB. |
|
| 12 | -3) For extended testing or Betaflight tuning, use a small 1S LiPo instead of USB — it provides proper current. |
|
| 13 | -4) If the board feels hot to touch (>50°C), unplug immediately and let it cool. |
|
| 14 | -5) Do not attempt to fly while USB is plugged in. |
|
| 15 | -6) Configure and test sticks, switches, and modes in Betaflight quickly, then disconnect USB. |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -Ensure **Motor Stop** mode is OFF (so motors spin when armed). |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -Modes Tab → check flight modes assigned (Angle / Horizon / Acro). |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -Configuration → **Minimum Command / Motor Idle**. - Set to ~5–10% (~1050–1100 in Betaflight). |
|
| 33 | - |
|
| 34 | -- [[RC-controller-dat]] |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 38 | - |
|
| 39 | -- [[mobula8-dat]] |
|
| 40 | - |
|
| 41 | -- [[propeller-dat]] |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -https://www.happymodel.cn/index.php/2023/05/05/default-factory-dump-file-for-mobula8/ |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/Goggles-dat/2025-09-04-15-39-13.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/Goggles-dat/2025-09-04-15-39-13.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/Goggles-dat/Goggles-dat.md
| ... | ... | @@ -1,102 +0,0 @@ |
| 1 | - |
|
| 2 | -# Goggles-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[DJI-dat]] - [[fat-shark-dat]] - [[sky-zone-dat]] |
|
| 6 | - |
|
| 7 | -- [[DJI-goggles-dat]] |
|
| 8 | - |
|
| 9 | -- [[walksnail-dat]] |
|
| 10 | - |
|
| 11 | -- GogglesX |
|
| 12 | -- Goggles L |
|
| 13 | - |
|
| 14 | -## pair |
|
| 15 | - |
|
| 16 | -3. **Enter auto-scan mode on goggles** |
|
| 17 | - - Press the **Band/Channel button** (short press or long press, depending on goggles model) to start **auto-search/scan**. |
|
| 18 | - - The goggles will automatically scan through all frequencies to lock onto the strongest signal. |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## Features |
|
| 22 | - |
|
| 23 | -- eye view == 155 degree |
|
| 24 | - |
|
| 25 | -- fly speed == 27M/s |
|
| 26 | - |
|
| 27 | -- freestyle |
|
| 28 | - |
|
| 29 | -- stablization |
|
| 30 | - |
|
| 31 | -- battery |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## Analog FPV drones: |
|
| 35 | - |
|
| 36 | -- If your drone transmits on **5.8 GHz analog** (common for micro/Whoop drones), Aquila16 can receive it. |
|
| 37 | -- support OSD or digital link. |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## mechanical Gimbal |
|
| 43 | - |
|
| 44 | -- GM1 |
|
| 45 | -- GM2 |
|
| 46 | -- GM3 |
|
| 47 | - |
|
| 48 | - |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## Rotorama 008D Pro == 朗视特 |
|
| 58 | - |
|
| 59 | - |
|
| 60 | -Rotorama 008D are basic FPV goggles for starting FPV pilots. The basis is a 4.3" IPS display with an aspect ratio of 16:9 and a resolution of 800x480 pixels, which is sufficient for displaying an analog video signal. The reception is taken care of by a dual receiver supporting all the usual 40 channels. In the package you can find two basic antennas with circular polarization. The goggles support the DVR function, when the received image can be recorded on an SD card of up to 32GB (FAT32). It is possible to connect headphones or an external video receiver. Power is provided by an integrated battery with a capacity of 2000mAh, which is enough for 2-3 hours of operation. The battery is charged via USB connector. The goggles are delivered in a hard case with a zipper. |
|
| 61 | - |
|
| 62 | -Key Features |
|
| 63 | -- Size: 144x155x113mm |
|
| 64 | -- Connector: RP-SMA |
|
| 65 | -- Receiver: Dual 40Ch |
|
| 66 | -- Display: 4.3" IPS 800x480px 16:9 |
|
| 67 | -- Battery: Integrated 2000mAh |
|
| 68 | -- Input voltage: 5-23V |
|
| 69 | -- Supporting DVR |
|
| 70 | - |
|
| 71 | - |
|
| 72 | -## BeeRotor |
|
| 73 | - |
|
| 74 | -- **Second Generation Upgrades:** |
|
| 75 | - - New DVR recording function, can record flight video in real-time, and play back flight recordings. |
|
| 76 | - - With audio recording function, can record the sound of the aircraft flying in the air. |
|
| 77 | - - Increased fan and heat dissipation holes, can effectively prevent fogging of the lens during long-term use. |
|
| 78 | - - Comes with new BEEROTOR mushroom antenna and flat panel antenna for better performance. |
|
| 79 | - - Dual 5.8G reception, high sensitivity, strong anti-interference ability, good reception effect. |
|
| 80 | - - Built-in 5-inch high-definition screen, strong FPV immersion, making the flight feel immersive. |
|
| 81 | - - The shell is made of EPP molding, ultra-light and drop-resistant, weighing only 236g. |
|
| 82 | - - 2-6S LIPO wide voltage input, low battery requirements, strong applicability. |
|
| 83 | - |
|
| 84 | -- **Product Parameters:** |
|
| 85 | - - Dimensions: 165*150*115mm |
|
| 86 | - - Weight: Ready-to-use 242 grams (without antenna) |
|
| 87 | - - Or 264 grams (including flat panel and Honeydrop antenna) |
|
| 88 | - - Battery Voltage Range: |
|
| 89 | - - 7-25VDC power supply range, 2S or 3S is recommended. |
|
| 90 | - - A 2200mAh 2S 7.4V battery can be used for approximately 3 hours of FPV. |
|
| 91 | - - When the battery is low, an external battery can be plugged in for charging while in use. |
|
| 92 | - - Display Screen Size: 5.0 inches, 800*480px |
|
| 93 | - - Brightness: 600cd/m2 |
|
| 94 | - - Lens: 2.9x, PMMA, no dispersion, no distortion, Fresnel |
|
| 95 | - - Headband: Three-way adjustable T-strap |
|
| 96 | - |
|
| 97 | -## SkyZone |
|
| 98 | - |
|
| 99 | - |
|
| 100 | -## ref |
|
| 101 | - |
|
| 102 | -- [[goggles]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/FPV-dat/Goggles-dat/fat-shark-dat/fat-shark-dat.md
| ... | ... | @@ -1,38 +0,0 @@ |
| 1 | - |
|
| 2 | -# fat-shark-dat |
|
| 3 | - |
|
| 4 | -## Double AXII Long Range - antenna only |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -Also works great on the DJI digital FPV goggles! Just make sure to purchase RP-SMA to SMA adapters so they can |
|
| 8 | -properly mount to the RP-SMA connection the goggles. |
|
| 9 | - |
|
| 10 | -- DJI Digital HD FPV Goggles |
|
| 11 | -- RF RP-SMA Male to SMA Female Adapter |
|
| 12 | - |
|
| 13 | -Specifications |
|
| 14 | -- Gain: 4.7dBiC |
|
| 15 | -- Axial ratio: 1.0 (near perfect) |
|
| 16 | -- Bandwidth: 5.3GHz-6.2GHz |
|
| 17 | -- Radiation Efficiency: 98% |
|
| 18 | -- SWR: <=1.5:1 |
|
| 19 | -- Weight: 12g |
|
| 20 | -- Size: 130mm x17.5mm |
|
| 21 | -- Cable: Semi-rigidRG402 |
|
| 22 | -- Connector: Straight SMA |
|
| 23 | - |
|
| 24 | -Polarization - Right Hand Circular(RHCP) |
|
| 25 | - |
|
| 26 | -Includes - 1x Lumenier Double AXIl 2 SMA 5.8GHz Antenna (RHCP) |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -[Fat Shark Recon Echo FPV Goggles](https://www.amazon.com/Fat-Shark-Recon-Echo-Goggles/dp/B0CTB8VLYQ/ref=sr_1_41?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-41) |
|
| 31 | - |
|
| 32 | - |
|
| 33 | -## video |
|
| 34 | - |
|
| 35 | -- https://www.youtube.com/watch?v=S1uHXYxcE_Q |
|
| 36 | - |
|
| 37 | -## ref |
|
| 38 | - |
app-dat/RC-dat/FPV-dat/Goggles-dat/skyzone-dat/2025-05-29-16-35-55.png
| ... | ... | Binary files a/app-dat/RC-dat/FPV-dat/Goggles-dat/skyzone-dat/2025-05-29-16-35-55.png and /dev/null differ |
app-dat/RC-dat/FPV-dat/Goggles-dat/skyzone-dat/skyzone-dat.md
| ... | ... | @@ -1,17 +0,0 @@ |
| 1 | - |
|
| 2 | -# sky-zone-dat |
|
| 3 | - |
|
| 4 | -SKYZONE 04X PRO |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -Skyzone SKY02S V+ 3D 5.8G 40CH FPV Goggles |
|
| 10 | -- 10 years |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## ref |
|
| 16 | - |
|
| 17 | -- [[goggles-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-Controller-dat/2025-09-03-12-17-19.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-Controller-dat/2025-09-03-12-17-19.png and /dev/null differ |
app-dat/RC-dat/RC-Controller-dat/2025-09-03-12-23-28.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-Controller-dat/2025-09-03-12-23-28.png and /dev/null differ |
app-dat/RC-dat/RC-Controller-dat/FPV-controller-dat/FPV-controller-dat.md
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | - |
|
| 2 | -# FPV-receiver-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -- [[NRF24L01-dat]] |
|
| 8 | - |
|
| 9 | -## control |
|
| 10 | - |
|
| 11 | -- [[radiomaster-dat]] |
|
| 12 | - |
|
| 13 | -rest at exact 1500 |
|
| 14 | - |
|
| 15 | - |
|
| 16 | -- right - L/R == roll |
|
| 17 | -- right - U/D == pitch |
|
| 18 | -- left - L/R == yaw |
|
| 19 | -- left - U/D == throttle |
|
| 20 | -- AUX 1 |
|
| 21 | -- AUX 2 |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -## common calibration methods |
|
| 25 | - |
|
| 26 | -校准遥控器:左摇杆油门拉到最低,右摇杆往左下方打,遥控器出现 calibrating.... ,释放右摇杆 |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -- [[ELRS-dat]] - [[TBS-dat]] |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -## DJI |
|
| 36 | - |
|
| 37 | -- [DJI FPV Remote Controller 3](https://www.amazon.com/DJI-FPV-Remote-Controller-Compatibility/dp/B0CS6JCX2W/ref=sr_1_3?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-3) |
|
| 38 | - |
|
| 39 | -- [DJI RC Motion 3, FPV Smart Controller with Immersive Motion Control, Compact and Portable, One-Click Emergency Brake, AR Cursor, Intuitive Drone Controller, Multi-Model Compatibility](https://www.amazon.com/DJI-Controller-Immersive-Multi-Model-Compatibility/dp/B0CS6LDCKC/ref=sr_1_11?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-11) |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## ref |
|
| 43 | - |
|
| 44 | -- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-Controller-dat/RC-controller-dat.md
| ... | ... | @@ -1,110 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-controller-dat |
|
| 3 | - |
|
| 4 | -Check **Channel Map**: should be **AETR**. |
|
| 5 | - |
|
| 6 | -- A: Aileron (Roll) |
|
| 7 | -- E: Elevator (Pitch) |
|
| 8 | -- T: Throttle |
|
| 9 | -- R: Rudder (Yaw) |
|
| 10 | - |
|
| 11 | -A Roll E Pitch R Yaw T Throttle |
|
| 12 | - |
|
| 13 | -Roll Pitch Yaw Throttle |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -- [[mobula8-dat]] |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## drift |
|
| 24 | - |
|
| 25 | -### 2. Calibration & Orientation |
|
| 26 | - |
|
| 27 | -7. Betaflight → `Setup` → **Calibrate Accelerometer** (drone must be level). |
|
| 28 | -8. In `Setup` 3D model: tilt the drone → model should move the same way. |
|
| 29 | -- If not → fix in Configuration → `Board Alignment` (Yaw 90/180/270 etc). |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -- **Calibrate Accelerometer**: Betaflight → Setup → Calibrate on a perfectly flat surface. |
|
| 33 | -- Make sure the quad is completely still during calibration. |
|
| 34 | -- Check **Setup Tab 3D model** → it must move exactly like the real quad. |
|
| 35 | -- If model twitches on its own → gyro noise or vibration problem. |
|
| 36 | - |
|
| 37 | -### 4. Fixing “Steady Right Drift” |
|
| 38 | - |
|
| 39 | -12. If subtrim is correct but it still drifts → go to `PID Tuning`. |
|
| 40 | -13. Increase **Roll I-term** slightly (+1 → +4, test each step). |
|
| 41 | -14. If oscillations appear → reduce Roll P or Roll D by small steps (-1). |
|
| 42 | -15. Check Motor Idle value: `Configuration → DShot Idle` around **5%** (or min_command ≈1050). |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -- Reset to Betaflight **default PIDs** for Mobula8 (start clean). |
|
| 47 | -- Reduce **Roll/Pitch P by 10%** if oscillations occur. |
|
| 48 | -- Increase **I-term by +5** if drift is slow and continuous. |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -### 4. Angle Mode Settings |
|
| 52 | -- If drift only happens in **Angle Mode**: |
|
| 53 | - - Use small **Accelerometer Roll/Pitch Trim** adjustments. |
|
| 54 | - - Example: Drift forward → Pitch Trim negative. |
|
| 55 | - |
|
| 56 | -### If drift happens in **Acro Mode too** |
|
| 57 | - |
|
| 58 | -→ it’s not accelerometer, it’s mechanical or PID. |
|
| 59 | - |
|
| 60 | - |
|
| 61 | - |
|
| 62 | -## 🛠️ PID Tuning for Slow & Smooth Flight (Mobula8) |
|
| 63 | - |
|
| 64 | -- [[PID-dat]] |
|
| 65 | - |
|
| 66 | -### 1. Start from Defaults |
|
| 67 | -- In Betaflight Configurator → **PID Tuning Tab** → click *Reset to Defaults*. |
|
| 68 | -- This gives you a stable baseline. |
|
| 69 | - |
|
| 70 | -### 2. Lower P and D Gains (Gentler Response) |
|
| 71 | -- Roll / Pitch **P**: reduce by ~20% |
|
| 72 | -- Roll / Pitch **D**: reduce by ~20% |
|
| 73 | -- Yaw can stay default. |
|
| 74 | -👉 Lower P/D = less aggressive corrections → smoother flying. |
|
| 75 | - |
|
| 76 | -### 3. Increase I-Term Slightly (Stable Hover) |
|
| 77 | -- Roll / Pitch **I**: increase by +10–15% |
|
| 78 | -👉 Helps hold level in hover, prevents drift. |
|
| 79 | - |
|
| 80 | -### 4. Add a Bit of Damping (TPA / D-Term Filter) |
|
| 81 | -- Leave filters at default first. |
|
| 82 | -- If motors get hot, lower D-Term a bit more. |
|
| 83 | - |
|
| 84 | - |
|
| 85 | - |
|
| 86 | -### 5. Rates (Most Important for Smooth Flying) |
|
| 87 | -Go to **Rates Tab**: |
|
| 88 | -- **RC Rate**: 0.80 → change to **0.50** |
|
| 89 | -- **Super Rate**: 0.70 → change to **0.60** |
|
| 90 | -- **Expo**: set to **0.25–0.30** |
|
| 91 | -👉 Slows down stick sensitivity, smoother camera movement. |
|
| 92 | - |
|
| 93 | -### 6. Throttle Curve (for Gentle Hover) |
|
| 94 | -- Betaflight: use **Throttle Expo** in PID Tuning → Throttle tab. |
|
| 95 | - - Throttle Mid: set to ~0.50 |
|
| 96 | - - Throttle Expo: set to 0.20–0.30 |
|
| 97 | -👉 Gives finer control near hover point. |
|
| 98 | - |
|
| 99 | -### 7. Test Hover Indoors |
|
| 100 | -- Arm in **Angle Mode**. |
|
| 101 | -- Slowly raise throttle. |
|
| 102 | -- Quad should lift smoothly without sudden jerks. |
|
| 103 | -- Adjust Expo if still too sensitive. |
|
| 104 | - |
|
| 105 | ---- |
|
| 106 | -### ✅ Summary for Smooth / Cinewhoop-style Flying |
|
| 107 | -- Lower **P/D** = softer movements. |
|
| 108 | -- Raise **I** = stable hover. |
|
| 109 | -- Reduce **Rates** + add **Expo** = slower stick response. |
|
| 110 | -- Throttle Expo = smoother lift / descend. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/PWM-1ch.ino
| ... | ... | @@ -1,74 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 2; // Channel 1 |
|
| 3 | - |
|
| 4 | -const int ENA = 5; // PWM for speed for Motor 1 |
|
| 5 | -const int ENB = 4; // PWM for speed for Motor 2 |
|
| 6 | - |
|
| 7 | -const int IN1 = 0; // Direction for Motor 1 (IN2_Motor1 is inverted in hardware) |
|
| 8 | -const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 9 | - |
|
| 10 | -long aileronControl; |
|
| 11 | - |
|
| 12 | -long readAileronControlSignal() { |
|
| 13 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 14 | - if (rawPWM == 0) { // Timeout or no signal |
|
| 15 | - return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 16 | - } |
|
| 17 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 18 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 19 | -} |
|
| 20 | - |
|
| 21 | -void setup() { |
|
| 22 | - pinMode(aileronPin, INPUT); |
|
| 23 | - |
|
| 24 | - pinMode(ENA, OUTPUT); |
|
| 25 | - pinMode(ENB, OUTPUT); |
|
| 26 | - pinMode(IN1, OUTPUT); |
|
| 27 | - pinMode(IN2, OUTPUT); |
|
| 28 | - |
|
| 29 | - // Initialize motors to off |
|
| 30 | - digitalWrite(IN1, LOW); |
|
| 31 | - digitalWrite(IN2, LOW); |
|
| 32 | - analogWrite(ENA, 0); |
|
| 33 | - analogWrite(ENB, 0); |
|
| 34 | - |
|
| 35 | - Serial.begin(9600); |
|
| 36 | -} |
|
| 37 | - |
|
| 38 | -void loop() { |
|
| 39 | - // Read mapped control signals from each channel |
|
| 40 | - aileronControl = readAileronControlSignal(); |
|
| 41 | - |
|
| 42 | - // Print the mapped control signal values to the Serial Monitor |
|
| 43 | - Serial.print("Aileron: "); |
|
| 44 | - Serial.print(aileronControl); |
|
| 45 | - Serial.println(); // Newline for better readability |
|
| 46 | - |
|
| 47 | - if (aileronControl > 70) { |
|
| 48 | - // Forward |
|
| 49 | - digitalWrite(IN1, HIGH); // Motor 1 forward |
|
| 50 | - digitalWrite(IN2, HIGH); // Motor 2 forward |
|
| 51 | - |
|
| 52 | - // Map aileronControl (61-100) to PWM speed (e.g., 100-255) |
|
| 53 | - int motorSpeed = map(aileronControl, 61, 100, 100, 255); |
|
| 54 | - analogWrite(ENA, motorSpeed); |
|
| 55 | - analogWrite(ENB, motorSpeed); |
|
| 56 | - } else if (aileronControl < 30) { |
|
| 57 | - // Backward |
|
| 58 | - digitalWrite(IN1, LOW); // Motor 1 backward |
|
| 59 | - digitalWrite(IN2, LOW); // Motor 2 backward |
|
| 60 | - |
|
| 61 | - // Map aileronControl (0-39) to PWM speed (e.g., 255-100, reversing the range for backward) |
|
| 62 | - int motorSpeed = map(aileronControl, 0, 39, 255, 100); |
|
| 63 | - analogWrite(ENA, motorSpeed); |
|
| 64 | - analogWrite(ENB, motorSpeed); |
|
| 65 | - } else { |
|
| 66 | - // Stop motors (aileronControl is between 40 and 60 inclusive) |
|
| 67 | - digitalWrite(IN1, LOW); |
|
| 68 | - digitalWrite(IN2, LOW); |
|
| 69 | - analogWrite(ENA, 0); |
|
| 70 | - analogWrite(ENB, 0); |
|
| 71 | - } |
|
| 72 | - |
|
| 73 | - delay(100); // Limit output rate |
|
| 74 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/PWM-2ch-2.ino
| ... | ... | @@ -1,142 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | - |
|
| 5 | -const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | -const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | - |
|
| 8 | -const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | -const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | - |
|
| 11 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | - |
|
| 14 | -// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | -long readAileronControlSignal() { |
|
| 16 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 18 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 19 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 20 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 21 | - } |
|
| 22 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 23 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 24 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 25 | -} |
|
| 26 | - |
|
| 27 | -// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 28 | -long readElevatorControlSignal() { |
|
| 29 | - unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 30 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 31 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 32 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 33 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 34 | - } |
|
| 35 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 36 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 37 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 38 | -} |
|
| 39 | - |
|
| 40 | -void setup() { |
|
| 41 | - pinMode(aileronPin, INPUT); |
|
| 42 | - pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 43 | - |
|
| 44 | - pinMode(ENA, OUTPUT); |
|
| 45 | - pinMode(ENB, OUTPUT); |
|
| 46 | - pinMode(IN1, OUTPUT); |
|
| 47 | - pinMode(IN2, OUTPUT); |
|
| 48 | - |
|
| 49 | - // Initialize motors to off |
|
| 50 | - digitalWrite(IN1, LOW); |
|
| 51 | - digitalWrite(IN2, LOW); |
|
| 52 | - analogWrite(ENA, 0); |
|
| 53 | - analogWrite(ENB, 0); |
|
| 54 | - |
|
| 55 | - Serial.begin(9600); |
|
| 56 | -} |
|
| 57 | - |
|
| 58 | -// Helper function to control a single motor |
|
| 59 | -// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 60 | -void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 61 | - if (pwmVal > 0) { // Forward |
|
| 62 | - digitalWrite(dirPin, HIGH); |
|
| 63 | - analogWrite(speedPin, pwmVal); |
|
| 64 | - } else if (pwmVal < 0) { // Backward |
|
| 65 | - digitalWrite(dirPin, LOW); |
|
| 66 | - analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 67 | - } else { // Stop |
|
| 68 | - digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 69 | - analogWrite(speedPin, 0); |
|
| 70 | - } |
|
| 71 | -} |
|
| 72 | - |
|
| 73 | -// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 74 | -// with a deadband around the center (e.g., 50). |
|
| 75 | -long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 76 | - long mappedValue = 0; |
|
| 77 | - int deadbandLower = rcCenter - deadbandRadius; |
|
| 78 | - int deadbandUpper = rcCenter + deadbandRadius; |
|
| 79 | - |
|
| 80 | - if (rcValue < deadbandLower) { |
|
| 81 | - // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 82 | - // Ensure deadbandLower - 1 is not less than rcMin |
|
| 83 | - if (deadbandLower -1 < rcMin) { |
|
| 84 | - mappedValue = outMin; |
|
| 85 | - } else { |
|
| 86 | - mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 87 | - } |
|
| 88 | - } else if (rcValue > deadbandUpper) { |
|
| 89 | - // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 90 | - // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 91 | - if (deadbandUpper + 1 > rcMax) { |
|
| 92 | - mappedValue = outMax; |
|
| 93 | - } else { |
|
| 94 | - mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 95 | - } |
|
| 96 | - } else { |
|
| 97 | - // Inside deadband |
|
| 98 | - mappedValue = 0; |
|
| 99 | - } |
|
| 100 | - return constrain(mappedValue, outMin, outMax); |
|
| 101 | -} |
|
| 102 | - |
|
| 103 | -void loop() { |
|
| 104 | - // Read mapped control signals from each channel |
|
| 105 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 106 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 107 | - |
|
| 108 | - // Print the mapped control signal values to the Serial Monitor |
|
| 109 | - Serial.print("Aileron (Throttle): "); |
|
| 110 | - Serial.print(aileronControl); |
|
| 111 | - Serial.print(" Elevator (Steering): "); |
|
| 112 | - Serial.print(elevatorControl); |
|
| 113 | - Serial.println(); |
|
| 114 | - |
|
| 115 | - // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 116 | - // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 117 | - int deadbandRadius = 10; |
|
| 118 | - float steeringFactor = 3; // Adjust this value to change steering sensitivity |
|
| 119 | - float throttleFactor = 3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 120 | - |
|
| 121 | - // Map control values with deadband |
|
| 122 | - long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 123 | - long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 124 | - |
|
| 125 | - // Apply sensitivity factors |
|
| 126 | - long throttleValue = rawThrottleValue * throttleFactor; |
|
| 127 | - long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 128 | - |
|
| 129 | - // Mix throttle and steering for differential drive |
|
| 130 | - long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 131 | - long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 132 | - |
|
| 133 | - // Constrain PWM values to the valid range [-255, 255] |
|
| 134 | - motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 135 | - motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 136 | - |
|
| 137 | - // Set motor speeds and directions |
|
| 138 | - setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 139 | - setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 140 | - |
|
| 141 | - delay(20); // Shorter delay for better responsiveness |
|
| 142 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/PWM-2ch-v2.ino
| ... | ... | @@ -1,68 +0,0 @@ |
| 1 | -// RC signal input pins |
|
| 2 | -#define THROTTLE_PIN 2 // Channel 1 (forward/back) |
|
| 3 | -#define STEERING_PIN 3 // Channel 2 (left/right) |
|
| 4 | - |
|
| 5 | -// Motor control pins (L298N) |
|
| 6 | -#define LEFT_ENA 9 |
|
| 7 | -#define LEFT_IN1 4 |
|
| 8 | -#define LEFT_IN2 5 |
|
| 9 | - |
|
| 10 | -#define RIGHT_ENB 10 |
|
| 11 | -#define RIGHT_IN3 6 |
|
| 12 | -#define RIGHT_IN4 7 |
|
| 13 | - |
|
| 14 | -int throttle, steering; |
|
| 15 | - |
|
| 16 | -void setup() { |
|
| 17 | - pinMode(THROTTLE_PIN, INPUT); |
|
| 18 | - pinMode(STEERING_PIN, INPUT); |
|
| 19 | - |
|
| 20 | - pinMode(LEFT_IN1, OUTPUT); |
|
| 21 | - pinMode(LEFT_IN2, OUTPUT); |
|
| 22 | - pinMode(LEFT_ENA, OUTPUT); |
|
| 23 | - |
|
| 24 | - pinMode(RIGHT_IN3, OUTPUT); |
|
| 25 | - pinMode(RIGHT_IN4, OUTPUT); |
|
| 26 | - pinMode(RIGHT_ENB, OUTPUT); |
|
| 27 | - |
|
| 28 | - Serial.begin(9600); |
|
| 29 | -} |
|
| 30 | - |
|
| 31 | -void loop() { |
|
| 32 | - // Read PWM input |
|
| 33 | - throttle = pulseIn(THROTTLE_PIN, HIGH, 25000); |
|
| 34 | - steering = pulseIn(STEERING_PIN, HIGH, 25000); |
|
| 35 | - |
|
| 36 | - // Center = 1500, range = 1000–2000 |
|
| 37 | - int throttleVal = map(throttle, 1000, 2000, -255, 255); |
|
| 38 | - int steeringVal = map(steering, 1000, 2000, -100, 100); // less aggressive |
|
| 39 | - |
|
| 40 | - // Motor mixing (differential drive) |
|
| 41 | - int leftSpeed = constrain(throttleVal + steeringVal, -255, 255); |
|
| 42 | - int rightSpeed = constrain(throttleVal - steeringVal, -255, 255); |
|
| 43 | - |
|
| 44 | - setMotor(LEFT_IN1, LEFT_IN2, LEFT_ENA, leftSpeed); |
|
| 45 | - setMotor(RIGHT_IN3, RIGHT_IN4, RIGHT_ENB, rightSpeed); |
|
| 46 | - |
|
| 47 | - // Debug |
|
| 48 | - Serial.print("Throttle: "); Serial.print(throttleVal); |
|
| 49 | - Serial.print(" Steering: "); Serial.print(steeringVal); |
|
| 50 | - Serial.print(" L: "); Serial.print(leftSpeed); |
|
| 51 | - Serial.print(" R: "); Serial.println(rightSpeed); |
|
| 52 | - |
|
| 53 | - delay(20); |
|
| 54 | -} |
|
| 55 | - |
|
| 56 | -void setMotor(int in1, int in2, int ena, int speed) { |
|
| 57 | - if (speed > 0) { |
|
| 58 | - digitalWrite(in1, HIGH); |
|
| 59 | - digitalWrite(in2, LOW); |
|
| 60 | - } else if (speed < 0) { |
|
| 61 | - digitalWrite(in1, LOW); |
|
| 62 | - digitalWrite(in2, HIGH); |
|
| 63 | - } else { |
|
| 64 | - digitalWrite(in1, LOW); |
|
| 65 | - digitalWrite(in2, LOW); |
|
| 66 | - } |
|
| 67 | - analogWrite(ena, abs(speed)); |
|
| 68 | -} |
app-dat/RC-dat/RC-code-dat/PWM-2ch.ino
| ... | ... | @@ -1,136 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | - |
|
| 5 | -const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | -const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | - |
|
| 8 | -const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | -const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | - |
|
| 11 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | - |
|
| 14 | -// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | -long readAileronControlSignal() { |
|
| 16 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | - if (rawPWM == 0) { // Timeout or no signal |
|
| 18 | - return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 19 | - } |
|
| 20 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 21 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 22 | -} |
|
| 23 | - |
|
| 24 | -// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 25 | -long readElevatorControlSignal() { |
|
| 26 | - unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 27 | - if (rawPWM == 0) { // Timeout or no signal |
|
| 28 | - return 50; // Mid-point for 0-100 scale (1500us equivalent) |
|
| 29 | - } |
|
| 30 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 31 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 32 | -} |
|
| 33 | - |
|
| 34 | -void setup() { |
|
| 35 | - pinMode(aileronPin, INPUT); |
|
| 36 | - pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 37 | - |
|
| 38 | - pinMode(ENA, OUTPUT); |
|
| 39 | - pinMode(ENB, OUTPUT); |
|
| 40 | - pinMode(IN1, OUTPUT); |
|
| 41 | - pinMode(IN2, OUTPUT); |
|
| 42 | - |
|
| 43 | - // Initialize motors to off |
|
| 44 | - digitalWrite(IN1, LOW); |
|
| 45 | - digitalWrite(IN2, LOW); |
|
| 46 | - analogWrite(ENA, 0); |
|
| 47 | - analogWrite(ENB, 0); |
|
| 48 | - |
|
| 49 | - Serial.begin(9600); |
|
| 50 | -} |
|
| 51 | - |
|
| 52 | -// Helper function to control a single motor |
|
| 53 | -// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 54 | -void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 55 | - if (pwmVal > 0) { // Forward |
|
| 56 | - digitalWrite(dirPin, HIGH); |
|
| 57 | - analogWrite(speedPin, pwmVal); |
|
| 58 | - } else if (pwmVal < 0) { // Backward |
|
| 59 | - digitalWrite(dirPin, LOW); |
|
| 60 | - analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 61 | - } else { // Stop |
|
| 62 | - digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 63 | - analogWrite(speedPin, 0); |
|
| 64 | - } |
|
| 65 | -} |
|
| 66 | - |
|
| 67 | -// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 68 | -// with a deadband around the center (e.g., 50). |
|
| 69 | -long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 70 | - long mappedValue = 0; |
|
| 71 | - int deadbandLower = rcCenter - deadbandRadius; |
|
| 72 | - int deadbandUpper = rcCenter + deadbandRadius; |
|
| 73 | - |
|
| 74 | - if (rcValue < deadbandLower) { |
|
| 75 | - // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 76 | - // Ensure deadbandLower - 1 is not less than rcMin |
|
| 77 | - if (deadbandLower -1 < rcMin) { |
|
| 78 | - mappedValue = outMin; |
|
| 79 | - } else { |
|
| 80 | - mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 81 | - } |
|
| 82 | - } else if (rcValue > deadbandUpper) { |
|
| 83 | - // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 84 | - // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 85 | - if (deadbandUpper + 1 > rcMax) { |
|
| 86 | - mappedValue = outMax; |
|
| 87 | - } else { |
|
| 88 | - mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 89 | - } |
|
| 90 | - } else { |
|
| 91 | - // Inside deadband |
|
| 92 | - mappedValue = 0; |
|
| 93 | - } |
|
| 94 | - return constrain(mappedValue, outMin, outMax); |
|
| 95 | -} |
|
| 96 | - |
|
| 97 | -void loop() { |
|
| 98 | - // Read mapped control signals from each channel |
|
| 99 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 100 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 101 | - |
|
| 102 | - // Print the mapped control signal values to the Serial Monitor |
|
| 103 | - Serial.print("Aileron (Throttle): "); |
|
| 104 | - Serial.print(aileronControl); |
|
| 105 | - Serial.print(" Elevator (Steering): "); |
|
| 106 | - Serial.print(elevatorControl); |
|
| 107 | - Serial.println(); |
|
| 108 | - |
|
| 109 | - // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 110 | - // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 111 | - int deadbandRadius = 5; |
|
| 112 | - float steeringFactor = 1.5; // Adjust this value to change steering sensitivity |
|
| 113 | - float throttleFactor = 1.3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 114 | - |
|
| 115 | - // Map control values with deadband |
|
| 116 | - long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 117 | - long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 118 | - |
|
| 119 | - // Apply sensitivity factors |
|
| 120 | - long throttleValue = rawThrottleValue * throttleFactor; |
|
| 121 | - long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 122 | - |
|
| 123 | - // Mix throttle and steering for differential drive |
|
| 124 | - long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 125 | - long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 126 | - |
|
| 127 | - // Constrain PWM values to the valid range [-255, 255] |
|
| 128 | - motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 129 | - motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 130 | - |
|
| 131 | - // Set motor speeds and directions |
|
| 132 | - setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 133 | - setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 134 | - |
|
| 135 | - delay(20); // Shorter delay for better responsiveness |
|
| 136 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/RC-code-dat.md
| ... | ... | @@ -1,25 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-code-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -basic code == [[basic-code-1.ino]], or [[ultrasonic car-1602.pde]] |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## working for |
|
| 9 | - |
|
| 10 | -- [[SDR1064-dat]] - [[nodemcu-dat]] |
|
| 11 | - |
|
| 12 | -## code |
|
| 13 | - |
|
| 14 | -- [[PWM-1ch.ino]] - [[PWM-2ch.ino]] - [[PWM-2ch-v2.ino]] |
|
| 15 | - |
|
| 16 | -- [[rover-1.ino]] - [[rover-2.ino]] |
|
| 17 | - |
|
| 18 | -- [[DRV8871-dat]] |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## ref |
|
| 22 | - |
|
| 23 | -- [[PWM-dat]] |
|
| 24 | - |
|
| 25 | -- [[RC-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/basic-code-1.ino
| ... | ... | @@ -1,403 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | -******************************************************************************* |
|
| 4 | -遥控超声波测距智能车程序(ARDUINO) |
|
| 5 | -#include <IRremote.h> |
|
| 6 | -#include <Servo.h> |
|
| 7 | -#include <Wire.h> |
|
| 8 | -#include <LiquidCrystal_I2C.h> |
|
| 9 | -//***********************定義馬達腳位************************* |
|
| 10 | -int MotorRight1=6; |
|
| 11 | -int MotorRight2=9; |
|
| 12 | -int MotorLeft1=10; |
|
| 13 | -int MotorLeft2=11; |
|
| 14 | - |
|
| 15 | -int counter=0; |
|
| 16 | -const int irReceiverPin = 3; //紅外線接收器 OUTPUT 訊號接在 pin 3 |
|
| 17 | -//***********************設定所偵測到的 IRcode************************* |
|
| 18 | -long IRfront= 0x00FF629D; //前進碼 |
|
| 19 | -long IRback=0x00FFA857; //後退 |
|
| 20 | -long IRturnright=0x00FF22DD; //右轉 |
|
| 21 | -long IRturnleft= 0x00FFC23D; //左轉 |
|
| 22 | -long IRstop=0x00FF02FD; //停止 |
|
| 23 | -long IRAutorun=0x00FF6897; //超音波自走模式 |
|
| 24 | -long IRturnsmallleft= 0x00FFB04F; |
|
| 25 | -IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 26 | -decode_results results; |
|
| 27 | -//*************************定義超音波腳位****************************** |
|
| 28 | -int inputPin =A0 ; // 定義超音波信號接收腳位 rx |
|
| 29 | -int outputPin =A1; // 定義超音波信號發射腳位'tx |
|
| 30 | -int Fspeedd = 0; // 前方距離 |
|
| 31 | -int Rspeedd = 0; // 右方距離 |
|
| 32 | -int Lspeedd = 0; // 左方距離 |
|
| 33 | -int directionn = 0; // 前=8 後=2 左=4 右=6 |
|
| 34 | -Servo myservo; // 設 myservo |
|
| 35 | -int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 36 | -int Fgo = 8; // 前進 |
|
| 37 | -int Rgo = 6; // 右轉 |
|
| 38 | -int Lgo = 4; // 左轉 |
|
| 39 | -int Bgo = 2; // 倒車 |
|
| 40 | -//********************************************************************(SETUP) |
|
| 41 | -LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line |
|
| 42 | -display |
|
| 43 | -void setup() |
|
| 44 | -{ |
|
| 45 | - Serial.begin(9600); |
|
| 46 | - pinMode(MotorRight1, OUTPUT); // 腳位 8 (PWM) |
|
| 47 | - pinMode(MotorRight2, OUTPUT); // 腳位 9 (PWM) |
|
| 48 | - pinMode(MotorLeft1, OUTPUT); // 腳位 10 (PWM) |
|
| 49 | - pinMode(MotorLeft2, OUTPUT); // 腳位 11 (PWM) |
|
| 50 | - irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 51 | - digitalWrite(3,HIGH); |
|
| 52 | - pinMode(inputPin, INPUT); // 定義超音波輸入腳位 |
|
| 53 | - pinMode(outputPin, OUTPUT); // 定義超音波輸出腳位 |
|
| 54 | - myservo.attach(5); // 定義伺服馬達輸出第 5 腳位(PWM) |
|
| 55 | - lcd.init(); // initialize the lcd |
|
| 56 | - lcd.init(); |
|
| 57 | - // Print a message to the LCD. |
|
| 58 | - |
|
| 59 | - lcd.backlight(); |
|
| 60 | - } |
|
| 61 | -//******************************************************************(Void) |
|
| 62 | -void advance(int a) // 前進 |
|
| 63 | -{ |
|
| 64 | - digitalWrite(MotorRight1,LOW); |
|
| 65 | - digitalWrite(MotorRight2,HIGH); |
|
| 66 | - digitalWrite(MotorLeft1,LOW); |
|
| 67 | - digitalWrite(MotorLeft2,HIGH); |
|
| 68 | - delay(a * 100); |
|
| 69 | -} |
|
| 70 | -void right(int b) //右轉(單輪) |
|
| 71 | -{ |
|
| 72 | - digitalWrite(MotorLeft1,LOW); |
|
| 73 | - digitalWrite(MotorLeft2,HIGH); |
|
| 74 | - digitalWrite(MotorRight1,LOW); |
|
| 75 | - digitalWrite(MotorRight2,LOW); |
|
| 76 | - delay(b * 100); |
|
| 77 | -} |
|
| 78 | -void left(int c) //左轉(單輪) |
|
| 79 | -{ |
|
| 80 | - digitalWrite(MotorRight1,LOW); |
|
| 81 | - digitalWrite(MotorRight2,HIGH); |
|
| 82 | - digitalWrite(MotorLeft1,LOW); |
|
| 83 | - digitalWrite(MotorLeft2,LOW); |
|
| 84 | - delay(c * 100); |
|
| 85 | -} |
|
| 86 | -void turnR(int d) //右轉(雙輪) |
|
| 87 | -{ |
|
| 88 | - digitalWrite(MotorRight1,HIGH); |
|
| 89 | - digitalWrite(MotorRight2,LOW); |
|
| 90 | - digitalWrite(MotorLeft1,LOW); |
|
| 91 | - digitalWrite(MotorLeft2,HIGH); |
|
| 92 | - delay(d * 100); |
|
| 93 | -} |
|
| 94 | -void turnL(int e) //左轉(雙輪) |
|
| 95 | -{ |
|
| 96 | - digitalWrite(MotorRight1,LOW); |
|
| 97 | - digitalWrite(MotorRight2,HIGH); |
|
| 98 | - digitalWrite(MotorLeft1,HIGH); |
|
| 99 | - digitalWrite(MotorLeft2,LOW); |
|
| 100 | - |
|
| 101 | - delay(e * 100); |
|
| 102 | -} |
|
| 103 | -void stopp(int f) //停止 |
|
| 104 | -{ |
|
| 105 | - digitalWrite(MotorRight1,LOW); |
|
| 106 | - digitalWrite(MotorRight2,LOW); |
|
| 107 | - digitalWrite(MotorLeft1,LOW); |
|
| 108 | - digitalWrite(MotorLeft2,LOW); |
|
| 109 | - delay(f * 100); |
|
| 110 | -} |
|
| 111 | -void back(int g) //後退 |
|
| 112 | -{ |
|
| 113 | - digitalWrite(MotorRight1,HIGH); |
|
| 114 | - digitalWrite(MotorRight2,LOW); |
|
| 115 | - digitalWrite(MotorLeft1,HIGH); |
|
| 116 | - digitalWrite(MotorLeft2,LOW);; |
|
| 117 | - delay(g * 100); |
|
| 118 | -} |
|
| 119 | -void detection() //測量 3 個角度(前.左.右) |
|
| 120 | -{ |
|
| 121 | - int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 122 | - ask_pin_F(); // 讀取前方距離 |
|
| 123 | - if(Fspeedd < 10) // 假如前方距離小於 10 公分 |
|
| 124 | - { |
|
| 125 | - stopp(1); // 清除輸出資料 |
|
| 126 | - back(2); // 後退 0.2 秒 |
|
| 127 | - |
|
| 128 | - } |
|
| 129 | - if(Fspeedd < 25) // 假如前方距離小於 25 公分 |
|
| 130 | - { |
|
| 131 | - stopp(1); // 清除輸出資料 |
|
| 132 | - ask_pin_L(); // 讀取左方距離 |
|
| 133 | - delay(delay_time); // 等待伺服馬達穩定 |
|
| 134 | - ask_pin_R(); // 讀取右方距離 |
|
| 135 | - delay(delay_time); // 等待伺服馬達穩定 |
|
| 136 | - if(Lspeedd > Rspeedd) //假如 左邊距離大於右邊距離 |
|
| 137 | - { |
|
| 138 | - directionn = Lgo; //向左走 |
|
| 139 | - } |
|
| 140 | - if(Lspeedd <= Rspeedd) //假如 左邊距離小於或等於右邊距離 |
|
| 141 | - |
|
| 142 | - { |
|
| 143 | - directionn = Rgo; //向右走 |
|
| 144 | - } |
|
| 145 | - if (Lspeedd < 15 && Rspeedd < 15) //假如 左邊距離和右邊距離皆小於 10 公分 |
|
| 146 | - { |
|
| 147 | - directionn = Bgo; //向後走 |
|
| 148 | - } |
|
| 149 | - } |
|
| 150 | - else //加如前方大於 25 公分 |
|
| 151 | - { |
|
| 152 | - directionn = Fgo; //向前走 |
|
| 153 | - } |
|
| 154 | -} |
|
| 155 | -//***************************************************************************** |
|
| 156 | -**** |
|
| 157 | -void ask_pin_F() // 量出前方距離 |
|
| 158 | -{ |
|
| 159 | -myservo.write(90); |
|
| 160 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 161 | -delayMicroseconds(2); |
|
| 162 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 163 | -delayMicroseconds(10); |
|
| 164 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 165 | -float Fdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 166 | -Fdistance= Fdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 167 | -Fspeedd = Fdistance; // 將距離 讀入 Fspeedd(前速) |
|
| 168 | -} |
|
| 169 | -//***************************************************************************** |
|
| 170 | -*** |
|
| 171 | -void ask_pin_L() // 量出左邊距離 |
|
| 172 | -{ |
|
| 173 | -myservo.write(177); |
|
| 174 | -delay(delay_time); |
|
| 175 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 176 | -delayMicroseconds(2); |
|
| 177 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 178 | -delayMicroseconds(10); |
|
| 179 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 180 | -float Ldistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 181 | -Ldistance= Ldistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 182 | -Lspeedd = Ldistance; // 將距離 讀入 Lspeedd(左速) |
|
| 183 | - |
|
| 184 | -} |
|
| 185 | -//***************************************************************************** |
|
| 186 | -* |
|
| 187 | -void ask_pin_R() // 量出右邊距離 |
|
| 188 | -{ |
|
| 189 | -myservo.write(5); |
|
| 190 | -delay(delay_time); |
|
| 191 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓 2μs |
|
| 192 | -delayMicroseconds(2); |
|
| 193 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓 10μs,這裡至少是 10μs |
|
| 194 | -delayMicroseconds(10); |
|
| 195 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 196 | -float Rdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 197 | -Rdistance= Rdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 198 | -Rspeedd = Rdistance; // 將距離 讀入 Rspeedd(右速) |
|
| 199 | -} |
|
| 200 | -//***************************************************************************** |
|
| 201 | -*(LOOP) |
|
| 202 | -void loop() |
|
| 203 | -{ |
|
| 204 | - |
|
| 205 | -//***************************************************************************正 |
|
| 206 | -常遙控模式 |
|
| 207 | - if (irrecv.decode(&results)) |
|
| 208 | - { // 解碼成功,收到一組紅外線訊號 |
|
| 209 | -/***********************************************************************/ |
|
| 210 | - if (results.value == IRfront)//前進 |
|
| 211 | - { |
|
| 212 | - |
|
| 213 | - lcd.setCursor(0,0); |
|
| 214 | - lcd.print(" IR mode"); |
|
| 215 | - lcd.setCursor(0,1); |
|
| 216 | - lcd.print(" advance "); |
|
| 217 | - advance(20);//前進 |
|
| 218 | - } |
|
| 219 | -/***********************************************************************/ |
|
| 220 | - if (results.value == IRback)//後退 |
|
| 221 | - { |
|
| 222 | - |
|
| 223 | - lcd.setCursor(0,0); |
|
| 224 | - lcd.print(" IR mode"); |
|
| 225 | - lcd.setCursor(0,1); |
|
| 226 | - lcd.print(" back "); |
|
| 227 | - |
|
| 228 | - back(20);//後退 |
|
| 229 | - } |
|
| 230 | -/***********************************************************************/ |
|
| 231 | - if (results.value == IRturnright)//右轉 |
|
| 232 | - { |
|
| 233 | - |
|
| 234 | - lcd.setCursor(0,0); |
|
| 235 | - lcd.print(" IR mode"); |
|
| 236 | - lcd.setCursor(0,1); |
|
| 237 | - lcd.print(" right "); |
|
| 238 | - right(10); // 右轉 |
|
| 239 | - |
|
| 240 | - } |
|
| 241 | -/***********************************************************************/ |
|
| 242 | - if (results.value == IRturnleft)//左轉 |
|
| 243 | - { |
|
| 244 | - |
|
| 245 | - lcd.setCursor(0,0); |
|
| 246 | - lcd.print(" IR mode"); |
|
| 247 | - lcd.setCursor(0,1); |
|
| 248 | - lcd.print(" left "); |
|
| 249 | - left(10); // 左轉); |
|
| 250 | - } |
|
| 251 | -/***********************************************************************/ |
|
| 252 | - if (results.value == IRstop)//停止 |
|
| 253 | - { |
|
| 254 | - lcd.setCursor(0,0); |
|
| 255 | - lcd.print(" IR mode"); |
|
| 256 | - lcd.setCursor(0,1); |
|
| 257 | - lcd.print(" stop "); |
|
| 258 | - digitalWrite(MotorRight1,LOW); |
|
| 259 | - digitalWrite(MotorRight2,LOW); |
|
| 260 | - digitalWrite(MotorLeft1,LOW); |
|
| 261 | - digitalWrite(MotorLeft2,LOW); |
|
| 262 | - |
|
| 263 | - |
|
| 264 | - } |
|
| 265 | -//***********************************************************************超音波 |
|
| 266 | -自走模式 |
|
| 267 | - if (results.value ==IRAutorun ) |
|
| 268 | - { |
|
| 269 | - while(IRAutorun) |
|
| 270 | - { |
|
| 271 | - |
|
| 272 | - myservo.write(90); //讓伺服馬達回歸 預備位置 準備下一次的測量 |
|
| 273 | - detection(); //測量角度 並且判斷要往哪一方向移動 |
|
| 274 | - if(directionn == 8) //假如 directionn(方向) = 8(前進) |
|
| 275 | - { |
|
| 276 | - if (irrecv.decode(&results)) |
|
| 277 | - { |
|
| 278 | - irrecv.resume(); |
|
| 279 | - Serial.println(results.value,HEX); |
|
| 280 | - if(results.value ==IRstop) |
|
| 281 | - { |
|
| 282 | - digitalWrite(MotorRight1,LOW); |
|
| 283 | - digitalWrite(MotorRight2,LOW); |
|
| 284 | - digitalWrite(MotorLeft1,LOW); |
|
| 285 | - digitalWrite(MotorLeft2,LOW); |
|
| 286 | - break; |
|
| 287 | - } |
|
| 288 | - } |
|
| 289 | - results.value=0; |
|
| 290 | - |
|
| 291 | - |
|
| 292 | - lcd.setCursor(0,0); |
|
| 293 | - lcd.print(" aoto mode"); |
|
| 294 | - lcd.setCursor(0,1); |
|
| 295 | - lcd.print(" Advance "); |
|
| 296 | - advance(1); // 正常前進 |
|
| 297 | - } |
|
| 298 | - if(directionn == 2) //假如 directionn(方向) = 2(倒車) |
|
| 299 | - { |
|
| 300 | - if (irrecv.decode(&results)) |
|
| 301 | - { |
|
| 302 | - irrecv.resume(); |
|
| 303 | - Serial.println(results.value,HEX); |
|
| 304 | - if(results.value ==IRstop) |
|
| 305 | - { |
|
| 306 | - digitalWrite(MotorRight1,LOW); |
|
| 307 | - digitalWrite(MotorRight2,LOW); |
|
| 308 | - digitalWrite(MotorLeft1,LOW); |
|
| 309 | - digitalWrite(MotorLeft2,LOW); |
|
| 310 | - break; |
|
| 311 | - } |
|
| 312 | - } |
|
| 313 | - results.value=0; |
|
| 314 | - |
|
| 315 | - lcd.setCursor(0,0); |
|
| 316 | - lcd.print(" aoto mode"); |
|
| 317 | - lcd.setCursor(0,1); |
|
| 318 | - lcd.print(" Reverse "); |
|
| 319 | - back(8); // 倒退(車) |
|
| 320 | - turnL(3); //些微向左方移動(防止卡在死巷裡) |
|
| 321 | - } |
|
| 322 | - if(directionn == 6) //假如 directionn(方向) = 6(右轉) |
|
| 323 | - { |
|
| 324 | - if (irrecv.decode(&results)) |
|
| 325 | - { |
|
| 326 | - irrecv.resume(); |
|
| 327 | - Serial.println(results.value,HEX); |
|
| 328 | - if(results.value ==IRstop) |
|
| 329 | - { |
|
| 330 | - digitalWrite(MotorRight1,LOW); |
|
| 331 | - digitalWrite(MotorRight2,LOW); |
|
| 332 | - digitalWrite(MotorLeft1,LOW); |
|
| 333 | - digitalWrite(MotorLeft2,LOW); |
|
| 334 | - break; |
|
| 335 | - } |
|
| 336 | - } |
|
| 337 | - results.value=0; |
|
| 338 | - |
|
| 339 | - |
|
| 340 | - lcd.setCursor(0,0); |
|
| 341 | - lcd.print(" aoto mode"); |
|
| 342 | - lcd.setCursor(0,1); |
|
| 343 | - lcd.print(" Right "); |
|
| 344 | - back(1); |
|
| 345 | - turnR(3); // 右轉 |
|
| 346 | - } |
|
| 347 | - if(directionn == 4) //假如 directionn(方向) = 4(左轉) |
|
| 348 | - { |
|
| 349 | - if (irrecv.decode(&results)) |
|
| 350 | - { |
|
| 351 | - irrecv.resume(); |
|
| 352 | - Serial.println(results.value,HEX); |
|
| 353 | - if(results.value ==IRstop) |
|
| 354 | - { |
|
| 355 | - digitalWrite(MotorRight1,LOW); |
|
| 356 | - digitalWrite(MotorRight2,LOW); |
|
| 357 | - digitalWrite(MotorLeft1,LOW); |
|
| 358 | - digitalWrite(MotorLeft2,LOW); |
|
| 359 | - |
|
| 360 | - break; |
|
| 361 | - } |
|
| 362 | - } |
|
| 363 | - results.value=0; |
|
| 364 | - |
|
| 365 | - lcd.setCursor(0,0); |
|
| 366 | - lcd.print(" aoto mode"); |
|
| 367 | - lcd.setCursor(0,1); |
|
| 368 | - lcd.print(" Left "); |
|
| 369 | - back(1); |
|
| 370 | - turnL(3); // 左轉 |
|
| 371 | - |
|
| 372 | - } |
|
| 373 | - |
|
| 374 | - if (irrecv.decode(&results)) |
|
| 375 | - { |
|
| 376 | - irrecv.resume(); |
|
| 377 | - Serial.println(results.value,HEX); |
|
| 378 | - if(results.value ==IRstop) |
|
| 379 | - { |
|
| 380 | - digitalWrite(MotorRight1,LOW); |
|
| 381 | - digitalWrite(MotorRight2,LOW); |
|
| 382 | - digitalWrite(MotorLeft1,LOW); |
|
| 383 | - digitalWrite(MotorLeft2,LOW); |
|
| 384 | - break; |
|
| 385 | - } |
|
| 386 | - } |
|
| 387 | - } |
|
| 388 | - results.value=0; |
|
| 389 | - } |
|
| 390 | -/***********************************************************************/ |
|
| 391 | - else |
|
| 392 | - { |
|
| 393 | - digitalWrite(MotorRight1,LOW); |
|
| 394 | - digitalWrite(MotorRight2,LOW); |
|
| 395 | - digitalWrite(MotorLeft1,LOW); |
|
| 396 | - digitalWrite(MotorLeft2,LOW); |
|
| 397 | - } |
|
| 398 | - |
|
| 399 | - irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 400 | - } |
|
| 401 | -} |
|
| 402 | - |
|
| 403 | -******************************************************************************* |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-1.ino
| ... | ... | @@ -1,94 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) |
|
| 4 | - |
|
| 5 | -const int ENA = 5; // PWM for speed for Motor 1 |
|
| 6 | -const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | - |
|
| 8 | -const int IN1 = 0; // Direction for Motor 1 |
|
| 9 | -const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 10 | - |
|
| 11 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 12 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 13 | - |
|
| 14 | -// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 15 | -long readAileronControlSignal() { |
|
| 16 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 17 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 18 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 19 | - return 50; // Mid-point for 0-100 scale |
|
| 20 | - } |
|
| 21 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 22 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 23 | -} |
|
| 24 | - |
|
| 25 | -// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 26 | -long readElevatorControlSignal() { |
|
| 27 | - unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 28 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 29 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 30 | - return 50; // Mid-point for 0-100 scale |
|
| 31 | - } |
|
| 32 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 33 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 34 | -} |
|
| 35 | - |
|
| 36 | -void setup() { |
|
| 37 | - pinMode(aileronPin, INPUT); |
|
| 38 | - pinMode(elevatorPin, INPUT); |
|
| 39 | - |
|
| 40 | - pinMode(ENA, OUTPUT); |
|
| 41 | - pinMode(ENB, OUTPUT); |
|
| 42 | - pinMode(IN1, OUTPUT); |
|
| 43 | - pinMode(IN2, OUTPUT); |
|
| 44 | - |
|
| 45 | - // Initialize motors to off |
|
| 46 | - digitalWrite(IN1, LOW); |
|
| 47 | - digitalWrite(IN2, LOW); |
|
| 48 | - analogWrite(ENA, 0); |
|
| 49 | - analogWrite(ENB, 0); |
|
| 50 | -} |
|
| 51 | - |
|
| 52 | -// Helper function to control a single motor |
|
| 53 | -// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 54 | -void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 55 | - if (pwmVal > 0) { // Forward |
|
| 56 | - digitalWrite(dirPin, HIGH); |
|
| 57 | - analogWrite(speedPin, pwmVal); |
|
| 58 | - } else if (pwmVal < 0) { // Backward |
|
| 59 | - digitalWrite(dirPin, LOW); |
|
| 60 | - analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 61 | - } else { // Stop |
|
| 62 | - digitalWrite(dirPin, LOW); |
|
| 63 | - analogWrite(speedPin, 0); |
|
| 64 | - } |
|
| 65 | -} |
|
| 66 | - |
|
| 67 | -void loop() { |
|
| 68 | - // Read mapped control signals from each channel |
|
| 69 | - aileronControl = readAileronControlSignal(); // Throttle (0-100, 50 is neutral) |
|
| 70 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100, 50 is neutral) |
|
| 71 | - |
|
| 72 | - // Map control values directly |
|
| 73 | - // aileronControl (0-100) to throttleValue (-255 to 255) |
|
| 74 | - // 0 -> -255 (full reverse), 50 -> 0 (stop), 100 -> 255 (full forward) |
|
| 75 | - long throttleValue = map(aileronControl, 0, 100, -255, 255); |
|
| 76 | - |
|
| 77 | - // elevatorControl (0-100) to steeringValue (-255 to 255) |
|
| 78 | - // 0 -> -255 (full left turn effect), 50 -> 0 (straight), 100 -> 255 (full right turn effect) |
|
| 79 | - long steeringValue = map(elevatorControl, 0, 100, -255, 255); |
|
| 80 | - |
|
| 81 | - // Mix throttle and steering for differential drive |
|
| 82 | - long motor1Pwm = throttleValue + steeringValue; |
|
| 83 | - long motor2Pwm = throttleValue - steeringValue; |
|
| 84 | - |
|
| 85 | - // Constrain PWM values to the valid range [-255, 255] |
|
| 86 | - motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 87 | - motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 88 | - |
|
| 89 | - // Set motor speeds and directions |
|
| 90 | - setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 91 | - setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 92 | - |
|
| 93 | - delay(20); // Delay for responsiveness |
|
| 94 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-2.ino
| ... | ... | @@ -1,167 +0,0 @@ |
| 1 | -#include <Adafruit_NeoPixel.h> |
|
| 2 | - |
|
| 3 | -// Define pins for each RC channel |
|
| 4 | -int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 5 | -int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 6 | - |
|
| 7 | -const int IN1 = 0; // Direction for Motor 1 // D3 |
|
| 8 | -const int IN2 = 2; // Direction pin 1 for Motor 2 // D4 |
|
| 9 | - |
|
| 10 | -// WS2812 LED Strip Configuration |
|
| 11 | -#define LED_PIN 15 // nodemcu pin D8 |
|
| 12 | -#define LED_COUNT 8 |
|
| 13 | -Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); |
|
| 14 | - |
|
| 15 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 16 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 17 | - |
|
| 18 | -// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 19 | -long readAileronControlSignal() { |
|
| 20 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 21 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 22 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 23 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 24 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 25 | - } |
|
| 26 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 27 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 28 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 29 | -} |
|
| 30 | - |
|
| 31 | -// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 32 | -long readElevatorControlSignal() { |
|
| 33 | - unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 34 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 35 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 36 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 37 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 38 | - } |
|
| 39 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 40 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 41 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 42 | -} |
|
| 43 | - |
|
| 44 | -void setup() { |
|
| 45 | - pinMode(aileronPin, INPUT); |
|
| 46 | - pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 47 | - |
|
| 48 | - pinMode(ENA, OUTPUT); |
|
| 49 | - pinMode(ENB, OUTPUT); |
|
| 50 | - pinMode(IN1, OUTPUT); |
|
| 51 | - pinMode(IN2, OUTPUT); |
|
| 52 | - |
|
| 53 | - // Initialize motors to off |
|
| 54 | - digitalWrite(IN1, LOW); |
|
| 55 | - digitalWrite(IN2, LOW); |
|
| 56 | - analogWrite(ENA, 0); |
|
| 57 | - analogWrite(ENB, 0); |
|
| 58 | - |
|
| 59 | - Serial.begin(9600); |
|
| 60 | - |
|
| 61 | - strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) |
|
| 62 | - strip.show(); // Turn OFF all pixels ASAP |
|
| 63 | - strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) |
|
| 64 | -} |
|
| 65 | - |
|
| 66 | -// Helper function to control a single motor |
|
| 67 | -// pwmVal: -255 (full backward) to 255 (full forward) |
|
| 68 | -void setMotorOutput(int dirPin, int speedPin, int pwmVal) { |
|
| 69 | - if (pwmVal > 0) { // Forward |
|
| 70 | - digitalWrite(dirPin, HIGH); |
|
| 71 | - analogWrite(speedPin, pwmVal); |
|
| 72 | - } else if (pwmVal < 0) { // Backward |
|
| 73 | - digitalWrite(dirPin, LOW); |
|
| 74 | - analogWrite(speedPin, -pwmVal); // Speed is positive |
|
| 75 | - } else { // Stop |
|
| 76 | - digitalWrite(dirPin, LOW); // Or HIGH, doesn't matter much if speed is 0 |
|
| 77 | - analogWrite(speedPin, 0); |
|
| 78 | - } |
|
| 79 | -} |
|
| 80 | - |
|
| 81 | -// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 82 | -// with a deadband around the center (e.g., 50). |
|
| 83 | -long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 84 | - long mappedValue = 0; |
|
| 85 | - int deadbandLower = rcCenter - deadbandRadius; |
|
| 86 | - int deadbandUpper = rcCenter + deadbandRadius; |
|
| 87 | - |
|
| 88 | - if (rcValue < deadbandLower) { |
|
| 89 | - // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 90 | - // Ensure deadbandLower - 1 is not less than rcMin |
|
| 91 | - if (deadbandLower -1 < rcMin) { |
|
| 92 | - mappedValue = outMin; |
|
| 93 | - } else { |
|
| 94 | - mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 95 | - } |
|
| 96 | - } else if (rcValue > deadbandUpper) { |
|
| 97 | - // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 98 | - // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 99 | - if (deadbandUpper + 1 > rcMax) { |
|
| 100 | - mappedValue = outMax; |
|
| 101 | - } else { |
|
| 102 | - mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 103 | - } |
|
| 104 | - } else { |
|
| 105 | - // Inside deadband |
|
| 106 | - mappedValue = 0; |
|
| 107 | - } |
|
| 108 | - return constrain(mappedValue, outMin, outMax); |
|
| 109 | -} |
|
| 110 | - |
|
| 111 | -// Function to create a random blinking effect for WS2812 LEDs |
|
| 112 | -void randomBlinkEffect() { |
|
| 113 | - for (int i = 0; i < LED_COUNT; i++) { |
|
| 114 | - // Turn on a random LED with a random color |
|
| 115 | - if (random(0, 2) == 1) { // 50% chance to turn on this LED |
|
| 116 | - strip.setPixelColor(i, strip.Color(random(0, 256), random(0, 256), random(0, 256))); |
|
| 117 | - } else { |
|
| 118 | - strip.setPixelColor(i, strip.Color(0, 0, 0)); // Turn off |
|
| 119 | - } |
|
| 120 | - } |
|
| 121 | - strip.show(); // Send the updated pixel colors to the hardware. |
|
| 122 | - delay(100); // Wait a short period |
|
| 123 | -} |
|
| 124 | - |
|
| 125 | -void loop() { |
|
| 126 | - // Read mapped control signals from each channel |
|
| 127 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 128 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 129 | - |
|
| 130 | - // Print the mapped control signal values to the Serial Monitor |
|
| 131 | - Serial.print("Aileron (Throttle): "); |
|
| 132 | - Serial.print(aileronControl); |
|
| 133 | - Serial.print(" Elevator (Steering): "); |
|
| 134 | - Serial.print(elevatorControl); |
|
| 135 | - Serial.println(); |
|
| 136 | - |
|
| 137 | - // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 138 | - // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 139 | - int deadbandRadius = 15; |
|
| 140 | - float steeringFactor = 3; // Adjust this value to change steering sensitivity |
|
| 141 | - float throttleFactor = 3; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 142 | - |
|
| 143 | - // Map control values with deadband |
|
| 144 | - long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 145 | - long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 146 | - |
|
| 147 | - // Apply sensitivity factors |
|
| 148 | - long throttleValue = rawThrottleValue * throttleFactor; |
|
| 149 | - long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 150 | - |
|
| 151 | - // Mix throttle and steering for differential drive |
|
| 152 | - long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 153 | - long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 154 | - |
|
| 155 | - // Constrain PWM values to the valid range [-255, 255] |
|
| 156 | - motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 157 | - motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 158 | - |
|
| 159 | - // Set motor speeds and directions |
|
| 160 | - setMotorOutput(IN1, ENA, motor1Pwm); // Motor 1 |
|
| 161 | - setMotorOutput(IN2, ENB, motor2Pwm); // Motor 2 |
|
| 162 | - |
|
| 163 | - // Add the LED effect |
|
| 164 | - randomBlinkEffect(); |
|
| 165 | - |
|
| 166 | - delay(20); // Shorter delay for better responsiveness |
|
| 167 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-8871-2.ino
| ... | ... | @@ -1,126 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | - |
|
| 5 | -const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 6 | -const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 7 | - |
|
| 8 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 9 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 10 | - |
|
| 11 | -unsigned long rawAileronPWM = 0; |
|
| 12 | -unsigned long rawElevatorPWM = 0; |
|
| 13 | - |
|
| 14 | -const int PWM_MAX = 255; // ESP8266 PWM range is 0-1023 |
|
| 15 | -const int PWM_STOP = PWM_MAX / 2; // ~511 or 512 |
|
| 16 | - |
|
| 17 | -long readAileronControlSignal() { |
|
| 18 | - rawAileronPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 19 | - if (rawAileronPWM == 0 || rawAileronPWM < 900 || rawAileronPWM > 2100) { |
|
| 20 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 21 | - } |
|
| 22 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 23 | - long constrainedPWM = constrain(rawAileronPWM, 1000, 2000); |
|
| 24 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 25 | -} |
|
| 26 | - |
|
| 27 | -long readElevatorControlSignal() { |
|
| 28 | - rawElevatorPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 29 | - if (rawElevatorPWM == 0 || rawElevatorPWM < 900 || rawElevatorPWM > 2100) { |
|
| 30 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 31 | - } |
|
| 32 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 33 | - long constrainedPWM = constrain(rawElevatorPWM, 1000, 2000); |
|
| 34 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 35 | -} |
|
| 36 | - |
|
| 37 | -void setup() { |
|
| 38 | - pinMode(aileronPin, INPUT); |
|
| 39 | - pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 40 | - |
|
| 41 | - pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 42 | - pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 43 | - |
|
| 44 | - Serial.begin(9600); |
|
| 45 | - brakeMotor1(); |
|
| 46 | - brakeMotor2(); |
|
| 47 | -} |
|
| 48 | - |
|
| 49 | -void driveMotor1(bool forward) { |
|
| 50 | - if (forward) { |
|
| 51 | - digitalWrite(MOTOR1_CTRL_PIN, HIGH); |
|
| 52 | - } else { |
|
| 53 | - digitalWrite(MOTOR1_CTRL_PIN, LOW); |
|
| 54 | - } |
|
| 55 | -} |
|
| 56 | - |
|
| 57 | -void brakeMotor1() { |
|
| 58 | - analogWrite(MOTOR1_CTRL_PIN, PWM_STOP); |
|
| 59 | -} |
|
| 60 | - |
|
| 61 | -void driveMotor2(bool forward) { |
|
| 62 | - if (forward) { |
|
| 63 | - digitalWrite(MOTOR2_CTRL_PIN, HIGH); |
|
| 64 | - } else { |
|
| 65 | - digitalWrite(MOTOR2_CTRL_PIN, LOW); |
|
| 66 | - } |
|
| 67 | -} |
|
| 68 | - |
|
| 69 | -void brakeMotor2() { |
|
| 70 | - analogWrite(MOTOR2_CTRL_PIN, PWM_STOP); |
|
| 71 | -} |
|
| 72 | - |
|
| 73 | -void loop() { |
|
| 74 | - // Read mapped control signals from each channel |
|
| 75 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 76 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 77 | - |
|
| 78 | - // Simplified driving approach - no mixing |
|
| 79 | - String motor1Command = "STOP"; |
|
| 80 | - String motor2Command = "STOP"; |
|
| 81 | - |
|
| 82 | - // Handle throttle control (forward/reverse) |
|
| 83 | - if (aileronControl > 60) { |
|
| 84 | - // Forward |
|
| 85 | - driveMotor1(true); |
|
| 86 | - driveMotor2(true); |
|
| 87 | - motor1Command = "FORWARD"; |
|
| 88 | - motor2Command = "FORWARD"; |
|
| 89 | - } else if (aileronControl < 40) { |
|
| 90 | - // Reverse |
|
| 91 | - driveMotor1(false); |
|
| 92 | - driveMotor2(false); |
|
| 93 | - motor1Command = "REVERSE"; |
|
| 94 | - motor2Command = "REVERSE"; |
|
| 95 | - } else if (elevatorControl > 60) { |
|
| 96 | - // Turn right (M1 forward, M2 reverse) |
|
| 97 | - driveMotor1(true); |
|
| 98 | - driveMotor2(false); |
|
| 99 | - motor1Command = "FORWARD"; |
|
| 100 | - motor2Command = "REVERSE"; |
|
| 101 | - } else if (elevatorControl < 40) { |
|
| 102 | - // Turn left (M1 reverse, M2 forward) |
|
| 103 | - driveMotor1(false); |
|
| 104 | - driveMotor2(true); |
|
| 105 | - motor1Command = "REVERSE"; |
|
| 106 | - motor2Command = "FORWARD"; |
|
| 107 | - } else { |
|
| 108 | - // Stop |
|
| 109 | - brakeMotor1(); |
|
| 110 | - brakeMotor2(); |
|
| 111 | - } |
|
| 112 | - |
|
| 113 | - // 1. RC INPUTS |
|
| 114 | - Serial.print("RC INPUT: "); |
|
| 115 | - Serial.print("Aileron="); Serial.print(rawAileronPWM); Serial.print("us ("); Serial.print(aileronControl); Serial.print("%), "); |
|
| 116 | - Serial.print("Elevator="); Serial.print(rawElevatorPWM); Serial.print("us ("); Serial.print(elevatorControl); Serial.println("%)"); |
|
| 117 | - |
|
| 118 | - // 2. COMMANDS |
|
| 119 | - Serial.print("MOTORS: "); |
|
| 120 | - Serial.print("M1="); Serial.print(motor1Command); Serial.print(", "); |
|
| 121 | - Serial.print("M2="); Serial.println(motor2Command); |
|
| 122 | - |
|
| 123 | - Serial.println(); |
|
| 124 | - |
|
| 125 | - delay(20); // Delay for RC input reading cycle |
|
| 126 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-8871-3.ino
| ... | ... | @@ -1,132 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | - |
|
| 5 | -const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 6 | -const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 7 | - |
|
| 8 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 9 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 10 | - |
|
| 11 | -unsigned long rawAileronPWM = 0; |
|
| 12 | -unsigned long rawElevatorPWM = 0; |
|
| 13 | - |
|
| 14 | -const int PWM_MAX = 255; // ESP8266 PWM range is 0-255 for analogWrite |
|
| 15 | -const int PWM_STOP = PWM_MAX / 2; // Approx. 127, this is brake/neutral for DRV8871 single-pin |
|
| 16 | -const int PWM_MIN_MOVING = 10; // Minimum offset from PWM_STOP to ensure movement |
|
| 17 | - |
|
| 18 | -// Add these global variables for current speeds and ramp step |
|
| 19 | -int currentMotor1Speed = PWM_STOP; |
|
| 20 | -int currentMotor2Speed = PWM_STOP; |
|
| 21 | -const int RAMP_STEP = 5; // Adjust for desired smoothness. Smaller is smoother. |
|
| 22 | - |
|
| 23 | -long readAileronControlSignal() { |
|
| 24 | - rawAileronPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 25 | - if (rawAileronPWM == 0 || rawAileronPWM < 900 || rawAileronPWM > 2100) { |
|
| 26 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 27 | - } |
|
| 28 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 29 | - long constrainedPWM = constrain(rawAileronPWM, 1000, 2000); |
|
| 30 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 31 | -} |
|
| 32 | - |
|
| 33 | -long readElevatorControlSignal() { |
|
| 34 | - rawElevatorPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 35 | - if (rawElevatorPWM == 0 || rawElevatorPWM < 900 || rawElevatorPWM > 2100) { |
|
| 36 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 37 | - } |
|
| 38 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 39 | - long constrainedPWM = constrain(rawElevatorPWM, 1000, 2000); |
|
| 40 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 41 | -} |
|
| 42 | - |
|
| 43 | -void setup() { |
|
| 44 | - pinMode(aileronPin, INPUT); |
|
| 45 | - pinMode(elevatorPin, INPUT); |
|
| 46 | - |
|
| 47 | - pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 48 | - pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 49 | - |
|
| 50 | - Serial.begin(9600); |
|
| 51 | - |
|
| 52 | - // Initialize motors to braked state using currentSpeed variables |
|
| 53 | - currentMotor1Speed = PWM_STOP; |
|
| 54 | - currentMotor2Speed = PWM_STOP; |
|
| 55 | - analogWrite(MOTOR1_CTRL_PIN, currentMotor1Speed); |
|
| 56 | - analogWrite(MOTOR2_CTRL_PIN, currentMotor2Speed); |
|
| 57 | -} |
|
| 58 | - |
|
| 59 | -void loop() { |
|
| 60 | - // Read mapped control signals from each channel |
|
| 61 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 62 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 63 | - |
|
| 64 | - String motor1TargetCommand = "BRAKE"; // Command based on stick input |
|
| 65 | - String motor2TargetCommand = "BRAKE"; |
|
| 66 | - int targetMotor1Speed = PWM_STOP; // Target speed for this loop iteration |
|
| 67 | - int targetMotor2Speed = PWM_STOP; // Target speed for this loop iteration |
|
| 68 | - |
|
| 69 | - // Handle throttle control (forward/reverse) |
|
| 70 | - if (aileronControl > 55) { |
|
| 71 | - // Forward |
|
| 72 | - int speed = map(aileronControl, 61, 100, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 73 | - speed = constrain(speed, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 74 | - targetMotor1Speed = speed; |
|
| 75 | - targetMotor2Speed = speed; |
|
| 76 | - motor1TargetCommand = "FORWARD"; |
|
| 77 | - motor2TargetCommand = "FORWARD"; |
|
| 78 | - } else if (aileronControl < 45) { |
|
| 79 | - // Reverse |
|
| 80 | - int speed = map(aileronControl, 39, 0, PWM_STOP - PWM_MIN_MOVING, 0); |
|
| 81 | - speed = constrain(speed, 0, PWM_STOP - PWM_MIN_MOVING); |
|
| 82 | - targetMotor1Speed = speed; |
|
| 83 | - targetMotor2Speed = speed; |
|
| 84 | - motor1TargetCommand = "REVERSE"; |
|
| 85 | - motor2TargetCommand = "REVERSE"; |
|
| 86 | - } else if (elevatorControl > 55) { |
|
| 87 | - // Turn right (throttle is neutral) |
|
| 88 | - int turnOffset = map(elevatorControl, 61, 100, PWM_MIN_MOVING, (PWM_MAX - PWM_STOP)); |
|
| 89 | - targetMotor1Speed = constrain(PWM_STOP + turnOffset, 0, PWM_MAX); |
|
| 90 | - targetMotor2Speed = constrain(PWM_STOP - turnOffset, 0, PWM_MAX); |
|
| 91 | - motor1TargetCommand = "TURN_R_M1"; |
|
| 92 | - motor2TargetCommand = "TURN_R_M2"; |
|
| 93 | - } else if (elevatorControl < 45) { |
|
| 94 | - // Turn left (throttle is neutral) |
|
| 95 | - int turnOffset = map(elevatorControl, 39, 0, PWM_MIN_MOVING, (PWM_MAX - PWM_STOP)); |
|
| 96 | - targetMotor1Speed = constrain(PWM_STOP - turnOffset, 0, PWM_MAX); |
|
| 97 | - targetMotor2Speed = constrain(PWM_STOP + turnOffset, 0, PWM_MAX); |
|
| 98 | - motor1TargetCommand = "TURN_L_M1"; |
|
| 99 | - motor2TargetCommand = "TURN_L_M2"; |
|
| 100 | - } else { |
|
| 101 | - // All sticks neutral - Target speeds remain PWM_STOP (Brake) |
|
| 102 | - // motor1TargetCommand and motor2TargetCommand remain "BRAKE" |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - // Ramping logic for Motor 1 |
|
| 106 | - if (currentMotor1Speed < targetMotor1Speed) { |
|
| 107 | - currentMotor1Speed = min(currentMotor1Speed + RAMP_STEP, targetMotor1Speed); |
|
| 108 | - } else if (currentMotor1Speed > targetMotor1Speed) { |
|
| 109 | - currentMotor1Speed = max(currentMotor1Speed - RAMP_STEP, targetMotor1Speed); |
|
| 110 | - } |
|
| 111 | - |
|
| 112 | - // Ramping logic for Motor 2 |
|
| 113 | - if (currentMotor2Speed < targetMotor2Speed) { |
|
| 114 | - currentMotor2Speed = min(currentMotor2Speed + RAMP_STEP, targetMotor2Speed); |
|
| 115 | - } else if (currentMotor2Speed > targetMotor2Speed) { |
|
| 116 | - currentMotor2Speed = max(currentMotor2Speed - RAMP_STEP, targetMotor2Speed); |
|
| 117 | - } |
|
| 118 | - |
|
| 119 | - // Apply the ramped speeds |
|
| 120 | - analogWrite(MOTOR1_CTRL_PIN, currentMotor1Speed); |
|
| 121 | - analogWrite(MOTOR2_CTRL_PIN, currentMotor2Speed); |
|
| 122 | - |
|
| 123 | - Serial.print("RC INPUT: "); |
|
| 124 | - Serial.print("Aileron="); Serial.print(rawAileronPWM); Serial.print("us ("); Serial.print(aileronControl); Serial.print("%), "); |
|
| 125 | - Serial.print("Elevator="); Serial.print(rawElevatorPWM); Serial.print("us ("); Serial.print(elevatorControl); Serial.print("%)"); |
|
| 126 | - Serial.print("MOTORS: "); |
|
| 127 | - Serial.print("M1_Cmd="); Serial.print(motor1TargetCommand); Serial.print(" (CurPWM:"); Serial.print(currentMotor1Speed); Serial.print(" TgtPWM:"); Serial.print(targetMotor1Speed); Serial.print("), "); |
|
| 128 | - Serial.print("M2_Cmd="); Serial.print(motor2TargetCommand); Serial.print(" (CurPWM:"); Serial.print(currentMotor2Speed); Serial.print(" TgtPWM:"); Serial.print(targetMotor2Speed); Serial.print(")"); |
|
| 129 | - |
|
| 130 | - Serial.println(); |
|
| 131 | - delay(20); // Delay for RC input reading cycle & ramping interval |
|
| 132 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-8871-4.ino
| ... | ... | @@ -1,180 +0,0 @@ |
| 1 | -#include <Adafruit_NeoPixel.h> |
|
| 2 | - |
|
| 3 | -// Define pins for each RC channel |
|
| 4 | -int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 5 | -int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 6 | - |
|
| 7 | -// WS2812 LED Strip Configuration |
|
| 8 | -#define LED_PIN 15 // nodemcu pin D8 |
|
| 9 | -#define LED_COUNT 8 |
|
| 10 | -Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); |
|
| 11 | - |
|
| 12 | -// Updated comments for IN1 and IN2 to reflect their role as single control pins |
|
| 13 | -const int IN1 = 4; // Control pin for Motor 1 // D3 (was GPIO2 on NodeMCU D4, now D2/GPIO4) |
|
| 14 | -const int IN2 = 5; // Control pin for Motor 2 // D4 (was GPIO0 on NodeMCU D3, now D1/GPIO5) |
|
| 15 | - |
|
| 16 | -const int PWM_MAX = 255; // ESP8266 PWM range is 0-255 for analogWrite. |
|
| 17 | - // Note: Default ESP8266 analogWrite range is 0-1023. |
|
| 18 | - // Call analogWriteRange(255) in setup if 0-255 is desired. |
|
| 19 | -const int PWM_STOP = PWM_MAX / 2; // Approx. 127, this is brake/neutral for DRV8871 single-pin |
|
| 20 | -const int PWM_MIN_MOVING = 10; // Minimum offset from PWM_STOP to ensure movement |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -long aileronControl; // Mapped value from aileron channel (0-100) |
|
| 24 | -long elevatorControl; // Mapped value from elevator channel (0-100) |
|
| 25 | - |
|
| 26 | -// Reads the PWM signal from the aileron channel and maps it to 0-100 |
|
| 27 | -long readAileronControlSignal() { |
|
| 28 | - unsigned long rawPWM = pulseIn(aileronPin, HIGH, 25000); |
|
| 29 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 30 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 31 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 32 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 33 | - } |
|
| 34 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 35 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 36 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 37 | -} |
|
| 38 | - |
|
| 39 | -// Reads the PWM signal from the elevator channel and maps it to 0-100 |
|
| 40 | -long readElevatorControlSignal() { |
|
| 41 | - unsigned long rawPWM = pulseIn(elevatorPin, HIGH, 25000); |
|
| 42 | - // If signal is lost (timeout) or clearly out of valid RC pulse range, return neutral (50) |
|
| 43 | - // Valid RC pulses are typically 1000-2000us. Values outside ~900-2100us are treated as invalid. |
|
| 44 | - if (rawPWM == 0 || rawPWM < 900 || rawPWM > 2100) { |
|
| 45 | - return 50; // Mid-point for 0-100 scale (1500us equivalent), results in stop |
|
| 46 | - } |
|
| 47 | - // Otherwise, the signal is likely valid; constrain it to the standard 1000-2000us range and map |
|
| 48 | - long constrainedPWM = constrain(rawPWM, 1000, 2000); |
|
| 49 | - return map(constrainedPWM, 1000, 2000, 0, 100); |
|
| 50 | -} |
|
| 51 | - |
|
| 52 | -void setup() { |
|
| 53 | - pinMode(aileronPin, INPUT); |
|
| 54 | - pinMode(elevatorPin, INPUT); // Initialize elevator pin |
|
| 55 | - |
|
| 56 | - pinMode(IN1, OUTPUT); |
|
| 57 | - pinMode(IN2, OUTPUT); |
|
| 58 | - |
|
| 59 | - // Initialize motors to brake state |
|
| 60 | - analogWrite(IN1, PWM_STOP); |
|
| 61 | - analogWrite(IN2, PWM_STOP); |
|
| 62 | - |
|
| 63 | - Serial.begin(9600); |
|
| 64 | - // If you intend PWM_MAX to be 255, you might need to call: |
|
| 65 | - // analogWriteRange(255); |
|
| 66 | - // Otherwise, analogWrite will use a 0-1023 range by default on ESP8266. |
|
| 67 | - |
|
| 68 | - strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) |
|
| 69 | - strip.show(); // Turn OFF all pixels ASAP |
|
| 70 | - strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255) |
|
| 71 | -} |
|
| 72 | - |
|
| 73 | -// Updated helper function to control a single motor using one control pin |
|
| 74 | -// motorCtrlPin: The pin connected to the motor driver's input (e.g., IN1 for motor 1) |
|
| 75 | -// pwmVal: -255 (full backward) to 255 (full forward), 0 for brake |
|
| 76 | -void setMotorOutput(int motorCtrlPin, int pwmVal) { |
|
| 77 | - int actualPwm; |
|
| 78 | - if (pwmVal == 0) { |
|
| 79 | - actualPwm = PWM_STOP; // Brake |
|
| 80 | - } else if (pwmVal > 0) { // Forward |
|
| 81 | - // Map pwmVal from (1 to 255) to (PWM_STOP + PWM_MIN_MOVING to PWM_MAX) |
|
| 82 | - actualPwm = map(pwmVal, 1, 255, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 83 | - // Ensure the value is within the defined forward motion range |
|
| 84 | - actualPwm = constrain(actualPwm, PWM_STOP + PWM_MIN_MOVING, PWM_MAX); |
|
| 85 | - } else { // Backward (pwmVal < 0) |
|
| 86 | - // Map abs(pwmVal) from (1 to 255) to (PWM_STOP - PWM_MIN_MOVING to 0) |
|
| 87 | - actualPwm = map(abs(pwmVal), 1, 255, PWM_STOP - PWM_MIN_MOVING, 0); |
|
| 88 | - // Ensure the value is within the defined reverse motion range |
|
| 89 | - actualPwm = constrain(actualPwm, 0, PWM_STOP - PWM_MIN_MOVING); |
|
| 90 | - } |
|
| 91 | - analogWrite(motorCtrlPin, actualPwm); |
|
| 92 | -} |
|
| 93 | - |
|
| 94 | -// Helper function to map RC control input (0-100) to an output range (e.g., -255 to 255) |
|
| 95 | -// with a deadband around the center (e.g., 50). |
|
| 96 | -long mapWithDeadband(long rcValue, int rcMin, int rcMax, int rcCenter, int deadbandRadius, int outMin, int outMax) { |
|
| 97 | - long mappedValue = 0; |
|
| 98 | - int deadbandLower = rcCenter - deadbandRadius; |
|
| 99 | - int deadbandUpper = rcCenter + deadbandRadius; |
|
| 100 | - |
|
| 101 | - if (rcValue < deadbandLower) { |
|
| 102 | - // Map the range [rcMin, deadbandLower - 1] to [outMin, -1] |
|
| 103 | - // Ensure deadbandLower - 1 is not less than rcMin |
|
| 104 | - if (deadbandLower -1 < rcMin) { |
|
| 105 | - mappedValue = outMin; |
|
| 106 | - } else { |
|
| 107 | - mappedValue = map(rcValue, rcMin, deadbandLower - 1, outMin, -1); |
|
| 108 | - } |
|
| 109 | - } else if (rcValue > deadbandUpper) { |
|
| 110 | - // Map the range [deadbandUpper + 1, rcMax] to [1, outMax] |
|
| 111 | - // Ensure deadbandUpper + 1 is not greater than rcMax |
|
| 112 | - if (deadbandUpper + 1 > rcMax) { |
|
| 113 | - mappedValue = outMax; |
|
| 114 | - } else { |
|
| 115 | - mappedValue = map(rcValue, deadbandUpper + 1, rcMax, 1, outMax); |
|
| 116 | - } |
|
| 117 | - } else { |
|
| 118 | - // Inside deadband |
|
| 119 | - mappedValue = 0; |
|
| 120 | - } |
|
| 121 | - return constrain(mappedValue, outMin, outMax); |
|
| 122 | -} |
|
| 123 | - |
|
| 124 | -// Function to create a random blinking effect for WS2812 LEDs |
|
| 125 | -void randomBlinkEffect() { |
|
| 126 | - for (int i = 0; i < LED_COUNT; i++) { |
|
| 127 | - // Turn on a random LED with a random color |
|
| 128 | - if (random(0, 2) == 1) { // 50% chance to turn on this LED |
|
| 129 | - strip.setPixelColor(i, strip.Color(random(0, 256), random(0, 256), random(0, 256))); |
|
| 130 | - } else { |
|
| 131 | - strip.setPixelColor(i, strip.Color(0, 0, 0)); // Turn off |
|
| 132 | - } |
|
| 133 | - } |
|
| 134 | - strip.show(); // Send the updated pixel colors to the hardware. |
|
| 135 | - delay(100); // Wait a short period |
|
| 136 | -} |
|
| 137 | - |
|
| 138 | -void loop() { |
|
| 139 | - // Read mapped control signals from each channel |
|
| 140 | - aileronControl = readAileronControlSignal(); // Throttle (0-100) |
|
| 141 | - elevatorControl = readElevatorControlSignal(); // Steering (0-100) |
|
| 142 | - |
|
| 143 | - // Print the mapped control signal values to the Serial Monitor |
|
| 144 | - Serial.print("Aileron (Throttle): "); |
|
| 145 | - Serial.print(aileronControl); |
|
| 146 | - Serial.print(" Elevator (Steering): "); |
|
| 147 | - Serial.print(elevatorControl); |
|
| 148 | - Serial.println(); |
|
| 149 | - |
|
| 150 | - // Define deadband radius (e.g., +/- 5 around center of 50 for a 0-100 input) |
|
| 151 | - // This means input values from 45 to 55 (inclusive if center is 50 and radius is 5) will be treated as 0. |
|
| 152 | - int deadbandRadius = 15; |
|
| 153 | - float steeringFactor = 1; // Adjust this value to change steering sensitivity |
|
| 154 | - float throttleFactor = 1; // Adjust this value to change throttle sensitivity (e.g., 1.2 for 20% stronger throttle) |
|
| 155 | - |
|
| 156 | - // Map control values with deadband |
|
| 157 | - long rawThrottleValue = mapWithDeadband(aileronControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 158 | - long rawSteeringValue = mapWithDeadband(elevatorControl, 0, 100, 50, deadbandRadius, -255, 255); |
|
| 159 | - |
|
| 160 | - // Apply sensitivity factors |
|
| 161 | - long throttleValue = rawThrottleValue * throttleFactor; |
|
| 162 | - long adjustedSteeringValue = rawSteeringValue * steeringFactor; |
|
| 163 | - |
|
| 164 | - // Mix throttle and steering for differential drive |
|
| 165 | - long motor1Pwm = throttleValue + adjustedSteeringValue; |
|
| 166 | - long motor2Pwm = throttleValue - adjustedSteeringValue; |
|
| 167 | - |
|
| 168 | - // Constrain PWM values to the valid range [-255, 255] |
|
| 169 | - motor1Pwm = constrain(motor1Pwm, -255, 255); |
|
| 170 | - motor2Pwm = constrain(motor2Pwm, -255, 255); |
|
| 171 | - |
|
| 172 | - // Set motor speeds and directions using the updated function |
|
| 173 | - setMotorOutput(IN1, motor1Pwm); // Motor 1 |
|
| 174 | - setMotorOutput(IN2, motor2Pwm); // Motor 2 |
|
| 175 | - |
|
| 176 | - // Add the LED effect |
|
| 177 | - randomBlinkEffect(); |
|
| 178 | - |
|
| 179 | - delay(20); // Shorter delay for better responsiveness |
|
| 180 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/rover-8871-test.ino
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | -// Define pins for each RC channel |
|
| 2 | -int aileronPin = 14; // Channel 1 (Throttle) // D5 |
|
| 3 | -int elevatorPin = 12; // Channel 2 (Steering) // D6 |
|
| 4 | - |
|
| 5 | -// Motor control pins |
|
| 6 | -const int MOTOR1_CTRL_PIN = 4; // GPIO4 (D2) |
|
| 7 | -const int MOTOR2_CTRL_PIN = 5; // GPIO5 (D1) |
|
| 8 | - |
|
| 9 | -const int PWM_MAX = 1023; // ESP8266 PWM range is 0-1023 |
|
| 10 | -const int PWM_STOP = PWM_MAX / 2; // ~511 or 512 |
|
| 11 | - |
|
| 12 | -void setup() { |
|
| 13 | - pinMode(MOTOR1_CTRL_PIN, OUTPUT); |
|
| 14 | - pinMode(MOTOR2_CTRL_PIN, OUTPUT); |
|
| 15 | - Serial.begin(9600); |
|
| 16 | -} |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -void loop() { |
|
| 20 | - for (int pwm = 0; pwm <= PWM_MAX; pwm += 50) { |
|
| 21 | - |
|
| 22 | - // Apply the PWM value to both motors |
|
| 23 | - analogWrite(MOTOR1_CTRL_PIN, pwm); |
|
| 24 | - analogWrite(MOTOR2_CTRL_PIN, pwm); |
|
| 25 | - |
|
| 26 | - // Wait a moment at this PWM value |
|
| 27 | - delay(500); |
|
| 28 | - } |
|
| 29 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-code-dat/ultrasonic car-1602.pde
| ... | ... | @@ -1,399 +0,0 @@ |
| 1 | -#include <IRremote.h> |
|
| 2 | -#include <Servo.h> |
|
| 3 | -#include <Wire.h> |
|
| 4 | -#include <LiquidCrystal_I2C.h> |
|
| 5 | - |
|
| 6 | -//***********************定義馬達腳位************************* |
|
| 7 | -int MotorRight1=6; |
|
| 8 | -int MotorRight2=9; |
|
| 9 | -int MotorLeft1=10; |
|
| 10 | -int MotorLeft2=11; |
|
| 11 | -int counter=0; |
|
| 12 | -const int irReceiverPin = 3; //紅外線接收器 OUTPUT 訊號接在 pin 2 |
|
| 13 | - |
|
| 14 | -//***********************設定所偵測到的IRcode************************* |
|
| 15 | -long IRfront= 0x00FF629D; //前進碼 |
|
| 16 | -long IRback=0x00FFA857; //後退 |
|
| 17 | -long IRturnright=0x00FF22DD; //右轉 |
|
| 18 | -long IRturnleft= 0x00FFC23D; //左轉 |
|
| 19 | -long IRstop=0x00FF02FD; //停止 |
|
| 20 | -long IRAutorun=0x00FF6897; //超音波自走模式 |
|
| 21 | -long IRturnsmallleft= 0x00FFB04F; |
|
| 22 | -IRrecv irrecv(irReceiverPin); // 定義 IRrecv 物件來接收紅外線訊號 |
|
| 23 | -decode_results results; |
|
| 24 | -//*************************定義超音波腳位****************************** |
|
| 25 | -int inputPin =A0 ; // 定義超音波信號接收腳位rx |
|
| 26 | -int outputPin =A1; // 定義超音波信號發射腳位'tx |
|
| 27 | -int Fspeedd = 0; // 前方距離 |
|
| 28 | -int Rspeedd = 0; // 右方距離 |
|
| 29 | -int Lspeedd = 0; // 左方距離 |
|
| 30 | -int directionn = 0; // 前=8 後=2 左=4 右=6 |
|
| 31 | -Servo myservo; // 設 myservo |
|
| 32 | -int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 33 | -int Fgo = 8; // 前進 |
|
| 34 | -int Rgo = 6; // 右轉 |
|
| 35 | -int Lgo = 4; // 左轉 |
|
| 36 | -int Bgo = 2; // 倒車 |
|
| 37 | -//********************************************************************(SETUP) |
|
| 38 | -LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display |
|
| 39 | -void setup() |
|
| 40 | -{ |
|
| 41 | - Serial.begin(9600); |
|
| 42 | - pinMode(MotorRight1, OUTPUT); // 腳位 8 (PWM) |
|
| 43 | - pinMode(MotorRight2, OUTPUT); // 腳位 9 (PWM) |
|
| 44 | - pinMode(MotorLeft1, OUTPUT); // 腳位 10 (PWM) |
|
| 45 | - pinMode(MotorLeft2, OUTPUT); // 腳位 11 (PWM) |
|
| 46 | - irrecv.enableIRIn(); // 啟動紅外線解碼 |
|
| 47 | - digitalWrite(3,HIGH); |
|
| 48 | - pinMode(inputPin, INPUT); // 定義超音波輸入腳位 |
|
| 49 | - pinMode(outputPin, OUTPUT); // 定義超音波輸出腳位 |
|
| 50 | - myservo.attach(5); // 定義伺服馬達輸出第5腳位(PWM) |
|
| 51 | - lcd.init(); // initialize the lcd |
|
| 52 | - lcd.init(); |
|
| 53 | - // Print a message to the LCD. |
|
| 54 | - lcd.backlight(); |
|
| 55 | - |
|
| 56 | - |
|
| 57 | - |
|
| 58 | - } |
|
| 59 | -//******************************************************************(Void) |
|
| 60 | -void advance(int a) // 前進 |
|
| 61 | -{ |
|
| 62 | - digitalWrite(MotorRight1,LOW); |
|
| 63 | - digitalWrite(MotorRight2,HIGH); |
|
| 64 | - digitalWrite(MotorLeft1,LOW); |
|
| 65 | - digitalWrite(MotorLeft2,HIGH); |
|
| 66 | - delay(a * 100); |
|
| 67 | -} |
|
| 68 | -void right(int b) //右轉(單輪) |
|
| 69 | -{ |
|
| 70 | - digitalWrite(MotorLeft1,LOW); |
|
| 71 | - digitalWrite(MotorLeft2,HIGH); |
|
| 72 | - digitalWrite(MotorRight1,LOW); |
|
| 73 | - digitalWrite(MotorRight2,LOW); |
|
| 74 | - delay(b * 100); |
|
| 75 | -} |
|
| 76 | -void left(int c) //左轉(單輪) |
|
| 77 | -{ |
|
| 78 | - digitalWrite(MotorRight1,LOW); |
|
| 79 | - digitalWrite(MotorRight2,HIGH); |
|
| 80 | - digitalWrite(MotorLeft1,LOW); |
|
| 81 | - digitalWrite(MotorLeft2,LOW); |
|
| 82 | - delay(c * 100); |
|
| 83 | -} |
|
| 84 | -void turnR(int d) //右轉(雙輪) |
|
| 85 | -{ |
|
| 86 | - digitalWrite(MotorRight1,HIGH); |
|
| 87 | - digitalWrite(MotorRight2,LOW); |
|
| 88 | - digitalWrite(MotorLeft1,LOW); |
|
| 89 | - digitalWrite(MotorLeft2,HIGH); |
|
| 90 | - delay(d * 100); |
|
| 91 | -} |
|
| 92 | -void turnL(int e) //左轉(雙輪) |
|
| 93 | -{ |
|
| 94 | - digitalWrite(MotorRight1,LOW); |
|
| 95 | - digitalWrite(MotorRight2,HIGH); |
|
| 96 | - digitalWrite(MotorLeft1,HIGH); |
|
| 97 | - digitalWrite(MotorLeft2,LOW); |
|
| 98 | - delay(e * 100); |
|
| 99 | -} |
|
| 100 | -void stopp(int f) //停止 |
|
| 101 | -{ |
|
| 102 | - digitalWrite(MotorRight1,LOW); |
|
| 103 | - digitalWrite(MotorRight2,LOW); |
|
| 104 | - digitalWrite(MotorLeft1,LOW); |
|
| 105 | - digitalWrite(MotorLeft2,LOW); |
|
| 106 | - delay(f * 100); |
|
| 107 | -} |
|
| 108 | -void back(int g) //後退 |
|
| 109 | -{ |
|
| 110 | - digitalWrite(MotorRight1,HIGH); |
|
| 111 | - digitalWrite(MotorRight2,LOW); |
|
| 112 | - digitalWrite(MotorLeft1,HIGH); |
|
| 113 | - digitalWrite(MotorLeft2,LOW);; |
|
| 114 | - delay(g * 100); |
|
| 115 | -} |
|
| 116 | -void detection() //測量3個角度(前.左.右) |
|
| 117 | -{ |
|
| 118 | - int delay_time = 250; // 伺服馬達轉向後的穩定時間 |
|
| 119 | - ask_pin_F(); // 讀取前方距離 |
|
| 120 | - |
|
| 121 | - if(Fspeedd < 10) // 假如前方距離小於10公分 |
|
| 122 | - { |
|
| 123 | - stopp(1); // 清除輸出資料 |
|
| 124 | - back(2); // 後退 0.2秒 |
|
| 125 | - |
|
| 126 | - |
|
| 127 | - } |
|
| 128 | - if(Fspeedd < 25) // 假如前方距離小於25公分 |
|
| 129 | - { |
|
| 130 | - stopp(1); // 清除輸出資料 |
|
| 131 | - ask_pin_L(); // 讀取左方距離 |
|
| 132 | - delay(delay_time); // 等待伺服馬達穩定 |
|
| 133 | - ask_pin_R(); // 讀取右方距離 |
|
| 134 | - delay(delay_time); // 等待伺服馬達穩定 |
|
| 135 | - |
|
| 136 | - if(Lspeedd > Rspeedd) //假如 左邊距離大於右邊距離 |
|
| 137 | - { |
|
| 138 | - directionn = Lgo; //向左走 |
|
| 139 | - } |
|
| 140 | - |
|
| 141 | - if(Lspeedd <= Rspeedd) //假如 左邊距離小於或等於右邊距離 |
|
| 142 | - { |
|
| 143 | - directionn = Rgo; //向右走 |
|
| 144 | - } |
|
| 145 | - |
|
| 146 | - if (Lspeedd < 15 && Rspeedd < 15) //假如 左邊距離和右邊距離皆小於10公分 |
|
| 147 | - { |
|
| 148 | - directionn = Bgo; //向後走 |
|
| 149 | - } |
|
| 150 | - } |
|
| 151 | - else //加如前方大於25公分 |
|
| 152 | - { |
|
| 153 | - directionn = Fgo; //向前走 |
|
| 154 | - } |
|
| 155 | -} |
|
| 156 | -//********************************************************************************* |
|
| 157 | -void ask_pin_F() // 量出前方距離 |
|
| 158 | -{ |
|
| 159 | -myservo.write(90); |
|
| 160 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 161 | -delayMicroseconds(2); |
|
| 162 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 163 | -delayMicroseconds(10); |
|
| 164 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 165 | -float Fdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 166 | -Fdistance= Fdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 167 | - |
|
| 168 | -Fspeedd = Fdistance; // 將距離 讀入Fspeedd(前速) |
|
| 169 | -} |
|
| 170 | -//******************************************************************************** |
|
| 171 | -void ask_pin_L() // 量出左邊距離 |
|
| 172 | -{ |
|
| 173 | -myservo.write(177); |
|
| 174 | -delay(delay_time); |
|
| 175 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 176 | -delayMicroseconds(2); |
|
| 177 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 178 | -delayMicroseconds(10); |
|
| 179 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 180 | -float Ldistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 181 | -Ldistance= Ldistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 182 | - |
|
| 183 | -Lspeedd = Ldistance; // 將距離 讀入Lspeedd(左速) |
|
| 184 | -} |
|
| 185 | -//****************************************************************************** |
|
| 186 | -void ask_pin_R() // 量出右邊距離 |
|
| 187 | -{ |
|
| 188 | -myservo.write(5); |
|
| 189 | -delay(delay_time); |
|
| 190 | -digitalWrite(outputPin, LOW); // 讓超聲波發射低電壓2μs |
|
| 191 | -delayMicroseconds(2); |
|
| 192 | -digitalWrite(outputPin, HIGH); // 讓超聲波發射高電壓10μs,這裡至少是10μs |
|
| 193 | -delayMicroseconds(10); |
|
| 194 | -digitalWrite(outputPin, LOW); // 維持超聲波發射低電壓 |
|
| 195 | -float Rdistance = pulseIn(inputPin, HIGH); // 讀差相差時間 |
|
| 196 | -Rdistance= Rdistance/5.8/10; // 將時間轉為距離距离(單位:公分) |
|
| 197 | - |
|
| 198 | -Rspeedd = Rdistance; // 將距離 讀入Rspeedd(右速) |
|
| 199 | -} |
|
| 200 | -//******************************************************************************(LOOP) |
|
| 201 | -void loop() |
|
| 202 | -{ |
|
| 203 | - |
|
| 204 | -//***************************************************************************正常遙控模式 |
|
| 205 | - if (irrecv.decode(&results)) |
|
| 206 | - { // 解碼成功,收到一組紅外線訊號 |
|
| 207 | -/***********************************************************************/ |
|
| 208 | - if (results.value == IRfront)//前進 |
|
| 209 | - { |
|
| 210 | - |
|
| 211 | - lcd.setCursor(0,0); |
|
| 212 | - lcd.print(" IR mode"); |
|
| 213 | - lcd.setCursor(0,1); |
|
| 214 | - lcd.print(" advance "); |
|
| 215 | - advance(20);//前進 |
|
| 216 | - } |
|
| 217 | -/***********************************************************************/ |
|
| 218 | - if (results.value == IRback)//後退 |
|
| 219 | - { |
|
| 220 | - |
|
| 221 | - lcd.setCursor(0,0); |
|
| 222 | - lcd.print(" IR mode"); |
|
| 223 | - lcd.setCursor(0,1); |
|
| 224 | - lcd.print(" back "); |
|
| 225 | - back(20);//後退 |
|
| 226 | - } |
|
| 227 | -/***********************************************************************/ |
|
| 228 | - if (results.value == IRturnright)//右轉 |
|
| 229 | - { |
|
| 230 | - |
|
| 231 | - lcd.setCursor(0,0); |
|
| 232 | - lcd.print(" IR mode"); |
|
| 233 | - lcd.setCursor(0,1); |
|
| 234 | - lcd.print(" right "); |
|
| 235 | - right(10); // 右轉 |
|
| 236 | - |
|
| 237 | - } |
|
| 238 | -/***********************************************************************/ |
|
| 239 | - if (results.value == IRturnleft)//左轉 |
|
| 240 | - { |
|
| 241 | - |
|
| 242 | - lcd.setCursor(0,0); |
|
| 243 | - lcd.print(" IR mode"); |
|
| 244 | - lcd.setCursor(0,1); |
|
| 245 | - lcd.print(" left "); |
|
| 246 | - left(10); // 左轉); |
|
| 247 | - } |
|
| 248 | -/***********************************************************************/ |
|
| 249 | - if (results.value == IRstop)//停止 |
|
| 250 | - { |
|
| 251 | - lcd.setCursor(0,0); |
|
| 252 | - lcd.print(" IR mode"); |
|
| 253 | - lcd.setCursor(0,1); |
|
| 254 | - lcd.print(" stop "); |
|
| 255 | - digitalWrite(MotorRight1,LOW); |
|
| 256 | - digitalWrite(MotorRight2,LOW); |
|
| 257 | - digitalWrite(MotorLeft1,LOW); |
|
| 258 | - digitalWrite(MotorLeft2,LOW); |
|
| 259 | - |
|
| 260 | - |
|
| 261 | - } |
|
| 262 | - |
|
| 263 | -//***********************************************************************超音波自走模式 |
|
| 264 | - if (results.value ==IRAutorun ) |
|
| 265 | - { |
|
| 266 | - while(IRAutorun) |
|
| 267 | - { |
|
| 268 | - myservo.write(90); //讓伺服馬達回歸 預備位置 準備下一次的測量 |
|
| 269 | - detection(); //測量角度 並且判斷要往哪一方向移動 |
|
| 270 | - if(directionn == 8) //假如directionn(方向) = 8(前進) |
|
| 271 | - { |
|
| 272 | - if (irrecv.decode(&results)) |
|
| 273 | - { |
|
| 274 | - irrecv.resume(); |
|
| 275 | - Serial.println(results.value,HEX); |
|
| 276 | - if(results.value ==IRstop) |
|
| 277 | - { |
|
| 278 | - digitalWrite(MotorRight1,LOW); |
|
| 279 | - digitalWrite(MotorRight2,LOW); |
|
| 280 | - digitalWrite(MotorLeft1,LOW); |
|
| 281 | - digitalWrite(MotorLeft2,LOW); |
|
| 282 | - break; |
|
| 283 | - } |
|
| 284 | - } |
|
| 285 | - results.value=0; |
|
| 286 | - |
|
| 287 | - |
|
| 288 | - lcd.setCursor(0,0); |
|
| 289 | - lcd.print(" aoto mode"); |
|
| 290 | - lcd.setCursor(0,1); |
|
| 291 | - lcd.print(" Advance "); |
|
| 292 | - advance(1); // 正常前進 |
|
| 293 | - } |
|
| 294 | - if(directionn == 2) //假如directionn(方向) = 2(倒車) |
|
| 295 | - { |
|
| 296 | - if (irrecv.decode(&results)) |
|
| 297 | - { |
|
| 298 | - irrecv.resume(); |
|
| 299 | - Serial.println(results.value,HEX); |
|
| 300 | - if(results.value ==IRstop) |
|
| 301 | - { |
|
| 302 | - digitalWrite(MotorRight1,LOW); |
|
| 303 | - digitalWrite(MotorRight2,LOW); |
|
| 304 | - digitalWrite(MotorLeft1,LOW); |
|
| 305 | - digitalWrite(MotorLeft2,LOW); |
|
| 306 | - break; |
|
| 307 | - } |
|
| 308 | - } |
|
| 309 | - results.value=0; |
|
| 310 | - |
|
| 311 | - |
|
| 312 | - lcd.setCursor(0,0); |
|
| 313 | - lcd.print(" aoto mode"); |
|
| 314 | - lcd.setCursor(0,1); |
|
| 315 | - lcd.print(" Reverse "); |
|
| 316 | - back(8); // 倒退(車) |
|
| 317 | - turnL(3); //些微向左方移動(防止卡在死巷裡) |
|
| 318 | - } |
|
| 319 | - if(directionn == 6) //假如directionn(方向) = 6(右轉) |
|
| 320 | - { |
|
| 321 | - if (irrecv.decode(&results)) |
|
| 322 | - { |
|
| 323 | - irrecv.resume(); |
|
| 324 | - Serial.println(results.value,HEX); |
|
| 325 | - if(results.value ==IRstop) |
|
| 326 | - { |
|
| 327 | - digitalWrite(MotorRight1,LOW); |
|
| 328 | - digitalWrite(MotorRight2,LOW); |
|
| 329 | - digitalWrite(MotorLeft1,LOW); |
|
| 330 | - digitalWrite(MotorLeft2,LOW); |
|
| 331 | - break; |
|
| 332 | - } |
|
| 333 | - } |
|
| 334 | - results.value=0; |
|
| 335 | - |
|
| 336 | - |
|
| 337 | - lcd.setCursor(0,0); |
|
| 338 | - lcd.print(" aoto mode"); |
|
| 339 | - lcd.setCursor(0,1); |
|
| 340 | - lcd.print(" Right "); |
|
| 341 | - back(1); |
|
| 342 | - turnR(3); // 右轉 |
|
| 343 | - } |
|
| 344 | - if(directionn == 4) //假如directionn(方向) = 4(左轉) |
|
| 345 | - { |
|
| 346 | - if (irrecv.decode(&results)) |
|
| 347 | - { |
|
| 348 | - irrecv.resume(); |
|
| 349 | - Serial.println(results.value,HEX); |
|
| 350 | - if(results.value ==IRstop) |
|
| 351 | - { |
|
| 352 | - digitalWrite(MotorRight1,LOW); |
|
| 353 | - digitalWrite(MotorRight2,LOW); |
|
| 354 | - digitalWrite(MotorLeft1,LOW); |
|
| 355 | - digitalWrite(MotorLeft2,LOW); |
|
| 356 | - break; |
|
| 357 | - } |
|
| 358 | - } |
|
| 359 | - results.value=0; |
|
| 360 | - |
|
| 361 | - lcd.setCursor(0,0); |
|
| 362 | - lcd.print(" aoto mode"); |
|
| 363 | - lcd.setCursor(0,1); |
|
| 364 | - lcd.print(" Left "); |
|
| 365 | - back(1); |
|
| 366 | - turnL(3); // 左轉 |
|
| 367 | - |
|
| 368 | - } |
|
| 369 | - |
|
| 370 | - if (irrecv.decode(&results)) |
|
| 371 | - { |
|
| 372 | - irrecv.resume(); |
|
| 373 | - Serial.println(results.value,HEX); |
|
| 374 | - if(results.value ==IRstop) |
|
| 375 | - { |
|
| 376 | - digitalWrite(MotorRight1,LOW); |
|
| 377 | - digitalWrite(MotorRight2,LOW); |
|
| 378 | - digitalWrite(MotorLeft1,LOW); |
|
| 379 | - digitalWrite(MotorLeft2,LOW); |
|
| 380 | - break; |
|
| 381 | - } |
|
| 382 | - } |
|
| 383 | - } |
|
| 384 | - results.value=0; |
|
| 385 | - } |
|
| 386 | -/***********************************************************************/ |
|
| 387 | - else |
|
| 388 | - { |
|
| 389 | - digitalWrite(MotorRight1,LOW); |
|
| 390 | - digitalWrite(MotorRight2,LOW); |
|
| 391 | - digitalWrite(MotorLeft1,LOW); |
|
| 392 | - digitalWrite(MotorLeft2,LOW); |
|
| 393 | - } |
|
| 394 | - |
|
| 395 | - |
|
| 396 | - irrecv.resume(); // 繼續收下一組紅外線訊號 |
|
| 397 | - } |
|
| 398 | -} |
|
| 399 | - |
app-dat/RC-dat/RC-configurator-dat/RC-configurator-dat.md
| ... | ... | @@ -1,26 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-configurator-dat |
|
| 3 | - |
|
| 4 | -- [[betaflight-dat]] |
|
| 5 | - |
|
| 6 | -- [[heli-configurator-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## commerlized projects |
|
| 11 | - |
|
| 12 | -- **speedybee** == https://www.speedybee.com/ == SpeedyBee is a company that specializes in providing high-quality drone components and accessories, including flight controllers, ESCs, and other related products. They are known for their innovative designs and user-friendly interfaces, making them a popular choice among drone enthusiasts. |
|
| 13 | -- **betafpv** == https://www.betafpv.com/ == BETAFPV is a company that focuses on producing small and lightweight drones, particularly for FPV (First Person View) racing and freestyle flying. They offer a range of products, including flight controllers, cameras, and other accessories tailored for FPV enthusiasts. |
|
| 14 | -- happymodel |
|
| 15 | -- iFlight |
|
| 16 | -- Holybro |
|
| 17 | -- TBS |
|
| 18 | -- Flywoo |
|
| 19 | -- HGLRC |
|
| 20 | -- Diatone |
|
| 21 | -- GepRC |
|
| 22 | -- Racerstar |
|
| 23 | -- Emax |
|
| 24 | -- Eachine |
|
| 25 | -- HGLRC |
|
| 26 | -- Racerstar |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-41-34.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-41-34.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-45-29.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-03-14-45-29.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-20-15.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-20-15.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-05.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-05.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-23.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-21-23.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-23-18.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-23-18.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-29-48.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-29-48.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-31-37.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-31-37.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-32-43.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/2025-09-15-03-32-43.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-PID-dat.md
| ... | ... | @@ -1,288 +0,0 @@ |
| 1 | - |
|
| 2 | -# PID-dat |
|
| 3 | - |
|
| 4 | -- [[betaflight-PID-fliter-dat]] |
|
| 5 | - |
|
| 6 | -- [[betaflight-rateprofile-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -- [[indoor-fly-PID-tuning-dat]] |
|
| 10 | - |
|
| 11 | -## works |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -- suspension == spring + damper |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## mobula8 for example |
|
| 24 | - |
|
| 25 | -default profile |
|
| 26 | - |
|
| 27 | -| value | Proportional | Integral | D Max | Derivative | Feedforward | |
|
| 28 | -| ---------- | ------------ | -------- | ----- | ---------- | ----------- | |
|
| 29 | -| Basic/Acro | | | | | | |
|
| 30 | -| ROLL | 53 | 95 | 46 | 43 | 143 | |
|
| 31 | -| PITCH | 56 | 100 | 52 | 48 | 149 | |
|
| 32 | -| YAW | 53 | 95 | 00 | 0 | 143 | |
|
| 33 | - |
|
| 34 | -**Proportional (P):** Controls how strongly the quad reacts to the difference between the current and desired position (error). Higher P means faster correction, but too high can cause oscillations. |
|
| 35 | - |
|
| 36 | -**Integral (I):** Corrects for small, persistent errors over time (like wind drift). It accumulates error and helps the quad hold its attitude. Too much I can cause slow oscillations or “wind-up.” |
|
| 37 | - |
|
| 38 | -**D Max:** The maximum value the Derivative (D) term can reach during fast movements. It helps control overshoot and quick direction changes, especially when Damping is set low. |
|
| 39 | - |
|
| 40 | -**Derivative (D):** Reacts to how quickly the error is changing (rate of change). It damps rapid movements and helps prevent overshoot and oscillations. Too much D can make motors hot or noisy. |
|
| 41 | - |
|
| 42 | -**Feedforward (FF):** Predicts and responds to your stick inputs directly, making the quad feel more responsive and “snappy.” It doesn’t rely on error, so it improves stick tracking and reduces latency. |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -tuned profile |
|
| 46 | - |
|
| 47 | -| value | Proportional | Integral | D Max | Derivative | Feedforward | |
|
| 48 | -| ---------- | ------------ | -------- | ----- | ---------- | ----------- | |
|
| 49 | -| Basic/Acro | | | | | | |
|
| 50 | -| ROLL | 48 | 100 | 41 | 43 | 143 | |
|
| 51 | -| PITCH | 41 | 105 | 48 | 48 | 149 | |
|
| 52 | -| YAW | 53 | 95 | 00 | 0 | 143 | |
|
| 53 | - |
|
| 54 | - |
|
| 55 | -## slider |
|
| 56 | - |
|
| 57 | -PID Tuning Slider Mode |
|
| 58 | - |
|
| 59 | -ID tuning slider mode can |
|
| 60 | -be: |
|
| 61 | -- OFF - no sliders, enter values manually |
|
| 62 | -- RP - sliders control Roll and Pitch only, enter Yaw values manually |
|
| 63 | -- RPY - sliders control all PID |
|
| 64 | - |
|
| 65 | -Warning: Going from RP to RPY mode will overwrite Yaw settings with firmware settings. |
|
| 66 | - |
|
| 67 | - |
|
| 68 | -| set | value | | |
|
| 69 | -| ------------------------------------ | ----- | -------------------------------------------- | |
|
| 70 | -| Damping: D Gains | 1.4 | | |
|
| 71 | -| Tracking: P & I Gains | 1 | | |
|
| 72 | -| Stick Response: FF Gains | 0 | | |
|
| 73 | -| Dynamic Damping: D Max | 0 | starting from 0 | |
|
| 74 | -| Drift - Wobble: /Gains | 0 | | |
|
| 75 | -| Pitch Damping: Pitch:Roll D | | | |
|
| 76 | -| Pitch Tracking: Pitch:Roll P, I & FF | | | |
|
| 77 | -| Master Multiplier: | 1.6 | Indoor: keep lower to avoid twitchy behavior | |
|
| 78 | - |
|
| 79 | -### Damping: D Gains |
|
| 80 | - |
|
| 81 | -Relatively high D-gain will dampen stick responsiveness and may make motors hot, but should help control fast oscillations and will improve prop-wash. |
|
| 82 | - |
|
| 83 | -Relatively low D-term gives quicker stick responsiveness, but will weaken prop-wash performance and reacting to external forces (wind). |
|
| 84 | - |
|
| 85 | -### Tracking: P & I Gains |
|
| 86 | - |
|
| 87 | -Increase the Tracking slider to sharpen the quads response to your influences; avoiding the nose of the quad going off course in any condition. |
|
| 88 | - |
|
| 89 | -Lower 'Tracking' values will will go off course on stick moves and in prop wash. |
|
| 90 | - |
|
| 91 | -High 'Tracking' may result in oscillation and fast bounceback (hard to see but you canhear). |
|
| 92 | - |
|
| 93 | -Excessive Tracking may result in oscillations and hot motors. |
|
| 94 | - |
|
| 95 | -### Stick Response: FF Gains |
|
| 96 | - |
|
| 97 | -Lower Stick Response will increase the **latency** of the quad movements to commands and may result in slow bounceback at the end of a flip or roll. |
|
| 98 | - |
|
| 99 | -Higher Stick Response will give snappier quad response to sharp stick moves. Too much Stick Response can cause flip or roll. |
|
| 100 | - |
|
| 101 | -Note: "I-term Relax" can reduce authority quads or if low Stick Response Gains are used. |
|
| 102 | - |
|
| 103 | -### Dynamic Damping: D Max |
|
| 104 | - |
|
| 105 | -Increases D max, the maximum amount that D can increase to during faster movements. |
|
| 106 | - |
|
| 107 | -For race quads, where the main Damping slider has been set low to minimize motor heat, moving this slider to the **right** will improve overshoot control for quick direction changes. |
|
| 108 | - |
|
| 109 | -For HD or cinematic quads, instability in forward flight is best addressed by moving the Damping slider (not the Dynamic Damping slider) to the **right**. Check for motor heat and listen for weird noises during quick inputs when moving this slider to the right. |
|
| 110 | - |
|
| 111 | -For freestyle quads, especially heavier builds, moving this slider to the **right** may help control overshoot in flips and rolls. |
|
| 112 | - |
|
| 113 | -Note: Generally overshoot in flips and rolls is due to not enough 'i-Term Relax', or motor desyncs, or inadequate authority (a.k.a. Motor Saturation). If you find that moving the Damping Boost slider to the right doesn't improve flip or roll overshoot, put it back to the normal position, and seek out the reason for the overshoot or wobble. |
|
| 114 | - |
|
| 115 | - |
|
| 116 | - |
|
| 117 | - |
|
| 118 | - |
|
| 119 | -use PIDtoolbox to find the best value |
|
| 120 | - |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - |
|
| 124 | -### Master Multiplier |
|
| 125 | - |
|
| 126 | -- hear motor sound and feel the response |
|
| 127 | - |
|
| 128 | -- Start to gradually increase your Master Slider from ~0.5 |
|
| 129 | -- Pay attention to motor temperature, the sound of the motors, and propwash handling |
|
| 130 | - |
|
| 131 | - |
|
| 132 | - |
|
| 133 | - |
|
| 134 | - |
|
| 135 | -### Angle/Horizon |
|
| 136 | - |
|
| 137 | -| set | Strength | Transition | |
|
| 138 | -| ----------- | -------- | ---------- | |
|
| 139 | -| Angle | 50 | | |
|
| 140 | -| Horizon | 75 | 75 | |
|
| 141 | -| Angle Limit | 60 | | |
|
| 142 | - |
|
| 143 | -optimized for indoor fly |
|
| 144 | - |
|
| 145 | -| set | Strength | Transition | |
|
| 146 | -| ----------- | -------- | ---------- | |
|
| 147 | -| Angle | 32 | | |
|
| 148 | -| Horizon | 50 | 75 | |
|
| 149 | -| Angle Limit | 45 | | |
|
| 150 | - |
|
| 151 | -- angle mode == can not full roll or flip |
|
| 152 | -- Angle == less respone |
|
| 153 | -- Angle Limit == less speed and angle, but inability to fly in wind |
|
| 154 | - |
|
| 155 | - |
|
| 156 | - |
|
| 157 | - |
|
| 158 | - |
|
| 159 | -### slider screenshort |
|
| 160 | - |
|
| 161 | - |
|
| 162 | - |
|
| 163 | - |
|
| 164 | - |
|
| 165 | - |
|
| 166 | - |
|
| 167 | - |
|
| 168 | -CAUTioN: Current sllder positlons may cause flyaways, motor damage or unsafe craft behaviour. Please proceed with cautlon. |
|
| 169 | - |
|
| 170 | -Note: Slider access and range is restricted because you are not in expert mode. Basic mode should be suitable for most builds and beginners. |
|
| 171 | - |
|
| 172 | -Note: Slider(s) are disabled because current values are outside the Basic Mode adjustment range. Switch to Expert Mode to make changes |
|
| 173 | - |
|
| 174 | - |
|
| 175 | -## PID controller settings |
|
| 176 | - |
|
| 177 | -- Feedforward transition |
|
| 178 | -- Acro Trainer Angle Limit |
|
| 179 | -- Throttle Boost |
|
| 180 | -- Dynamic Idle Value [* 100 RPM] |
|
| 181 | -- Absolute Control |
|
| 182 | -- I Term Rotation |
|
| 183 | -- Vbat PID Compensation |
|
| 184 | -- Integrated Yaw |
|
| 185 | -- I Term Relax |
|
| 186 | - - RP - Axes |
|
| 187 | - - Setpoint - Type |
|
| 188 | - - 5 - Cutoff - [[indoor-fly-dat]] |
|
| 189 | - |
|
| 190 | -A feature that reduces (relaxes) the effect of the I-term (integral) in the PID controller during fast stick movements, helping to avoid overshoot and improve flight feel. |
|
| 191 | - |
|
| 192 | -- D Min |
|
| 193 | - |
|
| 194 | - |
|
| 195 | - |
|
| 196 | -## PID Controller Settings |
|
| 197 | - |
|
| 198 | -### feed-foward in PID Controller Settings |
|
| 199 | - |
|
| 200 | - set f_pitch = 160 |
|
| 201 | - set f_roll = 155 |
|
| 202 | - set f_yaw = 150 |
|
| 203 | - set feedforward_boost = 20 |
|
| 204 | - save |
|
| 205 | - |
|
| 206 | -If you prefer a softer, more stable indoor tune |
|
| 207 | - |
|
| 208 | - set f_pitch = 135 |
|
| 209 | - set f_roll = 130 |
|
| 210 | - set f_yaw = 130 |
|
| 211 | - set feedforward_boost = 10 |
|
| 212 | - save |
|
| 213 | - |
|
| 214 | - |
|
| 215 | - |
|
| 216 | -### Anti Gravity |
|
| 217 | - |
|
| 218 | -- [x] Permanently enable Anti Gravity |
|
| 219 | -- [x] Smooth [x] support - Mode |
|
| 220 | -- 10 - Gain - [[indoor-fly-dat]] |
|
| 221 | - |
|
| 222 | -A feature that temporarily boosts the I-term (integral) of the PID controller during rapid throttle changes to help maintain stable flight and prevent sudden altitude drops or surges. |
|
| 223 | - |
|
| 224 | -Enable anti-gravity for **stable throttle changes**. |
|
| 225 | - |
|
| 226 | - |
|
| 227 | - |
|
| 228 | -## Throttle and Motor Settings |
|
| 229 | - |
|
| 230 | -| set | value | expalination | |
|
| 231 | -| --------------------- | ----- | --------------------------------------------------------------------------------------- | |
|
| 232 | -| Throttle Boost | 5 | Increases throttle response when you make quick stick movements. | |
|
| 233 | -| Motor Output Limit | 100 | Limits the maximum power sent to the motors (as a percentage). | |
|
| 234 | -| Dynamic Idle | 35 | Sets a minimum motor RPM (as a percentage of throttle) when the throttle is at zero. | |
|
| 235 | -| Vbat Sag Compensation | 100% | Compensates for voltage drop (“sag”) as the battery drains. | |
|
| 236 | -| Thrust Linearization | 40% | Adjusts throttle curve to make thrust output more linear (proportional) to stick input. | |
|
| 237 | - |
|
| 238 | -indoor |
|
| 239 | - |
|
| 240 | - set throttle_limit_percent = 75 ## rateprofile |
|
| 241 | - |
|
| 242 | - set throttle_boost = 7 ## ? |
|
| 243 | - # set throttle_boost = 0 ## ? |
|
| 244 | - |
|
| 245 | - set dyn_idle_min_rpm = 30 |
|
| 246 | - set dshot_idle_value = 600 ## ? |
|
| 247 | - |
|
| 248 | - set motor_output_limit = 75 |
|
| 249 | - save |
|
| 250 | - |
|
| 251 | - |
|
| 252 | -#### dynamic idle |
|
| 253 | - |
|
| 254 | -- 2" == 30 |
|
| 255 | - |
|
| 256 | - |
|
| 257 | - |
|
| 258 | - |
|
| 259 | - |
|
| 260 | - |
|
| 261 | -## TPA (Throttle PID Attenuation) Explained |
|
| 262 | - |
|
| 263 | -→ **TPA = Throttle PID Attenuation** |
|
| 264 | -- Reduces the influence of **P, I, D** at high throttle |
|
| 265 | -- Prevents aggressive PID corrections when motors are near full power |
|
| 266 | - |
|
| 267 | -→ **TPA Breakpoint** |
|
| 268 | -- Defines the **throttle point (%)** where TPA starts reducing PID |
|
| 269 | -- Example: TPA Breakpoint = 1500 → above 1500/2000 throttle, PID attenuation begins |
|
| 270 | - |
|
| 271 | -→ **How it Works** |
|
| 272 | -- At low/mid throttle → full PID control → precise, stable hover |
|
| 273 | -- At high throttle → PID reduced → prevents oscillations caused by strong motor output |
|
| 274 | - |
|
| 275 | -→ **Indoor Fly Recommendation** |
|
| 276 | -- TPA can be **0–0.1** for small indoor quads → usually not needed |
|
| 277 | -- Breakpoint → not critical for indoor hover, keep default |
|
| 278 | - |
|
| 279 | - |
|
| 280 | - |
|
| 281 | - |
|
| 282 | -## ref |
|
| 283 | - |
|
| 284 | -- [[PID]] - [[tech]] |
|
| 285 | - |
|
| 286 | -- [damping tuning on meteor75](https://www.youtube.com/watch?v=CsD5sV7xOPc) |
|
| 287 | - |
|
| 288 | -- [Betaflight 4.5 PID Tuning](https://www.youtube.com/watch?v=1oYoVE4xu1U) |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-PID-fliter-dat/betaflight-PID-fliter-dat.md
| ... | ... | @@ -1,40 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-PID-fliter-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -### filter settings |
|
| 6 | - |
|
| 7 | -Profile dependent Filter Settings |
|
| 8 | - |
|
| 9 | -D Term Lowpass Filters |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | -## safe indoor tune |
|
| 14 | - |
|
| 15 | -### Gyro Lowpass Filters + Gyro RPM Filter + Dynamic Notch Filter |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - set gyro_lpf1_static_hz = 250 |
|
| 19 | - set gyro_lpf2_static_hz = OFF |
|
| 20 | - |
|
| 21 | - set gyro_lpf1_dyn_min_hz = 200 |
|
| 22 | - set gyro_lpf1_dyn_max_hz = 550 |
|
| 23 | - |
|
| 24 | - set rpm_filter_min_hz = 150 |
|
| 25 | - set dyn_notch_min_hz = 200 |
|
| 26 | - set dyn_notch_q = 500 |
|
| 27 | - |
|
| 28 | -If motors get hot in <1 min → lower **gyro_lpf1_static_hz** back to 200. |
|
| 29 | - |
|
| 30 | -If motors stay cool → you can even push **gyro_lpf1_dyn_max_hz** to 600. |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -### D Term LowpassFilters + D Term Notch Filter + Yaw Lowpass Filter |
|
| 35 | - |
|
| 36 | - set dterm_lpf1_static_hz = 150 |
|
| 37 | - set dterm_lpf1_dyn_min_hz = 100 |
|
| 38 | - set dterm_lpf1_dyn_max_hz = 200 |
|
| 39 | - set dterm_lpf2_static_hz = OFF |
|
| 40 | - set yaw_lowpass_hz = 0 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-38-55.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-38-55.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-45-34.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-04-12-45-34.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-06-12-32-30.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/2025-09-06-12-32-30.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-PID-dat/betaflight-rateprofile-dat/betaflight-rateprofile-dat.md
| ... | ... | @@ -1,161 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-rateprofile-dat |
|
| 3 | - |
|
| 4 | -- Controls **stick sensitivity** and **how fast the quad responds** |
|
| 5 | -- Lower values = slower, smoother indoor control |
|
| 6 | -- Higher values = faster, more aggressive control |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -## Rates Type == Betaflight |
|
| 10 | - |
|
| 11 | -| set | RC Rate | Rate | Expo | Max Vel [deg/s] | |
|
| 12 | -| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 13 | -| Basic/Acro Rates | | | | | |
|
| 14 | -| ROLL | 1.06 | 0.56 | 0.15 | 482 | |
|
| 15 | -| PITCH | 1.06 | 0.56 | 0.15 | 482 | |
|
| 16 | -| YAW | 1.06 | 0.56 | 0.05 | 482 | |
|
| 17 | - |
|
| 18 | -Rates Type? == Betaflight BETAFLIGHT == cinewhoop |
|
| 19 | - |
|
| 20 | -| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 21 | -| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 22 | -| Basic/Acro Rates | | | | | |
|
| 23 | -| ROLL | 0.6 | 0.6 | 0.3 | 300 | |
|
| 24 | -| PITCH | 0.6 | 0.6 | 0.3 | 300 | |
|
| 25 | -| YAW | 0.6 | 0.6 | 0.3 | 300 | |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -Lower **RC Rate** → overall slower stick response. |
|
| 30 | - |
|
| 31 | -- Roll: RC Rate 1.0 | Super Rate 0.65 | Expo 0.25 |
|
| 32 | -- Pitch: RC Rate 1.0 | Super Rate 0.65 | Expo 0.25 |
|
| 33 | -- Yaw: RC Rate 0.8 | Super Rate 0.70 | Expo 0.30 |
|
| 34 | -- Throttle Mid: 0.30 |
|
| 35 | -- Throttle Expo: 0.25 |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | -## Rates Type == Actual |
|
| 40 | - |
|
| 41 | -- **Center Sensitivity** → how responsive the quad is around stick center. |
|
| 42 | -- **Max Rate (deg/s)** → maximum rotation speed at full stick deflection. |
|
| 43 | -- **Expo** → how much the curve softens near center stick. |
|
| 44 | - |
|
| 45 | -### 1. Center Sensitivity |
|
| 46 | - |
|
| 47 | -- Controls responsiveness near stick center. |
|
| 48 | -- Indoor flying → set **lower** than outdoor to avoid twitchiness. |
|
| 49 | -- Example: `Center Sensitivity = 120` (instead of 200+ for outdoors). |
|
| 50 | - |
|
| 51 | ---- |
|
| 52 | - |
|
| 53 | -### 2. Max Rate |
|
| 54 | -- Sets the maximum rotation speed (°/s). |
|
| 55 | -- Indoor = keep rotation slower to avoid overshooting in tight spaces. |
|
| 56 | -- Example: `Max Rate = 400–500°/s` (outdoor freestyle often 700–1000°/s+). |
|
| 57 | - |
|
| 58 | ---- |
|
| 59 | - |
|
| 60 | -### 3. Expo |
|
| 61 | -- Smooths stick center further while keeping full rate at stick ends. |
|
| 62 | -- Indoor = a bit more expo to help small corrections. |
|
| 63 | -- Example: `Expo = 0.3–0.4`. |
|
| 64 | - |
|
| 65 | -- Roll: Center Sensitivity = 120 | Max Rate = 450 | Expo = 0.35 |
|
| 66 | -- Pitch: Center Sensitivity = 120 | Max Rate = 450 | Expo = 0.35 |
|
| 67 | -- Yaw: Center Sensitivity = 100 | Max Rate = 400 | Expo = 0.30 |
|
| 68 | - |
|
| 69 | - |
|
| 70 | -| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 71 | -| ---------------- | ------- | ------- | ---- | --------------- | |
|
| 72 | -| Basic/Acro Rates | | | | | |
|
| 73 | -| ROLL | 70 | 670 | 0 | 670 | |
|
| 74 | -| PITCH | 70 | 670 | 0 | 670 | |
|
| 75 | -| YAW | 70 | 670 | 0 | 670 | |
|
| 76 | - |
|
| 77 | - |
|
| 78 | -RC Rate == Center Sensitivity |
|
| 79 | - |
|
| 80 | -Rate RC == Max Rate == how many degree per second |
|
| 81 | - |
|
| 82 | -**Expo** (Exponential) adjusts the sensitivity of your stick inputs around the center position. |
|
| 83 | - |
|
| 84 | -- **Expo** = 0: Stick response is linear—movements are directly proportional. |
|
| 85 | -- **Higher Expo**: Makes the center of the stick less sensitive (smoother, easier for small corrections), while the ends remain more responsive. |
|
| 86 | - |
|
| 87 | -This helps pilots make precise, gentle movements without sacrificing full stick authority for fast maneuvers. |
|
| 88 | - |
|
| 89 | -optimized |
|
| 90 | - |
|
| 91 | -| set | RC Rate | Rate RC | Expo | Max Vel [deg/s] | |
|
| 92 | -| ---------------- | -------- | ---------- | -------- | --------------- | |
|
| 93 | -| Basic/Acro Rates | | | | | |
|
| 94 | -| ROLL | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 95 | -| PITCH | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 96 | -| YAW | 10 or 20 | 720 or 800 | 0 or 0.5 | 670 | |
|
| 97 | - |
|
| 98 | - |
|
| 99 | - |
|
| 100 | - |
|
| 101 | - |
|
| 102 | -## Throttle Limit / Throttle Limit % / Throttle MID / Throttle EXPO |
|
| 103 | - |
|
| 104 | -| Throttle Limit | Throttle Limit % | Throttle MID | Throttle EXPO | |
|
| 105 | -| -------------- | ---------------- | ------------ | ------------- | |
|
| 106 | -| OFF | 80 | 0.20 | 0.70 | |
|
| 107 | - |
|
| 108 | - |
|
| 109 | - |
|
| 110 | - |
|
| 111 | - |
|
| 112 | -1. Enable **Throttle Expo**: |
|
| 113 | - - Set `Throttle Expo = 0.2–0.4`. |
|
| 114 | - - Reduces sensitivity around mid-throttle. |
|
| 115 | -2. Adjust **Throttle Mid**: |
|
| 116 | - - If hover is at ~30% stick, set `Throttle Mid = 0.3`. |
|
| 117 | - - Matches your hover point with expo curve. |
|
| 118 | - |
|
| 119 | -## optimized version 2 for indoor flying |
|
| 120 | - |
|
| 121 | -| Throttle Limit | Throttle Limit % | Throttle MID | Throttle EXPO | |
|
| 122 | -| -------------- | ---------------- | ------------ | ------------- | |
|
| 123 | -| SCALE | 55 | 0.5 | 0.5 | |
|
| 124 | - |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -Throttle Limit |
|
| 128 | - |
|
| 129 | -- `Scale`: reduces power evenly across whole range. |
|
| 130 | -- `Clip`: cuts off only top-end throttle. |
|
| 131 | - |
|
| 132 | - |
|
| 133 | - |
|
| 134 | -## TPA / TPA Breakpoint |
|
| 135 | - |
|
| 136 | - |
|
| 137 | -- TPA = smooths high-throttle behavior |
|
| 138 | -- Breakpoint = throttle point where TPA starts |
|
| 139 | -- Indoor: minimal effect, focus more on PID, Rates, and Throttle MID |
|
| 140 | - |
|
| 141 | - |
|
| 142 | -## hover == throttle mid |
|
| 143 | - |
|
| 144 | -→ **Throttle MID** controls how stick input translates to motor power |
|
| 145 | -- Lower = more sensitive at low throttle |
|
| 146 | -- Higher = more stable at low throttle |
|
| 147 | - |
|
| 148 | -→ **Test Flight** |
|
| 149 | -- Arm the quad, hover at mid-throttle |
|
| 150 | -- If drone rises too fast → increase Throttle MID slightly |
|
| 151 | -- If drone feels sluggish → decrease Throttle MID slightly |
|
| 152 | - |
|
| 153 | - |
|
| 154 | - |
|
| 155 | - |
|
| 156 | - |
|
| 157 | - |
|
| 158 | - |
|
| 159 | -## ref |
|
| 160 | - |
|
| 161 | -- [[betaflight-PID-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-configuration-dat/betaflight-configuration-dat.md
| ... | ... | @@ -1,99 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-configuration-dat |
|
| 3 | - |
|
| 4 | -## options |
|
| 5 | - |
|
| 6 | -### Crash Recovery |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -if not work, try CLI set **crash_recovery = ON** |
|
| 10 | - |
|
| 11 | -→ Connect flight controller → open **Betaflight Configurator** → click **Connect** |
|
| 12 | - |
|
| 13 | -→ Go to **Configuration Tab** → scroll to **Other Features** |
|
| 14 | - |
|
| 15 | -→ Tick **Crash Recovery** → click **Save and Reboot** |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -## Configuration |
|
| 20 | - |
|
| 21 | -### Accelerometer Trim |
|
| 22 | - |
|
| 23 | -- Accelerometer Roll Trim |
|
| 24 | -- Accelerometer Pitch Trim |
|
| 25 | - |
|
| 26 | -| roll | roll trim | pitch | pitch trim | |
|
| 27 | -| ----- | --------- | ----- | ---------- | |
|
| 28 | -| left | -- | back | -- | |
|
| 29 | -| right | ++ | front | ++ | |
|
| 30 | - |
|
| 31 | -#### 1. Accelerometer Trim |
|
| 32 | -- General setting that shifts the "zero level" of the accelerometer. |
|
| 33 | -- Used if your quad drifts in Angle/Horizon mode even after calibration. |
|
| 34 | -- Instead of recalibrating, you can apply a small trim value here. |
|
| 35 | - |
|
| 36 | ---- |
|
| 37 | - |
|
| 38 | -#### 2. Accelerometer Roll Trim |
|
| 39 | -- Adjusts the accelerometer’s idea of "level" on the **Roll axis** (left ↔ right). |
|
| 40 | -- Example: |
|
| 41 | - - Drone drifts **right** in Angle Mode → add **positive Roll Trim**. |
|
| 42 | - - Drone drifts **left** → add **negative Roll Trim**. |
|
| 43 | - |
|
| 44 | ---- |
|
| 45 | - |
|
| 46 | -#### 3. Accelerometer Pitch Trim |
|
| 47 | -- Adjusts the accelerometer’s "level" on the **Pitch axis** (forward ↔ backward). |
|
| 48 | -- Example: |
|
| 49 | - - Drone drifts **forward** in Angle Mode → add **positive Pitch Trim**. |
|
| 50 | - - Drone drifts **backward** → add **negative Pitch Trim**. |
|
| 51 | - |
|
| 52 | - |
|
| 53 | -### Board and Sensor Alignment |
|
| 54 | - |
|
| 55 | -- 0 == Roll Degrees - 0 Pitch Degrees - 0 Yaw Degrees |
|
| 56 | -- **First** GYRO/ACCEL - **CW 90°** First GYRO |
|
| 57 | -- **Default** <MAG Alignment |
|
| 58 | - |
|
| 59 | -### System configuration |
|
| 60 | - |
|
| 61 | -Note: Make sure your FC is able to operate at these speeds! Check CPU and cycletime stability. Changing this may require PID re-tuning. TIP: Disable Accelerometer and other sensors to gain more performance. |
|
| 62 | - |
|
| 63 | -- 8.00 kHzGyro update frequency |
|
| 64 | -- 1.00 kHz PID loop frequency |
|
| 65 | -- Accelerometer |
|
| 66 | -- Barometer (if supported) |
|
| 67 | -- Magnetometer (if supported) |
|
| 68 | - |
|
| 69 | - |
|
| 70 | -### Dshot Beacon Configuration |
|
| 71 | - |
|
| 72 | -Beacon Tone |
|
| 73 | - |
|
| 74 | -- RX_LOST - Beeps when TX is turned off or signal lost (repeat until TX is okay) |
|
| 75 | -- RX_SET - Beeps when aux channel is set for beep |
|
| 76 | - |
|
| 77 | -### other features |
|
| 78 | - |
|
| 79 | -- air mode - consider turn this off, it may cause the whoop bump (hop round) when touch the ground |
|
| 80 | - |
|
| 81 | -- [] INFLIGHT_ACC_CAL |
|
| 82 | -- [] SERVO_TILT |
|
| 83 | -- [x] SOFT SERIAL |
|
| 84 | -- [] SONAR |
|
| 85 | -- [] LED_STRIP |
|
| 86 | -- [] DISPLAY |
|
| 87 | -- [x] OSD |
|
| 88 | -- [] CHANNEL_FORWARDING |
|
| 89 | -- [] TRANSPONDER |
|
| 90 | -- [] AIRMODE |
|
| 91 | -- [?] DYNAMIC_FILTER |
|
| 92 | - |
|
| 93 | - |
|
| 94 | -### Beeper Configuration |
|
| 95 | - |
|
| 96 | - |
|
| 97 | -## ref |
|
| 98 | - |
|
| 99 | -- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-dat.md
| ... | ... | @@ -1,155 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-dat |
|
| 3 | - |
|
| 4 | -- [[FPV-dat]] - [[mobula8-dat]] |
|
| 5 | - |
|
| 6 | -- [[radiomaster-dat]] - [[rc-controller-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -- [[betaflight-presents-dat]] - [[betaflight-configuration-dat]] |
|
| 11 | - |
|
| 12 | -- [[betaflight-receiver-dat]] - [[betaflight-modes-dat]] - [[betaflight-motors-dat]] - [[betaflight-modes-dat]] |
|
| 13 | - |
|
| 14 | -- [[betaflight-OSD-dat]] - [[betaflight-video-transmitter-dat]] - [[betaflight-blackbox-dat]] |
|
| 15 | - |
|
| 16 | -- [[betaflight-PID-dat]] - [[betaflight-rateprofile-dat]] - [[indoor-fly-dat]] |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## betaflight supports |
|
| 21 | - |
|
| 22 | -| model | supported | from | |
|
| 23 | -| ----------------------- | --------- | ------------------ | |
|
| 24 | -| [[Mobula8-dat]] / 7 / 6 | yes | [[happymodel-dat]] | |
|
| 25 | -| [[aquila16-dat]] | no | [[betaFPV-dat]] | |
|
| 26 | -| [[Meteor65-Pro-dat]] | yes | [[betaFPV-dat]] | |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -## betaflight features |
|
| 32 | - |
|
| 33 | -- RC smoothing - [[indoor-fly-dat]] |
|
| 34 | -- crash recovery - [[betaflight-configuration-dat]] |
|
| 35 | - |
|
| 36 | -## betaflight HDK features |
|
| 37 | - |
|
| 38 | -- [[GPS-dat]] |
|
| 39 | - |
|
| 40 | -- [[optic-flow-dat]] sensor |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -## CLI |
|
| 46 | - |
|
| 47 | - # version |
|
| 48 | - # Betaflight / STM32F411 (S411) 4.4.2 Jun 1 2023 / 02:20:34 (23d066d08) MSP API: 1.45 |
|
| 49 | - |
|
| 50 | - # config: YES |
|
| 51 | - # board: manufacturer_id: HAMO, board_name: CRAZYBEEF4SX1280 |
|
| 52 | - |
|
| 53 | - |
|
| 54 | -board == CRAZY BEE F4SX1280 |
|
| 55 | - |
|
| 56 | - |
|
| 57 | -## flash |
|
| 58 | - |
|
| 59 | -- CRAZYBEEF4SX1280 - [[CRAZYBEEF4SX1280-dat]] |
|
| 60 | -- 4.5.2 [19-Mar-2025] |
|
| 61 | - |
|
| 62 | -- Radio Protocol == CRSF |
|
| 63 | -- Other Options == xAcro Trainer / xGPS / xLED Strip / xOSD (Analog) / xOSD (Digital) / xPin 10 / xVTX |
|
| 64 | -- Telemetry Protocol == Automatically Included |
|
| 65 | -- Motor Protocol == DSHOT |
|
| 66 | - |
|
| 67 | -## SETUP |
|
| 68 | - |
|
| 69 | -- THE MOST IMPORTANT STEP: CALIBRATE ACCELEROMETER |
|
| 70 | -- **NO NOT CALIBRATE ON A TABLE**, PUT THE WHOOP ON THE FLOOR, MAKE SURE IT IS LEVEL |
|
| 71 | -- AFTER CALIBRATION, TURN ON MOTORS OR HOLD BY FINGERS, RECHECK |
|
| 72 | -- IF NEEDED, REPEAT CALIBRATION PROCESS UNTIL SATISFIED |
|
| 73 | - |
|
| 74 | - |
|
| 75 | -## ports |
|
| 76 | - |
|
| 77 | - |
|
| 78 | -## failsafe |
|
| 79 | - |
|
| 80 | -- console - failsafe mode - no pulse |
|
| 81 | - |
|
| 82 | -## PID |
|
| 83 | - |
|
| 84 | -- keep all factory default |
|
| 85 | - |
|
| 86 | - |
|
| 87 | - |
|
| 88 | -### after reset |
|
| 89 | - |
|
| 90 | -The following problems with your configuration were detected: |
|
| 91 | - |
|
| 92 | -o there Is no motor output protocol selected. |
|
| 93 | - |
|
| 94 | -- Please select a motor output protocol appropriate for your ESCs in 'EsC/Motor Features' on the 'Motors' tab. |
|
| 95 | -- Caution: Selecting a motor output protocol that is not supported by your ESCs can lead to the ESC spinning up as soon as a battery is connected. For this reason, always make sure to remove the props before connecting a battery for the first time after changing the motor output protocol. |
|
| 96 | - |
|
| 97 | -?? ed but It Is not callbrated. |
|
| 98 | - |
|
| 99 | -- If you plan to use the accelerometer, please follow the instructions for 'Calibrate Accelerometer' on the 'Setup' tab. If any function that requires the accelerometer (auto |
|
| 100 | -- level modes, GPS rescue, .) is enabled, arming of the craft will be disabled until the accelerometer has been calibrated. |
|
| 101 | -- If you are not planning on using the accelerometer it is recommended that you disable it in 'System configuration' on the 'Configuration' tab. |
|
| 102 | -- You need to fix these problems before attempting to fly your craft. |
|
| 103 | - |
|
| 104 | - |
|
| 105 | - |
|
| 106 | -## error log |
|
| 107 | - |
|
| 108 | - status |
|
| 109 | - MCU F411 Clock=108MHz (PLLP-HSE), Vref=3.31V, Core temp=71degC |
|
| 110 | - Stack size: 2048, Stack address: 0x2001fff0 |
|
| 111 | - Configuration: CONFIGURED, size: 3630, max available: 16384 |
|
| 112 | - Devices detected: SPI:1, I2C:0 |
|
| 113 | - Gyros detected: gyro 1 locked dma |
|
| 114 | - GYRO=ICM42688P, ACC=ICM42688P |
|
| 115 | - OSD: MAX7456 (30 x 13) |
|
| 116 | - BUILD KEY: ec13320be6dfb3454403e841b0669684 (4.4.2) |
|
| 117 | - System Uptime: 50 seconds, Current Time: 2025-09-02T09:08:26.240+00:00 |
|
| 118 | - CPU:22%, cycle time: 124, GYRO rate: 8064, RX rate: 249, System rate: 9 |
|
| 119 | - Voltage: 731 * 0.01V (2S battery - OK) |
|
| 120 | - I2C Errors: 0 |
|
| 121 | - Arming disable flags: BADRX ANGLE CLI ARMSWITCH |
|
| 122 | - |
|
| 123 | -Arming disable flags: BADRX ANGLE CLI ARMSWITCH |
|
| 124 | - |
|
| 125 | -- BADRX is the most common cause when telemetry works but motors don’t spin. |
|
| 126 | -- ANGLE prevents arming if FC is not level — always flat on table for first arm. |
|
| 127 | -- Don’t arm with props attached until confirmed on table. |
|
| 128 | - |
|
| 129 | - |
|
| 130 | -Arming disable flags: THROTTLE CLI MSP |
|
| 131 | - |
|
| 132 | - |
|
| 133 | - |
|
| 134 | - |
|
| 135 | - |
|
| 136 | - |
|
| 137 | -## black box |
|
| 138 | - |
|
| 139 | -Outboard serial logging device |
|
| 140 | - |
|
| 141 | -You can log to an external logging device (such as an OpenLager) by using a serial port. Configure the port on the Ports tab. |
|
| 142 | - |
|
| 143 | - |
|
| 144 | - |
|
| 145 | -## betaflight-dat.md |
|
| 146 | - |
|
| 147 | -Betaflight is an open-source firmware for drones and other unmanned aerial vehicles (UAVs). It is designed to provide advanced flight control capabilities, making it popular among hobbyists and enthusiasts in the drone community. Betaflight is known for its flexibility, configurability, and support for a wide range of hardware platforms. |
|
| 148 | - |
|
| 149 | - |
|
| 150 | - |
|
| 151 | - |
|
| 152 | - |
|
| 153 | -## ref |
|
| 154 | - |
|
| 155 | -- [[RC-configurator-dat]] - [[betaflight]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-modes-dat/betaflight-modes-dat.md
| ... | ... | @@ -1,50 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-modes-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[radiomaster-dat]] |
|
| 6 | - |
|
| 7 | -## Modes |
|
| 8 | - |
|
| 9 | -| Mode | AUX | radiomaster | set | Notes | |
|
| 10 | -| ------------------ | ----------- | ----------- | ---- | ----- | |
|
| 11 | -| ARM | AUX 1 | SA | HIGH | | |
|
| 12 | -| Angle | AUX 2 HIGH | SB | HIGH | | |
|
| 13 | -| Horizon | AUX 2 | SB | MID | | |
|
| 14 | -| acro Mode | AUX 2 | SB | x | | |
|
| 15 | -| Air Mode | AUX 3 | SC | MID | | |
|
| 16 | -| Flip After a Crash | AUX 3 | SC | HIGH | | |
|
| 17 | -| Beeper | AUX 4 | SD | HIGH | | |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -Air mode is very stable, good for beginners |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -### What is Air Mode? |
|
| 28 | - |
|
| 29 | -Air Mode is a **Betaflight flight feature** that keeps the motors active and responsive even at **zero throttle**. |
|
| 30 | - |
|
| 31 | -- Without Air Mode: |
|
| 32 | - - When you cut throttle, motors almost stop spinning. |
|
| 33 | - - The quad loses control authority and can "fall" or tumble. |
|
| 34 | -- With Air Mode ON: |
|
| 35 | - - Motors always maintain some thrust (idle speed). |
|
| 36 | - - You can still control pitch, roll, and yaw when throttle stick is at minimum. |
|
| 37 | - |
|
| 38 | -### Why Use Air Mode on Whoops? |
|
| 39 | -- ✅ Smoother hovering and stable control, even at low throttle. |
|
| 40 | -- ✅ Prevents sudden drop when you release throttle indoors. |
|
| 41 | -- ✅ Essential for flips, rolls, or freestyle tricks. |
|
| 42 | -- ⚠️ For very small **brushed whoops**, it can make them bounce indoors (too sensitive). |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -In the standard mixer/ mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors will be reduced equally. |
|
| 47 | - |
|
| 48 | -When a motor goes below minimum it gets clipped off. Say you had your throttle just above minimum and tried to pull a quick roll - since two motors can't go any lower, you essentially get half the power (half of your PID gain). |
|
| 49 | - |
|
| 50 | -If your inputs would have asked for more than a 100% difference between the high and low motors, the low motors would get clipped, breaking the Symmetry of the motor balance by unevenly reducing the gain |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-motors-dat/betaflight-motors-dat.md
| ... | ... | @@ -1,80 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-motors-dat |
|
| 3 | - |
|
| 4 | -- [[ex1103-dat]] - [[motor-fpv-dat]] |
|
| 5 | - |
|
| 6 | -## motors |
|
| 7 | - |
|
| 8 | -- mixer |
|
| 9 | - |
|
| 10 | -### ✅ Recommended ESC/Motor Protocol for Mobula8 |
|
| 11 | -- **DSHOT600** → most common, reliable, and default for Mobula8. |
|
| 12 | - |
|
| 13 | -### ⚡ Alternatives (if you have issues) |
|
| 14 | -- **DSHOT300** → safer fallback if you experience desyncs or motor twitching. |
|
| 15 | -- **DSHOT1200** → possible on some boards, but not necessary (no real benefit on Mobula8). |
|
| 16 | - |
|
| 17 | -test |
|
| 18 | -- [x] DSHOT 300 |
|
| 19 | -- [x] DSHOT 600 |
|
| 20 | - |
|
| 21 | -### settings |
|
| 22 | - |
|
| 23 | -DSHOT300 -- ESC/Motor protocol |
|
| 24 | - |
|
| 25 | -[] - MOTOR_STOP Don't spin the motors when armed |
|
| 26 | -[] - ESC_SENSOR Use KISS/BLHeli_32 ESC telemetry over a separate wlre |
|
| 27 | -[x] - Bidirectional Dshot (requires supported ESC firmware) |
|
| 28 | -12 - Motor poles (number of magnets on the motor bell) |
|
| 29 | -0 - Dynamic Idle Value [* 100 RPM] |
|
| 30 | -8% - Motor Idle ( %, static) |
|
| 31 | - |
|
| 32 | -EX1103 - KV11000 == Standard tiny whoop motors like EX1103 11000KV have 6 poles / 3-phase, but some high-torque variations may use 12 poles. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -### What is ESC Bi-Directional DShot? |
|
| 36 | - |
|
| 37 | -#### 1. DShot Protocol (normal) |
|
| 38 | -- A **digital protocol** to send throttle signals from the flight controller (FC) to the ESC. |
|
| 39 | -- More reliable than analog PWM or Oneshot/Multishot. |
|
| 40 | -- Normally one-way: FC → ESC only. |
|
| 41 | - |
|
| 42 | -#### 2. Bi-Directional DShot |
|
| 43 | -- Extension of DShot where communication is **two-way**: |
|
| 44 | - - FC → ESC (throttle command) |
|
| 45 | - - ESC → FC (motor feedback data) |
|
| 46 | - |
|
| 47 | -#### 3. What Data Comes Back? |
|
| 48 | -- **RPM (motor speed)** in real-time |
|
| 49 | -- **Current, voltage, temperature** (if ESC supports it) |
|
| 50 | -- This allows the FC to know exactly how fast each motor is spinning. |
|
| 51 | - |
|
| 52 | -#### 4. Why is it Useful? |
|
| 53 | -- Enables **RPM Filtering** in Betaflight / INAV: |
|
| 54 | - - Filters gyro noise at exact motor frequencies. |
|
| 55 | - - Makes flight smoother and more efficient. |
|
| 56 | -- More accurate telemetry than traditional ESC sensors. |
|
| 57 | -- Helps with diagnostics (e.g., if one motor is desyncing). |
|
| 58 | - |
|
| 59 | ---- |
|
| 60 | - |
|
| 61 | -#### Summary |
|
| 62 | -**Bi-Directional DShot = digital two-way protocol between FC and ESC.** |
|
| 63 | -It not only controls motors, but also lets ESC report **real-time motor RPM & telemetry** back, enabling advanced features like **RPM filtering** for smoother flights. |
|
| 64 | - |
|
| 65 | -#### 2. How to Check in Betaflight |
|
| 66 | -1. Plug Mobula8 into Betaflight Configurator. |
|
| 67 | -2. Go to **Configuration tab → ESC/Motor Features**. |
|
| 68 | -3. Look for **"Bidirectional DShot"** checkbox. |
|
| 69 | - - If available, try enabling it. |
|
| 70 | -4. Save & reboot. |
|
| 71 | - |
|
| 72 | -#### 3. Verify in Motors Tab |
|
| 73 | -- Go to **Motors tab** in Betaflight. |
|
| 74 | -- If bi-directional DShot works, you should see **motor RPM values** in real time. |
|
| 75 | -- If you only see throttle % but no RPM, your ESC firmware doesn’t support it. |
|
| 76 | - |
|
| 77 | - |
|
| 78 | -## ref |
|
| 79 | - |
|
| 80 | -- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/Chris-Rosser-presents-dat/Chris-Rosser-presents-dat.md
| ... | ... | @@ -1,17 +0,0 @@ |
| 1 | - |
|
| 2 | -# Chris-Rosser-presents-dat |
|
| 3 | - |
|
| 4 | -- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 5 | - |
|
| 6 | -- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -## tune |
|
| 10 | - |
|
| 11 | -AOS Cine25 tune by Chris Rosser |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## ref |
|
| 16 | - |
|
| 17 | -- [[betaflight-presents-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-18.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-18.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-39.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/2025-09-12-14-53-39.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/UAV-tech-presents-dat/UAV-tech-presents-dat.md
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | - |
|
| 2 | -# UAV-tech-presents-dat |
|
| 3 | - |
|
| 4 | -- [[uav-tech-tune-cinewhoop-dat]] - [[uav-tech-rates-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -https://www.youtube.com/@uavtech |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## tune |
|
| 11 | - |
|
| 12 | -### UAV Tech - Micro (2" to 4") |
|
| 13 | - |
|
| 14 | -### UAV Tech - Whoop (1S&2S) |
|
| 15 | - |
|
| 16 | -- Set **48kHz** for a good balance (smoother + longer flight time). |
|
| 17 | -- Use **96kHz** if you want maximum efficiency indoors (at the cost of a little punch). |
|
| 18 | - |
|
| 19 | -### CaddxBNF Gofilm20 |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## ref |
|
| 27 | - |
|
| 28 | -- [[betaflight-presents-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/betaflight-presents-dat.md
| ... | ... | @@ -1,122 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-presents-dat |
|
| 3 | - |
|
| 4 | -- [[betaflight-dat]] |
|
| 5 | - |
|
| 6 | -- [[Chris-Rosser-presents-dat]] - [[UAV-tech-presents-dat]] |
|
| 7 | - |
|
| 8 | -- [[FPV-dat]] |
|
| 9 | - |
|
| 10 | -## FPV purpose |
|
| 11 | - |
|
| 12 | -- [[indoor-fly-dat]] |
|
| 13 | - |
|
| 14 | -## setup |
|
| 15 | - |
|
| 16 | -### filters |
|
| 17 | - |
|
| 18 | -- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 19 | - |
|
| 20 | -### tune |
|
| 21 | - |
|
| 22 | -- [[mobula8-presents-dat]] |
|
| 23 | - |
|
| 24 | -- [[uav-tech-tune-cinewhoop-dat]] |
|
| 25 | - |
|
| 26 | -- [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 27 | - |
|
| 28 | -- [[reddit-cine-present]] |
|
| 29 | - |
|
| 30 | -### rates |
|
| 31 | - |
|
| 32 | -- [[uav-tech-rates-dat]] |
|
| 33 | - |
|
| 34 | -- [[Chris-Rosser-rates-AOS-dat]] |
|
| 35 | - |
|
| 36 | -### RC_LINK |
|
| 37 | - |
|
| 38 | -- [[bf-presents-rc_link-dat]] |
|
| 39 | - |
|
| 40 | -- expressLRS 250Hz |
|
| 41 | - |
|
| 42 | -## category |
|
| 43 | - |
|
| 44 | -- [] BNF |
|
| 45 | -- [x] FILTERS |
|
| 46 | - - Gyro filters |
|
| 47 | - - D-term filters |
|
| 48 | - - RPM filters (if bidirectional DShot is enabled) |
|
| 49 | -- [] LEDS |
|
| 50 | -- [] MODES |
|
| 51 | -- [] OSD |
|
| 52 | -- [] OTHER |
|
| 53 | -- [x] RATES |
|
| 54 | - - **Roll / Pitch / Yaw rates** |
|
| 55 | - - **Expo / RC rate** |
|
| 56 | - - **Rate profiles** for different flight styles |
|
| 57 | -- [x] RC_LINK |
|
| 58 | -- [x] TUNE == **PID controller settings** |
|
| 59 | -- [] VTX |
|
| 60 | - |
|
| 61 | -common used for a flight - [x] TUNE - [x] RATES - [x] FILTERS - [x] RC_LINK |
|
| 62 | - |
|
| 63 | - |
|
| 64 | -## other tuner |
|
| 65 | - |
|
| 66 | -### FPV_CAM |
|
| 67 | - |
|
| 68 | - |
|
| 69 | -### tune |
|
| 70 | - |
|
| 71 | -- UWL 75mm Whoop Tune by Fresh Bread |
|
| 72 | - |
|
| 73 | -- freestyle |
|
| 74 | - |
|
| 75 | -### RC_LINK |
|
| 76 | - |
|
| 77 | -- ExpressLRS 250Hz |
|
| 78 | - |
|
| 79 | - |
|
| 80 | -## info |
|
| 81 | - |
|
| 82 | -### Prop Wash Performance Booster (PWPF) |
|
| 83 | - |
|
| 84 | -### 1) Prop Wash Performance Booster (PWPF) |
|
| 85 | - |
|
| 86 | -### What it does |
|
| 87 | -- Helps stabilize the quad in **prop wash / turbulence** (low-speed yaw/pitch/roll oscillations caused by disturbed airflow). |
|
| 88 | -- Mainly improves **tiny whoop or cinewhoop stability** during hover or close-quarter flight. |
|
| 89 | - |
|
| 90 | -### Requirements |
|
| 91 | -- **FC:** Betaflight 4.3+ (most Mobula8 FCs can run this) |
|
| 92 | -- **Motor & ESC:** Works with any brushless motors + DShot or multishot PWM ESCs |
|
| 93 | -- **Notes:** Very useful for **indoor 1S Mobula8**, smooths hover & slow flight. |
|
| 94 | - |
|
| 95 | -### How to enable |
|
| 96 | -- Betaflight Configurator → Configuration → “Prop Wash Performance Booster” → enable |
|
| 97 | -- Adjust “PWPF Strength” in PID tuning → Motor tab if needed |
|
| 98 | - |
|
| 99 | ---- |
|
| 100 | - |
|
| 101 | -### 2) Dynamic Idle |
|
| 102 | - |
|
| 103 | -### What it does |
|
| 104 | -- Reduces idle motor throttle **automatically** during flight to reduce prop wash, save battery, and smooth low-throttle flight. |
|
| 105 | -- Improves **hover stability**, especially in micro FPV like 85mm Mobula8. |
|
| 106 | - |
|
| 107 | -### Requirements |
|
| 108 | -- **FC:** Betaflight 4.3+ (Configurable in Motors tab) |
|
| 109 | -- **ESC:** Must support **bidirectional DShot** or at least **telemetry** for accurate RPM sensing. |
|
| 110 | -- If your Mobula8 has **BLHeli_S ESC without telemetry**, Dynamic Idle will be **limited or less effective**. |
|
| 111 | -- Works better with **Bluejay or BLHeli_32 ESCs**. |
|
| 112 | - |
|
| 113 | -### How to enable |
|
| 114 | -- Betaflight Configurator → Configuration → Motors → Dynamic Idle → enable |
|
| 115 | -- Adjust min motor idle and gain if necessary |
|
| 116 | - |
|
| 117 | - |
|
| 118 | - |
|
| 119 | - |
|
| 120 | -## ref |
|
| 121 | - |
|
| 122 | -- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-filters-dat/Chris-Rosser-filter-AOS-cine20-dat.md
| ... | ... | @@ -1,9 +0,0 @@ |
| 1 | - |
|
| 2 | -# Chris-Rosser-filter-AOS-cine20-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- AOS Cine20 Filters |
|
| 6 | - |
|
| 7 | -Developed for the AOS Cine20 based on a build with 1303 6000KV motors and 550mAh 4S battery. |
|
| 8 | -NOTE this needs bidirectional Dshot support and RPM filtering active to use. DO NOT ATEMPT TO USE WITHOUT RPM FILTERING! |
|
| 9 | -Follow the usual process of hover testing and safely checking out your tune before using. USE AT YOUR OWN RISK. |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/2025-09-12-16-59-45.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/2025-09-12-16-59-45.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rates-dat/uav-tech-rates-dat.md
| ... | ... | @@ -1,8 +0,0 @@ |
| 1 | - |
|
| 2 | -# uav-tech-rates-dat.md |
|
| 3 | - |
|
| 4 | -### rates |
|
| 5 | - |
|
| 6 | -#### UAV Tech Rates (w/ Cinematic/Whoop Options) |
|
| 7 | - |
|
| 8 | - |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-rc_link-dat/bf-presents-rc_link-dat.md
| ... | ... | @@ -1,15 +0,0 @@ |
| 1 | - |
|
| 2 | -# bf-presents-rc_link-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## RC_LINK |
|
| 6 | - |
|
| 7 | -- Generic 250Hz Ultra Cinematic |
|
| 8 | - |
|
| 9 | -## Generic 250Hz Cinematic - Author:Ivan Efimov (Limon) |
|
| 10 | - |
|
| 11 | -Generic RC link settings for cinematic flying with 250Hz RC link. |
|
| 12 | -WARNING: make ABSOLUTELY SURE that the OpenTx or EdgeTx Hardware ADC Filter is un-checked! |
|
| 13 | -WARNING: check that you are using a compatible version of EdgeTx or OpenTx! |
|
| 14 | - |
|
| 15 | - |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/2025-09-12-16-39-59.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/2025-09-12-16-39-59.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/Chris-Rosser-tune-AOs-Cine20-dat/Chris-Rosser-tune-AOs-Cine20-dat.md
| ... | ... | @@ -1,37 +0,0 @@ |
| 1 | - |
|
| 2 | -# Chris-Rosser-tune-AOs-Cine20-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -#### AOs Cine20 tune by Chris Rosser |
|
| 6 | - |
|
| 7 | -Filters |
|
| 8 | -- [x] AOs Filters (Recommended) |
|
| 9 | -- [x] **RPM Filter Weights** for **triblade props** |
|
| 10 | -- [] RPM Filter Weights for other props |
|
| 11 | - |
|
| 12 | -Motor Settlngs |
|
| 13 | -- [x] DShot Motor Beeping (Recommended) |
|
| 14 | -- [x] 12 pole motors (Most 1404 motors have 12 poles) |
|
| 15 | - |
|
| 16 | -Rates |
|
| 17 | -- [x] Cinematic Rates (Recommended) |
|
| 18 | - |
|
| 19 | -Typical Board Alignment for 25mm AlO |
|
| 20 | -- [x] Typical Board Alignment for 25mm AlO (Test in setup tab BEFORE take-off!) |
|
| 21 | - |
|
| 22 | -EXCLUSIVE): Choose your RC llnk (or apply another preset separately) |
|
| 23 | -- [x] ELRS_250HZ (Recommended) |
|
| 24 | -- [] ELRS_500HZ |
|
| 25 | -- [] DJI Normal |
|
| 26 | -- [] DJI SBUS FAST |
|
| 27 | -- [] Crossfire 50Hz |
|
| 28 | -- [] Crossfire 150Hz |
|
| 29 | - |
|
| 30 | -Check all of these (recommended) |
|
| 31 | -- [x] Full battery sag compensation |
|
| 32 | -- [] No stick deadband |
|
| 33 | -- [] Arm at any angle |
|
| 34 | -- [] Props out (check motor direction!) |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/reddit-cine-present/Mobula8-Tune.txt
| ... | ... | @@ -1,117 +0,0 @@ |
| 1 | -# profile 0 |
|
| 2 | -set profile_name = - |
|
| 3 | -set dterm_lpf1_dyn_min_hz = 90 |
|
| 4 | -set dterm_lpf1_dyn_max_hz = 180 |
|
| 5 | -set dterm_lpf1_dyn_expo = 5 |
|
| 6 | -set dterm_lpf1_type = PT1 |
|
| 7 | -set dterm_lpf1_static_hz = 90 |
|
| 8 | -set dterm_lpf2_type = PT1 |
|
| 9 | -set dterm_lpf2_static_hz = 180 |
|
| 10 | -set dterm_notch_hz = 0 |
|
| 11 | -set dterm_notch_cutoff = 0 |
|
| 12 | -set vbat_sag_compensation = 100 |
|
| 13 | -set pid_at_min_throttle = ON |
|
| 14 | -set anti_gravity_gain = 90 |
|
| 15 | -set anti_gravity_cutoff_hz = 5 |
|
| 16 | -set anti_gravity_p_gain = 100 |
|
| 17 | -set acc_limit_yaw = 0 |
|
| 18 | -set acc_limit = 0 |
|
| 19 | -set crash_dthreshold = 50 |
|
| 20 | -set crash_gthreshold = 400 |
|
| 21 | -set crash_setpoint_threshold = 350 |
|
| 22 | -set crash_time = 500 |
|
| 23 | -set crash_delay = 0 |
|
| 24 | -set crash_recovery_angle = 10 |
|
| 25 | -set crash_recovery_rate = 100 |
|
| 26 | -set crash_limit_yaw = 200 |
|
| 27 | -set crash_recovery = OFF |
|
| 28 | -set iterm_rotation = OFF |
|
| 29 | -set iterm_relax = RP |
|
| 30 | -set iterm_relax_type = SETPOINT |
|
| 31 | -set iterm_relax_cutoff = 5 |
|
| 32 | -set iterm_windup = 85 |
|
| 33 | -set iterm_limit = 400 |
|
| 34 | -set pidsum_limit = 1000 |
|
| 35 | -set pidsum_limit_yaw = 1000 |
|
| 36 | -set yaw_lowpass_hz = 125 |
|
| 37 | -set throttle_boost = 5 |
|
| 38 | -set throttle_boost_cutoff = 15 |
|
| 39 | -set acro_trainer_angle_limit = 20 |
|
| 40 | -set acro_trainer_lookahead_ms = 50 |
|
| 41 | -set acro_trainer_debug_axis = ROLL |
|
| 42 | -set acro_trainer_gain = 75 |
|
| 43 | -set p_pitch = 75 |
|
| 44 | -set i_pitch = 134 |
|
| 45 | -set d_pitch = 65 |
|
| 46 | -set f_pitch = 199 |
|
| 47 | -set p_roll = 71 |
|
| 48 | -set i_roll = 127 |
|
| 49 | -set d_roll = 57 |
|
| 50 | -set f_roll = 191 |
|
| 51 | -set p_yaw = 71 |
|
| 52 | -set i_yaw = 127 |
|
| 53 | -set d_yaw = 0 |
|
| 54 | -set f_yaw = 191 |
|
| 55 | -set angle_p_gain = 50 |
|
| 56 | -set angle_feedforward = 50 |
|
| 57 | -set angle_feedforward_smoothing_ms = 80 |
|
| 58 | -set angle_limit = 60 |
|
| 59 | -set angle_earth_ref = 100 |
|
| 60 | -set horizon_level_strength = 75 |
|
| 61 | -set horizon_limit_sticks = 75 |
|
| 62 | -set horizon_limit_degrees = 135 |
|
| 63 | -set horizon_ignore_sticks = OFF |
|
| 64 | -set horizon_delay_ms = 500 |
|
| 65 | -set abs_control_gain = 0 |
|
| 66 | -set abs_control_limit = 90 |
|
| 67 | -set abs_control_error_limit = 20 |
|
| 68 | -set abs_control_cutoff = 11 |
|
| 69 | -set use_integrated_yaw = OFF |
|
| 70 | -set integrated_yaw_relax = 200 |
|
| 71 | -set d_min_roll = 57 |
|
| 72 | -set d_min_pitch = 65 |
|
| 73 | -set d_min_yaw = 0 |
|
| 74 | -set d_max_gain = 37 |
|
| 75 | -set d_max_advance = 20 |
|
| 76 | -set motor_output_limit = 100 |
|
| 77 | -set auto_profile_cell_count = 0 |
|
| 78 | -set launch_control_mode = NORMAL |
|
| 79 | -set launch_trigger_allow_reset = ON |
|
| 80 | -set launch_trigger_throttle_percent = 20 |
|
| 81 | -set launch_angle_limit = 0 |
|
| 82 | -set launch_control_gain = 40 |
|
| 83 | -set thrust_linear = 20 |
|
| 84 | -set transient_throttle_limit = 0 |
|
| 85 | -set feedforward_transition = 0 |
|
| 86 | -set feedforward_averaging = OFF |
|
| 87 | -set feedforward_smooth_factor = 25 |
|
| 88 | -set feedforward_jitter_factor = 7 |
|
| 89 | -set feedforward_boost = 15 |
|
| 90 | -set feedforward_max_rate_limit = 90 |
|
| 91 | -set dyn_idle_min_rpm = 40 |
|
| 92 | -set dyn_idle_p_gain = 50 |
|
| 93 | -set dyn_idle_i_gain = 50 |
|
| 94 | -set dyn_idle_d_gain = 50 |
|
| 95 | -set dyn_idle_max_increase = 150 |
|
| 96 | -set dyn_idle_start_increase = 50 |
|
| 97 | -set level_race_mode = OFF |
|
| 98 | -set simplified_pids_mode = RPY |
|
| 99 | -set simplified_master_multiplier = 160 |
|
| 100 | -set simplified_i_gain = 100 |
|
| 101 | -set simplified_d_gain = 120 |
|
| 102 | -set simplified_pi_gain = 100 |
|
| 103 | -set simplified_dmax_gain = 0 |
|
| 104 | -set simplified_feedforward_gain = 100 |
|
| 105 | -set simplified_pitch_d_gain = 100 |
|
| 106 | -set simplified_pitch_pi_gain = 100 |
|
| 107 | -set simplified_dterm_filter = ON |
|
| 108 | -set simplified_dterm_filter_multiplier = 120 |
|
| 109 | -set tpa_mode = D |
|
| 110 | -set tpa_rate = 65 |
|
| 111 | -set tpa_breakpoint = 1350 |
|
| 112 | -set tpa_low_rate = 20 |
|
| 113 | -set tpa_low_breakpoint = 1050 |
|
| 114 | -set tpa_low_always = OFF |
|
| 115 | -set ez_landing_threshold = 25 |
|
| 116 | -set ez_landing_limit = 5 |
|
| 117 | -set ez_landing_speed = 5 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/reddit-cine-present/reddit-cine-present.md
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | - |
|
| 2 | - |
|
| 3 | -# reddit-cine-present.md |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -Given what I know about Mobula8 (a small whoop / micro style quad), here’s what I think: |
|
| 7 | - |
|
| 8 | -If your ESC & frame / airflow are decent and you mostly fly indoors or want quieter motors: go with 48 kHz. It’s a safe, good all-round choice. |
|
| 9 | - |
|
| 10 | -If you want the quietest possible operation and are willing to manage heat, 96 kHz+ may be okay if your ESC supports it and you monitor temps. |
|
| 11 | - |
|
| 12 | -If you fly outdoors a lot, or you want max efficiency (battery life, less heat), and don’t mind a little noise / less silky low-throttle, 16-24 kHz might be more reliable. |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -- [[Mobula8-Tune.txt]] == https://www.reddit.com/r/TinyWhoop/comments/1lguely/mobula_8_pilots/ |
|
| 18 | - |
|
| 19 | - |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/uav-tech-tune-cinewhoop-dat/UAV_tech_Cinewhoop.txt
| ... | ... | @@ -1,137 +0,0 @@ |
| 1 | -#$ TITLE: UAV Tech - Cinewhoop |
|
| 2 | -#$ FIRMWARE_VERSION: 4.5 |
|
| 3 | -#$ FIRMWARE_VERSION: 4.5 |
|
| 4 | -#$ CATEGORY: TUNE |
|
| 5 | -#$ STATUS: OFFICIAL |
|
| 6 | -#$ KEYWORDS: cinewhoop |
|
| 7 | -#$ AUTHOR: UAV Tech (Mark Spatz) |
|
| 8 | - |
|
| 9 | -#$ PARSER: MARKED |
|
| 10 | - |
|
| 11 | -#$ DESCRIPTION: I am a Betaflight contributor, Youtube content creator, and professional tuner [www.theuavtech.com](https://www.theuavtech.com) |
|
| 12 | -#$ DESCRIPTION: |
|
| 13 | -#$ DESCRIPTION: - [Preset Overview Video](https://youtu.be/dEuNa-V6pys) |
|
| 14 | -#$ DESCRIPTION: |
|
| 15 | -#$ DESCRIPTION: |
|
| 16 | -#$ DESCRIPTION: Preset for this class of quadcopters: |
|
| 17 | -#$ DESCRIPTION: ----------- |
|
| 18 | -#$ DESCRIPTION: <img src="https://theuavtech.com/wp-content/uploads/2023/02/cinewhoop-drone.png" width="350px"/> |
|
| 19 | -#$ DESCRIPTION: |
|
| 20 | -#$ DESCRIPTION: Description: |
|
| 21 | -#$ DESCRIPTION: ----------- |
|
| 22 | -#$ DESCRIPTION: Base tune for a Cinewhoop. This tune is good for 4S or 6S batteries. |
|
| 23 | -#$ DESCRIPTION: The base preset assume you have your ESC set to 48K PWM (default). If you are on 24k or 96K, click the option above. Also if you would like to use with the RPM filtering or Dynamic Idle, click the option above. If you don't know what these features mean, click the links below for videos on each topic. Also check out the "Discussions" button below if you want to see what settings this preset changes (screen shots). |
|
| 24 | -#$ DESCRIPTION: |
|
| 25 | -#$ DESCRIPTION: <img src="https://i0.wp.com/theuavtech.com/wp-content/uploads/2020/10/icon-150x150-1.png" width="100px" style="margin-left: auto; margin-right: auto; display: block;"/> |
|
| 26 | -#$ DESCRIPTION: |
|
| 27 | -#$ DESCRIPTION: Options (click for video): |
|
| 28 | -#$ DESCRIPTION: ----------- |
|
| 29 | -#$ DESCRIPTION: - [What is ESC PWM Frequency?](https://youtu.be/v3806Incpvo) |
|
| 30 | -#$ DESCRIPTION: - [More Whoop Battery @ 48k PWM!](https://youtu.be/iyQoOrXuldc) |
|
| 31 | -#$ DESCRIPTION: |
|
| 32 | -#$ DESCRIPTION: (Recommendation: 48k | make sure to adjust in ESC settings) |
|
| 33 | -#$ DESCRIPTION: |
|
| 34 | -#$ DESCRIPTION: |
|
| 35 | -#$ DESCRIPTION: - [What is the RPM Filter?](https://youtu.be/ve_TNB0D87U) |
|
| 36 | -#$ DESCRIPTION: - [RPM vs. Dynamic Notch ONLY](https://youtu.be/ve_TNB0D87U) |
|
| 37 | -#$ DESCRIPTION: |
|
| 38 | -#$ DESCRIPTION: |
|
| 39 | -#$ DESCRIPTION: - [What is Dynamic Idle?](https://youtu.be/2Mr-AP7K8YE) |
|
| 40 | -#$ DESCRIPTION: |
|
| 41 | -#$ DESCRIPTION: Need more HELP? |
|
| 42 | -#$ DESCRIPTION: ----------- |
|
| 43 | -#$ DESCRIPTION: - [UAV Tech Discord](https://discordapp.com/invite/rCCzgeT) |
|
| 44 | -#$ DESCRIPTION: - [Take it to the NEXT LEVEL!](https://theuavtech.com/tuning) |
|
| 45 | -#$ DESCRIPTION: |
|
| 46 | -#$ WARNING: Prior to selecting the "RPM Filter" or "Dynamic Idle" options, Bi-Directional DSHOT must be setup for your quad. If you have not setup yet, click "CANCEL" and setup first (PROPS OFF to test). If you have NOT selected the "RPM Filter" or "Dynamic Idle" options, YOU CAN IGNORE THIS MESSAGE. |
|
| 47 | -#$ DISCUSSION: https://github.com/betaflight/firmware-presets/pull/208 |
|
| 48 | -#$ INCLUDE: presets/4.5/tune/defaults.txt |
|
| 49 | -#$ INCLUDE: presets/4.5/filters/defaults.txt |
|
| 50 | - |
|
| 51 | -# -- PID Settings -- |
|
| 52 | -set simplified_d_gain = 140 |
|
| 53 | -set simplified_pi_gain = 100 |
|
| 54 | -set simplified_feedforward_gain = 100 |
|
| 55 | -set simplified_dmax_gain = 0 |
|
| 56 | -set simplified_i_gain = 100 |
|
| 57 | -set simplified_pitch_d_gain = 100 |
|
| 58 | -set simplified_pitch_pi_gain = 100 |
|
| 59 | -set simplified_master_multiplier = 160 |
|
| 60 | - |
|
| 61 | -set iterm_relax_cutoff = 5 |
|
| 62 | -set vbat_sag_compensation = 100 |
|
| 63 | -set anti_gravity_gain = 90 |
|
| 64 | -set pidsum_limit = 1000 |
|
| 65 | -set pidsum_limit_yaw = 1000 |
|
| 66 | - |
|
| 67 | -#$ OPTION_GROUP BEGIN: Choose ONE Filter option (+ RPM filter if desired) |
|
| 68 | - #$ OPTION BEGIN (UNCHECKED): low Build Quality |
|
| 69 | - # -- ADDER: For HIGH gyro vibration builds -- |
|
| 70 | - set simplified_gyro_filter = ON |
|
| 71 | - set simplified_gyro_filter_multiplier = 40 |
|
| 72 | - set simplified_dterm_filter = ON |
|
| 73 | - set simplified_dterm_filter_multiplier = 100 |
|
| 74 | - set dyn_notch_count = 4 |
|
| 75 | - set dyn_notch_min_hz = 80 |
|
| 76 | - set dyn_notch_max_hz = 550 |
|
| 77 | - set yaw_lowpass_hz = 90 |
|
| 78 | - #$ OPTION END |
|
| 79 | - |
|
| 80 | - #$ OPTION BEGIN (CHECKED): Medium Build Quality |
|
| 81 | - # -- ADDER: For Medium gyro vibration builds -- |
|
| 82 | - set simplified_gyro_filter = ON |
|
| 83 | - set simplified_gyro_filter_multiplier = 60 |
|
| 84 | - set simplified_dterm_filter = ON |
|
| 85 | - set simplified_dterm_filter_multiplier = 120 |
|
| 86 | - set dyn_notch_count = 3 |
|
| 87 | - set dyn_notch_min_hz = 100 |
|
| 88 | - set dyn_notch_max_hz = 550 |
|
| 89 | - set yaw_lowpass_hz = 125 |
|
| 90 | - #$ OPTION END |
|
| 91 | - |
|
| 92 | - #$ OPTION BEGIN (UNCHECKED): HIGH Build Quality |
|
| 93 | - # -- ADDER: For low gyro vibration builds -- |
|
| 94 | - set simplified_gyro_filter = ON |
|
| 95 | - set simplified_gyro_filter_multiplier = 100 |
|
| 96 | - set simplified_dterm_filter = ON |
|
| 97 | - set simplified_dterm_filter_multiplier = 120 |
|
| 98 | - set dyn_notch_count = 2 |
|
| 99 | - set dyn_notch_min_hz = 125 |
|
| 100 | - set dyn_notch_max_hz = 550 |
|
| 101 | - set yaw_lowpass_hz = 0 |
|
| 102 | - #$ OPTION END |
|
| 103 | - |
|
| 104 | - #$ OPTION BEGIN (UNCHECKED): ... + enable RPM filter (if supported) |
|
| 105 | - # -- ADDER: Enabled RPM filtering -- |
|
| 106 | - set motor_pwm_protocol = DSHOT600 |
|
| 107 | - set dshot_bidir = ON |
|
| 108 | - set rpm_filter_harmonics = 2 |
|
| 109 | - set dyn_notch_count = 2 |
|
| 110 | - #$ OPTION END |
|
| 111 | -#$ OPTION_GROUP END |
|
| 112 | - |
|
| 113 | -#$ OPTION_GROUP BEGIN: (EXCLUSIVE) ESC PWM Options ... |
|
| 114 | - #$ OPTION BEGIN (UNCHECKED): 16 & 24k ESC PWM Settings |
|
| 115 | - # -- ADDER: For 16 & 24k ESC PWM Settings -- |
|
| 116 | - set thrust_linear = 0 |
|
| 117 | - #$ OPTION END |
|
| 118 | - |
|
| 119 | - #$ OPTION BEGIN (CHECKED): 48k ESC PWM Settings |
|
| 120 | - # -- ADDER: For 48k ESC PWM Settings -- |
|
| 121 | - set thrust_linear = 20 |
|
| 122 | - #$ OPTION END |
|
| 123 | - |
|
| 124 | - #$ OPTION BEGIN (UNCHECKED): 96k+ ESC PWM Settings |
|
| 125 | - # -- ADDER: For 96k ESC PWM Settings -- |
|
| 126 | - set thrust_linear = 40 |
|
| 127 | - #$ OPTION END |
|
| 128 | -#$ OPTION_GROUP END |
|
| 129 | - |
|
| 130 | -#$ OPTION_GROUP BEGIN: Prop Wash Performance Booster ... |
|
| 131 | - #$ OPTION BEGIN (UNCHECKED): Dynamic Idle |
|
| 132 | - # -- ADDER: Enabling Dynamic Idle -- |
|
| 133 | - set dyn_idle_min_rpm = 35 |
|
| 134 | - #$ OPTION END |
|
| 135 | -#$ OPTION_GROUP END |
|
| 136 | - |
|
| 137 | -simplified_tuning apply |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/bf-presents-tune-dat/uav-tech-tune-cinewhoop-dat/uav-tech-tune-cinewhoop-dat.md
| ... | ... | @@ -1,33 +0,0 @@ |
| 1 | - |
|
| 2 | -# uav-tech-tune-cinewhoop-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -#### UAV Tech - Cinewhoop |
|
| 6 | - |
|
| 7 | -- [[UAV_tech_Cinewhoop.txt]] |
|
| 8 | - |
|
| 9 | -Prior to selecting the "RPM Filter" or "Dynamic Idle" options, Bi-Directional DShot must be setup for your quad. If you have not setup yet, click "CANCEL" and setup first (PROPS OFF to test). If you have NO selected the "RPM Filter" or "Dynamic Idle" options, YOU CAN IGNORE THIS MESSAGE. |
|
| 10 | - |
|
| 11 | -https://github.com/betaflight/firmware-presets/pull/208 |
|
| 12 | - |
|
| 13 | -https://github.com/betaflight/firmware-presets/blob/master/presets/4.5/tune/uav_tech/UAV_tech_Cinewhoop.txt |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -(EXCLUSIVE) ESC PWM Optlons... |
|
| 21 | -- [] 16 & 24k ESC PWM Settings |
|
| 22 | -- [] 48k ESC PWM Settings |
|
| 23 | -- [] 96k+ ESC PWM Settings |
|
| 24 | - |
|
| 25 | -- [[motor-FPV-dat]] |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -PropWash Performance Booster.. |
|
| 29 | - |
|
| 30 | -- [] Dynamic Idle (EsC bi-directional Dshot required) |
|
| 31 | - |
|
| 32 | - |
|
| 33 | -[[Mobula8-Tune.txt]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/mobula8-presents-dat/Mobula8-SPI-ELRS-dump-file-for-betaflight-4.5.0-.txt
| ... | ... | @@ -1,1067 +0,0 @@ |
| 1 | -# Betaflight / STM32F411 (S411) 4.5.0 Apr 28 2024 / 03:19:08 (c155f5830) MSP API: 1.46 |
|
| 2 | -# config rev: 3068e6e |
|
| 3 | - |
|
| 4 | -# start the command batch |
|
| 5 | -batch start |
|
| 6 | - |
|
| 7 | -board_name CRAZYBEEF4SX1280 |
|
| 8 | -manufacturer_id HAMO |
|
| 9 | - |
|
| 10 | -# name: Mobula8 |
|
| 11 | - |
|
| 12 | -# resources |
|
| 13 | -resource BEEPER 1 C15 |
|
| 14 | -resource MOTOR 1 B10 |
|
| 15 | -resource MOTOR 2 B06 |
|
| 16 | -resource MOTOR 3 B07 |
|
| 17 | -resource MOTOR 4 B08 |
|
| 18 | -resource MOTOR 5 NONE |
|
| 19 | -resource MOTOR 6 NONE |
|
| 20 | -resource MOTOR 7 NONE |
|
| 21 | -resource MOTOR 8 NONE |
|
| 22 | -resource LED_STRIP 1 NONE |
|
| 23 | -resource SERIAL_TX 1 A09 |
|
| 24 | -resource SERIAL_TX 2 A02 |
|
| 25 | -resource SERIAL_TX 3 NONE |
|
| 26 | -resource SERIAL_TX 4 NONE |
|
| 27 | -resource SERIAL_TX 5 NONE |
|
| 28 | -resource SERIAL_TX 6 NONE |
|
| 29 | -resource SERIAL_TX 7 NONE |
|
| 30 | -resource SERIAL_TX 8 NONE |
|
| 31 | -resource SERIAL_TX 9 NONE |
|
| 32 | -resource SERIAL_TX 10 NONE |
|
| 33 | -resource SERIAL_RX 1 A10 |
|
| 34 | -resource SERIAL_RX 2 A03 |
|
| 35 | -resource SERIAL_RX 3 NONE |
|
| 36 | -resource SERIAL_RX 4 NONE |
|
| 37 | -resource SERIAL_RX 5 NONE |
|
| 38 | -resource SERIAL_RX 6 NONE |
|
| 39 | -resource SERIAL_RX 7 NONE |
|
| 40 | -resource SERIAL_RX 8 NONE |
|
| 41 | -resource SERIAL_RX 9 NONE |
|
| 42 | -resource SERIAL_RX 10 NONE |
|
| 43 | -resource INVERTER 1 NONE |
|
| 44 | -resource INVERTER 2 NONE |
|
| 45 | -resource INVERTER 3 NONE |
|
| 46 | -resource INVERTER 4 NONE |
|
| 47 | -resource INVERTER 5 NONE |
|
| 48 | -resource INVERTER 6 NONE |
|
| 49 | -resource INVERTER 7 NONE |
|
| 50 | -resource INVERTER 8 NONE |
|
| 51 | -resource INVERTER 9 NONE |
|
| 52 | -resource INVERTER 10 NONE |
|
| 53 | -resource INVERTER 11 NONE |
|
| 54 | -resource SOFTSERIAL_TX 1 NONE |
|
| 55 | -resource SOFTSERIAL_TX 2 NONE |
|
| 56 | -resource SOFTSERIAL_RX 1 NONE |
|
| 57 | -resource SOFTSERIAL_RX 2 NONE |
|
| 58 | -resource I2C_SCL 1 NONE |
|
| 59 | -resource I2C_SCL 2 NONE |
|
| 60 | -resource I2C_SCL 3 NONE |
|
| 61 | -resource I2C_SDA 1 NONE |
|
| 62 | -resource I2C_SDA 2 NONE |
|
| 63 | -resource I2C_SDA 3 NONE |
|
| 64 | -resource LED 1 C13 |
|
| 65 | -resource LED 2 NONE |
|
| 66 | -resource LED 3 NONE |
|
| 67 | -resource SPI_SCK 1 A05 |
|
| 68 | -resource SPI_SCK 2 B13 |
|
| 69 | -resource SPI_SCK 3 B03 |
|
| 70 | -resource SPI_SDI 1 A06 |
|
| 71 | -resource SPI_SDI 2 B14 |
|
| 72 | -resource SPI_SDI 3 B04 |
|
| 73 | -resource SPI_SDO 1 A07 |
|
| 74 | -resource SPI_SDO 2 B15 |
|
| 75 | -resource SPI_SDO 3 B05 |
|
| 76 | -resource ESCSERIAL 1 NONE |
|
| 77 | -resource ADC_BATT 1 B00 |
|
| 78 | -resource ADC_RSSI 1 NONE |
|
| 79 | -resource ADC_CURR 1 B01 |
|
| 80 | -resource ADC_EXT 1 NONE |
|
| 81 | -resource PINIO 1 NONE |
|
| 82 | -resource PINIO 2 NONE |
|
| 83 | -resource PINIO 3 NONE |
|
| 84 | -resource PINIO 4 NONE |
|
| 85 | -resource USB_MSC_PIN 1 NONE |
|
| 86 | -resource FLASH_CS 1 A14 |
|
| 87 | -resource OSD_CS 1 B12 |
|
| 88 | -resource RX_SPI_CS 1 A15 |
|
| 89 | -resource RX_SPI_EXTI 1 C14 |
|
| 90 | -resource RX_SPI_BIND 1 B02 |
|
| 91 | -resource RX_SPI_LED 1 B09 |
|
| 92 | -resource RX_SPI_EXPRESSLRS_RESET 1 A08 |
|
| 93 | -resource RX_SPI_EXPRESSLRS_BUSY 1 A13 |
|
| 94 | -resource GYRO_EXTI 1 A01 |
|
| 95 | -resource GYRO_EXTI 2 NONE |
|
| 96 | -resource GYRO_CS 1 A04 |
|
| 97 | -resource GYRO_CS 2 NONE |
|
| 98 | -resource USB_DETECT 1 NONE |
|
| 99 | -resource PULLUP 1 NONE |
|
| 100 | -resource PULLUP 2 NONE |
|
| 101 | -resource PULLUP 3 NONE |
|
| 102 | -resource PULLUP 4 NONE |
|
| 103 | -resource PULLDOWN 1 NONE |
|
| 104 | -resource PULLDOWN 2 NONE |
|
| 105 | -resource PULLDOWN 3 NONE |
|
| 106 | -resource PULLDOWN 4 NONE |
|
| 107 | - |
|
| 108 | -# timer |
|
| 109 | -timer A03 AF3 |
|
| 110 | -# pin A03: TIM9 CH2 (AF3) |
|
| 111 | -timer B10 AF1 |
|
| 112 | -# pin B10: TIM2 CH3 (AF1) |
|
| 113 | -timer B06 AF2 |
|
| 114 | -# pin B06: TIM4 CH1 (AF2) |
|
| 115 | -timer B07 AF2 |
|
| 116 | -# pin B07: TIM4 CH2 (AF2) |
|
| 117 | -timer B08 AF2 |
|
| 118 | -# pin B08: TIM4 CH3 (AF2) |
|
| 119 | -timer A00 AF2 |
|
| 120 | -# pin A00: TIM5 CH1 (AF2) |
|
| 121 | -timer A02 AF3 |
|
| 122 | -# pin A02: TIM9 CH1 (AF3) |
|
| 123 | -timer A09 AF1 |
|
| 124 | -# pin A09: TIM1 CH2 (AF1) |
|
| 125 | -timer A10 AF1 |
|
| 126 | -# pin A10: TIM1 CH3 (AF1) |
|
| 127 | - |
|
| 128 | -# dma |
|
| 129 | -dma SPI_SDO 1 NONE |
|
| 130 | -dma SPI_SDO 2 NONE |
|
| 131 | -dma SPI_SDO 3 NONE |
|
| 132 | -dma SPI_SDI 1 NONE |
|
| 133 | -dma SPI_SDI 2 NONE |
|
| 134 | -dma SPI_SDI 3 NONE |
|
| 135 | -dma SPI_TX 1 NONE |
|
| 136 | -dma SPI_TX 2 NONE |
|
| 137 | -dma SPI_TX 3 NONE |
|
| 138 | -dma SPI_RX 1 NONE |
|
| 139 | -dma SPI_RX 2 NONE |
|
| 140 | -dma SPI_RX 3 NONE |
|
| 141 | -dma ADC 1 1 |
|
| 142 | -# ADC 1: DMA2 Stream 4 Channel 0 |
|
| 143 | -dma ADC 2 NONE |
|
| 144 | -dma ADC 3 NONE |
|
| 145 | -dma UART_TX 1 NONE |
|
| 146 | -dma UART_TX 2 NONE |
|
| 147 | -dma UART_TX 3 NONE |
|
| 148 | -dma UART_TX 4 NONE |
|
| 149 | -dma UART_TX 5 NONE |
|
| 150 | -dma UART_TX 6 NONE |
|
| 151 | -dma UART_TX 7 NONE |
|
| 152 | -dma UART_TX 8 NONE |
|
| 153 | -dma UART_TX 9 NONE |
|
| 154 | -dma UART_TX 10 NONE |
|
| 155 | -dma UART_TX 11 NONE |
|
| 156 | -dma UART_RX 1 NONE |
|
| 157 | -dma UART_RX 2 NONE |
|
| 158 | -dma UART_RX 3 NONE |
|
| 159 | -dma UART_RX 4 NONE |
|
| 160 | -dma UART_RX 5 NONE |
|
| 161 | -dma UART_RX 6 NONE |
|
| 162 | -dma UART_RX 7 NONE |
|
| 163 | -dma UART_RX 8 NONE |
|
| 164 | -dma UART_RX 9 NONE |
|
| 165 | -dma UART_RX 10 NONE |
|
| 166 | -dma UART_RX 11 NONE |
|
| 167 | -dma pin A03 NONE |
|
| 168 | -dma pin B10 0 |
|
| 169 | -# pin B10: DMA1 Stream 1 Channel 3 |
|
| 170 | -dma pin B06 0 |
|
| 171 | -# pin B06: DMA1 Stream 0 Channel 2 |
|
| 172 | -dma pin B07 0 |
|
| 173 | -# pin B07: DMA1 Stream 3 Channel 2 |
|
| 174 | -dma pin B08 0 |
|
| 175 | -# pin B08: DMA1 Stream 7 Channel 2 |
|
| 176 | -dma pin A00 0 |
|
| 177 | -# pin A00: DMA1 Stream 2 Channel 6 |
|
| 178 | -dma pin A02 NONE |
|
| 179 | -dma pin A09 0 |
|
| 180 | -# pin A09: DMA2 Stream 6 Channel 0 |
|
| 181 | -dma pin A10 0 |
|
| 182 | -# pin A10: DMA2 Stream 6 Channel 0 |
|
| 183 | - |
|
| 184 | -# feature |
|
| 185 | -feature -RX_PPM |
|
| 186 | -feature -INFLIGHT_ACC_CAL |
|
| 187 | -feature -RX_SERIAL |
|
| 188 | -feature -MOTOR_STOP |
|
| 189 | -feature -SERVO_TILT |
|
| 190 | -feature -SOFTSERIAL |
|
| 191 | -feature -GPS |
|
| 192 | -feature -RANGEFINDER |
|
| 193 | -feature -TELEMETRY |
|
| 194 | -feature -3D |
|
| 195 | -feature -RX_PARALLEL_PWM |
|
| 196 | -feature -RX_MSP |
|
| 197 | -feature -RSSI_ADC |
|
| 198 | -feature -LED_STRIP |
|
| 199 | -feature -DISPLAY |
|
| 200 | -feature -OSD |
|
| 201 | -feature -CHANNEL_FORWARDING |
|
| 202 | -feature -TRANSPONDER |
|
| 203 | -feature -AIRMODE |
|
| 204 | -feature -RX_SPI |
|
| 205 | -feature -ESC_SENSOR |
|
| 206 | -feature -ANTI_GRAVITY |
|
| 207 | -feature OSD |
|
| 208 | -feature AIRMODE |
|
| 209 | -feature RX_SPI |
|
| 210 | -feature ANTI_GRAVITY |
|
| 211 | - |
|
| 212 | -# serial |
|
| 213 | -serial 20 1 115200 57600 0 115200 |
|
| 214 | -serial 0 0 115200 57600 0 115200 |
|
| 215 | -serial 1 2048 115200 57600 0 115200 |
|
| 216 | - |
|
| 217 | -# mixer |
|
| 218 | -mixer QUADX |
|
| 219 | - |
|
| 220 | -mmix reset |
|
| 221 | - |
|
| 222 | - |
|
| 223 | -# beeper |
|
| 224 | -beeper GYRO_CALIBRATED |
|
| 225 | -beeper RX_LOST |
|
| 226 | -beeper RX_LOST_LANDING |
|
| 227 | -beeper DISARMING |
|
| 228 | -beeper ARMING |
|
| 229 | -beeper ARMING_GPS_FIX |
|
| 230 | -beeper ARMING_GPS_NO_FIX |
|
| 231 | -beeper BAT_CRIT_LOW |
|
| 232 | -beeper BAT_LOW |
|
| 233 | -beeper GPS_STATUS |
|
| 234 | -beeper RX_SET |
|
| 235 | -beeper ACC_CALIBRATION |
|
| 236 | -beeper ACC_CALIBRATION_FAIL |
|
| 237 | -beeper READY_BEEP |
|
| 238 | -beeper MULTI_BEEPS |
|
| 239 | -beeper DISARM_REPEAT |
|
| 240 | -beeper ARMED |
|
| 241 | -beeper SYSTEM_INIT |
|
| 242 | -beeper ON_USB |
|
| 243 | -beeper BLACKBOX_ERASE |
|
| 244 | -beeper CRASH_FLIP |
|
| 245 | -beeper CAM_CONNECTION_OPEN |
|
| 246 | -beeper CAM_CONNECTION_CLOSE |
|
| 247 | -beeper RC_SMOOTHING_INIT_FAIL |
|
| 248 | - |
|
| 249 | -# beacon |
|
| 250 | -beacon RX_LOST |
|
| 251 | -beacon RX_SET |
|
| 252 | - |
|
| 253 | -# map |
|
| 254 | -map TAER1234 |
|
| 255 | - |
|
| 256 | -# led |
|
| 257 | -led 0 0,0::C:0 |
|
| 258 | -led 1 0,0::C:0 |
|
| 259 | -led 2 0,0::C:0 |
|
| 260 | -led 3 0,0::C:0 |
|
| 261 | -led 4 0,0::C:0 |
|
| 262 | -led 5 0,0::C:0 |
|
| 263 | -led 6 0,0::C:0 |
|
| 264 | -led 7 0,0::C:0 |
|
| 265 | -led 8 0,0::C:0 |
|
| 266 | -led 9 0,0::C:0 |
|
| 267 | -led 10 0,0::C:0 |
|
| 268 | -led 11 0,0::C:0 |
|
| 269 | -led 12 0,0::C:0 |
|
| 270 | -led 13 0,0::C:0 |
|
| 271 | -led 14 0,0::C:0 |
|
| 272 | -led 15 0,0::C:0 |
|
| 273 | -led 16 0,0::C:0 |
|
| 274 | -led 17 0,0::C:0 |
|
| 275 | -led 18 0,0::C:0 |
|
| 276 | -led 19 0,0::C:0 |
|
| 277 | -led 20 0,0::C:0 |
|
| 278 | -led 21 0,0::C:0 |
|
| 279 | -led 22 0,0::C:0 |
|
| 280 | -led 23 0,0::C:0 |
|
| 281 | -led 24 0,0::C:0 |
|
| 282 | -led 25 0,0::C:0 |
|
| 283 | -led 26 0,0::C:0 |
|
| 284 | -led 27 0,0::C:0 |
|
| 285 | -led 28 0,0::C:0 |
|
| 286 | -led 29 0,0::C:0 |
|
| 287 | -led 30 0,0::C:0 |
|
| 288 | -led 31 0,0::C:0 |
|
| 289 | - |
|
| 290 | -# color |
|
| 291 | -color 0 0,0,0 |
|
| 292 | -color 1 0,255,255 |
|
| 293 | -color 2 0,0,255 |
|
| 294 | -color 3 30,0,255 |
|
| 295 | -color 4 60,0,255 |
|
| 296 | -color 5 90,0,255 |
|
| 297 | -color 6 120,0,255 |
|
| 298 | -color 7 150,0,255 |
|
| 299 | -color 8 180,0,255 |
|
| 300 | -color 9 210,0,255 |
|
| 301 | -color 10 240,0,255 |
|
| 302 | -color 11 270,0,255 |
|
| 303 | -color 12 300,0,255 |
|
| 304 | -color 13 330,0,255 |
|
| 305 | -color 14 0,0,0 |
|
| 306 | -color 15 0,0,0 |
|
| 307 | - |
|
| 308 | -# mode_color |
|
| 309 | -mode_color 0 0 1 |
|
| 310 | -mode_color 0 1 11 |
|
| 311 | -mode_color 0 2 2 |
|
| 312 | -mode_color 0 3 13 |
|
| 313 | -mode_color 0 4 10 |
|
| 314 | -mode_color 0 5 3 |
|
| 315 | -mode_color 1 0 5 |
|
| 316 | -mode_color 1 1 11 |
|
| 317 | -mode_color 1 2 3 |
|
| 318 | -mode_color 1 3 13 |
|
| 319 | -mode_color 1 4 10 |
|
| 320 | -mode_color 1 5 3 |
|
| 321 | -mode_color 2 0 10 |
|
| 322 | -mode_color 2 1 11 |
|
| 323 | -mode_color 2 2 4 |
|
| 324 | -mode_color 2 3 13 |
|
| 325 | -mode_color 2 4 10 |
|
| 326 | -mode_color 2 5 3 |
|
| 327 | -mode_color 3 0 8 |
|
| 328 | -mode_color 3 1 11 |
|
| 329 | -mode_color 3 2 4 |
|
| 330 | -mode_color 3 3 13 |
|
| 331 | -mode_color 3 4 10 |
|
| 332 | -mode_color 3 5 3 |
|
| 333 | -mode_color 4 0 7 |
|
| 334 | -mode_color 4 1 11 |
|
| 335 | -mode_color 4 2 3 |
|
| 336 | -mode_color 4 3 13 |
|
| 337 | -mode_color 4 4 10 |
|
| 338 | -mode_color 4 5 3 |
|
| 339 | -mode_color 5 0 0 |
|
| 340 | -mode_color 5 1 0 |
|
| 341 | -mode_color 5 2 0 |
|
| 342 | -mode_color 5 3 0 |
|
| 343 | -mode_color 5 4 0 |
|
| 344 | -mode_color 5 5 0 |
|
| 345 | -mode_color 6 0 6 |
|
| 346 | -mode_color 6 1 10 |
|
| 347 | -mode_color 6 2 1 |
|
| 348 | -mode_color 6 3 0 |
|
| 349 | -mode_color 6 4 0 |
|
| 350 | -mode_color 6 5 2 |
|
| 351 | -mode_color 6 6 3 |
|
| 352 | -mode_color 6 7 6 |
|
| 353 | -mode_color 6 8 0 |
|
| 354 | -mode_color 6 9 0 |
|
| 355 | -mode_color 6 10 0 |
|
| 356 | -mode_color 7 0 3 |
|
| 357 | - |
|
| 358 | -# aux |
|
| 359 | -aux 0 0 0 1700 2100 0 0 |
|
| 360 | -aux 1 1 1 900 1300 0 0 |
|
| 361 | -aux 2 35 2 1700 2100 0 0 |
|
| 362 | -aux 3 0 0 900 900 0 0 |
|
| 363 | -aux 4 0 0 900 900 0 0 |
|
| 364 | -aux 5 0 0 900 900 0 0 |
|
| 365 | -aux 6 0 0 900 900 0 0 |
|
| 366 | -aux 7 0 0 900 900 0 0 |
|
| 367 | -aux 8 0 0 900 900 0 0 |
|
| 368 | -aux 9 0 0 900 900 0 0 |
|
| 369 | -aux 10 0 0 900 900 0 0 |
|
| 370 | -aux 11 0 0 900 900 0 0 |
|
| 371 | -aux 12 0 0 900 900 0 0 |
|
| 372 | -aux 13 0 0 900 900 0 0 |
|
| 373 | -aux 14 0 0 900 900 0 0 |
|
| 374 | -aux 15 0 0 900 900 0 0 |
|
| 375 | -aux 16 0 0 900 900 0 0 |
|
| 376 | -aux 17 0 0 900 900 0 0 |
|
| 377 | -aux 18 0 0 900 900 0 0 |
|
| 378 | -aux 19 0 0 900 900 0 0 |
|
| 379 | - |
|
| 380 | -# adjrange |
|
| 381 | -adjrange 0 0 3 1500 2100 12 3 0 0 |
|
| 382 | -adjrange 1 0 3 900 1500 12 3 0 0 |
|
| 383 | -adjrange 2 0 1 1800 2100 12 1 0 0 |
|
| 384 | -adjrange 3 0 0 900 900 0 0 0 0 |
|
| 385 | -adjrange 4 0 0 900 900 0 0 0 0 |
|
| 386 | -adjrange 5 0 0 900 900 0 0 0 0 |
|
| 387 | -adjrange 6 0 0 900 900 0 0 0 0 |
|
| 388 | -adjrange 7 0 0 900 900 0 0 0 0 |
|
| 389 | -adjrange 8 0 0 900 900 0 0 0 0 |
|
| 390 | -adjrange 9 0 0 900 900 0 0 0 0 |
|
| 391 | -adjrange 10 0 0 900 900 0 0 0 0 |
|
| 392 | -adjrange 11 0 0 900 900 0 0 0 0 |
|
| 393 | -adjrange 12 0 0 900 900 0 0 0 0 |
|
| 394 | -adjrange 13 0 0 900 900 0 0 0 0 |
|
| 395 | -adjrange 14 0 0 900 900 0 0 0 0 |
|
| 396 | -adjrange 15 0 0 900 900 0 0 0 0 |
|
| 397 | -adjrange 16 0 0 900 900 0 0 0 0 |
|
| 398 | -adjrange 17 0 0 900 900 0 0 0 0 |
|
| 399 | -adjrange 18 0 0 900 900 0 0 0 0 |
|
| 400 | -adjrange 19 0 0 900 900 0 0 0 0 |
|
| 401 | -adjrange 20 0 0 900 900 0 0 0 0 |
|
| 402 | -adjrange 21 0 0 900 900 0 0 0 0 |
|
| 403 | -adjrange 22 0 0 900 900 0 0 0 0 |
|
| 404 | -adjrange 23 0 0 900 900 0 0 0 0 |
|
| 405 | -adjrange 24 0 0 900 900 0 0 0 0 |
|
| 406 | -adjrange 25 0 0 900 900 0 0 0 0 |
|
| 407 | -adjrange 26 0 0 900 900 0 0 0 0 |
|
| 408 | -adjrange 27 0 0 900 900 0 0 0 0 |
|
| 409 | -adjrange 28 0 0 900 900 0 0 0 0 |
|
| 410 | -adjrange 29 0 0 900 900 0 0 0 0 |
|
| 411 | - |
|
| 412 | -# rxrange |
|
| 413 | -rxrange 0 1000 2000 |
|
| 414 | -rxrange 1 1000 2000 |
|
| 415 | -rxrange 2 1000 2000 |
|
| 416 | -rxrange 3 1000 2000 |
|
| 417 | - |
|
| 418 | -# vtxtable |
|
| 419 | -vtxtable bands 6 |
|
| 420 | -vtxtable channels 8 |
|
| 421 | -vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725 |
|
| 422 | -vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866 |
|
| 423 | -vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665 0 5885 5905 0 0 |
|
| 424 | -vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880 |
|
| 425 | -vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917 |
|
| 426 | -vtxtable band 6 LOWRACE L FACTORY 5333 5373 5413 5453 5493 5533 5573 5613 |
|
| 427 | -vtxtable powerlevels 5 |
|
| 428 | -vtxtable powervalues 10 2 14 20 26 |
|
| 429 | -vtxtable powerlabels 0 RCE 25 100 400 |
|
| 430 | - |
|
| 431 | -# vtx |
|
| 432 | -vtx 0 0 0 0 0 900 900 |
|
| 433 | -vtx 1 0 0 0 0 900 900 |
|
| 434 | -vtx 2 0 0 0 0 900 900 |
|
| 435 | -vtx 3 0 0 0 0 900 900 |
|
| 436 | -vtx 4 0 0 0 0 900 900 |
|
| 437 | -vtx 5 0 0 0 0 900 900 |
|
| 438 | -vtx 6 0 0 0 0 900 900 |
|
| 439 | -vtx 7 0 0 0 0 900 900 |
|
| 440 | -vtx 8 0 0 0 0 900 900 |
|
| 441 | -vtx 9 0 0 0 0 900 900 |
|
| 442 | - |
|
| 443 | -# rxfail |
|
| 444 | -rxfail 0 a |
|
| 445 | -rxfail 1 a |
|
| 446 | -rxfail 2 a |
|
| 447 | -rxfail 3 a |
|
| 448 | -rxfail 4 h |
|
| 449 | -rxfail 5 h |
|
| 450 | -rxfail 6 h |
|
| 451 | -rxfail 7 h |
|
| 452 | -rxfail 8 h |
|
| 453 | -rxfail 9 h |
|
| 454 | -rxfail 10 h |
|
| 455 | -rxfail 11 h |
|
| 456 | -rxfail 12 h |
|
| 457 | -rxfail 13 h |
|
| 458 | -rxfail 14 h |
|
| 459 | -rxfail 15 h |
|
| 460 | -rxfail 16 h |
|
| 461 | -rxfail 17 h |
|
| 462 | - |
|
| 463 | -# master |
|
| 464 | -set gyro_hardware_lpf = NORMAL |
|
| 465 | -set gyro_lpf1_type = PT1 |
|
| 466 | -set gyro_lpf1_static_hz = 200 |
|
| 467 | -set gyro_lpf2_type = PT1 |
|
| 468 | -set gyro_lpf2_static_hz = 250 |
|
| 469 | -set gyro_notch1_hz = 0 |
|
| 470 | -set gyro_notch1_cutoff = 0 |
|
| 471 | -set gyro_notch2_hz = 0 |
|
| 472 | -set gyro_notch2_cutoff = 0 |
|
| 473 | -set gyro_calib_duration = 125 |
|
| 474 | -set gyro_calib_noise_limit = 48 |
|
| 475 | -set gyro_offset_yaw = 0 |
|
| 476 | -set gyro_overflow_detect = ALL |
|
| 477 | -set yaw_spin_recovery = AUTO |
|
| 478 | -set yaw_spin_threshold = 1950 |
|
| 479 | -set gyro_to_use = FIRST |
|
| 480 | -set dyn_notch_count = 3 |
|
| 481 | -set dyn_notch_q = 500 |
|
| 482 | -set dyn_notch_min_hz = 150 |
|
| 483 | -set dyn_notch_max_hz = 600 |
|
| 484 | -set gyro_lpf1_dyn_min_hz = 200 |
|
| 485 | -set gyro_lpf1_dyn_max_hz = 550 |
|
| 486 | -set gyro_lpf1_dyn_expo = 5 |
|
| 487 | -set gyro_filter_debug_axis = ROLL |
|
| 488 | -set acc_hardware = AUTO |
|
| 489 | -set acc_lpf_hz = 10 |
|
| 490 | -set acc_trim_pitch = 1 |
|
| 491 | -set acc_trim_roll = 0 |
|
| 492 | -set acc_calibration = 1,-38,27,1 |
|
| 493 | -set mid_rc = 1500 |
|
| 494 | -set min_check = 1050 |
|
| 495 | -set max_check = 1900 |
|
| 496 | -set rssi_channel = 0 |
|
| 497 | -set rssi_src_frame_errors = OFF |
|
| 498 | -set rssi_scale = 100 |
|
| 499 | -set rssi_offset = 0 |
|
| 500 | -set rssi_invert = OFF |
|
| 501 | -set rssi_src_frame_lpf_period = 30 |
|
| 502 | -set rssi_smoothing = 125 |
|
| 503 | -set rc_smoothing = ON |
|
| 504 | -set rc_smoothing_auto_factor = 25 |
|
| 505 | -set rc_smoothing_auto_factor_throttle = 25 |
|
| 506 | -set rc_smoothing_setpoint_cutoff = 0 |
|
| 507 | -set rc_smoothing_feedforward_cutoff = 0 |
|
| 508 | -set rc_smoothing_throttle_cutoff = 0 |
|
| 509 | -set rc_smoothing_debug_axis = ROLL |
|
| 510 | -set fpv_mix_degrees = 0 |
|
| 511 | -set max_aux_channels = 14 |
|
| 512 | -set serialrx_provider = SPEK1024 |
|
| 513 | -set serialrx_inverted = OFF |
|
| 514 | -set crsf_use_negotiated_baud = OFF |
|
| 515 | -set airmode_start_throttle_percent = 25 |
|
| 516 | -set rx_min_usec = 885 |
|
| 517 | -set rx_max_usec = 2115 |
|
| 518 | -set serialrx_halfduplex = OFF |
|
| 519 | -set msp_override_channels_mask = 0 |
|
| 520 | -set msp_override_failsafe = OFF |
|
| 521 | -set rx_spi_protocol = EXPRESSLRS |
|
| 522 | -set rx_spi_bus = 3 |
|
| 523 | -set rx_spi_led_inversion = OFF |
|
| 524 | -set adc_device = 1 |
|
| 525 | -set adc_vrefint_calibration = 0 |
|
| 526 | -set adc_tempsensor_calibration30 = 0 |
|
| 527 | -set adc_tempsensor_calibration110 = 0 |
|
| 528 | -set blackbox_sample_rate = 1/2 |
|
| 529 | -set blackbox_device = SPIFLASH |
|
| 530 | -set blackbox_disable_pids = OFF |
|
| 531 | -set blackbox_disable_rc = OFF |
|
| 532 | -set blackbox_disable_setpoint = OFF |
|
| 533 | -set blackbox_disable_bat = OFF |
|
| 534 | -set blackbox_disable_rssi = OFF |
|
| 535 | -set blackbox_disable_gyro = OFF |
|
| 536 | -set blackbox_disable_gyrounfilt = OFF |
|
| 537 | -set blackbox_disable_acc = OFF |
|
| 538 | -set blackbox_disable_debug = OFF |
|
| 539 | -set blackbox_disable_motors = OFF |
|
| 540 | -set blackbox_disable_rpm = OFF |
|
| 541 | -set blackbox_disable_gps = OFF |
|
| 542 | -set blackbox_mode = NORMAL |
|
| 543 | -set blackbox_high_resolution = OFF |
|
| 544 | -set min_throttle = 1070 |
|
| 545 | -set max_throttle = 2000 |
|
| 546 | -set min_command = 1000 |
|
| 547 | -set motor_kv = 1960 |
|
| 548 | -set dshot_idle_value = 800 |
|
| 549 | -set dshot_burst = AUTO |
|
| 550 | -set dshot_bidir = ON |
|
| 551 | -set dshot_edt = OFF |
|
| 552 | -set dshot_bitbang = AUTO |
|
| 553 | -set dshot_bitbang_timer = AUTO |
|
| 554 | -set use_unsynced_pwm = OFF |
|
| 555 | -set motor_pwm_protocol = DSHOT300 |
|
| 556 | -set motor_pwm_rate = 480 |
|
| 557 | -set motor_pwm_inversion = OFF |
|
| 558 | -set motor_poles = 12 |
|
| 559 | -set motor_output_reordering = 0,1,2,3,4,5,6,7 |
|
| 560 | -set thr_corr_value = 0 |
|
| 561 | -set thr_corr_angle = 800 |
|
| 562 | -set failsafe_delay = 4 |
|
| 563 | -set failsafe_off_delay = 10 |
|
| 564 | -set failsafe_throttle = 1000 |
|
| 565 | -set failsafe_switch_mode = STAGE1 |
|
| 566 | -set failsafe_throttle_low_delay = 100 |
|
| 567 | -set failsafe_procedure = DROP |
|
| 568 | -set failsafe_recovery_delay = 20 |
|
| 569 | -set failsafe_stick_threshold = 30 |
|
| 570 | -set align_board_roll = 0 |
|
| 571 | -set align_board_pitch = 0 |
|
| 572 | -set align_board_yaw = 0 |
|
| 573 | -set bat_capacity = 0 |
|
| 574 | -set vbat_max_cell_voltage = 450 |
|
| 575 | -set vbat_full_cell_voltage = 410 |
|
| 576 | -set vbat_min_cell_voltage = 310 |
|
| 577 | -set vbat_warning_cell_voltage = 320 |
|
| 578 | -set vbat_hysteresis = 1 |
|
| 579 | -set current_meter = ADC |
|
| 580 | -set battery_meter = ADC |
|
| 581 | -set vbat_detect_cell_voltage = 300 |
|
| 582 | -set use_vbat_alerts = ON |
|
| 583 | -set use_cbat_alerts = OFF |
|
| 584 | -set cbat_alert_percent = 10 |
|
| 585 | -set vbat_cutoff_percent = 100 |
|
| 586 | -set force_battery_cell_count = 0 |
|
| 587 | -set vbat_display_lpf_period = 30 |
|
| 588 | -set vbat_sag_lpf_period = 2 |
|
| 589 | -set ibat_lpf_period = 10 |
|
| 590 | -set vbat_duration_for_warning = 0 |
|
| 591 | -set vbat_duration_for_critical = 0 |
|
| 592 | -set vbat_scale = 110 |
|
| 593 | -set vbat_divider = 10 |
|
| 594 | -set vbat_multiplier = 1 |
|
| 595 | -set ibata_scale = 470 |
|
| 596 | -set ibata_offset = 0 |
|
| 597 | -set ibatv_scale = 0 |
|
| 598 | -set ibatv_offset = 0 |
|
| 599 | -set beeper_inversion = ON |
|
| 600 | -set beeper_od = OFF |
|
| 601 | -set beeper_frequency = 0 |
|
| 602 | -set beeper_dshot_beacon_tone = 1 |
|
| 603 | -set yaw_motors_reversed = ON |
|
| 604 | -set mixer_type = LEGACY |
|
| 605 | -set crashflip_motor_percent = 0 |
|
| 606 | -set crashflip_expo = 35 |
|
| 607 | -set 3d_deadband_low = 1406 |
|
| 608 | -set 3d_deadband_high = 1514 |
|
| 609 | -set 3d_neutral = 1460 |
|
| 610 | -set 3d_deadband_throttle = 50 |
|
| 611 | -set 3d_limit_low = 1000 |
|
| 612 | -set 3d_limit_high = 2000 |
|
| 613 | -set 3d_switched_mode = OFF |
|
| 614 | -set reboot_character = 82 |
|
| 615 | -set serial_update_rate_hz = 100 |
|
| 616 | -set imu_dcm_kp = 2500 |
|
| 617 | -set imu_dcm_ki = 0 |
|
| 618 | -set small_angle = 180 |
|
| 619 | -set imu_process_denom = 2 |
|
| 620 | -set auto_disarm_delay = 5 |
|
| 621 | -set gyro_cal_on_first_arm = OFF |
|
| 622 | -set gps_provider = NMEA |
|
| 623 | -set gps_sbas_mode = NONE |
|
| 624 | -set gps_auto_config = ON |
|
| 625 | -set gps_auto_baud = OFF |
|
| 626 | -set gps_ublox_acquire_model = STATIONARY |
|
| 627 | -set gps_ublox_flight_model = AIRBORNE_4G |
|
| 628 | -set gps_update_rate_hz = 10 |
|
| 629 | -set gps_ublox_utc_standard = AUTO |
|
| 630 | -set gps_ublox_use_galileo = OFF |
|
| 631 | -set gps_set_home_point_once = OFF |
|
| 632 | -set gps_use_3d_speed = OFF |
|
| 633 | -set gps_sbas_integrity = OFF |
|
| 634 | -set gps_nmea_custom_commands = - |
|
| 635 | -set gps_rescue_min_start_dist = 30 |
|
| 636 | -set gps_rescue_alt_mode = MAX_ALT |
|
| 637 | -set gps_rescue_initial_climb = 10 |
|
| 638 | -set gps_rescue_ascend_rate = 500 |
|
| 639 | -set gps_rescue_return_alt = 30 |
|
| 640 | -set gps_rescue_ground_speed = 2000 |
|
| 641 | -set gps_rescue_max_angle = 45 |
|
| 642 | -set gps_rescue_roll_mix = 150 |
|
| 643 | -set gps_rescue_pitch_cutoff = 75 |
|
| 644 | -set gps_rescue_imu_yaw_gain = 10 |
|
| 645 | -set gps_rescue_descent_dist = 200 |
|
| 646 | -set gps_rescue_descend_rate = 100 |
|
| 647 | -set gps_rescue_landing_alt = 5 |
|
| 648 | -set gps_rescue_disarm_threshold = 20 |
|
| 649 | -set gps_rescue_throttle_min = 1100 |
|
| 650 | -set gps_rescue_throttle_max = 1600 |
|
| 651 | -set gps_rescue_throttle_hover = 1280 |
|
| 652 | -set gps_rescue_sanity_checks = RESCUE_SANITY_ON |
|
| 653 | -set gps_rescue_min_sats = 8 |
|
| 654 | -set gps_rescue_allow_arming_without_fix = OFF |
|
| 655 | -set gps_rescue_throttle_p = 150 |
|
| 656 | -set gps_rescue_throttle_i = 20 |
|
| 657 | -set gps_rescue_throttle_d = 50 |
|
| 658 | -set gps_rescue_velocity_p = 80 |
|
| 659 | -set gps_rescue_velocity_i = 20 |
|
| 660 | -set gps_rescue_velocity_d = 15 |
|
| 661 | -set gps_rescue_yaw_p = 40 |
|
| 662 | -set deadband = 1 |
|
| 663 | -set yaw_deadband = 1 |
|
| 664 | -set yaw_control_reversed = OFF |
|
| 665 | -set pid_process_denom = 4 |
|
| 666 | -set runaway_takeoff_prevention = ON |
|
| 667 | -set runaway_takeoff_deactivate_delay = 500 |
|
| 668 | -set runaway_takeoff_deactivate_throttle_percent = 20 |
|
| 669 | -set simplified_gyro_filter = OFF |
|
| 670 | -set simplified_gyro_filter_multiplier = 100 |
|
| 671 | -set tlm_inverted = OFF |
|
| 672 | -set tlm_halfduplex = ON |
|
| 673 | -set hott_alarm_int = 5 |
|
| 674 | -set pid_in_tlm = OFF |
|
| 675 | -set report_cell_voltage = OFF |
|
| 676 | -set telemetry_disabled_voltage = OFF |
|
| 677 | -set telemetry_disabled_current = OFF |
|
| 678 | -set telemetry_disabled_fuel = OFF |
|
| 679 | -set telemetry_disabled_mode = OFF |
|
| 680 | -set telemetry_disabled_acc_x = OFF |
|
| 681 | -set telemetry_disabled_acc_y = OFF |
|
| 682 | -set telemetry_disabled_acc_z = OFF |
|
| 683 | -set telemetry_disabled_pitch = OFF |
|
| 684 | -set telemetry_disabled_roll = OFF |
|
| 685 | -set telemetry_disabled_heading = OFF |
|
| 686 | -set telemetry_disabled_altitude = OFF |
|
| 687 | -set telemetry_disabled_vario = OFF |
|
| 688 | -set telemetry_disabled_lat_long = OFF |
|
| 689 | -set telemetry_disabled_ground_speed = OFF |
|
| 690 | -set telemetry_disabled_distance = OFF |
|
| 691 | -set telemetry_disabled_esc_current = ON |
|
| 692 | -set telemetry_disabled_esc_voltage = ON |
|
| 693 | -set telemetry_disabled_esc_rpm = ON |
|
| 694 | -set telemetry_disabled_esc_temperature = ON |
|
| 695 | -set telemetry_disabled_temperature = OFF |
|
| 696 | -set telemetry_disabled_cap_used = ON |
|
| 697 | -set ledstrip_visual_beeper = OFF |
|
| 698 | -set ledstrip_visual_beeper_color = WHITE |
|
| 699 | -set ledstrip_grb_rgb = GRB |
|
| 700 | -set ledstrip_profile = STATUS |
|
| 701 | -set ledstrip_race_color = ORANGE |
|
| 702 | -set ledstrip_beacon_color = WHITE |
|
| 703 | -set ledstrip_beacon_period_ms = 500 |
|
| 704 | -set ledstrip_beacon_percent = 50 |
|
| 705 | -set ledstrip_beacon_armed_only = OFF |
|
| 706 | -set ledstrip_brightness = 100 |
|
| 707 | -set ledstrip_rainbow_delta = 0 |
|
| 708 | -set ledstrip_rainbow_freq = 120 |
|
| 709 | -set osd_units = METRIC |
|
| 710 | -set osd_warn_bitmask = 270335 |
|
| 711 | -set osd_rssi_alarm = 20 |
|
| 712 | -set osd_link_quality_alarm = 80 |
|
| 713 | -set osd_rssi_dbm_alarm = -60 |
|
| 714 | -set osd_rsnr_alarm = 4 |
|
| 715 | -set osd_cap_alarm = 2200 |
|
| 716 | -set osd_alt_alarm = 100 |
|
| 717 | -set osd_distance_alarm = 0 |
|
| 718 | -set osd_esc_temp_alarm = 0 |
|
| 719 | -set osd_esc_rpm_alarm = -1 |
|
| 720 | -set osd_esc_current_alarm = -1 |
|
| 721 | -set osd_core_temp_alarm = 70 |
|
| 722 | -set osd_ah_max_pit = 20 |
|
| 723 | -set osd_ah_max_rol = 40 |
|
| 724 | -set osd_ah_invert = OFF |
|
| 725 | -set osd_logo_on_arming = OFF |
|
| 726 | -set osd_logo_on_arming_duration = 5 |
|
| 727 | -set osd_tim1 = 2560 |
|
| 728 | -set osd_tim2 = 2561 |
|
| 729 | -set osd_vbat_pos = 341 |
|
| 730 | -set osd_rssi_pos = 314 |
|
| 731 | -set osd_link_quality_pos = 2392 |
|
| 732 | -set osd_link_tx_power_pos = 341 |
|
| 733 | -set osd_rssi_dbm_pos = 2360 |
|
| 734 | -set osd_rsnr_pos = 341 |
|
| 735 | -set osd_tim_1_pos = 341 |
|
| 736 | -set osd_tim_2_pos = 2433 |
|
| 737 | -set osd_remaining_time_estimate_pos = 341 |
|
| 738 | -set osd_flymode_pos = 2457 |
|
| 739 | -set osd_anti_gravity_pos = 341 |
|
| 740 | -set osd_g_force_pos = 341 |
|
| 741 | -set osd_throttle_pos = 2425 |
|
| 742 | -set osd_vtx_channel_pos = 2305 |
|
| 743 | -set osd_crosshairs_pos = 312 |
|
| 744 | -set osd_ah_sbar_pos = 313 |
|
| 745 | -set osd_ah_pos = 185 |
|
| 746 | -set osd_current_pos = 2336 |
|
| 747 | -set osd_mah_drawn_pos = 2368 |
|
| 748 | -set osd_wh_drawn_pos = 341 |
|
| 749 | -set osd_motor_diag_pos = 341 |
|
| 750 | -set osd_craft_name_pos = 2442 |
|
| 751 | -set osd_pilot_name_pos = 341 |
|
| 752 | -set osd_gps_speed_pos = 341 |
|
| 753 | -set osd_gps_lon_pos = 341 |
|
| 754 | -set osd_gps_lat_pos = 341 |
|
| 755 | -set osd_gps_sats_pos = 341 |
|
| 756 | -set osd_home_dir_pos = 341 |
|
| 757 | -set osd_home_dist_pos = 341 |
|
| 758 | -set osd_flight_dist_pos = 341 |
|
| 759 | -set osd_compass_bar_pos = 341 |
|
| 760 | -set osd_altitude_pos = 341 |
|
| 761 | -set osd_pid_roll_pos = 341 |
|
| 762 | -set osd_pid_pitch_pos = 341 |
|
| 763 | -set osd_pid_yaw_pos = 341 |
|
| 764 | -set osd_debug_pos = 341 |
|
| 765 | -set osd_power_pos = 341 |
|
| 766 | -set osd_pidrate_profile_pos = 341 |
|
| 767 | -set osd_warnings_pos = 2345 |
|
| 768 | -set osd_avg_cell_voltage_pos = 2401 |
|
| 769 | -set osd_pit_ang_pos = 341 |
|
| 770 | -set osd_rol_ang_pos = 341 |
|
| 771 | -set osd_battery_usage_pos = 341 |
|
| 772 | -set osd_disarmed_pos = 2314 |
|
| 773 | -set osd_nheading_pos = 341 |
|
| 774 | -set osd_up_down_reference_pos = 312 |
|
| 775 | -set osd_ready_mode_pos = 341 |
|
| 776 | -set osd_nvario_pos = 341 |
|
| 777 | -set osd_esc_tmp_pos = 341 |
|
| 778 | -set osd_esc_rpm_pos = 161 |
|
| 779 | -set osd_esc_rpm_freq_pos = 341 |
|
| 780 | -set osd_rtc_date_time_pos = 341 |
|
| 781 | -set osd_adjustment_range_pos = 341 |
|
| 782 | -set osd_flip_arrow_pos = 341 |
|
| 783 | -set osd_core_temp_pos = 2328 |
|
| 784 | -set osd_log_status_pos = 341 |
|
| 785 | -set osd_stick_overlay_left_pos = 341 |
|
| 786 | -set osd_stick_overlay_right_pos = 341 |
|
| 787 | -set osd_stick_overlay_radio_mode = 2 |
|
| 788 | -set osd_rate_profile_name_pos = 341 |
|
| 789 | -set osd_pid_profile_name_pos = 341 |
|
| 790 | -set osd_profile_name_pos = 341 |
|
| 791 | -set osd_rcchannels_pos = 341 |
|
| 792 | -set osd_camera_frame_pos = 142 |
|
| 793 | -set osd_efficiency_pos = 341 |
|
| 794 | -set osd_total_flights_pos = 341 |
|
| 795 | -set osd_aux_pos = 341 |
|
| 796 | -set osd_sys_goggle_voltage_pos = 341 |
|
| 797 | -set osd_sys_vtx_voltage_pos = 341 |
|
| 798 | -set osd_sys_bitrate_pos = 341 |
|
| 799 | -set osd_sys_delay_pos = 341 |
|
| 800 | -set osd_sys_distance_pos = 341 |
|
| 801 | -set osd_sys_lq_pos = 341 |
|
| 802 | -set osd_sys_goggle_dvr_pos = 341 |
|
| 803 | -set osd_sys_vtx_dvr_pos = 341 |
|
| 804 | -set osd_sys_warnings_pos = 341 |
|
| 805 | -set osd_sys_vtx_temp_pos = 341 |
|
| 806 | -set osd_sys_fan_speed_pos = 341 |
|
| 807 | -set osd_stat_bitmask = 14124 |
|
| 808 | -set osd_profile = 1 |
|
| 809 | -set osd_profile_1_name = - |
|
| 810 | -set osd_profile_2_name = - |
|
| 811 | -set osd_profile_3_name = - |
|
| 812 | -set osd_gps_sats_show_pdop = OFF |
|
| 813 | -set osd_displayport_device = AUTO |
|
| 814 | -set osd_rcchannels = -1,-1,-1,-1 |
|
| 815 | -set osd_camera_frame_width = 24 |
|
| 816 | -set osd_camera_frame_height = 11 |
|
| 817 | -set osd_stat_avg_cell_value = OFF |
|
| 818 | -set osd_framerate_hz = 12 |
|
| 819 | -set osd_menu_background = TRANSPARENT |
|
| 820 | -set osd_aux_channel = 1 |
|
| 821 | -set osd_aux_scale = 200 |
|
| 822 | -set osd_aux_symbol = 65 |
|
| 823 | -set osd_canvas_width = 30 |
|
| 824 | -set osd_canvas_height = 13 |
|
| 825 | -set osd_craftname_msgs = OFF |
|
| 826 | -set system_hse_mhz = 8 |
|
| 827 | -set task_statistics = ON |
|
| 828 | -set debug_mode = DUAL_GYRO_SCALED |
|
| 829 | -set rate_6pos_switch = OFF |
|
| 830 | -set cpu_overclock = 108MHZ |
|
| 831 | -set pwr_on_arm_grace = 5 |
|
| 832 | -set enable_stick_arming = OFF |
|
| 833 | -set vtx_band = 5 |
|
| 834 | -set vtx_channel = 8 |
|
| 835 | -set vtx_power = 5 |
|
| 836 | -set vtx_low_power_disarm = ON |
|
| 837 | -set vtx_softserial_alt = OFF |
|
| 838 | -set vtx_freq = 5917 |
|
| 839 | -set vtx_pit_mode_freq = 0 |
|
| 840 | -set vtx_halfduplex = ON |
|
| 841 | -set vcd_video_system = NTSC |
|
| 842 | -set vcd_h_offset = 0 |
|
| 843 | -set vcd_v_offset = 0 |
|
| 844 | -set max7456_clock = NOMINAL |
|
| 845 | -set max7456_spi_bus = 2 |
|
| 846 | -set max7456_preinit_opu = OFF |
|
| 847 | -set displayport_msp_col_adjust = 0 |
|
| 848 | -set displayport_msp_row_adjust = 0 |
|
| 849 | -set displayport_msp_fonts = 0,1,2,3 |
|
| 850 | -set displayport_msp_use_device_blink = OFF |
|
| 851 | -set displayport_max7456_col_adjust = 0 |
|
| 852 | -set displayport_max7456_row_adjust = 0 |
|
| 853 | -set displayport_max7456_inv = OFF |
|
| 854 | -set displayport_max7456_blk = 0 |
|
| 855 | -set displayport_max7456_wht = 2 |
|
| 856 | -set esc_sensor_halfduplex = OFF |
|
| 857 | -set esc_sensor_current_offset = 0 |
|
| 858 | -set led_inversion = 0 |
|
| 859 | -set pinio_config = 1,1,1,1 |
|
| 860 | -set pinio_box = 255,255,255,255 |
|
| 861 | -set usb_hid_cdc = OFF |
|
| 862 | -set usb_msc_pin_pullup = ON |
|
| 863 | -set flash_spi_bus = 2 |
|
| 864 | -set rcdevice_init_dev_attempts = 6 |
|
| 865 | -set rcdevice_init_dev_attempt_interval = 1000 |
|
| 866 | -set rcdevice_protocol_version = 0 |
|
| 867 | -set rcdevice_feature = 0 |
|
| 868 | -set gyro_1_bustype = SPI |
|
| 869 | -set gyro_1_spibus = 1 |
|
| 870 | -set gyro_1_i2cBus = 0 |
|
| 871 | -set gyro_1_i2c_address = 0 |
|
| 872 | -set gyro_1_sensor_align = CW90 |
|
| 873 | -set gyro_1_align_roll = 0 |
|
| 874 | -set gyro_1_align_pitch = 0 |
|
| 875 | -set gyro_1_align_yaw = 900 |
|
| 876 | -set gyro_2_bustype = NONE |
|
| 877 | -set gyro_2_spibus = 0 |
|
| 878 | -set gyro_2_i2cBus = 0 |
|
| 879 | -set gyro_2_i2c_address = 0 |
|
| 880 | -set gyro_2_sensor_align = DEFAULT |
|
| 881 | -set gyro_2_align_roll = 0 |
|
| 882 | -set gyro_2_align_pitch = 0 |
|
| 883 | -set gyro_2_align_yaw = 0 |
|
| 884 | -set i2c1_pullup = OFF |
|
| 885 | -set i2c1_clockspeed_khz = 800 |
|
| 886 | -set i2c2_pullup = OFF |
|
| 887 | -set i2c2_clockspeed_khz = 800 |
|
| 888 | -set i2c3_pullup = OFF |
|
| 889 | -set i2c3_clockspeed_khz = 800 |
|
| 890 | -set mco2_on_pc9 = OFF |
|
| 891 | -set expresslrs_uid = 0,0,224,214,254,20 |
|
| 892 | -set expresslrs_domain = ISM2400 |
|
| 893 | -set expresslrs_rate_index = 1 |
|
| 894 | -set expresslrs_switch_mode = WIDE |
|
| 895 | -set expresslrs_model_id = 255 |
|
| 896 | -set scheduler_relax_rx = 1 |
|
| 897 | -set scheduler_relax_osd = 1 |
|
| 898 | -set cpu_late_limit_permille = 10 |
|
| 899 | -set serialmsp_halfduplex = OFF |
|
| 900 | -set timezone_offset_minutes = 0 |
|
| 901 | -set rpm_filter_harmonics = 3 |
|
| 902 | -set rpm_filter_weights = 100,100,100 |
|
| 903 | -set rpm_filter_q = 500 |
|
| 904 | -set rpm_filter_min_hz = 200 |
|
| 905 | -set rpm_filter_fade_range_hz = 50 |
|
| 906 | -set rpm_filter_lpf_hz = 150 |
|
| 907 | -set stats_min_armed_time_s = -1 |
|
| 908 | -set stats_total_flights = 0 |
|
| 909 | -set stats_total_time_s = 0 |
|
| 910 | -set stats_total_dist_m = 0 |
|
| 911 | -set craft_name = Mobula8 |
|
| 912 | -set pilot_name = - |
|
| 913 | -set altitude_source = DEFAULT |
|
| 914 | -set altitude_prefer_baro = 100 |
|
| 915 | -set altitude_lpf = 300 |
|
| 916 | -set altitude_d_lpf = 100 |
|
| 917 | -set box_user_1_name = - |
|
| 918 | -set box_user_2_name = - |
|
| 919 | -set box_user_3_name = - |
|
| 920 | -set box_user_4_name = - |
|
| 921 | - |
|
| 922 | -profile 0 |
|
| 923 | - |
|
| 924 | -# profile 0 |
|
| 925 | -set profile_name = - |
|
| 926 | -set dterm_lpf1_dyn_min_hz = 60 |
|
| 927 | -set dterm_lpf1_dyn_max_hz = 145 |
|
| 928 | -set dterm_lpf1_dyn_expo = 5 |
|
| 929 | -set dterm_lpf1_type = PT1 |
|
| 930 | -set dterm_lpf1_static_hz = 150 |
|
| 931 | -set dterm_lpf2_type = PT1 |
|
| 932 | -set dterm_lpf2_static_hz = 128 |
|
| 933 | -set dterm_notch_hz = 0 |
|
| 934 | -set dterm_notch_cutoff = 0 |
|
| 935 | -set vbat_sag_compensation = 100 |
|
| 936 | -set pid_at_min_throttle = ON |
|
| 937 | -set anti_gravity_gain = 80 |
|
| 938 | -set anti_gravity_cutoff_hz = 5 |
|
| 939 | -set anti_gravity_p_gain = 100 |
|
| 940 | -set acc_limit_yaw = 0 |
|
| 941 | -set acc_limit = 0 |
|
| 942 | -set crash_dthreshold = 50 |
|
| 943 | -set crash_gthreshold = 400 |
|
| 944 | -set crash_setpoint_threshold = 350 |
|
| 945 | -set crash_time = 500 |
|
| 946 | -set crash_delay = 0 |
|
| 947 | -set crash_recovery_angle = 10 |
|
| 948 | -set crash_recovery_rate = 100 |
|
| 949 | -set crash_limit_yaw = 200 |
|
| 950 | -set crash_recovery = OFF |
|
| 951 | -set iterm_rotation = OFF |
|
| 952 | -set iterm_relax = RP |
|
| 953 | -set iterm_relax_type = SETPOINT |
|
| 954 | -set iterm_relax_cutoff = 25 |
|
| 955 | -set iterm_windup = 85 |
|
| 956 | -set iterm_limit = 400 |
|
| 957 | -set pidsum_limit = 500 |
|
| 958 | -set pidsum_limit_yaw = 400 |
|
| 959 | -set yaw_lowpass_hz = 0 |
|
| 960 | -set throttle_boost = 5 |
|
| 961 | -set throttle_boost_cutoff = 15 |
|
| 962 | -set acro_trainer_angle_limit = 20 |
|
| 963 | -set acro_trainer_lookahead_ms = 50 |
|
| 964 | -set acro_trainer_debug_axis = ROLL |
|
| 965 | -set acro_trainer_gain = 75 |
|
| 966 | -set p_pitch = 56 |
|
| 967 | -set i_pitch = 100 |
|
| 968 | -set d_pitch = 52 |
|
| 969 | -set f_pitch = 149 |
|
| 970 | -set p_roll = 53 |
|
| 971 | -set i_roll = 95 |
|
| 972 | -set d_roll = 46 |
|
| 973 | -set f_roll = 143 |
|
| 974 | -set p_yaw = 53 |
|
| 975 | -set i_yaw = 95 |
|
| 976 | -set d_yaw = 0 |
|
| 977 | -set f_yaw = 143 |
|
| 978 | -set angle_p_gain = 50 |
|
| 979 | -set angle_feedforward = 50 |
|
| 980 | -set angle_feedforward_smoothing_ms = 80 |
|
| 981 | -set angle_limit = 60 |
|
| 982 | -set angle_earth_ref = 100 |
|
| 983 | -set horizon_level_strength = 75 |
|
| 984 | -set horizon_limit_sticks = 75 |
|
| 985 | -set horizon_limit_degrees = 135 |
|
| 986 | -set horizon_ignore_sticks = OFF |
|
| 987 | -set horizon_delay_ms = 500 |
|
| 988 | -set abs_control_gain = 0 |
|
| 989 | -set abs_control_limit = 90 |
|
| 990 | -set abs_control_error_limit = 20 |
|
| 991 | -set abs_control_cutoff = 11 |
|
| 992 | -set use_integrated_yaw = OFF |
|
| 993 | -set integrated_yaw_relax = 200 |
|
| 994 | -set d_min_roll = 43 |
|
| 995 | -set d_min_pitch = 48 |
|
| 996 | -set d_min_yaw = 0 |
|
| 997 | -set d_max_gain = 37 |
|
| 998 | -set d_max_advance = 0 |
|
| 999 | -set motor_output_limit = 100 |
|
| 1000 | -set auto_profile_cell_count = 0 |
|
| 1001 | -set launch_control_mode = NORMAL |
|
| 1002 | -set launch_trigger_allow_reset = ON |
|
| 1003 | -set launch_trigger_throttle_percent = 20 |
|
| 1004 | -set launch_angle_limit = 0 |
|
| 1005 | -set launch_control_gain = 40 |
|
| 1006 | -set thrust_linear = 20 |
|
| 1007 | -set transient_throttle_limit = 0 |
|
| 1008 | -set feedforward_transition = 0 |
|
| 1009 | -set feedforward_averaging = OFF |
|
| 1010 | -set feedforward_smooth_factor = 25 |
|
| 1011 | -set feedforward_jitter_factor = 5 |
|
| 1012 | -set feedforward_boost = 18 |
|
| 1013 | -set feedforward_max_rate_limit = 95 |
|
| 1014 | -set dyn_idle_min_rpm = 0 |
|
| 1015 | -set dyn_idle_p_gain = 50 |
|
| 1016 | -set dyn_idle_i_gain = 50 |
|
| 1017 | -set dyn_idle_d_gain = 50 |
|
| 1018 | -set dyn_idle_max_increase = 150 |
|
| 1019 | -set dyn_idle_start_increase = 50 |
|
| 1020 | -set level_race_mode = OFF |
|
| 1021 | -set simplified_pids_mode = OFF |
|
| 1022 | -set simplified_master_multiplier = 120 |
|
| 1023 | -set simplified_i_gain = 65 |
|
| 1024 | -set simplified_d_gain = 120 |
|
| 1025 | -set simplified_pi_gain = 190 |
|
| 1026 | -set simplified_dmax_gain = 20 |
|
| 1027 | -set simplified_feedforward_gain = 130 |
|
| 1028 | -set simplified_pitch_d_gain = 85 |
|
| 1029 | -set simplified_pitch_pi_gain = 90 |
|
| 1030 | -set simplified_dterm_filter = ON |
|
| 1031 | -set simplified_dterm_filter_multiplier = 100 |
|
| 1032 | -set tpa_mode = PD |
|
| 1033 | -set tpa_rate = 65 |
|
| 1034 | -set tpa_breakpoint = 1250 |
|
| 1035 | -set tpa_low_rate = 20 |
|
| 1036 | -set tpa_low_breakpoint = 1050 |
|
| 1037 | -set tpa_low_always = OFF |
|
| 1038 | -set ez_landing_threshold = 25 |
|
| 1039 | -set ez_landing_limit = 15 |
|
| 1040 | -set ez_landing_speed = 50 |
|
| 1041 | - |
|
| 1042 | -rateprofile 2 |
|
| 1043 | - |
|
| 1044 | -# rateprofile 2 |
|
| 1045 | -set rateprofile_name = - |
|
| 1046 | -set thr_mid = 50 |
|
| 1047 | -set thr_expo = 0 |
|
| 1048 | -set rates_type = BETAFLIGHT |
|
| 1049 | -set quickrates_rc_expo = OFF |
|
| 1050 | -set roll_rc_rate = 106 |
|
| 1051 | -set pitch_rc_rate = 106 |
|
| 1052 | -set yaw_rc_rate = 106 |
|
| 1053 | -set roll_expo = 15 |
|
| 1054 | -set pitch_expo = 15 |
|
| 1055 | -set yaw_expo = 5 |
|
| 1056 | -set roll_srate = 56 |
|
| 1057 | -set pitch_srate = 56 |
|
| 1058 | -set yaw_srate = 56 |
|
| 1059 | -set throttle_limit_type = OFF |
|
| 1060 | -set throttle_limit_percent = 100 |
|
| 1061 | -set roll_rate_limit = 1998 |
|
| 1062 | -set pitch_rate_limit = 1998 |
|
| 1063 | -set yaw_rate_limit = 1998 |
|
| 1064 | - |
|
| 1065 | -# end the command batch |
|
| 1066 | -batch end |
|
| 1067 | -save |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-presents-dat/mobula8-presents-dat/mobula8-presents-dat.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | - |
|
| 2 | -# mobula8-presents-dat |
|
| 3 | - |
|
| 4 | -- [[Mobula8-SPI-ELRS-dump-file-for-betaflight-4.5.0-.txt]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-receiver-dat/betaflight-receiver-dat.md
| ... | ... | @@ -1,12 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-receiver-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[radiomaster-dat]] |
|
| 6 | - |
|
| 7 | -## receiver |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## ref |
|
| 11 | - |
|
| 12 | -- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/betaflight-video-transmitter-dat/betaflight-video-transmitter-dat.md
| ... | ... | @@ -1,11 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaflight-video-transmitter-dat |
|
| 3 | - |
|
| 4 | -power == 25mW / 200mW / 500mW, 100 == good starting point |
|
| 5 | - |
|
| 6 | -low power disarm == turn ON |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -## ref |
|
| 10 | - |
|
| 11 | -- [[betaflight-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/indoor-fly-dat/indoor-fly-PID-tuning-dat.md
| ... | ... | @@ -1,46 +0,0 @@ |
| 1 | - |
|
| 2 | -# indoor-fly-PID-tuning-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -→ **Damping: D Gains → 1.0–1.4** |
|
| 6 | -- Keep moderate to reduce fast oscillations |
|
| 7 | -- Avoid too high → jitter on small indoor props |
|
| 8 | - |
|
| 9 | -→ **Tracking: P & I Gains → 1.0** |
|
| 10 | -- Stable for indoor hover |
|
| 11 | -- Low enough to prevent twitchy movement |
|
| 12 | - |
|
| 13 | -→ **Stick Response: FF (Feedforward) Gains → 0.8–1.0** |
|
| 14 | -- Smooth, predictable response to stick input |
|
| 15 | -- Don’t overdo → prevents overcorrecting during small indoor maneuvers |
|
| 16 | - |
|
| 17 | -→ **Dynamic Damping: D Max → 0** |
|
| 18 | -- Disable aggressive D scaling for indoor flight |
|
| 19 | -- Keeps quad smooth in low-throttle hover |
|
| 20 | - |
|
| 21 | -→ **Drift / Wobble: /Gains → 0.8–1.0** |
|
| 22 | -- Helps slow drift correction |
|
| 23 | -- Avoid too high → quad oscillates slowly |
|
| 24 | - |
|
| 25 | -→ **Pitch Damping: Pitch:Roll D → 1.0** |
|
| 26 | -- Keep pitch & roll D similar → balanced indoor control |
|
| 27 | - |
|
| 28 | -→ **Pitch Tracking: Pitch:Roll P, I & FF → 1.0** |
|
| 29 | -- Keeps stable hover during small corrections |
|
| 30 | - |
|
| 31 | -→ **Master Multiplier → 1.5–1.6** |
|
| 32 | -- Adjust global scale of all PID terms |
|
| 33 | -- Indoor: keep lower to avoid twitchy behavior |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | -✅ Notes: |
|
| 38 | - |
|
| 39 | -- Test hover after each adjustment |
|
| 40 | -- Make small increments (0.05–0.1) |
|
| 41 | -- Goal: smooth, steady indoor hover with minimal stick corrections |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -## ref |
|
| 45 | - |
|
| 46 | -- [[betaflight-PID-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/betaflight-dat/indoor-fly-dat/indoor-fly-dat.md
| ... | ... | @@ -1,245 +0,0 @@ |
| 1 | - |
|
| 2 | -# indoor-fly-dat |
|
| 3 | - |
|
| 4 | -- [[mobula8-dat]] - [[indoor-fly-PID-tuning-dat]] |
|
| 5 | - |
|
| 6 | -- the way to fly indoor = do not control your throttle, use pitch |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## Motor Output Limit |
|
| 11 | - |
|
| 12 | - |
|
| 13 | -Many pilots set Motor Output Limit around 65–75% for whoops. |
|
| 14 | - |
|
| 15 | -50% is safe if you’re flying indoor cruising / training. |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -✅ Benefits |
|
| 19 | - |
|
| 20 | -Much easier to hover and cruise smoothly indoors. |
|
| 21 | - |
|
| 22 | -Prevents sudden “rocket up” when you accidentally push throttle too much. |
|
| 23 | - |
|
| 24 | -Extends battery life (you don’t spike current as hard). |
|
| 25 | - |
|
| 26 | -Motors run cooler. |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -## updates |
|
| 33 | - |
|
| 34 | -- RC smoothing == [PT3 based RC smoothing](https://betaflight.com/docs/wiki/tuning/4-3-Tuning-Notes) |
|
| 35 | - |
|
| 36 | - set rc_smoothing = ON |
|
| 37 | - set rc_smoothing_setpoint_cutoff = 10 |
|
| 38 | - set rc_smoothing_feedforward_cutoff = 10 |
|
| 39 | - |
|
| 40 | -- Random wobbles in HD footage == [PT3 based RC smoothing](https://betaflight.com/docs/wiki/tuning/4-3-Tuning-Notes) |
|
| 41 | - |
|
| 42 | -- turn off air mode indoor |
|
| 43 | - |
|
| 44 | -- airmode strengh = 10 in [[betaflight-PID-dat]] - https://www.youtube.com/shorts/PBAo4fW7DDQ |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -## presents combination test |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -== filters + tune + rates + RC_LINK |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - |
|
| 54 | -### filters |
|
| 55 | - |
|
| 56 | -- [] [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 57 | - |
|
| 58 | -### tune |
|
| 59 | - |
|
| 60 | -- [] [[mobula8-presents-dat]] == default not for indoor fly |
|
| 61 | - |
|
| 62 | -- [] [[uav-tech-tune-cinewhoop-dat]] |
|
| 63 | - |
|
| 64 | -- [] [[Chris-Rosser-filter-AOS-cine20-dat]] |
|
| 65 | - |
|
| 66 | -- [] [[reddit-cine-present]] |
|
| 67 | - |
|
| 68 | -### rates |
|
| 69 | - |
|
| 70 | -- [] [[uav-tech-rates-dat]] |
|
| 71 | - |
|
| 72 | -- [] [[Chris-Rosser-rates-AOS-dat]] |
|
| 73 | - |
|
| 74 | -### RC_LINK |
|
| 75 | - |
|
| 76 | -- [] [[bf-presents-rc_link-dat]] |
|
| 77 | - |
|
| 78 | -- [] expressLRS 250Hz |
|
| 79 | - |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | -## Mobula8 Betaflight Indoor Setup Guide (Beginner-Friendly) |
|
| 85 | - |
|
| 86 | -### 1. Install and Connect |
|
| 87 | -1. Install [Betaflight Configurator](https://github.com/betaflight/betaflight-configurator/releases) on your PC. |
|
| 88 | -2. Connect Mobula8 via USB. |
|
| 89 | -3. Flash the latest compatible Betaflight firmware for **F4 FC** (Mobula8 usually F4 1S or 2S version). |
|
| 90 | -4. After flashing, reconnect to Betaflight Configurator. |
|
| 91 | - |
|
| 92 | - |
|
| 93 | - |
|
| 94 | -### 2. Ports Tab |
|
| 95 | -- **UART1**: Serial RX (for FrSky or other receiver) |
|
| 96 | -- **UART2**: Blackbox (optional) |
|
| 97 | -- **UART3**: Unused |
|
| 98 | -- Save and reboot. |
|
| 99 | - |
|
| 100 | - |
|
| 101 | - |
|
| 102 | -### 3. Configuration Tab |
|
| 103 | - |
|
| 104 | -- **Mixer**: `Quad X` |
|
| 105 | -- **ESC/Motor protocol**: `DSHOT600` |
|
| 106 | -- **Gyro Update Frequency**: `8 kHz` |
|
| 107 | -- **PID Loop Frequency**: `4 kHz` (smooth indoor flight) |
|
| 108 | -- **Motor Stop**: `ON` |
|
| 109 | -- **Air Mode**: `ON` |
|
| 110 | -- **Small Angle Mode**: `ON` (helps beginner indoor flying) |
|
| 111 | -- **Arming Angle Limit**: `180°` |
|
| 112 | -- **Gyro Lowpass Filter**: default |
|
| 113 | - |
|
| 114 | - |
|
| 115 | - |
|
| 116 | -### 4. Modes Tab |
|
| 117 | -- **ARM**: assign a switch on your transmitter |
|
| 118 | -- **ANGLE / HORIZON Mode**: assign a switch for beginner-friendly flight |
|
| 119 | -- **BEEPER**: assign for lost quad alert |
|
| 120 | - |
|
| 121 | -### 5. PID / Rate Profiles (Indoor Smooth) |
|
| 122 | - |
|
| 123 | - |
|
| 124 | -- Lower **Roll / Pitch / Yaw rates** for smooth, slow indoor flight |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -#### Tune PID* |
|
| 128 | - |
|
| 129 | -- Indoor: **slightly lower P** to avoid twitchy oscillations -- 以避免抖动和震荡 |
|
| 130 | -- Indoor: **keep moderate I** → prevents slow drift without overcompensating -- 防止慢速漂移且不过度补偿 |
|
| 131 | -- Indoor: **lower D** slightly → avoids jitter from small prop wash -- 可减少小范围螺旋桨气流引起的抖动 |
|
| 132 | - |
|
| 133 | -- Start with stock values |
|
| 134 | -- Reduce **P / D** slightly to avoid oscillation |
|
| 135 | -- Test hover → watch for drift or tilt |
|
| 136 | -- Adjust **I term** to reduce slow drift |
|
| 137 | - |
|
| 138 | - |
|
| 139 | -#### Rate Profile: Indoor Smooth |
|
| 140 | - |
|
| 141 | -- RC Rate: 0.60 |
|
| 142 | -- Super Rate: 0.45 |
|
| 143 | -- Expo: 0.30 |
|
| 144 | - |
|
| 145 | -**PID Values** |
|
| 146 | - |
|
| 147 | -ROLL / PITCH P: 38 / I: 40 / D: 18 |
|
| 148 | - |
|
| 149 | -YAW P: 55 / I: 50 / D: 0 |
|
| 150 | - |
|
| 151 | -- Low and soft values for smooth response. |
|
| 152 | -- Adjust slightly if oscillation occurs. |
|
| 153 | -- Lower values = smoother, less twitchy flight. |
|
| 154 | - |
|
| 155 | - |
|
| 156 | - |
|
| 157 | - |
|
| 158 | - |
|
| 159 | -#### 6. Filters Tab |
|
| 160 | - |
|
| 161 | - |
|
| 162 | -→ **Check Filters** |
|
| 163 | -- Low-pass filters reduce high-frequency jitters |
|
| 164 | -- Keep aggressive filtering low to maintain smooth control |
|
| 165 | - |
|
| 166 | -- **Gyro Lowpass / Dynamic Filter**: default |
|
| 167 | -- **Dterm Lowpass**: default |
|
| 168 | -- **Motor Lowpass / Boost**: default |
|
| 169 | -- Avoid aggressive filtering indoors (may introduce lag). |
|
| 170 | - |
|
| 171 | - |
|
| 172 | - |
|
| 173 | -### 7. Receiver Tab |
|
| 174 | -- **Channel Map**: usually `AETR1234` |
|
| 175 | -- Verify RX is responding in real-time graph. |
|
| 176 | -- **Deadband**: 5 (smooth small stick movements) |
|
| 177 | - |
|
| 178 | -### 8. Battery and Power |
|
| 179 | -- Indoor 1S or 2S: use 3.7V–7.4V 300–450mAh LiPo |
|
| 180 | -- Enable **Battery Voltage Monitoring** in Configuration |
|
| 181 | -- Safe cut-off for 1S: 3.5V |
|
| 182 | - |
|
| 183 | -### 9. Motor Test / Prop Safety |
|
| 184 | -- Remove props before testing. |
|
| 185 | -- Test each motor spins in correct direction. |
|
| 186 | -- Reverse motors in Motors tab if needed. |
|
| 187 | - |
|
| 188 | -### 10. Tips for Indoor Flying |
|
| 189 | -- Fly in **ANGLE or HORIZON** mode for smooth control. |
|
| 190 | -- Gentle stick movements only; avoid aggressive flips indoors. |
|
| 191 | -- Lower rates = easier for beginners. |
|
| 192 | -- Slightly increase I term (+5) if drifting too much. |
|
| 193 | - |
|
| 194 | -### 11. Optional Enhancements |
|
| 195 | -- **Blackbox**: record and analyze PID tuning. |
|
| 196 | -- **Battery Beeper**: low voltage alert. |
|
| 197 | -- **LED Strip**: orientation aid indoors. |
|
| 198 | - |
|
| 199 | - |
|
| 200 | -## tune 2 - Indoor Cinematic Whoop PID Tuning |
|
| 201 | - |
|
| 202 | - |
|
| 203 | -| Category | Parameter | Value / Tip | Purpose | |
|
| 204 | -| ------------------ | ----------------- | --------------------------- | ---------------------------- | |
|
| 205 | -| **Basic Setup** | AirMode | Enabled | Control at low throttle | |
|
| 206 | -| | Throttle MID | 0.48–0.52 | Balanced hover | |
|
| 207 | -| | RC Rate | 0.7–0.9 | Smooth stick response | |
|
| 208 | -| | Super Rate | 0.5–0.7 | Prevent overshoot | |
|
| 209 | -| | Expo | 0.2–0.4 | Soft center stick | |
|
| 210 | -| **PID Gains** | P Gains | Slightly lower than stock | Reduce twitchiness | |
|
| 211 | -| | I Gains | Moderate | Correct slow drift | |
|
| 212 | -| | D Gains | Lower than stock | Reduce propwash oscillations | |
|
| 213 | -| | Feedforward (FF) | 0.8–1.0 | Smooth stick response | |
|
| 214 | -| | Master Multiplier | 1.5–1.6 | Global PID/FF scale | |
|
| 215 | -| **Filters & Axis** | Filters | Moderate (dynamic optional) | Reduce propwash | |
|
| 216 | -| | Pitch = Roll | Keep equal | Balanced indoor control | |
|
| 217 | -| | Yaw | Slightly lower rates & D | Smooth cinematic turns | |
|
| 218 | - |
|
| 219 | - |
|
| 220 | - |
|
| 221 | -## Motor Output Limit |
|
| 222 | - |
|
| 223 | - |
|
| 224 | -Many pilots set Motor Output Limit around 65–75% for whoops. |
|
| 225 | - |
|
| 226 | -50% is safe if you’re flying indoor cruising / training. |
|
| 227 | - |
|
| 228 | - |
|
| 229 | -✅ Benefits |
|
| 230 | - |
|
| 231 | -Much easier to hover and cruise smoothly indoors. |
|
| 232 | - |
|
| 233 | -Prevents sudden “rocket up” when you accidentally push throttle too much. |
|
| 234 | - |
|
| 235 | -Extends battery life (you don’t spike current as hard). |
|
| 236 | - |
|
| 237 | -Motors run cooler. |
|
| 238 | - |
|
| 239 | - |
|
| 240 | - |
|
| 241 | -## ref |
|
| 242 | - |
|
| 243 | -- [[betaflight-dat]] |
|
| 244 | - |
|
| 245 | -- [[indoor-fly]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-20-52-07.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-20-52-07.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-20-52-35.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-20-52-35.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-21-03-05.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/2025-09-12-21-03-05.png and /dev/null differ |
app-dat/RC-dat/RC-configurator-dat/heli-configurator-dat/heli-configurator-dat.md
| ... | ... | @@ -1,47 +0,0 @@ |
| 1 | - |
|
| 2 | -# heli-configurator-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## blheli-configurator |
|
| 6 | - |
|
| 7 | -last commit is about 5 years ago |
|
| 8 | - |
|
| 9 | -- no more chrome store |
|
| 10 | - |
|
| 11 | -https://github.com/blheli-configurator/blheli-configurator/releases |
|
| 12 | - |
|
| 13 | -- set ESC motor directions |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## first launch |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## flash |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -## BLHeliSuite32 Rev32.10.0.0 |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -Found no valid ESC configuration: |
|
| 32 | -- ESC# 1: BLHeli/_S 8bit! |
|
| 33 | -- ESC# 2: BLHeli/_S 8bit! |
|
| 34 | -- ESC# 3 : BLHeli/_S 8bit! |
|
| 35 | -- ESC# 4: BLHeli/_S 8bit! |
|
| 36 | - |
|
| 37 | -One or more BLHeli/BLHeli_S 8Bit ESC found. |
|
| 38 | - |
|
| 39 | -BLHeliSuite32 is only intended to be used with BLHeli_32 type ESCs! |
|
| 40 | - |
|
| 41 | -https://www.mediafire.com/folder/dx6kfaasyo24l/BLHeliSuite |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | -## BLHeliSuite |
|
| 46 | - |
|
| 47 | - |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-dat.md
| ... | ... | @@ -1,67 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## RC - apps |
|
| 6 | - |
|
| 7 | -- [[rover-dat]] - [[RC-car-dat]] - [[RC-car-hack-dat]] - [[video-rc-car-dat]] |
|
| 8 | - |
|
| 9 | -- [[quadcopter-dat]] - [[FPV-dat]] |
|
| 10 | - |
|
| 11 | -- [[airplane-dat]] |
|
| 12 | - |
|
| 13 | -- [[UAV-dat]] |
|
| 14 | - |
|
| 15 | -- [[rc-code-dat]] |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -## RC - signal |
|
| 20 | - |
|
| 21 | -- [[RC-signal-dat]] |
|
| 22 | - |
|
| 23 | -## RC - systems |
|
| 24 | - |
|
| 25 | -- [[ardupilot-dat]] |
|
| 26 | - |
|
| 27 | -## RC - Hardware |
|
| 28 | - |
|
| 29 | -- [[flight-controller-dat]] - [[RC-link-dat]] |
|
| 30 | - |
|
| 31 | -- [[BMS-dat]] - [[battery-dat]] |
|
| 32 | - |
|
| 33 | -## RC - manufacturers |
|
| 34 | - |
|
| 35 | -- [[Wfly-dat]] - [[betaFPV-dat]] - [[speedybee-dat]] |
|
| 36 | - |
|
| 37 | -## Teardown post |
|
| 38 | - |
|
| 39 | -[Tear down and Learn a good-build $20 RC Toy Car](https://www.electrodragon.com/disassemble-and-learn-a-good-build-20-rc-toy-car/) |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -## RC Link - SPI ELRS RC Link Update Rates |
|
| 45 | - |
|
| 46 | -### 1. Supported ELRS Packet Rates (Hz) |
|
| 47 | -- 25 Hz (long range, very low latency priority not needed) |
|
| 48 | -- 50 Hz |
|
| 49 | -- 100 Hz |
|
| 50 | -- 250 Hz |
|
| 51 | -- 500 Hz |
|
| 52 | -- 1000 Hz (only with UART-based receivers, *not supported* on SPI RX) |
|
| 53 | - |
|
| 54 | -### 2. Mobula8 SPI Receiver Limitation |
|
| 55 | -- SPI-based ELRS receivers (built into flight controllers) **usually support up to 500 Hz max**. |
|
| 56 | -- They don’t handle 1000 Hz mode reliably. |
|
| 57 | - |
|
| 58 | -### 3. Radiomaster Pocket ELRS |
|
| 59 | -- Can output up to **1000 Hz**. |
|
| 60 | -- But the Mobula8 SPI ELRS will negotiate down to **max 500 Hz**. |
|
| 61 | - |
|
| 62 | ---- |
|
| 63 | - |
|
| 64 | -### Final Answer |
|
| 65 | - |
|
| 66 | -The **RC link update rate between your Radiomaster Pocket and Mobula8 SPI ELRS** can be set to **25 / 50 / 100 / 250 / 500 Hz**, |
|
| 67 | -but **500 Hz is the highest stable rate** supported by the Mobula8 SPI receiver. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-link-dat/2025-05-23-16-14-35.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-link-dat/2025-05-23-16-14-35.png and /dev/null differ |
app-dat/RC-dat/RC-link-dat/RC-link-dat.md
| ... | ... | @@ -1,48 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-link-dat |
|
| 3 | - |
|
| 4 | -- [[Wfly-dat]] - [[WFT06x-dat]] - [[WFR06S-dat]] |
|
| 5 | - |
|
| 6 | -## RC Tx |
|
| 7 | - |
|
| 8 | -- [[PX4-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -## RC Receiver |
|
| 15 | - |
|
| 16 | -When you push the **RC console (joystick or stick) up and down**, you're typically controlling the throttle or elevator channel, depending on the mode of your transmitter. The PWM (Pulse Width Modulation) signal output sent to the receiver or flight controller varies accordingly: |
|
| 17 | - |
|
| 18 | -PWM signal range: ~1000 µs (microseconds) to ~2000 µs |
|
| 19 | - |
|
| 20 | - Center/stick neutral: ~1500 µs |
|
| 21 | - |
|
| 22 | - Stick fully down: ~1000 µs |
|
| 23 | - |
|
| 24 | - Stick fully up: ~2000 µs |
|
| 25 | - |
|
| 26 | -Example: |
|
| 27 | - |
|
| 28 | -If you're using Mode 2 (common mode): |
|
| 29 | - |
|
| 30 | -Left stick up/down = Throttle |
|
| 31 | - |
|
| 32 | - Stick down = 1000 µs (zero throttle) |
|
| 33 | - |
|
| 34 | - Stick up = 2000 µs (full throttle) |
|
| 35 | - |
|
| 36 | -If it's controlling elevator (pitch): |
|
| 37 | - |
|
| 38 | - Stick down (nose down) = 1000 µs |
|
| 39 | - |
|
| 40 | - Stick up (nose up) = 2000 µs |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -## ref |
|
| 45 | - |
|
| 46 | -- https://docs.px4.io/v1.11/en/getting_started/rc_transmitter_receiver.html |
|
| 47 | - |
|
| 48 | -- [[RC-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/CRSF-dat/CRSF-dat.md
| ... | ... | @@ -1,74 +0,0 @@ |
| 1 | - |
|
| 2 | -# CRSF-dat |
|
| 3 | - |
|
| 4 | -CRSF (Crossfire Serial Protocol) is a low-latency, high-speed serial protocol developed by **Team BlackSheep (TBS)** for communication between radio receivers (like TBS Crossfire Nano RX) and flight controllers. |
|
| 5 | - |
|
| 6 | -It’s used in RC applications (especially FPV drones) to transmit RC channel data, telemetry, and link status over a compact serial format. |
|
| 7 | - |
|
| 8 | -CRSF packets are binary data. Here's the basic structure of a CRSF packet: |
|
| 9 | - |
|
| 10 | -## CRSF Packet Structure (General) |
|
| 11 | - |
|
| 12 | -| Byte Index | Name | Description | |
|
| 13 | -|------------|----------------|---------------------------------------------| |
|
| 14 | -| 0 | Device Address | Who is sending (e.g., RX, TX) | |
|
| 15 | -| 1 | Frame Length | Length of payload + 1 (type byte + data) | |
|
| 16 | -| 2 | Frame Type | Type of data (e.g., RC channels, telemetry) | |
|
| 17 | -| 3 - N | Payload | Actual data, varies by Frame Type | |
|
| 18 | -| Last Byte | CRC | Checksum for packet validation | |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -This is how a typical RC channel data packet might look (in hex): |
|
| 22 | - |
|
| 23 | -C8 18 16 A1 84 3F C1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9E |
|
| 24 | - |
|
| 25 | -## RC Channel Encoding (Packed 11-bit) |
|
| 26 | - |
|
| 27 | -Each RC channel is packed as 11-bit little-endian integers, with up to 16 channels per frame. Example values: |
|
| 28 | - |
|
| 29 | -- 1000 → channel center |
|
| 30 | -- 172 → min |
|
| 31 | -- 1811 → max |
|
| 32 | - |
|
| 33 | -## read data via serial |
|
| 34 | - |
|
| 35 | -Yes, you can use a serial port to read CRSF data, because CRSF is a serial protocol — specifically, a half-duplex, asynchronous UART protocol using 8N1 (8 data bits, no parity, 1 stop bit). |
|
| 36 | - |
|
| 37 | -### 📡 CRSF over Serial – Quick Guide |
|
| 38 | - |
|
| 39 | -- **Baud rate**: 420000 or 115200 (depends on TX/RX version or setting) |
|
| 40 | -- **Protocol**: UART (8N1) |
|
| 41 | -- **Signal direction**: Half-duplex (same wire for TX and RX) |
|
| 42 | -- **Voltage**: 3.3V (NOT 5V safe on most Crossfire receivers) |
|
| 43 | -- **Typical usage**: Read CRSF data from TBS Nano RX or TX |
|
| 44 | - |
|
| 45 | -#### 🧰 What You Need: |
|
| 46 | -- A microcontroller or board with UART support (e.g., Arduino, ESP32, STM32, Raspberry Pi) |
|
| 47 | -- Logic-level conversion (if needed for 3.3V safety) |
|
| 48 | -- CRSF-compatible device (e.g., TBS Crossfire Nano RX) |
|
| 49 | - |
|
| 50 | -Code Concept (Pseudocode) |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - Serial.begin(420000); // Or 115200 for some TX modules |
|
| 54 | - |
|
| 55 | - void loop() { |
|
| 56 | - if (Serial.available()) { |
|
| 57 | - uint8_t byte = Serial.read(); |
|
| 58 | - // Process CRSF packet bytes here |
|
| 59 | - } |
|
| 60 | - } |
|
| 61 | - |
|
| 62 | - |
|
| 63 | - |
|
| 64 | -## via ardupilot |
|
| 65 | - |
|
| 66 | -If you wish to use telemetry then a receiver can be connected to a UART utilizing the CRSF protocol. |
|
| 67 | - |
|
| 68 | -CRSF is a full-duplex protocol that supports integrated telemetry and a number of other features. Connect the RX pin of the UART to the CRSF TX pin of the CRSF device and vice versa. Currently a full-duplex UART connection is required. For best performance a UART with DMA capability on its RX port is desirable, but not required. A message will be displayed once on the GCS console, if connected to a UART without this capability on an F4/F7 based autopilot. |
|
| 69 | - |
|
| 70 | -https://ardupilot.org/rover/docs/common-tbs-rc.html#common-tbs-rc |
|
| 71 | - |
|
| 72 | -## ref |
|
| 73 | - |
|
| 74 | -- [[FPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-04-25-17-30-48.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-04-25-17-30-48.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-05-04-15-29-54.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-05-04-15-29-54.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-05-04-15-31-56.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/2025-05-04-15-31-56.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-915M-dat.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-915M-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-HF-RF-Module-dat/2025-05-16-13-30-09.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-HF-RF-Module-dat/2025-05-16-13-30-09.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-HF-RF-Module-dat/ELRS-HF-RF-Module-dat.md
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-HF-RF-Module-dat |
|
| 3 | - |
|
| 4 | -1.连接USB,高频头无需另外供电,第一次连接电脑如果你的系统是windows 10或以上并处于联网状态下,电脑会自动安装名为CH9102的USB-TTL驱动,刷写固件无需任何按键进入boot,刷写内置的,并且刷写内置Backpack也无需按任何按键和拨码开关,因为我们在内部设计了自动激活刷机模式电路与刷背包固件直通模式 |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## ref |
|
| 9 | - |
|
| 10 | -- [[ESP8266-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-04-25-17-34-11.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-04-25-17-34-11.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-12-14-23-11.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-12-14-23-11.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-31-40.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-31-40.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-32-31.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-32-31.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-33-12.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/2025-05-16-13-33-12.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/7CH.json
| ... | ... | @@ -1,32 +0,0 @@ |
| 1 | -{ |
|
| 2 | - "customised": "true", |
|
| 3 | - "serial_rx": -1, |
|
| 4 | - "serial_tx": -1, |
|
| 5 | - "radio_dio1": 4, |
|
| 6 | - "radio_miso": 12, |
|
| 7 | - "radio_mosi": 13, |
|
| 8 | - "radio_nss": 15, |
|
| 9 | - "radio_rst": 2, |
|
| 10 | - "radio_sck": 14, |
|
| 11 | - "power_min": 0, |
|
| 12 | - "power_high": 0, |
|
| 13 | - "power_max": 0, |
|
| 14 | - "power_default": 0, |
|
| 15 | - "power_control": 0, |
|
| 16 | - "power_values": [ |
|
| 17 | - 13 |
|
| 18 | - ], |
|
| 19 | - "led": 16, |
|
| 20 | - "pwm_outputs": [ |
|
| 21 | - 0, |
|
| 22 | - 1, |
|
| 23 | - 3, |
|
| 24 | - 9, |
|
| 25 | - 10, |
|
| 26 | - 5, |
|
| 27 | - 16 |
|
| 28 | - ], |
|
| 29 | - "vbat": 17, |
|
| 30 | - "vbat_offset": 12, |
|
| 31 | - "vbat_scale": 310 |
|
| 32 | -} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/CRSF.json
| ... | ... | @@ -1 +0,0 @@ |
| 1 | -{"customised":"true","serial_rx":3,"serial_tx":1,"radio_dio1":4,"radio_miso":12,"radio_mosi":13,"radio_nss":15,"radio_rst":2,"radio_sck":14,"power_min":0,"power_high":0,"power_max":0,"power_default":0,"power_control":0,"power_values":[13],"led":16,"pwm_outputs":[-1],"vbat":17,"vbat_offset":12,"vbat_scale":310} |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-PWM-dat/ELRS-PWM-dat.md
| ... | ... | @@ -1,73 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-CHS-PWM-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## Electrodragon 7CH PWM ELRS Receiver |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -Electrodragon ELRS 2.4G Receiver, Seven-Channel PWM Receiver |
|
| 12 | - |
|
| 13 | -This receiver features independent PWM channel outputs, suitable for fixed-wing aircraft, cars, boats, and other models. It also supports CRSF output. The two output signals (PWM and CRSF) can be switched without re-flashing the firmware. |
|
| 14 | - |
|
| 15 | -Follow these steps to switch between PWM (6CH/7CH) and CRSF modes: |
|
| 16 | - |
|
| 17 | -**Accessing the Receiver's Wi-Fi Network:** |
|
| 18 | - |
|
| 19 | -1. **If connected to the high-frequency head (transmitter module):** Use the transmitter's LUA script menu to activate the receiver's Wi-Fi. |
|
| 20 | -2. **If not connected to the high-frequency head:** Power on the receiver and wait for one minute. The receiver will automatically enter Wi-Fi mode. |
|
| 21 | - |
|
| 22 | -**Connecting to the Receiver's Wi-Fi:** |
|
| 23 | - |
|
| 24 | -* Search for Wi-Fi networks on your computer or phone. |
|
| 25 | -* **Wi-Fi Hotspot Name (SSID):** `EXPRESSLRSRX` |
|
| 26 | -* **Connection Password (all lowercase):** `expresslrs` |
|
| 27 | - |
|
| 28 | -**Accessing the Configuration Page:** |
|
| 29 | - |
|
| 30 | -* Open a web browser and go to: `http://10.0.0.1/hardware.html` |
|
| 31 | - |
|
| 32 | -**Configuring the Receiver:** |
|
| 33 | - |
|
| 34 | -* This will take you to the ELRS hardware configuration page where you can import hardware configuration files. |
|
| 35 | -* **Caution:** Do not modify parameters yourself unless you fully understand their meaning. |
|
| 36 | -* Import the provided configuration file for either `PWM7CH` or `CRSF`. |
|
| 37 | -* Click the button at the bottom of the page and wait for the receiver to restart automatically. |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | -## custom PWM setup |
|
| 42 | - |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -## setup for [[ELRS-HF-RF-module-dat]] |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - |
|
| 52 | -## configuration file |
|
| 53 | - |
|
| 54 | -- [[7CH.json]] - [[CRSF.json]] |
|
| 55 | - |
|
| 56 | -the pwm channels |
|
| 57 | - |
|
| 58 | - "pwm_outputs": [ |
|
| 59 | - 0, |
|
| 60 | - 1, |
|
| 61 | - 3, |
|
| 62 | - 9, |
|
| 63 | - 10, |
|
| 64 | - 5, |
|
| 65 | - 16 |
|
| 66 | - ], |
|
| 67 | - |
|
| 68 | - |
|
| 69 | - |
|
| 70 | - |
|
| 71 | -## ref |
|
| 72 | - |
|
| 73 | -- [[ELRS-PWM]] - [[ELRS]] |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-52-56.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-52-56.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-55-05.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-04-25-16-55-05.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-05-08-18-22-08.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-05-08-18-22-08.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-05-16-12-57-47.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-05-16-12-57-47.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-08.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-08.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-57.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/2025-07-15-13-24-57.png and /dev/null differ |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-RX-dat/ELRS-RX-dat.md
| ... | ... | @@ -1,108 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-RX-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## T-anntena version |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -- [[antenna-dat]] |
|
| 11 | - |
|
| 12 | -## SMD antenna version |
|
| 13 | - |
|
| 14 | -## info |
|
| 15 | - |
|
| 16 | -Nano2400-RX receiver with power amplifier (PA+LNA). |
|
| 17 | - |
|
| 18 | -Therefore, it has 100mW telemetry output and better sensitivity at longer distances. |
|
| 19 | - |
|
| 20 | -It uses an IPEX1 antenna connector. |
|
| 21 | - |
|
| 22 | -Paired with an external dipole T-antenna (customized by a professional factory, each antenna is tested with professional instruments to ensure quality, lightness, and durability). |
|
| 23 | - |
|
| 24 | -The CYCLONE series receivers are based on the open-source architecture and program of ExpressLRS. |
|
| 25 | - |
|
| 26 | -We have released 3 types of RX receiver modules. All use the [[ESP8285-dat]] [[MCU-dat]]. You can upgrade the firmware via [[WIFI-dat]], which is very user-friendly. |
|
| 27 | - |
|
| 28 | -## hotspot |
|
| 29 | - |
|
| 30 | -Typically, after powering the receiver and with the remote controller turned off, the ExpressLRS hotspot can be found after a default of 60 seconds. Connect to this hotspot using a computer or mobile phone. |
|
| 31 | - |
|
| 32 | -The password is "**expresslrs**", and then you can access **10.0.0.1** to upload the receiver firmware. |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -check the firmware version: |
|
| 37 | - |
|
| 38 | - Generic ESP8285 6xPWM 2.4Ghz RX |
|
| 39 | - Firmware Rev. 3.5.3 (40555e) ISM2G4 |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## hardware default output value |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | -middle value should be 1500 for CH1, CH2, etc |
|
| 47 | - |
|
| 48 | -## modify the binding phase for binding |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - |
|
| 53 | - |
|
| 54 | -## serial |
|
| 55 | - |
|
| 56 | -Runtime Options |
|
| 57 | - |
|
| 58 | -This form overrides the options provided when the firmware was flashed. These changes will persist across reboots, but will be reset when the firmware is reflashed. |
|
| 59 | - |
|
| 60 | -WiFi auto on" interval in seconds (leave blank to disable) == 60 |
|
| 61 | -UART baud == 420000 = 420K |
|
| 62 | - |
|
| 63 | - |
|
| 64 | -## Product Features |
|
| 65 | - |
|
| 66 | -- High refresh rate 100mW telemetry output; |
|
| 67 | -- Supports convenient and fast firmware flashing via WIFI connection; |
|
| 68 | -- Firmware Version: 3.3.0 [BETAFPVLite2400RX] |
|
| 69 | -- Equipped with a power amplifier (PA+LNA), providing 100mW telemetry output and better response speed; |
|
| 70 | -- Theoretically compatible with most ELRS 2.4G transmitter modules on the market (requires firmware version 2.0 or above). |
|
| 71 | - |
|
| 72 | - |
|
| 73 | - |
|
| 74 | - |
|
| 75 | - |
|
| 76 | -## supported modules |
|
| 77 | - |
|
| 78 | - |
|
| 79 | -## FAQ |
|
| 80 | - |
|
| 81 | -1. **Q: Can this receiver be bound to a XXX brand's high-frequency head (transmitter module)?** |
|
| 82 | - A: The ELRS project is open source. Therefore, as long as the high-frequency head uses the ELRS protocol, regardless of the brand, it can be bound. However, three conditions must be met: |
|
| 83 | - * The frequency must be the same, either both 2.4G or both 915MHz. |
|
| 84 | - * The firmware version must be consistent. For example, if the high-frequency head is flashed with firmware version 2.5.0, the receiver must also be flashed with firmware version 2.5.0. |
|
| 85 | - * Either both have no binding phrase, or both have the same binding phrase set. |
|
| 86 | - |
|
| 87 | -2. **Q: How do I enter binding mode?** |
|
| 88 | - A: After soldering the receiver, quickly power cycle the aircraft three times. That is: power on then immediately power off, power on then immediately power off, power on and leave it on. The interval between power cycles should be within 1.5 seconds. If done correctly, the receiver's LED will flash rapidly twice in a cycle, indicating it is in binding mode. At this time, press the bind button in the remote controller's script. If binding is successful, the receiver's LED will turn solid. |
|
| 89 | - |
|
| 90 | -3. **Q: I'm using my receiver for the first time, why can't I enter binding mode? The light stays solid. What's wrong?** |
|
| 91 | - A: We have encountered similar issues in after-sales support. We found that some flight controllers have abnormal TX/RX ports, causing the receiver to enter bootloader/flash mode upon power-up. In this case, simply changing to a different TX/RX port on the flight controller can solve the problem. |
|
| 92 | - |
|
| 93 | -4. **Q: Why is my receiver's light always flashing rapidly?** |
|
| 94 | - A: If you power on the receiver and it does not enter binding mode, or if it's already bound but the remote controller is not turned on, the receiver will enter WiFi flashing mode after 60 seconds without a signal, and the indicator light will flash rapidly. |
|
| 95 | - |
|
| 96 | -5. **Q: How do I enter WiFi flashing mode to flash firmware to the receiver?** |
|
| 97 | - A: Same as the answer above. Power on the receiver and leave it. It will automatically enter WiFi flashing mode in about 60 seconds, and the light will flash rapidly. |
|
| 98 | - |
|
| 99 | - |
|
| 100 | -## Versions |
|
| 101 | - |
|
| 102 | -- Firmware Rev. 3.5.2 (7ac5f4) |
|
| 103 | - |
|
| 104 | - |
|
| 105 | - |
|
| 106 | -## ref |
|
| 107 | - |
|
| 108 | -- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-TX-dat/ELRS-TX-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-TX-dat |
|
| 3 | - |
|
| 4 | -- [[radiomaster-dat]] |
|
| 5 | - |
|
| 6 | -radiomaster guide |
|
| 7 | - |
|
| 8 | -https://www.expresslrs.org/quick-start/transmitters/rm-ranger/ |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## ref |
|
| 13 | - |
|
| 14 | -- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-dat.md
| ... | ... | @@ -1,175 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-dat |
|
| 3 | - |
|
| 4 | -Info - [[ELRS-frequency-dat]] - [[ELRS-faq-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## ELRS frequency |
|
| 8 | - |
|
| 9 | -- 900MHz generally for much long range |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## ELRS-link |
|
| 13 | - |
|
| 14 | -ELRS-remote-console-tx |
|
| 15 | - |
|
| 16 | -- BETAFPV literadio 3 |
|
| 17 | -- BETAFPV literadio 2 |
|
| 18 | - |
|
| 19 | -- [[edge-tx-dat]] - [[radiomaster-dat]] - [[lightradio-dat]] |
|
| 20 | - |
|
| 21 | -- [[ELRS-RX-dat]] - [[SX1276-dat]] - [[ESP8285-dat]] - [[ESP32-dat]] - [[SX1281-dat]] - [[SX1208-dat]] |
|
| 22 | - |
|
| 23 | -protocol output - - [[CRSF-dat]] |
|
| 24 | - |
|
| 25 | -- [[CC2500-dat]] |
|
| 26 | - |
|
| 27 | -- [[ELRS-TX-dat]] - [[ELRS-RX-dat]] - [[ELRS-915M-dat]] - [[ELRS-PWM-dat]] - [[ELRS-2.4Ghz-dat]] |
|
| 28 | - |
|
| 29 | -- [[ELRS]] |
|
| 30 | - |
|
| 31 | -## resources |
|
| 32 | - |
|
| 33 | -https://github.com/ExpressLRS/ExpressLRS |
|
| 34 | - |
|
| 35 | -https://www.expresslrs.org/quick-start/getting-started/ |
|
| 36 | - |
|
| 37 | -[ExpressLRS-Configurator-releases](https://github.com/ExpressLRS/ExpressLRS-Configurator/releases) |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | -## **ExpressLRS (ELRS) 2.4GHz Standard Explained** |
|
| 42 | - |
|
| 43 | -**ExpressLRS (ELRS) 2.4GHz** is an open-source **long-range, low-latency radio control link** developed for FPV drones and RC applications. It offers **high performance, ultra-fast response times, and robust signal reliability** compared to traditional RC protocols like FrSky, Crossfire, and Ghost. |
|
| 44 | - |
|
| 45 | ---- |
|
| 46 | - |
|
| 47 | -### **🔹 Key Features of ELRS 2.4GHz** |
|
| 48 | -- **Ultra-Low Latency** (~5ms in high-speed mode). |
|
| 49 | -- **Long-Range Performance** (Up to **30km+** with proper setup). |
|
| 50 | -- **High Packet Rate (Up to 1000Hz)** for **smooth & responsive controls**. |
|
| 51 | -- **Open-Source & Customizable** (Community-driven development). |
|
| 52 | -- **Affordable Hardware** (Compared to Crossfire or Ghost). |
|
| 53 | -- **Wide Compatibility** (Supported on many **radio transmitters & receivers**). |
|
| 54 | - |
|
| 55 | ---- |
|
| 56 | - |
|
| 57 | -### **🔹 ELRS 2.4GHz vs. Other RC Links** |
|
| 58 | -| Feature | ELRS 2.4GHz | TBS Crossfire | Ghost 2.4GHz | FrSky R9M | |
|
| 59 | -| --------------- | ------------ | ------------- | ------------ | ----------- | |
|
| 60 | -| **Frequency** | 2.4GHz | 900MHz | 2.4GHz | 900MHz | |
|
| 61 | -| **Max Range** | ~30km+ | ~50km+ | ~15km | ~10-20km | |
|
| 62 | -| **Latency** | 5-7ms | 15-50ms | ~4ms | ~20ms | |
|
| 63 | -| **Packet Rate** | Up to 1000Hz | 50-150Hz | 500Hz | ~100Hz | |
|
| 64 | -| **Open Source** | ✅ Yes | ❌ No | ❌ No | ❌ No | |
|
| 65 | -| **Cost** | 💰 Affordable | 💰💰 Expensive | 💰💰 Expensive | 💰 Mid-Range | |
|
| 66 | - |
|
| 67 | ---- |
|
| 68 | - |
|
| 69 | -### **🔹 ELRS 2.4GHz Modes & Performance** |
|
| 70 | -| Mode | Packet Rate | Latency | Range | |
|
| 71 | -| --------- | ----------- | ------- | --------------------- | |
|
| 72 | -| **500Hz** | 500Hz | ~5ms | Short (~3km) | |
|
| 73 | -| **250Hz** | 250Hz | ~7ms | Mid (~10km) | |
|
| 74 | -| **150Hz** | 150Hz | ~10ms | Long (~20km) | |
|
| 75 | -| **50Hz** | 50Hz | ~20ms | Extreme Long (~30km+) | |
|
| 76 | - |
|
| 77 | -🔹 **Higher packet rate = Lower latency, but reduced range** |
|
| 78 | -🔹 **Lower packet rate = Higher range, but increased latency** |
|
| 79 | - |
|
| 80 | ---- |
|
| 81 | - |
|
| 82 | -### **🔹 Recommended ExpressLRS 2.4GHz Hardware** |
|
| 83 | -#### **🛠️ Transmitters (TX)** |
|
| 84 | -- **RadioMaster Zorro ELRS 2.4GHz** |
|
| 85 | -- **Jumper T20S (Built-in ELRS)** |
|
| 86 | -- **Happymodel ES24TX Pro (External ELRS Module)** |
|
| 87 | -- **BetaFPV ELRS Micro TX Module** |
|
| 88 | - |
|
| 89 | -#### **📡 Receivers (RX)** |
|
| 90 | -- **Happymodel EP2 (Tiny, best for micro quads)** |
|
| 91 | -- **BetaFPV ELRS 2.4GHz Nano RX** |
|
| 92 | -- **Radiomaster RP1 / RP2 RX (Great range & reliability)** |
|
| 93 | - |
|
| 94 | ---- |
|
| 95 | - |
|
| 96 | -### **🔹 Why Choose ELRS 2.4GHz?** |
|
| 97 | -✅ **Best for FPV Racing & Freestyle** → **Low latency & fast response** |
|
| 98 | -✅ **Perfect for Long-Range FPV** → **Good range at lower packet rates** |
|
| 99 | -✅ **Affordable & Open-Source** → **Cheaper than Crossfire & Ghost** |
|
| 100 | - |
|
| 101 | -🚀 **If you need ultra-low latency for FPV racing or long-range performance at an affordable price, ExpressLRS 2.4GHz is the best choice!** 🔥 |
|
| 102 | - |
|
| 103 | - |
|
| 104 | -## 2.4hz compare to LORA 915mhz |
|
| 105 | - |
|
| 106 | -| Feature | DJI NC3 (OcuSync 2.0) | ELRS 2.4GHz (100mW) | ELRS 915MHz (100mW, SX1276) | |
|
| 107 | -|----------------------------|---------------------------|------------------------------|-------------------------------| |
|
| 108 | -| Protocol Type | Proprietary digital (DJI) | Open-source LoRa/FLRC | Open-source LoRa | |
|
| 109 | -| Frequency Band | 2.4GHz + 5.8GHz | 2.4GHz | 915MHz | |
|
| 110 | -| Max Packet Rate | N/A (digital control/video)| Up to 500Hz | Up to 50Hz | |
|
| 111 | -| Latency (best-case) | ~120 ms (control + video) | ~2.5 ms (500Hz) | ~20 ms (50Hz) | |
|
| 112 | -| Typical Latency | ~120–150 ms | ~6–13 ms | ~22–30 ms | |
|
| 113 | -| Max Range (LOS, FCC) | ~10 km | ~2 km | ~10 km | |
|
| 114 | -| Penetration (Obstacles) | Moderate | Moderate | Strong | |
|
| 115 | -| Interference Resistance | High (hopping + digital) | Moderate | Strong | |
|
| 116 | -| Video Support | Yes (integrated) | No | No | |
|
| 117 | -| Use Case | DJI drones (Mini, Air) | FPV racing, freestyle | Long-range FPV, endurance | |
|
| 118 | -| Antenna Size | Small | Small | Larger | |
|
| 119 | -| Custom Flight Controllers | Not supported | Fully supported | Fully supported | |
|
| 120 | - |
|
| 121 | - |
|
| 122 | -❌ No — ELRS does not support 5.8GHz (as of now). |
|
| 123 | - |
|
| 124 | -- [[LORA-dat]] - [[RF-2.4ghz-dat]] |
|
| 125 | - |
|
| 126 | -- [[5.8Ghz-dat]] |
|
| 127 | - |
|
| 128 | - |
|
| 129 | -## WebUI Configurator |
|
| 130 | - |
|
| 131 | -[ExpressLRS Configurator](https://github.com/ExpressLRS/ExpressLRS-Configurator/releases/) |
|
| 132 | - |
|
| 133 | -[github](https://github.com/ExpressLRS/ExpressLRS) |
|
| 134 | - |
|
| 135 | -### Via "ExpressLRS RX" Access Point |
|
| 136 | - |
|
| 137 | - |
|
| 138 | - |
|
| 139 | -Load the Web UI on your browser using these addresses: |
|
| 140 | - |
|
| 141 | -http://10.0.0.1/ - If you have connected to the ExpressLRS RX Access Point |
|
| 142 | - |
|
| 143 | -### Via button press |
|
| 144 | - |
|
| 145 | - |
|
| 146 | - |
|
| 147 | - |
|
| 148 | -## Code |
|
| 149 | - |
|
| 150 | -| Method | Arduino-Friendly? | Notes | |
|
| 151 | -|---------------|-------------------|--------------------------------------------| |
|
| 152 | -| PWM Output | ✅ Yes | Easiest to use. Limited channels. | |
|
| 153 | -| SBUS/PPM | ✅ Yes (with lib) | Good middle ground. | |
|
| 154 | -| CRSF over UART| ⚠️ Difficult | Only feasible on fast boards (ESP32/STM32).| |
|
| 155 | - |
|
| 156 | - |
|
| 157 | -### ✅ Use PWM output from ELRS receiver for arduino |
|
| 158 | - |
|
| 159 | -Some ELRS receivers support PWM output, which can be read with Arduino pulseIn() or interrupts. |
|
| 160 | - |
|
| 161 | -This is much easier but limits you to a few channels (e.g., 4–8). |
|
| 162 | - |
|
| 163 | -### ✅ Use CRSF over UART (advanced) |
|
| 164 | -If you use a faster board like Teensy, ESP32, or STM32: |
|
| 165 | - |
|
| 166 | -These can handle high baud rates and may be able to parse CRSF messages. |
|
| 167 | - |
|
| 168 | -You’d need to write or port a CRSF parser for Arduino/Teensy/ESP32. |
|
| 169 | - |
|
| 170 | - |
|
| 171 | -## ref |
|
| 172 | - |
|
| 173 | -- [[FPV-dat]] |
|
| 174 | - |
|
| 175 | -- [[ELRS]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-faq-dat.md
| ... | ... | @@ -1,26 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-faq-dat |
|
| 3 | - |
|
| 4 | -## Frequently Asked Questions (FAQ) |
|
| 5 | - |
|
| 6 | -**Q1: Can this receiver bind with a transmitter module (TX module) from brand XXX?** |
|
| 7 | -**A:** The ELRS project is open-source. Therefore, as long as the TX module uses the ELRS protocol, regardless of the brand, they can bind with each other, provided three conditions are met: |
|
| 8 | - 1. **Same Frequency:** Both must operate on the same frequency band (e.g., both 2.4GHz or both 915MHz). |
|
| 9 | - 2. **Matching Firmware Version:** The firmware versions must be identical. For example, if the TX module is flashed with firmware version 2.5.0, the receiver must also be flashed with version 2.5.0. |
|
| 10 | - 3. **Binding Phrase:** Either both devices have no binding phrase set, or they both have the exact same binding phrase configured. |
|
| 11 | - |
|
| 12 | -**Q2: How do I enter binding mode?** |
|
| 13 | -**A:** After soldering the receiver, quickly power cycle the aircraft three times: power on then immediately power off, power on then immediately power off, power on and leave it on. Each power cycle interval should be less than 1.5 seconds. If performed correctly, the receiver's LED will flash quickly twice in a repeating pattern, indicating it is in binding mode. Then, use the bind function/button on your remote controller (often found in the ELRS Lua script). Once binding is successful, the receiver's LED will turn solid. |
|
| 14 | - |
|
| 15 | -**Q3: The first time I used my receiver, it wouldn't enter binding mode, and the LED stayed solid. Why?** |
|
| 16 | -**A:** We've encountered this issue in support cases. It's often caused by an abnormality on the flight controller's TX/RX UART port, which forces the receiver into bootloader/firmware flashing mode upon power-up. Switching the receiver connection to a different, functional TX/RX UART port on the flight controller usually resolves this. |
|
| 17 | - |
|
| 18 | -**Q4: Why is my receiver's LED flashing quickly and continuously?** |
|
| 19 | -**A:** If the receiver is powered on but doesn't enter binding mode (or if it's already bound but the remote controller is off), it will automatically enter Wi-Fi firmware update mode after approximately 60 seconds of not receiving a signal. The fast flashing indicates Wi-Fi mode is active. |
|
| 20 | - |
|
| 21 | -**Q5: How do I enter Wi-Fi mode to update the receiver's firmware?** |
|
| 22 | -**A:** As mentioned above, simply power on the receiver and wait. If it doesn't connect to a transmitter within about 60 seconds, it will automatically enter Wi-Fi update mode, indicated by the rapidly flashing LED. |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -## ref |
|
| 26 | - |
app-dat/RC-dat/RC-signal-dat/ELRS-dat/ELRS-frequency-dat.md
| ... | ... | @@ -1,20 +0,0 @@ |
| 1 | - |
|
| 2 | -# ELRS-frequency-dat.md |
|
| 3 | - |
|
| 4 | -| Feature | ELRS 915MHz (LoRa) | ELRS 2.4GHz (LoRa/FLRC) | |
|
| 5 | -|---------------------|-----------------------------|------------------------------| |
|
| 6 | -| Frequency Band | 915 MHz | 2.4 GHz | |
|
| 7 | -| Range (LOS, 100mW) | ✅ 5–10+ km | ⚠️ 1–2 km | |
|
| 8 | -| Penetration | ✅ Strong (trees, buildings) | ⚠️ Moderate | |
|
| 9 | -| Latency | ❌ ~20–30 ms | ✅ ~2.5–13 ms | |
|
| 10 | -| Max Packet Rate | ❌ ~50Hz | ✅ Up to 500Hz | |
|
| 11 | -| Antenna Size | ❌ Large | ✅ Small | |
|
| 12 | -| Interference Avoidance | ✅ Less crowded band | ⚠️ More Wi-Fi/Bluetooth noise | |
|
| 13 | -| Use Case | Long-range, endurance | Freestyle, racing | |
|
| 14 | -| Power Efficiency | ✅ High (lower data rate) | ✅ High (LoRa + FLRC modes) | |
|
| 15 | -| Hardware Support | Older SX1276 modules | Newer SX1280 + ESP modules | |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## ref |
|
| 19 | - |
|
| 20 | -- [[ELRS-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/PPM-dat/PPM-dat.md
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | - |
|
| 2 | -# PPM-dat |
|
| 3 | - |
|
| 4 | -- [[Wfly-dat]] - [[RC-code-dat]] |
|
| 5 | - |
|
| 6 | -- [[PWM-dat]] |
|
| 7 | - |
|
| 8 | -PPM (Pulse Position Modulation) is a type of analog signal used in radio control (RC) systems to transmit multiple channels of control information (like throttle, steering, elevator, etc.) over a single wire. |
|
| 9 | - |
|
| 10 | -In simple terms: |
|
| 11 | - |
|
| 12 | -- It sends a series of pulses. |
|
| 13 | -- The position (or timing) of each pulse within a repeating frame represents the value for a specific channel. |
|
| 14 | -- A longer "sync" pulse marks the end of one frame and the beginning of the next. |
|
| 15 | - |
|
| 16 | -So, instead of needing a separate wire for each control channel, PPM combines them into one sequential signal. |
|
| 17 | - |
|
| 18 | -## demo video |
|
| 19 | - |
|
| 20 | -[RC #PPM PWM send and receive at Arduino, note the four channels color](https://youtube.com/shorts/BDdSFPlh9KE?si=n1oF2KUIMqEeH1QW) |
|
| 21 | - |
|
| 22 | -Internal control by [[SDR1064-dat]] |
|
| 23 | - |
|
| 24 | -[Wfly #PPM console control toy rover](https://t.me/electrodragon3/369) |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -## ref |
|
| 28 | - |
|
| 29 | -- [[RC-protocols-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/RC-binding-mode-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-binding-mode-dat |
|
| 3 | - |
|
| 4 | -- [[mobula8-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -**Receiver Bind Mode (ExpressLRS)** |
|
| 8 | - |
|
| 9 | -- Many ELRS receivers (including Mobula8’s built-in) enter **Wi-Fi update mode** or **bind mode** if you power cycle 3 times quickly. |
|
| 10 | -- Example: |
|
| 11 | - - Plug in → unplug → plug in → unplug → plug in (within ~30 seconds). |
|
| 12 | -- After the 3rd time, the receiver LED changes behavior (solid/fast blink), allowing binding with your Radiomaster Pocket. |
|
| 13 | - |
|
| 14 | - |
app-dat/RC-dat/RC-signal-dat/RC-signal-dat.md
| ... | ... | @@ -1,109 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-signal-dat.md |
|
| 3 | - |
|
| 4 | -## RC-signals |
|
| 5 | - |
|
| 6 | -- [[WIFI-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -### Proprietary modulation schemes(专有调制方案) |
|
| 10 | - |
|
| 11 | -Toy RC systems may use other modulation methods like [[DSSS-dat]], [[FHSS-dat]], or non-standard GFSK configurations. |
|
| 12 | - |
|
| 13 | -- [[GFSK-dat]] = [[NRF24L01-dat]] |
|
| 14 | - |
|
| 15 | -- [[SBUS-dat]] - [[PPM-dat]] - [[PWM-dat]] |
|
| 16 | - |
|
| 17 | -Frequency Hopping: |
|
| 18 | - |
|
| 19 | -Many toy-grade RC transmitters hop between frequencies. |
|
| 20 | - |
|
| 21 | -#### DSSS (Direct Sequence Spread Spectrum) |
|
| 22 | - |
|
| 23 | -DSSS (Direct Sequence Spread Spectrum) is a method of transmitting radio signals by spreading the signal over a wider frequency band than the original data rate requires. |
|
| 24 | - |
|
| 25 | -**How DSSS Works:** |
|
| 26 | - |
|
| 27 | -The original data signal is multiplied by a "chipping code", a sequence of faster bits called "chips." |
|
| 28 | - |
|
| 29 | -This process spreads the energy of the signal over a wider bandwidth. |
|
| 30 | - |
|
| 31 | -The receiver, knowing the same chipping code, can reconstruct the original data. |
|
| 32 | - |
|
| 33 | -**Key Features:** |
|
| 34 | - |
|
| 35 | -Spreads signal across wide frequency band (increases resistance to interference and jamming). |
|
| 36 | - |
|
| 37 | -More secure and harder to intercept. |
|
| 38 | - |
|
| 39 | -Improves signal robustness in noisy environments. |
|
| 40 | - |
|
| 41 | -**DSSS in Real-World Use:** |
|
| 42 | - |
|
| 43 | -Used in older Wi-Fi standards (like 802.11b). |
|
| 44 | - |
|
| 45 | -Also found in some military and commercial RF systems. |
|
| 46 | - |
|
| 47 | -Some toy-grade 2.4GHz systems may use simple DSSS-like techniques to reduce cost and avoid interference. |
|
| 48 | - |
|
| 49 | -**Comparison with FHSS:** |
|
| 50 | - |
|
| 51 | -DSSS spreads signal continuously across a wide band. |
|
| 52 | - |
|
| 53 | -FHSS (Frequency Hopping Spread Spectrum) hops between frequencies in a sequence. |
|
| 54 | - |
|
| 55 | -### Compare with WIFI |
|
| 56 | - |
|
| 57 | -| Feature | Wi-Fi (ESP8266) | DSSS RC (Toy/Hobby) | |
|
| 58 | -| ----------- | --------------------------- | ------------------------------ | |
|
| 59 | -| Range | 30–100m typical | 20m (toy) to >1km (hobby) | |
|
| 60 | -| Latency | Medium | Very low | |
|
| 61 | -| Robustness | Lower (affected by routers) | High (designed for RF control) | |
|
| 62 | -| Ease of Use | Easy (phone control) | Needs RC Tx/Rx | |
|
| 63 | - |
|
| 64 | - |
|
| 65 | -## RC-protocols |
|
| 66 | - |
|
| 67 | -- [[edge-tx-dat]] |
|
| 68 | - |
|
| 69 | -- [[CRSF-dat]] |
|
| 70 | - |
|
| 71 | -- [[FrSky-dat]] == [[CC2500-dat]] |
|
| 72 | - |
|
| 73 | -- [[ELRS-dat]] - [[ELRS-RX-dat]] - [[ELRS-TX-dat]] |
|
| 74 | - |
|
| 75 | - |
|
| 76 | -## SDR |
|
| 77 | - |
|
| 78 | -Reverse engineering with a software-defined radio (SDR) (like RTL-SDR or HackRF). |
|
| 79 | - |
|
| 80 | - You could record the RF signal and analyze it to reverse engineer the protocol. |
|
| 81 | - |
|
| 82 | - This is complex and requires RF/digital signal processing (DSP) knowledge. |
|
| 83 | - |
|
| 84 | -Sniffing with NRF24L01+ in promiscuous mode (some hacks exist, but limited). |
|
| 85 | - |
|
| 86 | - Might capture packets from other NRF24L01 devices only. |
|
| 87 | - |
|
| 88 | - Won’t work for general 2.4GHz devices. |
|
| 89 | - |
|
| 90 | -- [[RTL-SDR-dat]] - [[hackrf-dat]] |
|
| 91 | - |
|
| 92 | - |
|
| 93 | -## Step-by-Step: How to Sniff 2.4GHz RC Signal |
|
| 94 | - |
|
| 95 | -1. Gather Tools |
|
| 96 | -2. |
|
| 97 | -RTL-SDR dongle (most only go up to ~1.7 GHz → Not enough for 2.4GHz) |
|
| 98 | - |
|
| 99 | -→ You need: |
|
| 100 | - |
|
| 101 | -- A HackRF One (recommended – covers 1 MHz to 6 GHz) |
|
| 102 | -- OR a CC2500 module (common 2.4GHz transceiver used in RC gear) |
|
| 103 | -- OR an ESP32 with promiscuous mode (works only for Wi-Fi packets) |
|
| 104 | - |
|
| 105 | - |
|
| 106 | - |
|
| 107 | -## ref |
|
| 108 | - |
|
| 109 | -- [[RC-dat]] - [[logic-analyzer-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/RTL-SDR-dat/RTL-SDR-dat.md
| ... | ... | @@ -1,52 +0,0 @@ |
| 1 | - |
|
| 2 | -# RTL-SDR-dat |
|
| 3 | - |
|
| 4 | -1. What You Need |
|
| 5 | - |
|
| 6 | -An RTL-SDR USB dongle (e.g., RTL2832U with R820T2) |
|
| 7 | - |
|
| 8 | -A Windows, Linux, macOS, or Android device |
|
| 9 | - |
|
| 10 | -An antenna (usually included) |
|
| 11 | - |
|
| 12 | -Software (like SDR# or Universal Radio Hacker) |
|
| 13 | - |
|
| 14 | -SDRSharp |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -4. Signal Analysis (for reverse engineering) |
|
| 18 | - |
|
| 19 | -Use Universal Radio Hacker (URH): |
|
| 20 | - |
|
| 21 | -Record raw signals from 2.4GHz toy remote (if within range) |
|
| 22 | - |
|
| 23 | -Analyze bit patterns, timing, modulation |
|
| 24 | - |
|
| 25 | -Use Audacity to visualize audio-like modulated signals. |
|
| 26 | - |
|
| 27 | -5. On Android (Optional) |
|
| 28 | - |
|
| 29 | -Use SDR Touch with an OTG cable and RTL-SDR dongle. |
|
| 30 | - |
|
| 31 | -Works well for listening to FM, air band, etc. |
|
| 32 | - |
|
| 33 | -What You Can Do With RTL-SDR |
|
| 34 | - |
|
| 35 | -- Listen to FM radio, air traffic, police, weather stations |
|
| 36 | -- Track airplanes (ADS-B) |
|
| 37 | -- Capture RF from garage remotes, key fobs, toy RC |
|
| 38 | -- Reverse engineer simple RF protocols |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -## Alternative: Use an SDR to Sniff Raw RF |
|
| 43 | - |
|
| 44 | -To analyze the actual RF signal, you need a Software Defined Radio (SDR) like: |
|
| 45 | - |
|
| 46 | -HackRF, LimeSDR, or USRP |
|
| 47 | - |
|
| 48 | -Record the 2.4GHz spectrum |
|
| 49 | - |
|
| 50 | -Analyze bursts from the remote |
|
| 51 | - |
|
| 52 | -Use Universal Radio Hacker (URH) or GNU Radio to decode the signal |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-signal-dat/SBUS-dat/SBUS-dat.md
| ... | ... | @@ -1,75 +0,0 @@ |
| 1 | - |
|
| 2 | -# SBUS-dat |
|
| 3 | - |
|
| 4 | -- [[futaba-dat]] |
|
| 5 | - |
|
| 6 | -## 📡 What is SBUS? — Simple Explanation |
|
| 7 | - |
|
| 8 | -**SBUS (Serial Bus)** is a digital protocol used in RC systems to send multiple control signals (channels) over a single wire. |
|
| 9 | - |
|
| 10 | ---- |
|
| 11 | - |
|
| 12 | -### 🧩 Key Features |
|
| 13 | - |
|
| 14 | -- 🔢 **Up to 16 channels** in one signal |
|
| 15 | -- 💬 **Digital serial protocol** |
|
| 16 | -- 📦 Sends data in **serial frames** |
|
| 17 | -- ⏱️ **100,000 baud**, **inverted UART** |
|
| 18 | -- ↪️ Invented by **Futaba**, widely used (FrSky, Radiolink, etc.) |
|
| 19 | -- 🧠 Needs **inversion** to be read by normal UART (hardware or software) |
|
| 20 | - |
|
| 21 | ---- |
|
| 22 | - |
|
| 23 | -### 🧱 Simple Analogy |
|
| 24 | - |
|
| 25 | -> SBUS is like 16 people taking turns speaking very fast on one microphone. |
|
| 26 | -> Each frame contains all channel values packed tightly together. |
|
| 27 | - |
|
| 28 | ---- |
|
| 29 | - |
|
| 30 | -### 🧪 Data Frame Structure |
|
| 31 | - |
|
| 32 | -Each SBUS frame is 25 bytes: |
|
| 33 | - |
|
| 34 | -| 1 byte | 22 bytes | 1 byte | 1 byte | |
|
| 35 | -| ------ | ----------- | ------ | ------ | |
|
| 36 | -| Header | 16 channels | Flags | End | |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -- **Header**: 0x0F |
|
| 41 | -- **End**: 0x00 |
|
| 42 | -- Sent **every ~9ms** (111Hz refresh rate) |
|
| 43 | - |
|
| 44 | ---- |
|
| 45 | - |
|
| 46 | -### 🔌 Common Use Cases |
|
| 47 | - |
|
| 48 | -- RC Receiver → Flight Controller (e.g., FrSky RX to Betaflight FC) |
|
| 49 | -- RC Receiver → Microcontroller (Arduino, ESP32) |
|
| 50 | -- RC → Servo controller boards (if SBUS supported) |
|
| 51 | - |
|
| 52 | ---- |
|
| 53 | - |
|
| 54 | -### ⚖️ SBUS vs PWM vs PPM |
|
| 55 | - |
|
| 56 | -| Feature | SBUS | PWM | PPM | |
|
| 57 | -|---------------|-------------|---------------|---------------| |
|
| 58 | -| Channels | 16 | 1 per wire | 8 (typically) | |
|
| 59 | -| Wires needed | 1 | 1 per channel | 1 | |
|
| 60 | -| Type | Digital | Analog pulse | Analog pulse | |
|
| 61 | -| Speed | Very fast | Slow | Medium | |
|
| 62 | -| Latency | Very low | High | Medium | |
|
| 63 | - |
|
| 64 | ---- |
|
| 65 | - |
|
| 66 | -### 🧰 Tip for Developers |
|
| 67 | - |
|
| 68 | -To read SBUS using a microcontroller: |
|
| 69 | -- Use **UART** at **100000 baud**, **8E2**, **inverted signal** |
|
| 70 | -- Some MCUs (like ESP32) support inversion natively |
|
| 71 | -- Otherwise, use an **inverter circuit** or a software decoder |
|
| 72 | - |
|
| 73 | -## ref |
|
| 74 | - |
|
| 75 | -- [[network-dat]] |
app-dat/RC-dat/RC-signal-dat/edge-tx-dat/edge-tx-dat.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | - |
|
| 2 | -# edge-tx-dat |
|
| 3 | - |
|
| 4 | -https://github.com/EdgeTX/edgetx |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/RC-supplier-dat.md
| ... | ... | @@ -1,15 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-supplier-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[drone-maker-dat]] |
|
| 6 | - |
|
| 7 | -- [[caddxFPV-dat]] - [[walksnail-dat]] |
|
| 8 | - |
|
| 9 | -- [[frsky-dat]] - [[radiomaster-dat]] |
|
| 10 | - |
|
| 11 | -- [[runcam-dat]] |
|
| 12 | - |
|
| 13 | -- [[WFLY-dat]] |
|
| 14 | - |
|
| 15 | -- [[betaFPV-dat]] - [[betaFPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-45-14.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-45-14.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-51-22.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-51-22.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-53-48.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-53-48.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-58-58.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-14-58-58.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-15-03-29.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/2025-05-05-15-03-29.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/WFLY-WFT06X_Mannual.pdf
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/WFLY-dat/WFLY-WFT06X_Mannual.pdf and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/WFLY-dat.md
| ... | ... | @@ -1,10 +0,0 @@ |
| 1 | - |
|
| 2 | -# WFLY-dat.md |
|
| 3 | - |
|
| 4 | -- [[WFT06x-dat]] - [[WFR06S-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## ref |
|
| 9 | - |
|
| 10 | -- [[PPM-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/WFR06S-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# WFR06S-dat.md |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## New type of WFLY receiver |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -- A. 跳频速度高,采用扩跳频系统(FHSS&DSSS):不但采用了DSSS技术而且在DSSS技术基础上可以进行大约每4毫秒(ms)一次的跳频。 |
|
| 12 | -- B. 接收机输出给舵机的PWM信号稳定度高足以匹配精密数码舱机:可用示波器观察到纳秒级(nS)的细节,而其他一些牌子的接收机输出的PWM信号用示波器在us级别观察就不稳定了 |
|
| 13 | -- C. 44096数据不仅分辨率提升,反应速度也大幅提升(配合9S或8S控) |
|
| 14 | -- D. 接收机开机的时候自动识别PPM,PCMS,4096PCMS三种传输模式日采用可跳频的DSSS,可靠性高。数十台设备同时工作而互无影响。 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/WFLY-dat/WFT06X-dat.md
| ... | ... | @@ -1,129 +0,0 @@ |
| 1 | -# WFLY-dat |
|
| 2 | - |
|
| 3 | -- [[PPM-dat]] |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | - |
|
| 9 | -- the manual == [[WFLY-WFT06X_Mannual.pdf]] |
|
| 10 | -- [fccd.io manual link](https://fccid.io/TZVWFT06XWFT08S/User-Manual/User-Manual-1-1119279.pdf) |
|
| 11 | - |
|
| 12 | -## Info |
|
| 13 | - |
|
| 14 | -- WFT06X-A: 6 channels airplane,mixfunction,D/R,HDE helicopter. |
|
| 15 | -- WFT06X-B: 4 channesl airplane, mix function,D/R, HDE helicopter. |
|
| 16 | -- WFT06X-C: 6 channels CCPMhelicopter,airplane. |
|
| 17 | - |
|
| 18 | - |
|
| 19 | -## Models |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -- [[airplane-dat]] |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## toggle switches |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -| Switch | State | | Up | Down | |
|
| 32 | -| :---------- | :--------- | --------------------------- | :--------------------------------- | :--------------------------------- | |
|
| 33 | -| A | Helicopter | Ch3 to Ch4 mixture. (note1) | Enables | Disables | |
|
| 34 | -| B | N/A | | Selects Helicopter state. | Selects Airplane state. | |
|
| 35 | -| C (1,2,4,6) | Airplane | | Dual Rate set to ±125%. | Dual Rate set to ±100%. | |
|
| 36 | -| D | Airplane | | Enables mixture functions (E, F). | Disables mixture functions (E, F). | |
|
| 37 | -| E | Airplane | | Enables Ch2 & Ch4 mixture (note3) | Enables Ch1 & Ch6 mixture (note3) | |
|
| 38 | -| F | Airplane | | Enables Ch1 & Ch2 mixture (note2). | N/A | |
|
| 39 | -| G (Ch1) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 40 | -| H (Ch2) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 41 | -| I (Ch3) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 42 | -| J (Ch4) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 43 | -| K (Ch6) | N/A | | Reverse Mode. | Normal Mode. | |
|
| 44 | - |
|
| 45 | -note1 == Ch3 to Ch6 mix always active |
|
| 46 | - |
|
| 47 | -note2 == (Elevon/Delta Wing) (Requires D Up, overrides D) |
|
| 48 | - |
|
| 49 | -note3 == (V-Tail) (Requires D Up). |
|
| 50 | - |
|
| 51 | -Switch Function Instruction |
|
| 52 | - |
|
| 53 | -- (A)At helicopterstate,pulling A down to put offmixturefunction of channel3to channel4,when pulling it up it willcomebackthefunction.Butthemixturefunctiontochannel 6isstable,whichisirrelevant with this switch. |
|
| 54 | -- (B) Pulling B down is airplane state and pulling it up is helicopter state. |
|
| 55 | -- (C) At airplane state, pulling 1, 2, 4, 6 down the dual rate is ±100%; when pulling them up, the dual rate will be ±125%. |
|
| 56 | -- (D) At airplane state, pulling D down make switches have no mixture function, but pulling it up will cause them have thefunction. |
|
| 57 | -- (E) At airplane state, when D is pulled up, pulling E down cause channel 1 & 6 mixture function (Flaperon); pulling E up will cause channel 2 & 4 mixture function(V-TAIL). |
|
| 58 | -- (F) At airplane state,when D is pulled up,pulling F up it works as the mixture function of channel 1&2(TrianglewingELEVON),and Dfunctiondoesn'tworkat that moment. |
|
| 59 | -- (G) Channel 1 is reverse switch for aileron.Pulling G down is to make it in normal mode,and pulling it up is to make it act in reverse. |
|
| 60 | -- (H) Channel 2 is reverse switch for elevator. Pulling H down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 61 | -- (I) Channel 3 is reverse switch for power. Pulling I down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 62 | -- (J) Channel 4 is reverse switch for rudder. Pulling J down is to make it in normal mode, and pulling it up is to makeitactinreverse. |
|
| 63 | -- (K) Channel 6 is reverse switch for screw-pitch/ flaperon.Pulling K down is to make it in normal mode, and pulling it up is to make it act in reverse. |
|
| 64 | - |
|
| 65 | - |
|
| 66 | - |
|
| 67 | -## Binding Instructions: |
|
| 68 | - |
|
| 69 | -1. **Receiver:** Press and hold the "SET" button until the orange "STATUS" light flashes slowly. The receiver is now waiting for the transmitter's binding command. |
|
| 70 | -2. **Transmitter:** Press and hold the "SET" button while powering on the transmitter. Press the SET button once more to enter the binding function (the orange "STATUS" light will be solid). Then, press and hold the SET button until the orange light flashes slowly, entering the binding state. |
|
| 71 | -3. **Binding Successful:** The transmitter's green light will turn solid, and the receiver's indicator light will turn off. |
|
| 72 | - |
|
| 73 | -## Failsafe Setup: |
|
| 74 | - |
|
| 75 | -1. Power on the receiver. |
|
| 76 | -2. Press and hold the "SET" button while powering on the transmitter. Then, press and hold the SET button for about 2 seconds to enter the failsafe setup state (the green light will flash). |
|
| 77 | -3. The receiver's green light will flash quickly. The data currently being output by the transmitter will be set as the failsafe output data for the receiver. |
|
| 78 | -4. **Failsafe Active State:** The receiver's red light will be solid. |
|
| 79 | - |
|
| 80 | -## Technical Parameters: |
|
| 81 | - |
|
| 82 | -* **Application:** Fixed-wing aircraft, HDE helicopters, fixed-pitch helicopters, cars, boats |
|
| 83 | -* **Frequency Band:** 2.400 - 2.483 GHz |
|
| 84 | -* **Transmit Power:** ≤ 100mW |
|
| 85 | -* **Operating Current:** ≤ 160mA |
|
| 86 | -* **Encoding:** PPM |
|
| 87 | -* **RF Module:** Built-in |
|
| 88 | -* **Power Supply:** 9.6 - 12V |
|
| 89 | -* **Dual Rate/Expo Range:** 100% ~ 125% |
|
| 90 | -* **Mixing:** |
|
| 91 | - * Flaperon (Channel 6 and Channel 1 mix) |
|
| 92 | - * V-Tail (Channel 4 and Channel 2 mix) |
|
| 93 | - * Delta Wing (Elevon) (Channel 1 and Channel 2 mix) |
|
| 94 | - * HDE Helicopter (Channel 3 to Channel 4 & 6 mix) |
|
| 95 | - * HDE Helicopter (Channel 3 to Channel 6 mix) |
|
| 96 | -* **Reverse Switches:** |
|
| 97 | - * Channel 1: Aileron 副翼 |
|
| 98 | - * Channel 2: Elevator 升降舵 |
|
| 99 | - * Channel 3: Throttle 油门 |
|
| 100 | - * Channel 4: Rudder 方向舵 |
|
| 101 | - * Channel 6: Flap/Pitch 襟翼/螺距 |
|
| 102 | -* **Low Voltage Alarm (Visual & Audible):** |
|
| 103 | - * Battery Voltage < 8.8V: Power indicator flashes once per second with beeping. |
|
| 104 | - * Battery Voltage < 8.3V: Power indicator flashes twice per second (0.5s interval) with beeping. |
|
| 105 | -* **Charging Jack:** Yes |
|
| 106 | -* **Simulator Jack:** Yes |
|
| 107 | - |
|
| 108 | - |
|
| 109 | -## Beeping |
|
| 110 | - |
|
| 111 | -According to the document, the device will provide a sound-and-light notification when the battery voltage is low. |
|
| 112 | - |
|
| 113 | -**When the battery voltage is below 8.8V**, the power indicator light will glitter and buzz at a rate of 1S/1S. |
|
| 114 | - |
|
| 115 | -**When the battery voltage drops below 8.3V**, the power indicator light will glitter and buzz at a rate of 0.5S/1S. |
|
| 116 | - |
|
| 117 | -Additionally, the WFT06X-C model transmitter will alarm if it is turned on in an Idle-up state with no output. |
|
| 118 | - |
|
| 119 | - |
|
| 120 | - |
|
| 121 | - |
|
| 122 | - |
|
| 123 | -## demo video |
|
| 124 | - |
|
| 125 | -- [how to binding WFLY in chinese ](https://www.bilibili.com/video/BV1Mh4y1c7FS/?vd_source=74a6b8b9bfcd41c5946a742815bf71ae) |
|
| 126 | - |
|
| 127 | -## ref |
|
| 128 | - |
|
| 129 | -- [[WFLY]] - [[lightradio]] - [[radiomaster]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-29-58.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-29-58.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-30-18.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-12-12-30-18.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-17-13-25.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-17-13-25.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-15.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-15.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-45.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-16-18-55-45.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-02-28.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-02-28.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-54-45.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/2025-09-18-21-54-45.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/caddxFPV-dat/caddxFPV-dat.md
| ... | ... | @@ -1,142 +0,0 @@ |
| 1 | - |
|
| 2 | -# caddxFPV-dat |
|
| 3 | - |
|
| 4 | -- [[walksnail-dat]] is a brand of caddxFPV |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## digial camera |
|
| 8 | - |
|
| 9 | -Several companies make digital FPV systems that can compete with or complement DJI O4. Here’s a detailed overview: |
|
| 10 | - |
|
| 11 | ---- |
|
| 12 | - |
|
| 13 | -### 1. **Caddx FPV Systems** |
|
| 14 | - |
|
| 15 | -| Model | Features | Notes | |
|
| 16 | -|-------|----------|-------| |
|
| 17 | -| **Caddx Nebula Pro / Vista** | HD 1080p or 4K video, low-latency digital feed, small form factor | Requires compatible goggles (Fat Shark or Caddx) | |
|
| 18 | -| **Caddx Nebula Nano** | Ultra-lightweight for micro quads | Limited range (~500–800 m) | |
|
| 19 | -| **Caddx Vista HD** | HDMI input, supports OSD | Compatible with multiple cameras, low latency (~30 ms) | |
|
| 20 | - |
|
| 21 | ---- |
|
| 22 | - |
|
| 23 | -### 2. **Walksnail Avatar Series** |
|
| 24 | - |
|
| 25 | -| Model | Features | Notes | |
|
| 26 | -|-------|----------|-------| |
|
| 27 | -| **Walksnail Avatar Kit / Module** | HD digital video, Wi-Fi phone viewing, low-latency (~100–200 ms) | Works with phone or tablet directly; good for casual FPV | |
|
| 28 | -| **Walksnail Avatar Nano** | Micro lightweight module | For 2–3” frames, similar features | |
|
| 29 | - |
|
| 30 | -### moonlight kit |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -### Walksnail Avatar HD |
|
| 37 | - |
|
| 38 | -Camera |
|
| 39 | - |
|
| 40 | -- **Model:** Avatar HD V2 Camera |
|
| 41 | -- **Image Sensor:** 1/3.2-inch 4MP 4:3 sensor |
|
| 42 | -- **Resolution:** |
|
| 43 | - - 1080P/60fps |
|
| 44 | - - 720P/100fps |
|
| 45 | - - 720P/60fps |
|
| 46 | - - Compatible with 1080P/100fps and 1080P/120fps |
|
| 47 | -- **Aspect Ratio:** 16:9; native 4:3 |
|
| 48 | -- **Lens:** 2.1mm |
|
| 49 | -- **Field of View:** 160° |
|
| 50 | -- **Aperture:** F2.0 |
|
| 51 | -- **Shutter:** Rolling shutter |
|
| 52 | -- **Minimum Illumination:** 0.001 Lux |
|
| 53 | -- **Weight:** 7.2g |
|
| 54 | -- **Dimensions:** 19 × 19 × 22 mm |
|
| 55 | -- **Coaxial Cable Length:** 140mm |
|
| 56 | - |
|
| 57 | - |
|
| 58 | -VTX |
|
| 59 | - |
|
| 60 | -- **Frequency:** 5.725–5.850 GHz |
|
| 61 | -- **Transmitter Power (EIRP):** |
|
| 62 | - - FCC: <30 dBm |
|
| 63 | - - CE: <14 dBm |
|
| 64 | - - SRRC: <20 dBm |
|
| 65 | - - MIC: <25 dBm |
|
| 66 | -- **I/O Ports:** |
|
| 67 | - - JST1.0 × 4 (Power Input) |
|
| 68 | - - JST0.8 × 6 (USB) |
|
| 69 | -- **Mounting Holes:** 25.5 × 25.5 mm; 20 × 20 mm |
|
| 70 | -- **Dimensions:** 33.5 × 33.5 × 10.5 mm |
|
| 71 | -- **Storage:** 32 GB |
|
| 72 | -- **Recording:** 1080P / 720P |
|
| 73 | -- **Weight:** 15.4 g |
|
| 74 | -- **Operating Temperature:** –20°C to 40°C |
|
| 75 | -- **Channels:** 8 |
|
| 76 | -- **Wide Voltage Input:** 6V–25.2V |
|
| 77 | -- **Supported FC Systems:** Betaflight, Inav, Fettec, ArduPilot, Kiss |
|
| 78 | -- **OSD:** Canvas mode |
|
| 79 | -- **Latency:** Average 22 ms (canvas mode) |
|
| 80 | -- **Antenna:** 2 (IPEX) |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | - |
|
| 85 | - |
|
| 86 | -## analog camera |
|
| 87 | - |
|
| 88 | - |
|
| 89 | -- caddx nano |
|
| 90 | -- Baby Ratel 2 |
|
| 91 | - |
|
| 92 | - |
|
| 93 | -### Caddx ANT 1200TVL |
|
| 94 | - |
|
| 95 | -- [[mobula8-dat]] == Caddx ANT 1200TVL == 4:3 |
|
| 96 | - |
|
| 97 | - |
|
| 98 | - |
|
| 99 | - |
|
| 100 | - |
|
| 101 | -### ratel 2 |
|
| 102 | - |
|
| 103 | -Caddx蜗牛平头哥二代穿越机摄像头fpv摄像机夜视镜头无人机ratel2 |
|
| 104 | - |
|
| 105 | - |
|
| 106 | -### nano CADDX 蜗牛 Nano |
|
| 107 | - |
|
| 108 | - |
|
| 109 | - |
|
| 110 | - |
|
| 111 | -### ratel pro |
|
| 112 | - |
|
| 113 | - |
|
| 114 | - |
|
| 115 | - |
|
| 116 | - |
|
| 117 | - |
|
| 118 | -lens diameter 15mm |
|
| 119 | - |
|
| 120 | -body dimesnion ~20mm |
|
| 121 | - |
|
| 122 | - |
|
| 123 | - |
|
| 124 | - |
|
| 125 | - |
|
| 126 | - |
|
| 127 | -## goggles |
|
| 128 | - |
|
| 129 | -- goggles HD |
|
| 130 | - |
|
| 131 | - |
|
| 132 | -## gimbal |
|
| 133 | - |
|
| 134 | -- [[RC-gimbal-dat]] |
|
| 135 | - |
|
| 136 | - |
|
| 137 | - |
|
| 138 | - |
|
| 139 | - |
|
| 140 | -## ref |
|
| 141 | - |
|
| 142 | -- [[caddxFPV]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/2025-09-12-13-24-29.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/2025-09-12-13-24-29.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Aquila16-dat/Aquila16-dat.md
| ... | ... | @@ -1,18 +0,0 @@ |
| 1 | - |
|
| 2 | -# Aquila16-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -BT2.0 (BetaFPV’s low-resistance connector, better than PH2.0 for higher current draw) |
|
| 7 | - |
|
| 8 | -- [[CONN-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## re-pair ELRS |
|
| 12 | - |
|
| 13 | -- wait one minute after power on, no need radio, drone led color turn to quick GREEN flash, find expressLRS RX as a wifi spot |
|
| 14 | - |
|
| 15 | - |
|
| 16 | -## ref |
|
| 17 | - |
|
| 18 | -- [[betaFPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/Meteor65-Pro-dat/Meteor65-Pro-dat.md
| ... | ... | @@ -1,19 +0,0 @@ |
| 1 | - |
|
| 2 | -# Meteor65-Pro-dat |
|
| 3 | - |
|
| 4 | -Yes — the BetaFPV Meteor65 Pro supports Betaflight. |
|
| 5 | - |
|
| 6 | -It comes with BetaFPV’s F4 1S AIO flight controller, which is fully compatible with Betaflight. |
|
| 7 | - |
|
| 8 | -Out of the box, it is usually pre-flashed with Betaflight firmware. |
|
| 9 | - |
|
| 10 | -You can connect it to Betaflight Configurator via USB-C to adjust PIDs, rates, filters, receiver setup, OSD, etc. |
|
| 11 | - |
|
| 12 | -Many people use Betaflight for Meteor65 Pro, but it also supports Bluejay ESC firmware (for 48/96 kHz PWM and bidirectional DShot). |
|
| 13 | - |
|
| 14 | -✅ So yes — you can set it up, tune, and fly it in Betaflight without issues. |
|
| 15 | - |
|
| 16 | - |
|
| 17 | -## ref |
|
| 18 | - |
|
| 19 | -- [[betaFPV-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/betaFPV-dat.md
| ... | ... | @@ -1,50 +0,0 @@ |
| 1 | - |
|
| 2 | -# betaFPV-dat |
|
| 3 | - |
|
| 4 | -- [[FPV-dat]] |
|
| 5 | - |
|
| 6 | -- [[lightradio-dat]] |
|
| 7 | - |
|
| 8 | -- [[aquila16-dat]] |
|
| 9 | - |
|
| 10 | -- [[meteor65-pro-dat]] |
|
| 11 | - |
|
| 12 | -- [[meteor75-dat]] |
|
| 13 | - |
|
| 14 | -- [[meteor75-pro-dat]] - ELRS - fully supports Betaflight == 629 |
|
| 15 | - |
|
| 16 | -- [[meteor85-dat]] ?? |
|
| 17 | - |
|
| 18 | -Meteor系列 |
|
| 19 | -适合新手入门&基础训练 |
|
| 20 | -飞控PCB板厚度1.0mm |
|
| 21 | -坚固耐用,抗摔性强 |
|
| 22 | -无需焊接、方便维护 |
|
| 23 | -新手入门基础训练必选 |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -- AIR65 |
|
| 27 | - |
|
| 28 | -- AIR75 |
|
| 29 | - |
|
| 30 | - |
|
| 31 | -Air系列 |
|
| 32 | -有经验玩家&职业竞速飞手 |
|
| 33 | -飞控PCB板厚度0.8mm |
|
| 34 | -超轻量化,性能满格 |
|
| 35 | -需要较高焊接技术 |
|
| 36 | -飞手进阶竞速训练必选 |
|
| 37 | - |
|
| 38 | - |
|
| 39 | -- pavo femto |
|
| 40 | - |
|
| 41 | -- pavo20 pro |
|
| 42 | - |
|
| 43 | -- betaFPV goggles |
|
| 44 | - |
|
| 45 | -- cetus pro - Frsky ? - [[betaflight-dat]] not support ? |
|
| 46 | - |
|
| 47 | -## ref |
|
| 48 | - |
|
| 49 | -- [[betaFPV]] |
|
| 50 | - |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-14-49-45.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-14-49-45.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-15-34-48.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/2025-05-04-15-34-48.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/lightradio-dat/lightradio-dat.md
| ... | ... | @@ -1,94 +0,0 @@ |
| 1 | - |
|
| 2 | -# lightradio-dat |
|
| 3 | - |
|
| 4 | -## Lightradio 3 Pro |
|
| 5 | - |
|
| 6 | -- professional version |
|
| 7 | -- build-in OLED display |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -Choice of two protocols: |
|
| 12 | - |
|
| 13 | -* **Built-in ELRS 2.4G:** Maximum output power up to 250mW, built-in omnidirectional antenna, enables long-range flight. |
|
| 14 | -* **Built-in CC2500 version:** Supports Frsky D / Frsky X / SFHSS and other protocols, maximum 100mW transmission power. |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## lightradio 3 |
|
| 19 | - |
|
| 20 | -- does NOT support original [[ELRS-dat]] system |
|
| 21 | - |
|
| 22 | -### info |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -### Flight Controller |
|
| 28 | - |
|
| 29 | -The application supports flight controller that can run LiteSilver firmeware. |
|
| 30 | - |
|
| 31 | -- Lite Brushed FC V3 |
|
| 32 | -- Cetus FPV Kit |
|
| 33 | -- Cetus Pro FPV Kit |
|
| 34 | -- Cetus X FPV KIT |
|
| 35 | -- Cetus Lite FPV Kit |
|
| 36 | -- Aquila 16 FPV kit |
|
| 37 | - |
|
| 38 | -Configurator for FC board is active.Follow the steps to enter FC Setup page. |
|
| 39 | - |
|
| 40 | -1. Connect the FC board to the computer via USB data cable. |
|
| 41 | -2. Select the virtual COM port and click the *Connect" button on the top right. |
|
| 42 | - |
|
| 43 | -Note: If enter FC Setup page fail, please update the FC firmware first. |
|
| 44 | - |
|
| 45 | -Click the "Firmware Flasher" tab on the left for firmware update. |
|
| 46 | - |
|
| 47 | -### Radio Transmitter |
|
| 48 | - |
|
| 49 | -Support the radio controller come with BETAFPV LiteRadio Firmware 2.0 Version. |
|
| 50 | - |
|
| 51 | -- LiteRadio 1 |
|
| 52 | -- LiteRadio 2 SEV2 |
|
| 53 | -- LiteRadio 3 |
|
| 54 | -- LiteRadio 4 SE |
|
| 55 | - |
|
| 56 | -The LiteRadio 2 SE Frsky or Bayang version is not supported. LiteRadio 2 and LiteRadio 3 Pro is powered by OpenTX system, please use the OpenTX Companion. |
|
| 57 | - |
|
| 58 | -Click the yellow button below to active configurator for radio controller. |
|
| 59 | - |
|
| 60 | -### Remote control parameters |
|
| 61 | - |
|
| 62 | -- Model == LiteRadio3 remote control |
|
| 63 | -- Remote control distance == 500-600 meters |
|
| 64 | -- Frequency range == 2.4G (2403MHz-2447MHz) |
|
| 65 | -- Support protocol == ELRS 2.4G/Frsky (CC2500) |
|
| 66 | -- Channel == 8 |
|
| 67 | -- Support protocol == ELRS 2.4G |
|
| 68 | -- Power == 25mW/50mW/100mW |
|
| 69 | -- Adaptive drone type supports |
|
| 70 | - - Multi-rotor/support USB firmware update |
|
| 71 | - - BETAFPV Configurator connection |
|
| 72 | - - Custom LiteRadio system joystick calibration |
|
| 73 | -- LED light == red light on/red warning/blue normal |
|
| 74 | -- Battery built-in == 2000mAh1S battery |
|
| 75 | -- Charging connector == Type-C |
|
| 76 | - |
|
| 77 | -## BetaFPV Configurator |
|
| 78 | - |
|
| 79 | -[github release ](https://github.com/BETAFPV/BETAFPV_Configurator/releases) |
|
| 80 | - |
|
| 81 | -[BETAFPV Configurator User Manual](https://support.betafpv.com/hc/en-us/articles/40712112687769-BETAFPV-Configurator-User-Manual) |
|
| 82 | - |
|
| 83 | -[github BETAFPV_Configurator](https://github.com/BETAFPV/BETAFPV_Configurator) |
|
| 84 | - |
|
| 85 | - |
|
| 86 | -### Connection |
|
| 87 | - |
|
| 88 | -- via serial port (USB) |
|
| 89 | - |
|
| 90 | - |
|
| 91 | - |
|
| 92 | -## ref |
|
| 93 | - |
|
| 94 | -- [[betaFPV]] - [[FPV]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/betaFPV-dat/meteor85-dat/meteor85-dat.md
| ... | ... | @@ -1,4 +0,0 @@ |
| 1 | - |
|
| 2 | -# meteor85-dat |
|
| 3 | - |
|
| 4 | -- [[propeller-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/drone-maker-dat.md
| ... | ... | @@ -1,51 +0,0 @@ |
| 1 | - |
|
| 2 | -# drone-maker-dat |
|
| 3 | - |
|
| 4 | -- [[betaFPV-dat]] - [[Aquila16-dat]] |
|
| 5 | - |
|
| 6 | -- [[happymodel-dat]] - [[mobula8-dat]] |
|
| 7 | - |
|
| 8 | -- [[speedybee-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -- [[CADDXFPV-dat]] - [[GoFlim-20-dat]] |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## FPV by size |
|
| 19 | - |
|
| 20 | -[[Meteor75-dat]] == [[mobula7-dat]] |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -| model | from | wheelbase | prop size | description | price | carry weight | |
|
| 24 | -| -------------------- | --------------- | --------- | --------- | ----------- | ----- | ------------ | |
|
| 25 | -| [[Meteor75-dat]] | [[betaFPV-dat]] | 75 | 1.6-inch | micro-whoop | | | |
|
| 26 | -| [[Meteor75-dat]] pro | [[betaFPV-dat]] | | 2-inch | micro-whoop | | | |
|
| 27 | -| [[Aquila16-dat]] | [[betaFPV-dat]] | | | | | | |
|
| 28 | -| [[Pavo20-dat]] | | 90 | 2-inch | micro-whoop | | ~35–45 g | |
|
| 29 | -| [[mobula8-dat]] | | 85 | 2.3-inch | micro-whoop | | ~35–45 g | |
|
| 30 | -| [[BEE25-dat]] | | 120 | 2.5-inch | cinewhoop | | ~60–120 g | |
|
| 31 | -| [[Pavo25-dat]] | | 108 | 2.5-inch | cinewhoop | | ~60–120 g | |
|
| 32 | - |
|
| 33 | -- Aquila16 |
|
| 34 | - |
|
| 35 | -No, the BetaFPV Aquila16 does not support Betaflight tuning. It uses a proprietary firmware and configuration tool developed by BetaFPV |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | -Compatibility with Other Hardware |
|
| 40 | - |
|
| 41 | -The VR03 FPV goggles are compatible with any analog 5.8GHz VTX. |
|
| 42 | - |
|
| 43 | -The LiteRaido 2 SE in the Aquila16 kit works with any drone equipped with 2.4GHz ExpressLRS (ELRS) receivers (V3 firmware). |
|
| 44 | - |
|
| 45 | -You can control the Aquila16 drone with any radio equipped with a 2.4GHz ELRS module (V3 firmware). For binding instructions, see this tutorial: https://oscarliang.com/bind-expresslrs-receivers/ |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | -## ref |
|
| 50 | - |
|
| 51 | -- [[RC-maker]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/happymodel-dat.md
| ... | ... | @@ -1,50 +0,0 @@ |
| 1 | - |
|
| 2 | -# happymodel-dat |
|
| 3 | - |
|
| 4 | -- [[mobula8-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -# Comparison: Mobula6 vs Mobula7 vs Mobula8 |
|
| 9 | - |
|
| 10 | -| Feature | Mobula6 | Mobula7 | Mobula8 | |
|
| 11 | -| ---------------------- | ---------------------- | ------------------------------ | ----------------------------------------- | |
|
| 12 | -| **Frame Size** | 65 mm | 75 mm | 85 mm | |
|
| 13 | -| **Motor-to-Motor** | 65 mm | 75 mm | 85 mm | |
|
| 14 | -| **Motor Size** | 0802 | 0802 / 1102 (HD) | 1102 | |
|
| 15 | -| **Propeller Size** | 31 mm | 40 mm | 45 mm | |
|
| 16 | -| **Weight (dry)** | ~20 g | ~26 g | ~36 g | |
|
| 17 | -| **Weight (with batt)** | ~25 g | ~33–45 g | ~45–55 g | |
|
| 18 | -| **Battery** | 1S 300–450 mAh | 1S 450 mAh / 2S 300–450 mAh | 2S 450–650 mAh | |
|
| 19 | -| **Flight Style** | Indoor (tight) | Indoor & light outdoor | Indoor & outdoor | |
|
| 20 | -| **Power** | Mild, stable | Medium, flexible | Strong, very stable | |
|
| 21 | -| **Best For** | Beginners, tiny indoor | All-round indoor, some outdoor | Stable indoor/outdoor, freestyle practice | |
|
| 22 | - |
|
| 23 | -✅ **Summary:** |
|
| 24 | -- **Mobula6** = Best for **tiny indoor spaces**. |
|
| 25 | -- **Mobula7** = A **balanced whoop** for both indoor and light outdoor. |
|
| 26 | -- **Mobula8** = Bigger, more powerful, can handle **outdoor freestyle** while still smooth indoors. |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## Cinewhoop Potential: Mobula6 vs Mobula7 vs Mobula8 |
|
| 31 | - |
|
| 32 | -| Model | Cinewhoop Suitability | Why / Why Not | |
|
| 33 | -| ----------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
|
| 34 | -| **Mobula6** | ❌ Not suitable | Too small (65 mm, 1S, 31 mm props). Cannot carry HD camera (even Naked GoPro). Only good for basic indoor FPV. | |
|
| 35 | -| **Mobula7** | ⚠️ Limited | 75 mm frame can carry **lightweight HD cams** (e.g., Insta360 GO, Caddx Turtle, RunCam Split Lite). Still underpowered for heavy payloads. Works as a **micro cinewhoop** in small spaces. | |
|
| 36 | -| **Mobula8** | ✅ Best option | 85 mm frame, 1102 motors, 2S battery. Can carry **Naked GoPro, Insta360 GO, or Caddx Peanut**. Enough thrust for smooth indoor and outdoor cinematic shots. | |
|
| 37 | - |
|
| 38 | ---- |
|
| 39 | - |
|
| 40 | -### ✅ Recommendation |
|
| 41 | -- **Mobula6** → NOT a cinewhoop. Only for training and fun indoor flying. |
|
| 42 | -- **Mobula7** → Can be a **beginner micro cinewhoop** with very light HD cam. |
|
| 43 | -- **Mobula8** → **Best cinewhoop choice** among them. Handles small action cams and provides stable footage. |
|
| 44 | - |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -## ref |
|
| 49 | - |
|
| 50 | -- [[happymodel]] - [[drone-maker]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula6-dat/mobula6-dat.md
| ... | ... | @@ -1,18 +0,0 @@ |
| 1 | - |
|
| 2 | -# mobula6-dat |
|
| 3 | - |
|
| 4 | -- [[propeller-dat]] |
|
| 5 | - |
|
| 6 | -- [[radiomaster-dat]] - [[frsky-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -- **Frame size (wheelbase)**: 65 mm |
|
| 12 | -- **Diagonal motor-to-motor distance**: 65 mm |
|
| 13 | -- **Motor size**: 0802 (for most versions) |
|
| 14 | -- **Propeller size**: 31 mm (4-blade) |
|
| 15 | -- **Weight**: ~20 g (without battery), ~25 g (with 1S battery) |
|
| 16 | -- **Typical battery**: 1S 300–450 mAh LiPo |
|
| 17 | - |
|
| 18 | -✅ Mobula6 is an **ultralight 65mm whoop**, perfect for **indoor flying** and tight spaces. |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-13-10-40.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-13-10-40.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-18.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-18.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-34.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-34.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-50.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-02-18-32-50.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-32.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-32.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-51.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-11-51.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-12-21.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-12-21.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-05.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-05.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-17.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-03-12-13-17.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-11-21-33-48.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-11-21-33-48.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-12-12-31-55.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/2025-09-12-12-31-55.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-dat.md
| ... | ... | @@ -1,508 +0,0 @@ |
| 1 | - |
|
| 2 | -# mobula8-dat |
|
| 3 | - |
|
| 4 | -- [[FPV-dat]] |
|
| 5 | - |
|
| 6 | -- [[battery-pack-dat]] - [[flight-controller-dat]] - [[PID-dat]] |
|
| 7 | - |
|
| 8 | -- [[betaflight-presents-dat]] |
|
| 9 | - |
|
| 10 | -- [[FPV-accesories-dat]] |
|
| 11 | - |
|
| 12 | -- [[EX1103-dat]] - [[motor-dat]] - [[Thrust-dat]] - [[motor-FPV-dat]] |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## pre-note |
|
| 16 | - |
|
| 17 | -REMOVE PROPS before first flight !! |
|
| 18 | - |
|
| 19 | -install propeller - [[propeller-dat]] - [[motor-dat]] |
|
| 20 | - |
|
| 21 | -## dimension of the frame |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -- PCB dimension == 25.4 |
|
| 25 | -- motor bottom hole == 1.8 |
|
| 26 | - |
|
| 27 | - |
|
| 28 | - |
|
| 29 | -## tuning |
|
| 30 | - |
|
| 31 | -- [total default stock tuning, running 1S? ](https://www.reddit.com/r/TinyWhoop/comments/146r0v6/happymodel_mobula_8_first_test_flights/) |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## hack |
|
| 35 | - |
|
| 36 | -battery holder to strap |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## how to use |
|
| 41 | - |
|
| 42 | -[[RC-binding-mode-dat]] |
|
| 43 | - |
|
| 44 | -config by [[USB-dat]] USB port |
|
| 45 | - |
|
| 46 | - |
|
| 47 | - |
|
| 48 | - |
|
| 49 | -- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 50 | - |
|
| 51 | -[user manual](https://www.happymodel.cn/wp-content/uploads/2023/04/Manual-for-Mobula8-SPI-ELRS-1-2S-85mm-Micro-FPV-whoop-drone.pdf) |
|
| 52 | - |
|
| 53 | -- [[radiomaster-dat]] how to bind with it |
|
| 54 | - |
|
| 55 | - |
|
| 56 | -## betaflight correct setup to match [[radiomaster-dat]] |
|
| 57 | - |
|
| 58 | -- [[betaflight-configurator-dat/betaflight-dat]] |
|
| 59 | - |
|
| 60 | -### configuration |
|
| 61 | - |
|
| 62 | - |
|
| 63 | - |
|
| 64 | - |
|
| 65 | - |
|
| 66 | - |
|
| 67 | -### receiver |
|
| 68 | - |
|
| 69 | - |
|
| 70 | - |
|
| 71 | -- AETR1234 |
|
| 72 | - |
|
| 73 | -- [[RC-controller-dat]] |
|
| 74 | - |
|
| 75 | -### modes setup |
|
| 76 | - |
|
| 77 | - |
|
| 78 | - |
|
| 79 | -### motors setup |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | - |
|
| 85 | -## info |
|
| 86 | - |
|
| 87 | -Mobula8 |
|
| 88 | -- 1-2S |
|
| 89 | -- 85mm无刷穿越机 |
|
| 90 | -- X12飞控 - [[X12-dat]] - [[flight-controller-dat]] |
|
| 91 | -- 400mw图传 |
|
| 92 | -- 1103电机 |
|
| 93 | -- ELRS |
|
| 94 | - |
|
| 95 | - |
|
| 96 | - |
|
| 97 | -- 400mw VTX, 1103 Motor, ELRS |
|
| 98 | -- **Packing List & Product Parameters:** |
|
| 99 | - - Mobula8 Frame * 1, Brand Name: Happymodel |
|
| 100 | - - EX1103 KV11000 Brushless Motor, Item Name: Mobula8 1-2S 85mm - [[EX1103-dat]] |
|
| 101 | - - Gemfan 2023 Three-blade Propellers (4CW+4CCW), Wheelbase: 85mm |
|
| 102 | - - Caddx ANT 1200TVL Camera, Size: 120mm*120mm*50mm - [[VTX-dat]] |
|
| 103 | - - Onboard 5.8G OpenVTX 0mw~400mw VTX * 1, Weight: 43g |
|
| 104 | - - Canopy for 14mmx14mm camera * 1 |
|
| 105 | - - Screwdriver * 1 |
|
| 106 | -- **Packing List:** |
|
| 107 | - - Mobula8 Frame * 1 |
|
| 108 | - - EX1103 KV11000 Brushless Motor |
|
| 109 | - - Gemfan 2023 Three-blade Propellers (4CW+4CCW) |
|
| 110 | - |
|
| 111 | - |
|
| 112 | - |
|
| 113 | -- **Frame wheelbase:** 85 mm (motor-to-motor diagonal) |
|
| 114 | -- **Typical prop size:** 2 inches |
|
| 115 | -- **Reason:** |
|
| 116 | - - 65 mm whoops → ~31 mm props (≈1.2 inch) |
|
| 117 | - - 75 mm whoops → ~40 mm props (≈1.6 inch) |
|
| 118 | - - 85 mm whoops → ~48 mm props (≈2 inch) |
|
| 119 | - |
|
| 120 | -## battery |
|
| 121 | - |
|
| 122 | -95C 2S1P 550mAH |
|
| 123 | - |
|
| 124 | -2S 厚17× 宽13× 长80mm 34克 |
|
| 125 | - |
|
| 126 | -XT30 |
|
| 127 | - |
|
| 128 | -- ✅ 2S (7.4V LiPo / 8.7V LiHV) → Official recommended setup |
|
| 129 | -- ⚠️ 3S (11.1V LiPo / 13.05V LiHV) |
|
| 130 | - - Technically possible but **NOT recommended** with 11000KV motors |
|
| 131 | - - Motors will run hot, risk of burning out |
|
| 132 | - - Frame is very light → too much power, hard to control indoors |
|
| 133 | -- ❌ 4S (14.8V LiPo / 17.4V LiHV) |
|
| 134 | - - **Not supported** |
|
| 135 | - - Will instantly overheat or fry ESC/motors |
|
| 136 | - |
|
| 137 | - |
|
| 138 | -## problems |
|
| 139 | - |
|
| 140 | -### 🚁 Why Throttle Feels Jumpy on Mobula8 |
|
| 141 | - |
|
| 142 | -1. **No Altitude Hold** |
|
| 143 | - - Mobula8 + Betaflight does not have barometer/alt-hold. |
|
| 144 | - - Throttle is fully manual: up = climb, down = descend. |
|
| 145 | - |
|
| 146 | -2. **Throttle Center** |
|
| 147 | - - Hover point is usually not at 50%. |
|
| 148 | - - For Mobula8 (2S), hover is often around **30–40% throttle**. |
|
| 149 | - |
|
| 150 | -3. **Tiny Quad Sensitivity** |
|
| 151 | - - Small quads react fast to throttle changes. |
|
| 152 | - - Even small stick movement = big altitude change. |
|
| 153 | - |
|
| 154 | - |
|
| 155 | -### 🛠️ How to Make Hovering Easier |
|
| 156 | - |
|
| 157 | -1. Enable Angle Mode |
|
| 158 | - |
|
| 159 | -Betaflight Configurator → Modes Tab. |
|
| 160 | - |
|
| 161 | -Add ANGLE mode to a switch on your Radiomaster Pocket. |
|
| 162 | - |
|
| 163 | -Angle mode keeps the quad level so you only need to manage throttle. |
|
| 164 | - |
|
| 165 | -2. Adjust Throttle Curve / Expo |
|
| 166 | - |
|
| 167 | -On Radiomaster Pocket (EdgeTX): |
|
| 168 | - |
|
| 169 | -Go to Model Setup → Inputs → Throttle. |
|
| 170 | - |
|
| 171 | -Add Expo (20–30%) or a custom curve. |
|
| 172 | - |
|
| 173 | -This makes mid-throttle less sensitive, easier to hover. |
|
| 174 | - |
|
| 175 | -3. Set Proper Motor Idle |
|
| 176 | - |
|
| 177 | -Betaflight → Configuration Tab. |
|
| 178 | - |
|
| 179 | -Motor Idle Throttle Value: ~5% (default too low/high can cause jumps). |
|
| 180 | - |
|
| 181 | -4. Practice Hover |
|
| 182 | - |
|
| 183 | -Hover indoors at waist height. |
|
| 184 | - |
|
| 185 | -Slowly adjust throttle until you find the "sweet spot". |
|
| 186 | - |
|
| 187 | -Remember: FPV drones require constant micro-adjustments. |
|
| 188 | - |
|
| 189 | - |
|
| 190 | -## Best Preset Build for Mobula8 — Tuning Overview |
|
| 191 | - |
|
| 192 | -### 1. Base Tune (Factory Defaults) |
|
| 193 | -- Stick with the **factory PID and rates** unless you fly aggressively past stock performance. |
|
| 194 | - - Many experienced pilots, including reviewers, report that “the default PIDs and rates felt dialed” for smooth flight :contentReference[oaicite:0]{index=0}. |
|
| 195 | - |
|
| 196 | ---- |
|
| 197 | - |
|
| 198 | -### 2. Recommended Flight Modes |
|
| 199 | -- **Angle Mode** for stable, slow, and cinematic flight. |
|
| 200 | -- Optional: **Motor Beacon** (helps find your quad when disarmed) :contentReference[oaicite:1]{index=1}. |
|
| 201 | - |
|
| 202 | ---- |
|
| 203 | - |
|
| 204 | -### 3. Essential Configuration Settings |
|
| 205 | -- **Configuration →** |
|
| 206 | - - **Arming Angle**: Set to **180** to allow arming from uneven ground |
|
| 207 | - - **Thrust Linearization**: Useful for smooth low-throttle response; a small boost (~20%) helps |
|
| 208 | - |
|
| 209 | ---- |
|
| 210 | - |
|
| 211 | -### 4. PID Adjustments (Optional, For Smoother Flight) |
|
| 212 | -If you want even smoother, gentle flight: |
|
| 213 | -- On Mobula6 users reported: |
|
| 214 | - - **Roll / Pitch** P: ~18–20 |
|
| 215 | - - **I**: 30 |
|
| 216 | - - **Feedforward / Damping tweaks** apply similarly well to Mobula8 |
|
| 217 | - |
|
| 218 | ---- |
|
| 219 | - |
|
| 220 | -### 5. Rate Settings for Smooth Control |
|
| 221 | -- Custom builds often use **higher rates** (e.g. roll & pitch ~850, yaw ~700) with expo to mellow control lines :contentReference[oaicite:5]{index=5}. |
|
| 222 | -- Adjust RC Expo to around **0.5** for soft response at stick center (common for smooth flight profiles). |
|
| 223 | - |
|
| 224 | ---- |
|
| 225 | - |
|
| 226 | -### 6. Filtering and RPM Output |
|
| 227 | -- Many users dial down **gyro/D-term filter multipliers** (e.g., from 0.9 → 0.8 → 0.7) to reduce vibration and jello :contentReference[oaicite:6]{index=6}. |
|
| 228 | -- Stick with **DSHOT300 or 600**, add some **RPM filtering** if your ESC supports it :contentReference[oaicite:7]{index=7}. |
|
| 229 | - |
|
| 230 | ---- |
|
| 231 | - |
|
| 232 | -### 7. Preset Summary (In One Table) |
|
| 233 | - |
|
| 234 | -| Feature | Recommendation | |
|
| 235 | -|--------------------|--------------------------------------------| |
|
| 236 | -| PID | Stock factory (default) | |
|
| 237 | -| Flight Modes | Angle mode + Motor Beacon | |
|
| 238 | -| Arming Angle | Max: 180° | |
|
| 239 | -| Thrust Linear | ~20% boost for smooth low throttle | |
|
| 240 | -| Optional PID tweak | P ≈ 18–20, I = 30 for gentle flight | |
|
| 241 | -| Rates | Roll/Pitch ~850, Yaw ~700, Expo ~0.5 | |
|
| 242 | -| Filtering | Gyro/D-term filter ~0.8 multiplier | |
|
| 243 | - |
|
| 244 | - |
|
| 245 | - |
|
| 246 | - |
|
| 247 | -## sorted English |
|
| 248 | - |
|
| 249 | -- Mobula8, this is Happymodel's first attempt on an 85mm frame. |
|
| 250 | -- It uses the X12 series flight controller, 1103 KV11000 motors with Gemfan Hurricane 2023 three-blade propellers, providing excellent power and extremely smooth flight. |
|
| 251 | -- **Features:** |
|
| 252 | - - X12 5-in-1 AIO flight controller with built-in 2.4G ELRS V2.0 and OPENVTX. |
|
| 253 | - - VTX power up to 400mw. |
|
| 254 | - - ELRS V2.0 (default), firmware supporting ELRS V3.0 available. |
|
| 255 | - - EX1103 KV110000 motors. |
|
| 256 | - - CaddxFPV Ant FPV camera. |
|
| 257 | - - Smooth and powerful. |
|
| 258 | - - Compatible with 1S-2S Lipo/LIHV batteries. |
|
| 259 | - - Recommended to use 2S 450mah/550mah/650mah batteries (not included). |
|
| 260 | -- **Specifications:** |
|
| 261 | - - Brand Name: Happymodel |
|
| 262 | - - Item Name: Mobula8 1-2S 85mm Micro FPV Whoop Drone |
|
| 263 | - - Wheelbase: 85mm |
|
| 264 | - - Size: 120mm*120mm*50mm |
|
| 265 | - - Weight: 43g |
|
| 266 | -- **Receiver Options:** |
|
| 267 | - - 2.4G ELRS SPI (supports ELRS v2.0, firmware compatible with ELRS v3.0 available) |
|
| 268 | - - SPI Frsky D8/D16 (not compatible with EMAX E6 radio) |
|
| 269 | - - SPI Flysky AFHDS2A |
|
| 270 | - - PNP (no onboard receiver) |
|
| 271 | - - TBS version (external TBS CRSF NANO RX) |
|
| 272 | -- **Package Includes:** |
|
| 273 | - - Item Name Quantity |
|
| 274 | - - Mobula8 Frame 1 |
|
| 275 | - - Option 1: X12 ELRS V2.1 flight controller with built-in SPI ELRS 2.4G receiver |
|
| 276 | - - Option 2: X12 Frsky V2.1 flight controller with built-in SPI Frsky 2.4G receiver |
|
| 277 | - - Option 3: X12 Flysky V1.0 flight controller with built-in SPI Flysky 2.4G receiver |
|
| 278 | - - Option 4: X12 PNP V1.1 flight controller without onboard receiver |
|
| 279 | - - Option 5: X12 PNP V1.1 flight controller with TBS CRSF NANO RX |
|
| 280 | - - EX1103 KV11000 brushless motor |
|
| 281 | - - Gemfan 2023 three-blade propellers (4cw+4ccw) |
|
| 282 | - - Caddx ANT 1200TVL camera |
|
| 283 | - - Onboard 5.8G OpenVTX 0mw~400mw VTX 1 |
|
| 284 | - - Canopy for 14mmx14mm camera 1 |
|
| 285 | - - Screwdriver 1 |
|
| 286 | -- **Spare Parts Specifications:** |
|
| 287 | - - **Motor:** |
|
| 288 | - - Model: EX1103 KV11000 |
|
| 289 | - - Configuration: 9N12P |
|
| 290 | - - Stator Diameter: 11mm |
|
| 291 | - - Stator Length: 3mm |
|
| 292 | - - Shaft Diameter: Φ1.5mm |
|
| 293 | - - Motor Dimensions (Dia.*Len): Φ13.5mm*15.5mm |
|
| 294 | - - Weight (g): 3.8g |
|
| 295 | - - Applicable Battery: 1-2S |
|
| 296 | - - **Propeller:** |
|
| 297 | - - Weight: 0.88g |
|
| 298 | - - Material: PC |
|
| 299 | - - Pitch: 2.3 inches |
|
| 300 | - - Prop Dia: 52.17mm |
|
| 301 | - - Center Thickness: 5mm |
|
| 302 | - - Center Hole Dia: 1.5mm |
|
| 303 | - - **Flight Controller:** |
|
| 304 | - - X12 ELRS V2.1 built-in ELRS 2.4G receiver target: CRAZYBEEF4SX1280 |
|
| 305 | - - X12 Frsky V2.1 flight controller built-in SPI Frsky 2.4G receiver target: CRAZYBEEF4FR |
|
| 306 | - - X12 Flysky V1.0 flight controller built-in SPI Flysky 2.4G receiver target: CRAZYBEEF4FS |
|
| 307 | - - X12 PNP V1.1 flight controller without onboard receiver target: CRAZYBEEF4DX |
|
| 308 | - - MCU: STM32F411CEU6 (100MHz, 512K FLASH) |
|
| 309 | - - Sensor: ICM20689 or ICM42688P (SPI connection) |
|
| 310 | - - Mounting hole size: 25.5mm*25.5mm |
|
| 311 | - - Power supply: 1-2S battery input (DC 2.9V-8.7V) |
|
| 312 | - - Built-in 12A (each) Blheli_S 4in1 ESC |
|
| 313 | - - Built-in Betaflight OSD (SPI Control) |
|
| 314 | - - Built-in 5.8G OpenVTX 0mw~400mw |
|
| 315 | - - Built-in ExpressLRS 2.4G, Frsky D8/D16, Flysky AFHDS 2A |
|
| 316 | - - Built-in voltage detection |
|
| 317 | - - Built-in current sensor |
|
| 318 | - - **Onboard 4in1 ESC:** |
|
| 319 | - - Power supply: 1-2S LiPo/LiPo HV |
|
| 320 | - - Current: 12A continuous peak 15A (3 seconds) |
|
| 321 | - - Supports BLHeliSuite programmable |
|
| 322 | - - Firmware target: Z_H_30 |
|
| 323 | - - Default protocol: DSHOT300 |
|
| 324 | - - Supports Bluejay firmware |
|
| 325 | - - **Onboard SPI ExpressLRS 2.4GHz Receiver:** |
|
| 326 | - - Packet Rate options: 50Hz/150Hz/250Hz/500Hz |
|
| 327 | - - Firmware version: V2.0 |
|
| 328 | - - RF Frequency: 2.4GHz |
|
| 329 | - - Antenna: SMD antenna |
|
| 330 | - - Telemetry output power: <12dBm |
|
| 331 | - - Receiver protocol: SPI ExpressLRS |
|
| 332 | - - Compatible with ExpressLRS V2.0 TX module |
|
| 333 | - - Cannot flash ExpressLRS firmware separately |
|
| 334 | - - Can flash FC firmware to support ExpressLRS v3.0 TX module |
|
| 335 | - - **Onboard SPI Frsky D8/D16 Receiver Version:** |
|
| 336 | - - SPI BUS receiver Frsky D8/D16 compatible |
|
| 337 | - - Compatible with non-EU transmitter D8/D16 models |
|
| 338 | - - Channels: 8ch/16ch |
|
| 339 | - - **Onboard SPI Flysky Receiver Version:** |
|
| 340 | - - SPI BUS receiver |
|
| 341 | - - Protocol: AFHDS-2A |
|
| 342 | - - Channels: 14ch (AFHDS-2A) |
|
| 343 | - - Failsafe support |
|
| 344 | - - **PNP Version (No onboard receiver):** |
|
| 345 | - - External receiver full UART1 |
|
| 346 | - - Supports CRSF/GHOST/SBUS/IBUS/DSMX protocols |
|
| 347 | - - IR1 pad (inverted RX1) for SBUS input |
|
| 348 | - - **External TBS CRSF Nano Receiver Version:** |
|
| 349 | - - Original TBS CROSSFIRE receiver |
|
| 350 | - - CRSF protocol |
|
| 351 | - - Official TBS transmitter compatible |
|
| 352 | - - **Onboard 5.8g OPENVTX:** |
|
| 353 | - - Firmware version: OPENVTX |
|
| 354 | - - Smartaudio v2.1 |
|
| 355 | - - PIT mode support |
|
| 356 | - - RCE mode support |
|
| 357 | - - Channels: 48ch |
|
| 358 | - - Transmission power: 0/RCE/25mw/100mw/400mw |
|
| 359 | - - Power supply: DC 5V |
|
| 360 | - - Current (5v): <650ma (400mw) |
|
| 361 | - - **Caddx ANT 1200TVL Camera:** |
|
| 362 | - - Image Sensor: 1/3" CMOS Sensor |
|
| 363 | - - Horizontal Resolution: 1200TVL |
|
| 364 | - - TV System: NTSC or PAL |
|
| 365 | - - Image: 16:9 or 4:3 |
|
| 366 | - - Synchronization: Internal |
|
| 367 | - - Electronic Shutter: PAL: 1/50~100,000; NTSC: 1/60~100,000 |
|
| 368 | - - S/N Ratio: >52dB (AGC OFF) |
|
| 369 | - - Video Output: CVBS |
|
| 370 | - - Lens: 1.8mm |
|
| 371 | - - Min. Illumination: [email protected] |
|
| 372 | - - Auto Gain Control: Yes |
|
| 373 | - - WDR: Global WDR |
|
| 374 | - - DNR: 3D DNR |
|
| 375 | - - Dimensions: 14*14mm (with bracket to 19*19mm) |
|
| 376 | - - Wide Power Input: DC 3.7-18V |
|
| 377 | - - Weight: 2g (N.W.) |
|
| 378 | - |
|
| 379 | -## raw info |
|
| 380 | -Mobula8,这是Happymodel首次尝试在85mmframe上的尝试 |
|
| 381 | -采用X12系列飞控,1103KV11000的电机配合GemfanHur |
|
| 382 | -ricane2023三叶螺旋桨,动力表现优异,飞行极其顺畅。 |
|
| 383 | -特点: |
|
| 384 | -X125合1AIO飞行控制器内置2.4GELRSV2.0和OPENVTX |
|
| 385 | -VTX功率高达400mw |
|
| 386 | -ELRSV2.0(默认),提供支持ELRSV3.0的固件 |
|
| 387 | -EX1103KV110000电机 |
|
| 388 | -caddxfpv蚂蚁FPV摄像机 |
|
| 389 | -平稳有力 |
|
| 390 | -兼容1S-2SLipo/LIHV电池 |
|
| 391 | -推荐使用2S450mah/550mah/650mah电池(不含) |
|
| 392 | -规格: |
|
| 393 | -品牌名称:Happymodel |
|
| 394 | -项目名称:Mobula81-2S85mm微型FPVWhoop无人机 |
|
| 395 | -轴距:85毫米 |
|
| 396 | -大小:120mm*120mm*50毫米 |
|
| 397 | -重量:43克 |
|
| 398 | -接收机选择: |
|
| 399 | -2.4GELRSSPI(支持ELRSv2.0,提供兼容ELRSv3.O的固件) |
|
| 400 | -SPIFrskyD8/D16与EMAXE6无线电不兼容 |
|
| 401 | -SPI Flysky AFHDS2A |
|
| 402 | -PNP(无板载接收机) |
|
| 403 | -TBS版本(外接TBSCRSFNANORX) |
|
| 404 | -包包括: |
|
| 405 | -项目名称数量 |
|
| 406 | -Mobula8机架1 |
|
| 407 | -选项1:X12ELRSV2.1飞行控制器内置SPIELRS2.4G接收器 |
|
| 408 | -Option2:X12FrskyV2.1飞行控制器内置SPIFrsky2.4G接收器 |
|
| 409 | -Option3:X12FlyskyV1.0飞行控制器内置SPlFlysky2.4G接收 |
|
| 410 | -器 |
|
| 411 | -选项4:无机载接收机的X12PNPV1.1飞行控制器 |
|
| 412 | -选项5:X12PNPV1.1飞行控制器与TBSCRSFNANORX |
|
| 413 | -EX1103KV11000无刷电机 |
|
| 414 | -乾丰2023三叶螺旋桨(4cw+4ccw) |
|
| 415 | -caddxANT1200TVL摄像机 |
|
| 416 | -板载5.8GOpenvtx0mw~400mwvtx1 |
|
| 417 | -用于14mmx14mm相机头罩1 |
|
| 418 | -螺丝刀1 |
|
| 419 | -备件规格: |
|
| 420 | -电机模式:EX1103KV11000 |
|
| 421 | -Configu-ration: 9 n12p |
|
| 422 | -定子直径:11毫米 |
|
| 423 | -定子长度:3毫米 |
|
| 424 | -轴直径:Φ1.5毫米 |
|
| 425 | -电机尺寸(Dia。。*Len):Φ13.5毫米*15.5毫米 |
|
| 426 | -重量(克):3.8g |
|
| 427 | -适用电池:1-2S |
|
| 428 | -螺旋桨重量:0.88g |
|
| 429 | -材料:PC |
|
| 430 | -节距:2.3英寸 |
|
| 431 | -道具Dia:52.17毫米 |
|
| 432 | -中心厚度:5毫米 |
|
| 433 | -中心孔直径:1.5mm |
|
| 434 | -飞行控制器X12ELRSV2.1内置ELRS2.4G接收机目标:CRAZYBE |
|
| 435 | -EF4SX1280 |
|
| 436 | -X12FrskyV2.1飞行控制器内置SPIFrsky2.4G接收器目标:CRA |
|
| 437 | -ZYBEEF4FR |
|
| 438 | -X12FlyskyV1.0飞行控制器内置SPIFlysky2.4G接收器目标:CR |
|
| 439 | -AZYBEEF4FS |
|
| 440 | -无机载接收机的X12PNPV1.1飞行控制器目标:CRAZYBEEF4DX |
|
| 441 | -MCU: Stm32f411ceu6 (100mhz, 512k闪存) |
|
| 442 | -传感器:ICM20689或ICM42688P(SPI连接) |
|
| 443 | -安装孔尺寸:25.5mm*25.5mm |
|
| 444 | -电源:1-2S电池输入(直流2.9V-8.7V) |
|
| 445 | -内置12A(每个)BIheli_S4in1ESC |
|
| 446 | -内置betflight OSD(SPI控制) |
|
| 447 | -内置5.8GOpenVTX0mw~400mw |
|
| 448 | -内置ExpressLRS 2.4G,frysky D8/D16,Flysky AFHDS 2A |
|
| 449 | -内置电压检测 |
|
| 450 | -内置电流传感器 |
|
| 451 | -板载4in1 esc电源:1-2SLiPo/LiPoHV |
|
| 452 | -电流:12A连续峰值15A(3秒) |
|
| 453 | -支持BLHeliSuite可编程 |
|
| 454 | -固件目标:Z_H_30 |
|
| 455 | -默认协议:DSHOT300 |
|
| 456 | -支持蓝鸟固件 |
|
| 457 | -板载SPIExpressLRS2.4GHz接收器包速率选项:50Hz/150Hz/2 |
|
| 458 | -50Hz/500Hz |
|
| 459 | -固件版本:V2.0 |
|
| 460 | -射频频率:2.4GHz |
|
| 461 | -天线:SMD天线 |
|
| 462 | -遥测输出功率:<12dBm |
|
| 463 | -接收协议:SPIExpressLRS |
|
| 464 | -兼容ExpressLRSV2.0 TX模块 |
|
| 465 | -无法单独flashExpressLRS固件 |
|
| 466 | -可以flashFC固件支持ExpressLRSv3.0TX模块 |
|
| 467 | -板载SPIFrskyD8/D16接收器版本SPIBUS接收器FrskyD8/D1 |
|
| 468 | -6兼容 |
|
| 469 | -兼容非欧盟发射机D8/D16型号通道:8ch/16ch |
|
| 470 | -板载SPIFlysky接收器版本SPIBUS接收器 |
|
| 471 | -协议:AFHDS-2A |
|
| 472 | -通道:14 ch (AFHDS-2A) |
|
| 473 | -失控保护支持 |
|
| 474 | -PNP型版本 |
|
| 475 | -(无板载接收器)外部接收器满UART1 |
|
| 476 | -支持CRSF/GHOST/SBUS/IBUS/DSMX协议 |
|
| 477 | -IR1 pad(反向RX1),用于SBUS输入 |
|
| 478 | -外部TBSCRSF纳米接收器版本原始TBSCROSSFIRE接收器,C |
|
| 479 | -RSF协议,官方TBS发射器兼容 |
|
| 480 | -板载5.8gOPENVTX固件版本:OPENVTX |
|
| 481 | -Smartaudio v2.1 |
|
| 482 | -PIT模式支持 |
|
| 483 | -RCE模式支持 |
|
| 484 | -渠道:48ch |
|
| 485 | -发射功率:0/RCE/25mw/100mw/400mw |
|
| 486 | -电源:直流5V |
|
| 487 | -电流(5v):<650ma (400mw) |
|
| 488 | -cadxANT1200tvI相机图像传感器:1/3"CMOS传感器 |
|
| 489 | -水平分辨率:1200TVL |
|
| 490 | -电视系统:NTSC或PAL |
|
| 491 | -图像:16:9或4:3 |
|
| 492 | -同步:内部 |
|
| 493 | -电子快门:PAL:1/50~100,000;NTSC:1/60~100000 |
|
| 494 | -信噪比:>52dB(AGC OFF) |
|
| 495 | -视频输出:CVBS |
|
| 496 | -镜头:1.8毫米 |
|
| 497 | -最小照度:[email protected] |
|
| 498 | -自动增益控制:是的 |
|
| 499 | -WDR:Global WDR |
|
| 500 | -Dnr: 3d Dnr |
|
| 501 | -尺寸:14*14mm(带支架至19*19mm) |
|
| 502 | -宽电源输入:DC3.7-18V |
|
| 503 | -重量:2g (N.W.) |
|
| 504 | - |
|
| 505 | - |
|
| 506 | -## ref |
|
| 507 | - |
|
| 508 | -- [[happymodel-dat]] - [[mobula8]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-indoor-fly-dat/mobula8-indoor-1.txt
| ... | ... | @@ -1,246 +0,0 @@ |
| 1 | -defaults nosave |
|
| 2 | - |
|
| 3 | - |
|
| 4 | -# version |
|
| 5 | -# Betaflight / STM32F411 (S411) 4.5.2 Apr 8 2025 / 09:45:08 (024f8e13d) MSP API: 1.46 |
|
| 6 | -# config rev: 2f448eb |
|
| 7 | - |
|
| 8 | -# start the command batch |
|
| 9 | -batch start |
|
| 10 | - |
|
| 11 | -# reset configuration to default settings |
|
| 12 | -defaults nosave |
|
| 13 | - |
|
| 14 | -board_name CRAZYBEEF4SX1280 |
|
| 15 | -manufacturer_id HAMO |
|
| 16 | -mcu_id 003b00543134510d33343336 |
|
| 17 | -signature |
|
| 18 | - |
|
| 19 | -# name: Mobula8 |
|
| 20 | - |
|
| 21 | -# resources |
|
| 22 | -resource LED_STRIP 1 NONE |
|
| 23 | - |
|
| 24 | -# dma |
|
| 25 | -dma ADC 1 1 |
|
| 26 | -# ADC 1: DMA2 Stream 4 Channel 0 |
|
| 27 | - |
|
| 28 | -# feature |
|
| 29 | -feature -AIRMODE |
|
| 30 | -feature TELEMETRY |
|
| 31 | -feature OSD |
|
| 32 | - |
|
| 33 | -# serial |
|
| 34 | -serial 1 2048 115200 57600 0 115200 |
|
| 35 | - |
|
| 36 | -# beacon |
|
| 37 | -beacon RX_LOST |
|
| 38 | -beacon RX_SET |
|
| 39 | - |
|
| 40 | -# aux |
|
| 41 | -aux 0 0 0 1700 2100 0 0 |
|
| 42 | -aux 1 1 1 1700 2100 0 0 |
|
| 43 | -aux 2 2 1 1300 1700 0 0 |
|
| 44 | -aux 3 13 3 1300 1700 0 0 |
|
| 45 | -aux 4 28 2 1300 1700 0 0 |
|
| 46 | -aux 5 35 2 1700 2100 0 0 |
|
| 47 | - |
|
| 48 | -# adjrange |
|
| 49 | -adjrange 0 0 3 1500 2100 12 3 0 0 |
|
| 50 | -adjrange 1 0 3 900 1500 12 3 0 0 |
|
| 51 | -adjrange 2 0 1 1800 2100 12 1 0 0 |
|
| 52 | - |
|
| 53 | -# vtxtable |
|
| 54 | -vtxtable bands 6 |
|
| 55 | -vtxtable channels 8 |
|
| 56 | -vtxtable band 1 BOSCAM_A A FACTORY 5865 5845 5825 5805 5785 5765 5745 5725 |
|
| 57 | -vtxtable band 2 BOSCAM_B B FACTORY 5733 5752 5771 5790 5809 5828 5847 5866 |
|
| 58 | -vtxtable band 3 BOSCAM_E E FACTORY 5705 5685 5665 0 5885 5905 0 0 |
|
| 59 | -vtxtable band 4 FATSHARK F FACTORY 5740 5760 5780 5800 5820 5840 5860 5880 |
|
| 60 | -vtxtable band 5 RACEBAND R FACTORY 5658 5695 5732 5769 5806 5843 5880 5917 |
|
| 61 | -vtxtable band 6 LOWRACE L FACTORY 5333 5373 5413 5453 5493 5533 5573 5613 |
|
| 62 | -vtxtable powerlevels 5 |
|
| 63 | -vtxtable powervalues 10 2 14 20 26 |
|
| 64 | -vtxtable powerlabels 0 RCE 25 100 400 |
|
| 65 | - |
|
| 66 | -# master |
|
| 67 | -set gyro_lpf1_static_hz = 0 |
|
| 68 | -set gyro_lpf2_static_hz = 300 |
|
| 69 | -set dyn_notch_q = 250 |
|
| 70 | -set dyn_notch_min_hz = 150 |
|
| 71 | -set gyro_lpf1_dyn_min_hz = 120 |
|
| 72 | -set gyro_lpf1_dyn_max_hz = 360 |
|
| 73 | -set acc_lpf_hz = 10 |
|
| 74 | -set acc_calibration = 18,40,-22,1 |
|
| 75 | -set rc_smoothing_auto_factor = 25 |
|
| 76 | -set rc_smoothing_auto_factor_throttle = 25 |
|
| 77 | -set serialrx_provider = SPEK1024 |
|
| 78 | -set airmode_start_throttle_percent = 35 |
|
| 79 | -set blackbox_sample_rate = 1/2 |
|
| 80 | -set blackbox_device = NONE |
|
| 81 | -set dshot_idle_value = 300 |
|
| 82 | -set dshot_bidir = ON |
|
| 83 | -set dshot_bitbang = AUTO |
|
| 84 | -set motor_poles = 12 |
|
| 85 | -set failsafe_delay = 4 |
|
| 86 | -set failsafe_recovery_delay = 20 |
|
| 87 | -set vbat_max_cell_voltage = 420 |
|
| 88 | -set vbat_min_cell_voltage = 350 |
|
| 89 | -set vbat_multiplier = 2 |
|
| 90 | -set ibata_scale = 470 |
|
| 91 | -set small_angle = 180 |
|
| 92 | -set gps_provider = NMEA |
|
| 93 | -set gps_ublox_flight_model = AIRBORNE_4G |
|
| 94 | -set gps_rescue_min_start_dist = 30 |
|
| 95 | -set gps_rescue_ascend_rate = 500 |
|
| 96 | -set gps_rescue_ground_speed = 2000 |
|
| 97 | -set gps_rescue_descent_dist = 200 |
|
| 98 | -set gps_rescue_descend_rate = 100 |
|
| 99 | -set gps_rescue_landing_alt = 5 |
|
| 100 | -set gps_rescue_throttle_max = 1600 |
|
| 101 | -set gps_rescue_throttle_hover = 1280 |
|
| 102 | -set gps_rescue_sanity_checks = RESCUE_SANITY_ON |
|
| 103 | -set gps_rescue_throttle_p = 150 |
|
| 104 | -set gps_rescue_throttle_i = 20 |
|
| 105 | -set gps_rescue_throttle_d = 50 |
|
| 106 | -set gps_rescue_velocity_p = 80 |
|
| 107 | -set gps_rescue_velocity_i = 20 |
|
| 108 | -set gps_rescue_velocity_d = 15 |
|
| 109 | -set gps_rescue_yaw_p = 40 |
|
| 110 | -set deadband = 5 |
|
| 111 | -set yaw_deadband = 5 |
|
| 112 | -set pid_process_denom = 2 |
|
| 113 | -set simplified_gyro_filter = OFF |
|
| 114 | -set osd_rssi_pos = 314 |
|
| 115 | -set osd_link_quality_pos = 2392 |
|
| 116 | -set osd_rssi_dbm_pos = 2360 |
|
| 117 | -set osd_tim_2_pos = 2433 |
|
| 118 | -set osd_flymode_pos = 2457 |
|
| 119 | -set osd_throttle_pos = 2425 |
|
| 120 | -set osd_vtx_channel_pos = 2305 |
|
| 121 | -set osd_current_pos = 2336 |
|
| 122 | -set osd_mah_drawn_pos = 2368 |
|
| 123 | -set osd_craft_name_pos = 2442 |
|
| 124 | -set osd_warnings_pos = 2345 |
|
| 125 | -set osd_avg_cell_voltage_pos = 2401 |
|
| 126 | -set osd_disarmed_pos = 2314 |
|
| 127 | -set osd_esc_rpm_pos = 161 |
|
| 128 | -set osd_core_temp_pos = 2328 |
|
| 129 | -set osd_displayport_device = AUTO |
|
| 130 | -set osd_canvas_width = 30 |
|
| 131 | -set osd_canvas_height = 13 |
|
| 132 | -set debug_mode = DUAL_GYRO_SCALED |
|
| 133 | -set vtx_band = 5 |
|
| 134 | -set vtx_channel = 8 |
|
| 135 | -set vtx_power = 3 |
|
| 136 | -set vtx_low_power_disarm = ON |
|
| 137 | -set vtx_freq = 5917 |
|
| 138 | -set vcd_video_system = NTSC |
|
| 139 | -set pinio_box = 255,255,255,255 |
|
| 140 | -set expresslrs_uid = 9,212,226,35,100,206 |
|
| 141 | -set expresslrs_rate_index = 1 |
|
| 142 | -set expresslrs_switch_mode = HYBRID |
|
| 143 | -set rpm_filter_min_hz = 90 |
|
| 144 | -set craft_name = Mobula8 |
|
| 145 | - |
|
| 146 | -profile 0 |
|
| 147 | - |
|
| 148 | -# profile 0 |
|
| 149 | -set dterm_lpf1_dyn_min_hz = 70 |
|
| 150 | -set dterm_lpf1_dyn_max_hz = 140 |
|
| 151 | -set dterm_lpf1_static_hz = 120 |
|
| 152 | -set dterm_lpf2_static_hz = 200 |
|
| 153 | -set vbat_sag_compensation = 100 |
|
| 154 | -set anti_gravity_gain = 100 |
|
| 155 | -set crash_recovery = ON |
|
| 156 | -set iterm_relax_cutoff = 25 |
|
| 157 | -set yaw_lowpass_hz = 0 |
|
| 158 | -set throttle_boost = 0 |
|
| 159 | -set acro_trainer_angle_limit = 30 |
|
| 160 | -set p_pitch = 74 |
|
| 161 | -set i_pitch = 119 |
|
| 162 | -set d_pitch = 50 |
|
| 163 | -set f_pitch = 130 |
|
| 164 | -set p_roll = 70 |
|
| 165 | -set i_roll = 113 |
|
| 166 | -set d_roll = 46 |
|
| 167 | -set f_roll = 135 |
|
| 168 | -set p_yaw = 53 |
|
| 169 | -set i_yaw = 95 |
|
| 170 | -set f_yaw = 130 |
|
| 171 | -set angle_p_gain = 35 |
|
| 172 | -set angle_limit = 45 |
|
| 173 | -set horizon_level_strength = 50 |
|
| 174 | -set d_min_roll = 0 |
|
| 175 | -set d_min_pitch = 0 |
|
| 176 | -set d_max_advance = 0 |
|
| 177 | -set motor_output_limit = 50 |
|
| 178 | -set thrust_linear = 20 |
|
| 179 | -set feedforward_jitter_factor = 5 |
|
| 180 | -set feedforward_boost = 10 |
|
| 181 | -set feedforward_max_rate_limit = 95 |
|
| 182 | -set dyn_idle_min_rpm = 30 |
|
| 183 | -set simplified_pids_mode = OFF |
|
| 184 | -set simplified_master_multiplier = 150 |
|
| 185 | -set simplified_i_gain = 90 |
|
| 186 | -set simplified_d_gain = 120 |
|
| 187 | -set simplified_pi_gain = 105 |
|
| 188 | -set simplified_dmax_gain = 0 |
|
| 189 | -set simplified_feedforward_gain = 90 |
|
| 190 | -set simplified_dterm_filter = OFF |
|
| 191 | -set tpa_mode = PD |
|
| 192 | -set tpa_rate = 25 |
|
| 193 | -set tpa_breakpoint = 1150 |
|
| 194 | -set ez_landing_speed = 30 |
|
| 195 | - |
|
| 196 | -profile 1 |
|
| 197 | - |
|
| 198 | -profile 2 |
|
| 199 | - |
|
| 200 | -profile 3 |
|
| 201 | - |
|
| 202 | -# restore original profile selection |
|
| 203 | -profile 0 |
|
| 204 | - |
|
| 205 | -rateprofile 0 |
|
| 206 | - |
|
| 207 | -# rateprofile 0 |
|
| 208 | -set thr_mid = 100 |
|
| 209 | -set thr_expo = 100 |
|
| 210 | -set roll_rc_rate = 1 |
|
| 211 | -set pitch_rc_rate = 1 |
|
| 212 | -set yaw_rc_rate = 1 |
|
| 213 | -set roll_expo = 10 |
|
| 214 | -set pitch_expo = 10 |
|
| 215 | -set yaw_expo = 10 |
|
| 216 | -set roll_srate = 10 |
|
| 217 | -set pitch_srate = 10 |
|
| 218 | -set yaw_srate = 10 |
|
| 219 | -set throttle_limit_type = SCALE |
|
| 220 | -set throttle_limit_percent = 90 |
|
| 221 | - |
|
| 222 | -rateprofile 1 |
|
| 223 | - |
|
| 224 | -rateprofile 2 |
|
| 225 | - |
|
| 226 | -# rateprofile 2 |
|
| 227 | -set thr_mid = 100 |
|
| 228 | -set thr_expo = 100 |
|
| 229 | -set rates_type = BETAFLIGHT |
|
| 230 | -set roll_rc_rate = 10 |
|
| 231 | -set pitch_rc_rate = 10 |
|
| 232 | -set yaw_rc_rate = 10 |
|
| 233 | -set roll_expo = 30 |
|
| 234 | -set pitch_expo = 30 |
|
| 235 | -set yaw_expo = 30 |
|
| 236 | -set roll_srate = 30 |
|
| 237 | -set pitch_srate = 30 |
|
| 238 | -set yaw_srate = 50 |
|
| 239 | -set throttle_limit_type = SCALE |
|
| 240 | - |
|
| 241 | -rateprofile 3 |
|
| 242 | - |
|
| 243 | -# restore original rateprofile selection |
|
| 244 | -rateprofile 0 |
|
| 245 | - |
|
| 246 | -# save configuration |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/happymodel-dat/mobula8-dat/mobula8-indoor-fly-dat/mobula8-indoor-fly-dat.md
| ... | ... | @@ -1,50 +0,0 @@ |
| 1 | - |
|
| 2 | -# mobula8-indoor-fly-dat |
|
| 3 | - |
|
| 4 | -- [[betaflight-PID-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -1. Flight Modes |
|
| 8 | - |
|
| 9 | -Enable Angle or Horizon Mode for self-leveling and easy control indoors. |
|
| 10 | -- Angle: safest, no flips/rolls. |
|
| 11 | -- Horizon: allows gentle flips/rolls, still self-levels. |
|
| 12 | - |
|
| 13 | -2. Rates and Expo |
|
| 14 | - |
|
| 15 | -- Lower your rates (e.g., 400–500 deg/s) for smoother, slower stick response. |
|
| 16 | -- Increase expo (e.g., 0.3–0.5) for finer control near center stick. |
|
| 17 | - |
|
| 18 | -3. PID Tuning |
|
| 19 | - |
|
| 20 | -- Lower P and D gains slightly for softer, less twitchy response. |
|
| 21 | -- Increase I gain a bit to help hold attitude against drafts. |
|
| 22 | -- Use the “tuned profile” in your table as a starting point, but reduce values if the quad feels too sharp. |
|
| 23 | - |
|
| 24 | -4. Feedforward |
|
| 25 | - |
|
| 26 | -Set Feedforward (FF) lower for smoother, less aggressive stick response (e.g., 130–140). |
|
| 27 | - |
|
| 28 | -5. Anti-Gravity |
|
| 29 | - |
|
| 30 | -Enable Anti-Gravity and set gain to 10 or higher for stable altitude during throttle changes. |
|
| 31 | - |
|
| 32 | -6. Throttle and Motor Settings |
|
| 33 | - |
|
| 34 | -- Motor Output Limit: Set to 75–80% for safer, gentler indoor power. |
|
| 35 | -- Throttle Boost: Set low (5–7) for smooth throttle response. |
|
| 36 | -- Dynamic Idle: Set to 30–35 to prevent motor stalling at low throttle. |
|
| 37 | -- Vbat Sag Compensation: Enable to keep performance consistent as battery drains. |
|
| 38 | - |
|
| 39 | -7. Master Multiplier/Sliders |
|
| 40 | - |
|
| 41 | -Keep Master Multiplier low (0.5–1.0) for gentle, stable flight. |
|
| 42 | - |
|
| 43 | -8. Angle/Horizon Strength |
|
| 44 | - |
|
| 45 | -Lower “Strength” and “Angle Limit” for less aggressive self-leveling and more cinematic movement (see your “optimized for indoor fly” table). |
|
| 46 | - |
|
| 47 | - |
|
| 48 | -## ref |
|
| 49 | - |
|
| 50 | -- [[indoor-fly-dat]] - [[indoor-fly]] - [[betaflight]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-06-22.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-06-22.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-26.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-26.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-50.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/2025-05-29-13-07-50.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/bee25-dat/bee25-dat.md
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | - |
|
| 2 | -# bee25-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -bee25 is a 2.5-inch frame specially designed for FPV aircraft, suitable for various small drones and FPV racing aircraft. It is made of high-strength carbon fiber material, featuring lightweight and high rigidity characteristics, capable of withstanding impacts and vibrations during high-speed flight. |
|
| 7 | -The design of this frame emphasizes aerodynamics, providing good aerodynamic performance, reducing flight drag, and improving flight efficiency. It supports multiple motor and ESC configurations, suitable for different flight needs. |
|
| 8 | - |
|
| 9 | -## drawbacks |
|
| 10 | - |
|
| 11 | -- the frame only support [[speedybee-dat]] its own [[VTX-dat]] == [[TX800]], because of the fixed size |
|
| 12 | - |
|
| 13 | -## assembled |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## TX800 |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -## ref |
|
| 26 | - |
|
| 27 | -- [[speedybee-dat]] - [[FPV-dat]] |
|
| 28 | - |
|
| 29 | -- [[VTX-dat]] - [[MS-519-dat]] - [[camera-dat]] - [[bee25-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/drone-maker-dat/speedybee-dat/speedybee-dat.md
| ... | ... | @@ -1,7 +0,0 @@ |
| 1 | - |
|
| 2 | -# speedybee-dat |
|
| 3 | - |
|
| 4 | -[SpeedyBee 4pcs FPV Soldering Practice Board for FPV Drone Beginners, Tools for Flight controller ESC Soldering Practice](https://www.amazon.com/SpeedyBee-Soldering-Practice-Beginners-controller/dp/B0C5X26JWQ/ref=sr_1_32?dib=eyJ2IjoiMSJ9.85xi15ftM4OWw33_siXrDRGNOKuf3CgQct4cVlBOFqI1ZAAZD4Gz_S4U_wqEKgjxWcsGOZPlWkdGdEASaTJntO1H_pFgsXO61wuEgveKAmLTLHR-cjsa5SOhaKUXU0vVHE7oijzqLoIPsx-H55gYNPr_F8aMX98OqPfwk64Ma12qrNSidLDVokmdegWL621v3U-5PDEaMNTjdACgOTHEBxAGhtxksaYVouWcSkxMCTI-jr0FkvxyQeZmO6S-UjXJcEcChxa4sPMjVyiK7070XhJlH2EnXqgnv0KScl80Jqc.AzbbGJAa2ls6bQWRCrudB-jGcm6vKV7pRItsIyBMpdA&dib_tag=se&keywords=FPV&qid=1744201259&sr=8-32) |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
app-dat/RC-dat/RC-supplier-dat/frsky-dat/frsky-dat.md
| ... | ... | @@ -1,13 +0,0 @@ |
| 1 | - |
|
| 2 | -# frsky-dat |
|
| 3 | - |
|
| 4 | -- [Taranis Series](https://www.frsky-rc.com/product-category/transmitters/taranis-series/) |
|
| 5 | - |
|
| 6 | -- [[CC2500-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## ref |
|
| 12 | - |
|
| 13 | -- [[RC-supplier-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-45-54.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-45-54.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-47-56.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-47-56.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-48-22.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-05-16-12-48-22.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-09-02-13-11-15.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-09-02-13-11-15.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-09-15-00-53-56.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/2025-09-15-00-53-56.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/radiomaster-dat.md
| ... | ... | @@ -1,138 +0,0 @@ |
| 1 | - |
|
| 2 | -# radiomaster-dat |
|
| 3 | - |
|
| 4 | -basic information vist at - [[RC-controller-dat]] |
|
| 5 | - |
|
| 6 | -## all buttons |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -## binding |
|
| 12 | - |
|
| 13 | -## Pocket Radio Controller (M2) |
|
| 14 | - |
|
| 15 | - |
|
| 16 | -https://www.radiomasterrc.com/products/pocket-radio-controller-m2 |
|
| 17 | - |
|
| 18 | -https://cdn.shopify.com/s/files/1/0609/8324/7079/files/Pocket_1.pdf?v=1736839330 |
|
| 19 | - |
|
| 20 | -firmwares - https://www.radiomasterrc.com/pages/firmware-updates |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - RadioMaster Pocket Internal 2.4GHz TX |
|
| 27 | - Firmware Rev. 3.5.4 (a6f9a2) ISM2G4 |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## wifi |
|
| 31 | - |
|
| 32 | - |
|
| 33 | -turn on wifi mode: |
|
| 34 | - |
|
| 35 | -1) Power on your Radiomaster transmitter. |
|
| 36 | -2) Long-press SYS to open the System Menu. |
|
| 37 | -3) Navigate to the TOOLS tab. |
|
| 38 | -4) Run “ExpressLRS.lua”. |
|
| 39 | -5) Select “WiFi Connectivity” → “Enable Wi-Fi”. |
|
| 40 | -6) Wait for the module to restart into Wi-Fi mode. |
|
| 41 | -7) On your phone/PC, connect to SSID: ExpressLRS TX (password: expresslrs). |
|
| 42 | -8) Open a browser and go to: http://10.0.0.1 |
|
| 43 | -9) Update firmware or adjust settings in the ELRS WebUI. |
|
| 44 | -10) Exit Wi-Fi mode by backing out of the script or power-cycling the radio. |
|
| 45 | - |
|
| 46 | -better use this wifi option to connect your devices to your local network: |
|
| 47 | - |
|
| 48 | - One-time connect to network, retain Home network setting |
|
| 49 | - |
|
| 50 | - http://elrs_tx.local |
|
| 51 | - |
|
| 52 | - |
|
| 53 | -find firmware version |
|
| 54 | - |
|
| 55 | - ExpressLRS |
|
| 56 | - RadioMaster Pocket Internal 2.4GHz TX |
|
| 57 | - Firmware Rev. 3.5.4 (a6f9a2) ISM2G4 |
|
| 58 | - |
|
| 59 | - |
|
| 60 | -## module downloads |
|
| 61 | - |
|
| 62 | -1) Power off your Radiomaster Pocket. |
|
| 63 | -2) Remove the SD card (or plug in USB-C in storage mode). |
|
| 64 | -3) Download the correct EdgeTX SD card pack for Radiomaster Pocket: |
|
| 65 | - - From: https://edgetx.org/sdcard |
|
| 66 | - - Choose the same EdgeTX version as your radio. |
|
| 67 | -4) Download the latest ExpressLRS Lua script: |
|
| 68 | - - From: https://github.com/ExpressLRS/ExpressLRS |
|
| 69 | - - Copy `ExpressLRS.lua` into `/SCRIPTS/TOOLS/` on your SD card. |
|
| 70 | -5) Safely eject the SD card (or USB storage) and restart the radio. |
|
| 71 | -6) Go to [SYS] → TOOLS → Run ExpressLRS.lua. |
|
| 72 | -7) The script should now load instead of freezing. |
|
| 73 | - |
|
| 74 | -## bind with mobula8 setup |
|
| 75 | - |
|
| 76 | -- Packet Rate == 250Hz (-108d) |
|
| 77 | -- telem Ratio == STD |
|
| 78 | -- Switch Mode == Hybrid |
|
| 79 | -- Link Mode == Off |
|
| 80 | - |
|
| 81 | - |
|
| 82 | - |
|
| 83 | - |
|
| 84 | - |
|
| 85 | - |
|
| 86 | - |
|
| 87 | - |
|
| 88 | -## flash |
|
| 89 | - |
|
| 90 | - You must choose regulatory domain for your device in 2.4 GHz band |
|
| 91 | - |
|
| 92 | - Custom binding phrase must be longer than 6 characters |
|
| 93 | - |
|
| 94 | - |
|
| 95 | -## build firmware first |
|
| 96 | - |
|
| 97 | - |
|
| 98 | - |
|
| 99 | - |
|
| 100 | - |
|
| 101 | - |
|
| 102 | -## flash log |
|
| 103 | - |
|
| 104 | - % Total % Received % Xferd Average Speed Time Time Time Current |
|
| 105 | - Dload Upload Total Spent |
|
| 106 | - Left Speed |
|
| 107 | - |
|
| 108 | - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 |
|
| 109 | - 12 1534k 0 0 12 192k 0 153k 0:00:09 0:00:01 0:00:08 154k |
|
| 110 | - 20 1534k 0 0 20 320k 0 137k 0:00:11 0:00:02 0:00:09 137k |
|
| 111 | - 25 1534k 0 0 25 384k 0 119k 0:00:12 0:00:03 0:00:09 119k |
|
| 112 | - 33 1534k 0 0 33 512k 0 113k 0:00:13 0:00:04 0:00:09 113k |
|
| 113 | - 37 1534k 0 0 37 576k 0 110k 0:00:13 0:00:05 0:00:08 110k |
|
| 114 | - 45 1534k 0 0 45 704k 0 105k 0:00:14 0:00:06 0:00:08 96234 |
|
| 115 | - 50 1534k 0 0 50 768k 0 103k 0:00:14 0:00:07 0:00:07 90181 |
|
| 116 | - 54 1534k 0 0 54 832k 0 102k 0:00:15 0:00:08 0:00:07 92902 |
|
| 117 | - 62 1534k 0 0 62 960k 0 100k 0:00:15 0:00:09 0:00:06 91603 |
|
| 118 | - 66 1534k 0 0 66 1024k 0 100k 0:00:15 0:00:10 0:00:05 91548 |
|
| 119 | - 75 1534k 0 0 75 1152k 0 99k 0:00:15 0:00:11 0:00:04 93775 |
|
| 120 | - 79 1534k 0 0 79 1216k 0 98k 0:00:15 0:00:12 0:00:03 94064 |
|
| 121 | - 83 1534k 0 0 83 1280k 0 98k 0:00:15 0:00:13 0:00:02 93852 |
|
| 122 | - 91 1534k 0 0 91 1408k 0 99813 0:00:15 0:00:14 0:00:01 92958 |
|
| 123 | - 95 1534k 0 0 95 1472k 0 99416 0:00:15 0:00:15 --:--:-- 92639 |
|
| 124 | - 100 1534k 0 0 100 1534k 0 92904 0:00:16 0:00:16 --:--:-- 73560 |
|
| 125 | - 100 1534k 0 0 100 1534k 0 87667 0:00:17 0:00:17 --:--:-- 57992 |
|
| 126 | - 100 1535k 100 99 100 1534k 5 84899 0:00:19 0:00:18 0:00:01 47599 |
|
| 127 | - 100 1535k 100 99 100 1534k 5 84899 0:00:19 0:00:18 0:00:01 31982 |
|
| 128 | - |
|
| 129 | - ** UPLOADING TO: http://192.168.72.9/update |
|
| 130 | - |
|
| 131 | - UPLOAD SUCCESS |
|
| 132 | - [32mUpdate complete. Please wait for a few seconds while the device reboots.[0m |
|
| 133 | - |
|
| 134 | - |
|
| 135 | - |
|
| 136 | -## ref |
|
| 137 | - |
|
| 138 | -- [[console-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/radiomaster-dat/radiomaster-pocket-dat.md
| ... | ... | @@ -1,17 +0,0 @@ |
| 1 | - |
|
| 2 | -# radiomaster-pocket-dat.md |
|
| 3 | - |
|
| 4 | -## 1. Radiomaster Pocket (Multi-Protocol Version) |
|
| 5 | -- Uses **CC2500 module**, same chip used in FrSky radios. |
|
| 6 | -- Supports **FrSky D8, D16**, Futaba SFHSS, Hubsan, and many more protocols. |
|
| 7 | -- ✅ You can bind directly to FrSky D8 receivers. |
|
| 8 | - |
|
| 9 | -## 2. Radiomaster Pocket (ELRS Version) |
|
| 10 | -- Uses **ExpressLRS** only. |
|
| 11 | -- ❌ Does NOT support FrSky D8/D16. |
|
| 12 | -- You would need to use an **external CC2500 module** if you want D8. |
|
| 13 | - |
|
| 14 | - |
|
| 15 | -## ref |
|
| 16 | - |
|
| 17 | -- [[radiomaster-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/runCAM-dat/2025-09-16-17-07-02.png
| ... | ... | Binary files a/app-dat/RC-dat/RC-supplier-dat/runCAM-dat/2025-09-16-17-07-02.png and /dev/null differ |
app-dat/RC-dat/RC-supplier-dat/runCAM-dat/runCAM-dat.md
| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | - |
|
| 2 | -# runCAM-dat.md |
|
| 3 | - |
|
| 4 | -- [[runcam-nano4-dat]] |
|
| 5 | - |
|
| 6 | -WiFiLink2高清图传 - openIPC ? |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -- [[runCAM-nano4-dat]] |
|
| 13 | - |
|
| 14 | -- runcam nano 3 |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/RC-supplier-dat/runCAM-dat/runCAM-nano4-dat.md
| ... | ... | @@ -1,29 +0,0 @@ |
| 1 | - |
|
| 2 | -# runCAM-nano4-dat.md |
|
| 3 | - |
|
| 4 | -- [[VTX-dat]] |
|
| 5 | - |
|
| 6 | -| Parameter | Specification | |
|
| 7 | -| --------------------- | ------------------------------------------------- | |
|
| 8 | -| Model | RunCam Racer Nano 4 | |
|
| 9 | -| Image Sensor | Super Wide Dynamic CMOS Sensor | |
|
| 10 | -| Horizontal Resolution | 1200 TVL | |
|
| 11 | -| Lens FOV | Diagonal: 160° / Horizontal: 125° / Vertical: 97° | |
|
| 12 | -| Aspect Ratio | 4:3 (switchable to widescreen) | |
|
| 13 | -| Mirror/Flip | Supported | |
|
| 14 | -| Video Format | PAL/NTSC switchable | |
|
| 15 | -| Shutter | Rolling Shutter | |
|
| 16 | -| Wide Dynamic Range | Super Wide Dynamic Range | |
|
| 17 | -| Day/Night Switch | Color | |
|
| 18 | -| Menu Control | Button Board Control | |
|
| 19 | -| Power Supply | DC 5-36V | |
|
| 20 | -| Working Current | 120mA @ 5V / 70mA @ 12V | |
|
| 21 | -| Case Material | ABS | |
|
| 22 | -| Net Weight | 4.5g | |
|
| 23 | -| Dimensions | 14mm × 14mm × | |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | -## ref |
|
| 28 | - |
|
| 29 | -- [[runCAM-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/Tank-dat/2025-05-22-00-49-44.png
| ... | ... | Binary files a/app-dat/RC-dat/Tank-dat/2025-05-22-00-49-44.png and /dev/null differ |
app-dat/RC-dat/Tank-dat/2025-05-22-00-50-12.png
| ... | ... | Binary files a/app-dat/RC-dat/Tank-dat/2025-05-22-00-50-12.png and /dev/null differ |
app-dat/RC-dat/Tank-dat/Tank-dat.md
| ... | ... | @@ -1,28 +0,0 @@ |
| 1 | - |
|
| 2 | -# Tank-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -- [[dc-gear-motor-dat]] - [[MG513-dat]] |
|
| 6 | - |
|
| 7 | -- [[tank-track-dat]] |
|
| 8 | - |
|
| 9 | -## tank platform 1 |
|
| 10 | - |
|
| 11 | -- Each wheel has an independent suspension spring |
|
| 12 | -- six rogs each side |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## 3D |
|
| 21 | - |
|
| 22 | -- tank track and [[robot-arm-dat]] - [3D model](https://cad.onshape.com/documents/74b490fd20a2a4c684736444/w/df7ed99939a49695aecaa97f/e/90154fe41bafe724913e360f?renderMode=0&uiState=68301af9be87bf505c7ca7d0) |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -## ref |
|
| 27 | - |
|
| 28 | -- [[RC]] - [[tank]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/Tank-dat/markus-tank-dat/markus-tank-dat.md
| ... | ... | @@ -1,36 +0,0 @@ |
| 1 | - |
|
| 2 | -# markus-rover-dat |
|
| 3 | - |
|
| 4 | -- [FPV-Rover V2.0 (RC Tank)](https://www.thingiverse.com/thing:2952852) |
|
| 5 | -- [youtube](https://www.youtube.com/watch?v=dpUSdjNppN0) |
|
| 6 | -- https://www.instructables.com/FPV-Rover-V20/ |
|
| 7 | - |
|
| 8 | -## printed parts |
|
| 9 | - |
|
| 10 | -- 2x main cog front |
|
| 11 | -- 2x main cog rear (needs support) |
|
| 12 | -- 16x small cog |
|
| 13 | -- 1x body (needs support) |
|
| 14 | -- 2x outer frame |
|
| 15 | -- 2x big bevel gear (use 4:1 for less heat and more torque) |
|
| 16 | -- 2x small bevel gear (I recommend strong filament like Nylon) (use 4:1 for less heat and more torque) |
|
| 17 | -- 2x motor mounting bracket |
|
| 18 | -- 2x ESC mount |
|
| 19 | -- 1x inner frame left (or inner frame left high) |
|
| 20 | -- 1x inner frame right (or inner frame right high) |
|
| 21 | -- 1x front cover (needs support) |
|
| 22 | -- 1x rear cover |
|
| 23 | -- 64x tank track |
|
| 24 | -- 64x rubber track for tank track |
|
| 25 | - |
|
| 26 | -## ordered parts |
|
| 27 | - |
|
| 28 | - |
|
| 29 | - |
|
| 30 | -## knowledge |
|
| 31 | - |
|
| 32 | -- [[3d-printer-dat]] |
|
| 33 | - |
|
| 34 | -- [[dc-motor-dat]] - [[tank-track-dat]] - [[ESC-dat]] |
|
| 35 | - |
|
| 36 | -- cog == gear |
app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-09-36.png
| ... | ... | Binary files a/app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-09-36.png and /dev/null differ |
app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-10-22.png
| ... | ... | Binary files a/app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-10-22.png and /dev/null differ |
app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-11-57.png
| ... | ... | Binary files a/app-dat/RC-dat/Tank-dat/tank-track-dat/2025-05-22-14-11-57.png and /dev/null differ |
app-dat/RC-dat/Tank-dat/tank-track-dat/tank-track-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# tank-track-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## ✅ When Tank Tracks Are Better |
|
| 6 | -- **Soft Terrain** (sand, mud, snow): |
|
| 7 | - - Tracks distribute weight over a larger surface, preventing sinking. |
|
| 8 | -- **Uneven Terrain** (rocks, slopes, obstacles): |
|
| 9 | - - Tracks provide better grip and stability. |
|
| 10 | -- **Heavy Loads**: |
|
| 11 | - - Tracks can support and move heavier equipment with more traction. |
|
| 12 | - |
|
| 13 | -## ✅ When Wheels Are Better |
|
| 14 | -- **Hard, Flat Terrain** (pavement, concrete): |
|
| 15 | - - Wheels are faster and more energy-efficient. |
|
| 16 | -- **Speed & Efficiency**: |
|
| 17 | - - Wheeled systems are usually lighter and less power-hungry. |
|
| 18 | -- **Maintenance & Cost**: |
|
| 19 | - - Wheels are simpler, cheaper, and easier to repair. |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -## 🔍 Summary Table |
|
| 23 | - |
|
| 24 | -| Feature | Tank Tracks | Wheels | |
|
| 25 | -|------------------|----------------------------------|----------------------------------| |
|
| 26 | -| Traction | Excellent on rough terrain | Good on hard surfaces | |
|
| 27 | -| Speed | Slower | Faster | |
|
| 28 | -| Efficiency | Lower (more friction) | Higher | |
|
| 29 | -| Terrain Handling | Superior on soft/uneven ground | Best on smooth/hard ground | |
|
| 30 | -| Weight Support | High | Moderate | |
|
| 31 | -| Maintenance | More complex and expensive | Easier and cheaper | |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## BOMS |
|
| 35 | - |
|
| 36 | -Cogs |
|
| 37 | - |
|
| 38 | - |
|
| 39 | - |
|
| 40 | - |
|
| 41 | - |
|
| 42 | -Chains |
|
| 43 | - |
|
| 44 | - |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -## guide |
|
| 48 | - |
|
| 49 | -- [tank #track disassemble and re-assemble](https://t.me/electrodragon3/371) |
|
| 50 | - |
|
| 51 | - |
|
| 52 | -## ref |
|
| 53 | - |
|
| 54 | -- [[robot-dat]] - [[tank-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/UAV-dat/UAV-dat.md
| ... | ... | @@ -1,46 +0,0 @@ |
| 1 | - |
|
| 2 | -# UAV-dat |
|
| 3 | - |
|
| 4 | -A UAV stands for Unmanned Aerial Vehicle. It's an aircraft without a human pilot on board, controlled remotely or autonomously. They are also commonly known as drones. |
|
| 5 | - |
|
| 6 | -- [[betaflight-dat]] - [[ArduPilot-dat]] |
|
| 7 | - |
|
| 8 | -- [[FPV-dat]] |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | -## fixed-wing UAV |
|
| 13 | - |
|
| 14 | -### Talon 1400 Overview |
|
| 15 | - |
|
| 16 | -#### What is the Talon 1400? |
|
| 17 | -The **Talon 1400** is a high-performance, **3D-printed unmanned aerial vehicle (UAV)** developed by Flightory. It is optimized for long-range and efficient flight. |
|
| 18 | - |
|
| 19 | -##### Specifications: |
|
| 20 | -- **Wingspan:** 1,305 mm |
|
| 21 | -- **Length:** 830 mm |
|
| 22 | -- **Flight Time:** Up to 4 hours (with large Li-Ion 4S6P battery) |
|
| 23 | -- **Materials:** LW-PLA and PETG |
|
| 24 | -- **Airfoil:** Eppler E205 |
|
| 25 | -- **Optimal Cruise Speed:** 55-65 km/h |
|
| 26 | - |
|
| 27 | -#### Is It Betaflight-Based? |
|
| 28 | - |
|
| 29 | -**No**, the Talon 1400 is **not** based on Betaflight. Since it is a **fixed-wing UAV**, it is more suited for **autonomous flight controllers** rather than Betaflight, which is designed for FPV racing drones. |
|
| 30 | - |
|
| 31 | -##### Recommended Flight Controllers: |
|
| 32 | - |
|
| 33 | -- **Mateksys F405-Wing / F765-Wing** |
|
| 34 | -- **Pixhawk (PX4 or ArduPilot firmware)** |
|
| 35 | -- **Holybro Kakute F7 / H743-Wing** |
|
| 36 | - |
|
| 37 | -These controllers support **GPS navigation, waypoint missions, and return-to-home (RTH)**, making them better suited for long-range operations. |
|
| 38 | - |
|
| 39 | -#### Resources: |
|
| 40 | - |
|
| 41 | -- [Flying a 3D Printed Fixed Wing Drone | Talon 1400 V2](https://www.youtube.com/watch?v=2ngGgtw1sUw) |
|
| 42 | - |
|
| 43 | -- [Flightory Talon 1400 Official Page](https://flightory.com/product/talon-1400/) |
|
| 44 | -- [Talon 1400 Assembly Tutorial (YouTube)](https://www.youtube.com/watch?v=LGt_8F4e5r8) |
|
| 45 | - |
|
| 46 | - |
app-dat/RC-dat/airplane-dat/airplane-dat.md
| ... | ... | @@ -1,38 +0,0 @@ |
| 1 | - |
|
| 2 | -# airplane-dat |
|
| 3 | - |
|
| 4 | -## Channel 1: Aileron Action |
|
| 5 | - |
|
| 6 | -Control theright-and-left lean of the aircraft.To level the slantwise aircraft,youmust make |
|
| 7 | -thecontrol rod act inreverse direction.Otherwise,it will makethe aircraftoverturn. |
|
| 8 | - |
|
| 9 | -## Channel 2: Elevator Action |
|
| 10 | - |
|
| 11 | -Control the aerocraft to descend orascend.Pulling the control rod down will driveup the head, |
|
| 12 | -and the aeroplane will ascend.Boosting it upwill make thehead downhill,and the aeroplane |
|
| 13 | -willdescend. |
|
| 14 | - |
|
| 15 | -## Channel 3: Throttle Operation |
|
| 16 | - |
|
| 17 | -Control the power. Pulling the control rod down will minish down the power group, and boosting |
|
| 18 | -the control rod up will increase thepower group. |
|
| 19 | - |
|
| 20 | -## Channel 4: Rudder Action |
|
| 21 | - |
|
| 22 | -Control the swerve of the aerocraft. Turning the control rod to left will make the head of the |
|
| 23 | -aircraft turn left, and turning it to right will make the head turn right. |
|
| 24 | - |
|
| 25 | -## Channel 5: LandingGear/GyroAction |
|
| 26 | - |
|
| 27 | -This channel is for switch variable. It is a switch to control landing gear when used for airplane |
|
| 28 | -state, but it will be a switch for gyroscope when used for helicopter. |
|
| 29 | - |
|
| 30 | -## Channel 6: Screw-pitch/Flaperon Action |
|
| 31 | - |
|
| 32 | -The angle adjustingof the flaperon isfor the airplane state,and the adjustingof themain |
|
| 33 | -screw-pitch is forhelicopter state. |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -## ref |
|
| 37 | - |
|
| 38 | -- [[RC-dat]] - [[airplane]] - [[RC]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/flight-controller-dat/2025-05-28-16-21-09.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/2025-05-28-16-21-09.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/CRAZYBEEF4SX1280-dat/CRAZYBEEF4SX1280-dat.md
| ... | ... | @@ -1,5 +0,0 @@ |
| 1 | - |
|
| 2 | -# CRAZYBEEF4SX1280-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -== [[X12-dat]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-36.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-36.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-44.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-44.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-54.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-50-54.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-52-03.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-52-03.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-53-21.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-05-30-12-53-21.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-14.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-14.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-23.png
| ... | ... | Binary files a/app-dat/RC-dat/flight-controller-dat/X12-dat/2025-09-03-14-17-23.png and /dev/null differ |
app-dat/RC-dat/flight-controller-dat/X12-dat/X12-dat.md
| ... | ... | @@ -1,108 +0,0 @@ |
| 1 | - |
|
| 2 | -# X12-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | - |
|
| 7 | - |
|
| 8 | -## X12 ELRS V2.2 |
|
| 9 | - |
|
| 10 | - |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | -## Version |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -## Info |
|
| 26 | -# X12-dat |
|
| 27 | - |
|
| 28 | -- **Product Name:** X12 AIO 5-IN-1 Flight controller built-in 12A ESC and OPENVTX |
|
| 29 | -- **Brand Name:** Happymodel |
|
| 30 | -- **Overview:** |
|
| 31 | - - The world's first 5-IN-1 AIO flight controller. |
|
| 32 | - - Features OPENVTX (up to 400mW), 12A Brushless Blheli_S ESC, and Betaflight OSD. |
|
| 33 | - - It comes with an onboard SPI ELRS receiver which supports ELRS TX module 2.x firmware. |
|
| 34 | - - It also provides other receiver options like SPI Frsky receiver which support Frsky D8/D16, REDPINE, and SFHSS. |
|
| 35 | - - This is an amazing flight controller for Brushless whoop. You could get unbelievable RX and VTX range by using this flight controller. |
|
| 36 | -- **General Specifications:** |
|
| 37 | - - VTX antenna: U.FL |
|
| 38 | - - Weight: 5.1g |
|
| 39 | - - Size: 30mm*30mm*8mm |
|
| 40 | - |
|
| 41 | -## Flight Controller Details |
|
| 42 | - |
|
| 43 | -- **Betaflight Firmware Targets:** |
|
| 44 | - - ELRS Version: CRAZYBEEF4SX1280 |
|
| 45 | - - FRSKY Version: CRAZYBEEF4FR |
|
| 46 | - - PNP Version: CRAZYBEEF4DX |
|
| 47 | - - LITE Version: CRAZYBEEF4SX1280 |
|
| 48 | -- **Specific Versions & Targets:** |
|
| 49 | - - X12 ELRS V2.0 flight controller built-in ELRS 2.4G receiver Target: CRAZYBEEF4SX1280 |
|
| 50 | - - X12 Frsky V1.0 flight controller built-in FRSKY 2.4G receiver Target: CRAZYBEEF4FR |
|
| 51 | - - X12 PNP V1.0 flight controller without onboard receiver Target: CRAZYBEEF4DX |
|
| 52 | - - X12 LITE V1.0 flight controller built-in ELRS 2.4G receiver Target: CRAZYBEEF4SX1280 |
|
| 53 | -- **MCU:** STM32F411CEU6 (100MHZ, 512K FLASH) |
|
| 54 | -- **Sensor:** MPU6000 or ICM20689 or BMI270 (SPI connection) |
|
| 55 | -- **Mounting hole size:** 25.5mm*25.5mm |
|
| 56 | -- **Power supply:** 1-2S battery input (DC 2.9V-8.7V) |
|
| 57 | -- **Built-in Features:** |
|
| 58 | - - 12A (each) Blheli_S 4in1 ESC |
|
| 59 | - - Betaflight OSD (SPI Control) |
|
| 60 | - - 5.8G OpenVTX (0mW~400mW) |
|
| 61 | - - ExpressLRS 2.4G, Frsky D8/D16 |
|
| 62 | - - Voltage meter sensor (voltage meter scale 110) |
|
| 63 | - - Current meter sensor (current meter scale 470) |
|
| 64 | - |
|
| 65 | -## Onboard 4in1 ESC |
|
| 66 | - |
|
| 67 | -- **Power supply:** 1-2S LiPo/LiPo HV |
|
| 68 | -- **Current:** 12A continuous, peak 15A (3 seconds) |
|
| 69 | -- **Programmability:** Supports BLHeliSuite |
|
| 70 | -- **Factory firmware:** Z_H_30_REV16_7.HEX |
|
| 71 | -- **Default protocol:** DSHOT300 |
|
| 72 | -- **Bluejay Firmware Support:** |
|
| 73 | - - Supports Bluejay firmware. |
|
| 74 | - - When using Bluejay firmware with 48kHz, startup power should be set to 1100/1200. |
|
| 75 | - |
|
| 76 | -## Onboard SPI ExpressLRS 2.4GHz Receiver |
|
| 77 | - |
|
| 78 | -- **Packet Rate options:** 50Hz/150Hz/250Hz/500Hz |
|
| 79 | -- **ExpressLRS Firmware version:** V2.0 |
|
| 80 | -- **RF Frequency:** 2.4GHz |
|
| 81 | -- **Antenna:** SMD antenna |
|
| 82 | -- **Telemetry output Power:** <12dBm |
|
| 83 | -- **Receiver protocol:** SPI ExpressLRS |
|
| 84 | -- **Compatibility:** Compatible with ExpressLRS V2.0 TX Module |
|
| 85 | -- **Firmware Flashing:** Cannot flash ExpressLRS firmware separately. |
|
| 86 | - |
|
| 87 | -## Onboard Frsky SPI D8/D16 Receiver Version |
|
| 88 | - |
|
| 89 | -- **Receiver Type:** SPI BUS receiver |
|
| 90 | -- **RF Chip:** CC2500 RF |
|
| 91 | -- **Compatibility:** Compatible with Non-EU transmitter D8 model |
|
| 92 | -- **Channels:** 8ch |
|
| 93 | -- **Range:** No ground interference (Transmitter and receiver 1m from the ground): 200 meters |
|
| 94 | -- **Failsafe:** Failsafe support |
|
| 95 | -- **Supported Protocols:** Frsky D8/D16, Redpine, SFHSS |
|
| 96 | - |
|
| 97 | -## Onboard 5.8g OPENVTX |
|
| 98 | - |
|
| 99 | -- **Firmware version:** OPENVTX |
|
| 100 | -- **Smartaudio:** v2.1 |
|
| 101 | -- **Modes:** |
|
| 102 | - - PIT Mode support |
|
| 103 | - - RCE Mode support |
|
| 104 | -- **Channels:** 48ch |
|
| 105 | -- **Transmitting Power:** 0/RCE/25mW/100mW/400mW |
|
| 106 | -- **Power supply:** DC 5V |
|
| 107 | -- **Current (5V):** <650mA (at 400mW) |
|
| 108 | -- **Antenna connector:** U.FL |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/flight-controller-dat/flight-controller-dat.md
| ... | ... | @@ -1,31 +0,0 @@ |
| 1 | - |
|
| 2 | -# flight-controller-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | - |
|
| 6 | -- **Flight Controller**: The brain of the drone, responsible for stabilizing and controlling the flight. It processes data from sensors and executes commands from the pilot or autopilot system. |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | - |
|
| 11 | -ALL-in-One Option |
|
| 12 | - |
|
| 13 | -- [[ELRS-dat]] - [[radio-dat]] |
|
| 14 | -- [[Flight-controller-dat]] |
|
| 15 | -- [[ESC-dat]] - [[motor-FPV-dat]] |
|
| 16 | -- [[VTX-dat]] - [[camera-dat]] |
|
| 17 | - |
|
| 18 | -- [[X12-dat]] - [[CRAZYBEEF4SX1280-dat]] |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | -## FC AIO = flight controller all in one |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -## ref |
|
| 29 | - |
|
| 30 | -- [[motor-dat]] - [[VTX-dat]] |
|
| 31 | - |
app-dat/RC-dat/quadcopter-dat/2025-01-29-17-12-32.png
| ... | ... | Binary files a/app-dat/RC-dat/quadcopter-dat/2025-01-29-17-12-32.png and /dev/null differ |
app-dat/RC-dat/quadcopter-dat/quadcopter-dat.md
| ... | ... | @@ -1,67 +0,0 @@ |
| 1 | - |
|
| 2 | -# quadcopter-dat |
|
| 3 | - |
|
| 4 | -- [[Coreless-Motor-dat]] - [[motor-dat]] |
|
| 5 | - |
|
| 6 | - |
|
| 7 | -## opensource |
|
| 8 | - |
|
| 9 | -### cleanfight |
|
| 10 | - |
|
| 11 | -https://github.com/cleanflight/cleanflight |
|
| 12 | - |
|
| 13 | -https://github.com/cleanflight/cleanflight/tree/master/docs |
|
| 14 | - |
|
| 15 | -https://cleanflight.com/ |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -### Openpilot |
|
| 19 | - |
|
| 20 | -## Commerial |
|
| 21 | - |
|
| 22 | -### CJMCU |
|
| 23 | - |
|
| 24 | - |
|
| 25 | - |
|
| 26 | -- https://www.rcgroups.com/forums/showthread.php?2456739-Openpilot-port-to-CJMCU-stm32-quadcopter |
|
| 27 | - |
|
| 28 | -- https://oscarliang.com/build-fpv-micro-quadcopter-smallest-quad/ |
|
| 29 | - |
|
| 30 | -#### new version from https://aeracoop.net/cjmcu2-open-source-brushed-quadcopter/ |
|
| 31 | - |
|
| 32 | -https://github.com/Edragon/cjmcu2 |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | -## BOM |
|
| 37 | - |
|
| 38 | -### receiver |
|
| 39 | - |
|
| 40 | -- [DT 2.4GHz Receivers](https://www.deltang.co.uk/) |
|
| 41 | - |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -### props |
|
| 45 | - |
|
| 46 | - |
|
| 47 | -### motors |
|
| 48 | - |
|
| 49 | - |
|
| 50 | -### motor drive |
|
| 51 | - |
|
| 52 | -- [[mosfet-dat]] |
|
| 53 | - |
|
| 54 | -## forum |
|
| 55 | - |
|
| 56 | -- http://www.multiwii.com/forum |
|
| 57 | -- https://www.rcgroups.com/forums |
|
| 58 | - |
|
| 59 | - |
|
| 60 | - |
|
| 61 | -## hexquadcopter |
|
| 62 | - |
|
| 63 | -- http://www.multiwii.com/forum/viewtopic.php?f=12&t=4893&p=53317#p53317 |
|
| 64 | - |
|
| 65 | -## ref |
|
| 66 | - |
|
| 67 | -- [[quadcopter]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/rover-dat/2025-05-23-15-11-02.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/2025-05-23-15-11-02.png and /dev/null differ |
app-dat/RC-dat/rover-dat/2025-06-15-12-56-47.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/2025-06-15-12-56-47.png and /dev/null differ |
app-dat/RC-dat/rover-dat/2025-06-15-13-03-31.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/2025-06-15-13-03-31.png and /dev/null differ |
app-dat/RC-dat/rover-dat/2025-06-15-14-10-56.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/2025-06-15-14-10-56.png and /dev/null differ |
app-dat/RC-dat/rover-dat/2025-06-15-14-22-34.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/2025-06-15-14-22-34.png and /dev/null differ |
app-dat/RC-dat/rover-dat/app-remote-rover-dat/app-remote-rover-dat.md
| ... | ... | @@ -1,7 +0,0 @@ |
| 1 | - |
|
| 2 | -# app-remote-rover-dat |
|
| 3 | - |
|
| 4 | -## features |
|
| 5 | - |
|
| 6 | -- automatically cutoff power when rover is not in use |
|
| 7 | -- automatically power on rover when remote is in use |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-00-18.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-00-18.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-00-49.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-00-49.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-01-11.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-01-11.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-02-19.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-25-15-02-19.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-28-18-44-53.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/2025-03-28-18-44-53.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/RC-car-dat.md
| ... | ... | @@ -1,49 +0,0 @@ |
| 1 | - |
|
| 2 | -# RC-car-dat |
|
| 3 | - |
|
| 4 | -- [[video-RC-car-dat]] |
|
| 5 | - |
|
| 6 | -basic [[tech-dat]] - [[robot-dat]] |
|
| 7 | - |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## Tracked robot platform |
|
| 11 | - |
|
| 12 | - |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | -## tricycle / four-wheels platform |
|
| 22 | - |
|
| 23 | - |
|
| 24 | - |
|
| 25 | -tricycle |
|
| 26 | - |
|
| 27 | -Four-wheel two-drive car |
|
| 28 | - |
|
| 29 | -Four-wheel drive car |
|
| 30 | - |
|
| 31 | -Omnidirectional four-wheel two-wheel drive car |
|
| 32 | - |
|
| 33 | - |
|
| 34 | -## other |
|
| 35 | - |
|
| 36 | -### robot tank with camera |
|
| 37 | - |
|
| 38 | -- https://github.com/YahboomTechnology/Raspberry-pi-G1-Tank |
|
| 39 | - |
|
| 40 | - |
|
| 41 | -## read |
|
| 42 | - |
|
| 43 | -- [Tear down and Learn a good-build $20 RC Toy Car](https://www.electrodragon.com/disassemble-and-learn-a-good-build-20-rc-toy-car/) |
|
| 44 | - |
|
| 45 | -## ref |
|
| 46 | - |
|
| 47 | -- [[motor-dat]] |
|
| 48 | - |
|
| 49 | -- [[RC-car]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/rover-dat/rc-car-dat/rc-car-hack-dat/2025-05-12-18-37-13.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/rc-car-hack-dat/2025-05-12-18-37-13.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/rc-car-hack-dat/rc-car-hack-dat.md
| ... | ... | @@ -1,44 +0,0 @@ |
| 1 | - |
|
| 2 | -# rc-car-hack-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -## 1. battery Enlargement |
|
| 6 | - |
|
| 7 | -- [[li-battery-dat]] - [[battery-pack-dat]] |
|
| 8 | - |
|
| 9 | - |
|
| 10 | -## 2. RC Signal Extension |
|
| 11 | - |
|
| 12 | -- improve up to 10KM by [[FPV-dat]] system [[ELRS-dat]], or [[PPM-dat]] == [[Wfly-dat]] |
|
| 13 | - |
|
| 14 | -- [[antenna-dat]] |
|
| 15 | - |
|
| 16 | -- control system - try to hack by [[arduino-dat]] |
|
| 17 | - |
|
| 18 | -## 3. Imaging System |
|
| 19 | - |
|
| 20 | -- [[video-transmission-dat]] == pickup option == [[LTE-dat]] |
|
| 21 | - |
|
| 22 | - |
|
| 23 | -## 4. GNSS location system |
|
| 24 | - |
|
| 25 | -- [[location-dat]] |
|
| 26 | - |
|
| 27 | - |
|
| 28 | -## other fancy functions |
|
| 29 | - |
|
| 30 | -- [[WS2812-dat]] |
|
| 31 | - |
|
| 32 | - |
|
| 33 | - |
|
| 34 | - |
|
| 35 | -## Accessories |
|
| 36 | - |
|
| 37 | -- [[Velcro-dat]] |
|
| 38 | - |
|
| 39 | - |
|
| 40 | -## Get Inpsired |
|
| 41 | - |
|
| 42 | -The battery can be put in your top luggage rack |
|
| 43 | - |
|
| 44 | - |
app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-43-46.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-43-46.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-15.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-15.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-28.png
| ... | ... | Binary files a/app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/2025-03-25-14-48-28.png and /dev/null differ |
app-dat/RC-dat/rover-dat/rc-car-dat/video-rc-car-dat/video-RC-car-dat.md
| ... | ... | @@ -1,36 +0,0 @@ |
| 1 | - |
|
| 2 | -# video-RC-car-dat |
|
| 3 | - |
|
| 4 | - |
|
| 5 | -[[tech-dat]] - [[Camera-dat]] - [[rc-car-dat]] - [[video-transmission-dat]] - [[robot-dat]] |
|
| 6 | - |
|
| 7 | -- [[rc-car-hack-dat]] |
|
| 8 | - |
|
| 9 | -## Demos |
|
| 10 | - |
|
| 11 | -### based on cable [[fiber-optic-dat]] |
|
| 12 | - |
|
| 13 | -#### demos 1 |
|
| 14 | - |
|
| 15 | -up to 100 meters |
|
| 16 | - |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | - |
|
| 21 | - |
|
| 22 | - |
|
| 23 | - |
|
| 24 | -#### demo video 2 |
|
| 25 | - |
|
| 26 | -- https://t.me/electrodragon3/334 |
|
| 27 | - |
|
| 28 | -### Wireless |
|
| 29 | - |
|
| 30 | -- [[video-transmission-dat]] |
|
| 31 | - |
|
| 32 | -## ref |
|
| 33 | - |
|
| 34 | -- [[video-RC-car]] - [[RC-car]] - [[video-transmission]] |
|
| 35 | - |
|
| 36 | -- [[camera]] |
|
| ... | ... | \ No newline at end of file |
app-dat/RC-dat/rover-dat/rover-dat.md
| ... | ... | @@ -1,88 +0,0 @@ |
| 1 | - |
|
| 2 | -# rover-dat |
|
| 3 | - |
|
| 4 | -- [[ardupilot-dat]] - [[rc-dat]] |
|
| 5 | - |
|
| 6 | -https://ardupilot.org/rover/index.html |
|
| 7 | - |
|
| 8 | -- [[RC-car-dat]] - [[rover-dat]] - [[RC-car-hack-dat]] |
|
| 9 | - |
|
| 10 | -- [[rc-signal-dat]] |
|
| 11 | - |
|
| 12 | -- ARKV6X Flight Controller Overview |
|
| 13 | -- ARK FPV Flight Controller Overview == STM32H743IIK6 MCU |
|
| 14 | -- CUAV V5 Plus Overview == STM32F765 |
|
| 15 | - |
|
| 16 | -- [[motor-rover-dat]] |
|
| 17 | - |
|
| 18 | - |
|
| 19 | - |
|
| 20 | -## boards |
|
| 21 | - |
|
| 22 | -- [[SDR1064-dat]] |
|
| 23 | - |
|
| 24 | -## Rover Version |
|
| 25 | - |
|
| 26 | -Very basic version |
|
| 27 | - |
|
| 28 | -including functions == [[ultrasonic-sensor-dat]], [[interactive-dat]] - [[infrared-dat]] - [[line-finder-dat]] - [[MCU-dat]] - [[chassis-dat]] - [[cad-dat]] - [[wheels-dat]] - [[PCB-accesories-dat]] |
|
| 29 | - |
|
| 30 | - |
|
| 31 | - |
|
| 32 | -plastic chassis 4WD |
|
| 33 | - |
|
| 34 | - |
|
| 35 | - |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - |
|
| 39 | -basic demo code 1 here == [[RC-code-dat]] |
|
| 40 | - |
|
| 41 | - |
|
| 42 | - |
|
| 43 | -## code |
|
| 44 | - |
|
| 45 | -- [[RC-code-dat]] |
|
| 46 | -## 3D printed |
|
| 47 | - |
|
| 48 | -- [[markus-rover-dat]] |
|
| 49 | - |
|
| 50 | - |
|
| 51 | -### 3D files |
|
| 52 | - |
|
| 53 | - |
|
| 54 | - |
|
| 55 | -[differential drive robot](https://cad.onshape.com/documents/78baf3d450629341539223b8/w/67b1d15167c8efd1d8242192/e/0e64a58d61cf14a49375d9c6?renderMode=0&uiState=68301fdbbe87bf505c7cb858) |
|
| 56 | - |
|
| 57 | -[TT Motor 4WD Car Mecanum wheel](https://cad.onshape.com/documents/ffe6ad9ac868a2e0b125a547/w/06961ea3665cb10f47c1f6fe/e/c6b6790270216188fea6ddec?renderMode=0&uiState=6830205c37d051363fada807) |
|
| 58 | - |
|
| 59 | -[Another TT Motor 4WD Car Mecanum wheel](https://cad.onshape.com/documents/3fc9a68709b7b211c126b7b0/w/fd59e3cfbe0cf012d3264ef8/e/f35859a1e063a8642be26811?renderMode=0&uiState=68302088624d574aaab00cc0) |
|
| 60 | - |
|
| 61 | - |
|
| 62 | -## board |
|
| 63 | - |
|
| 64 | -- [[SDR1064-dat]] |
|
| 65 | - |
|
| 66 | -chip based [[PCA9685-dat]], [[L293-dat]], [[L298-dat]], [[TB6612-dat]] see more at [[motor-driver-dat]] |
|
| 67 | - |
|
| 68 | -Parts - [[TT-motor-dat]] - [[mecanum-wheel-dat]] |
|
| 69 | - |
|
| 70 | - |
|
| 71 | -## Rover Price and BOM cost 4WD |
|
| 72 | - |
|
| 73 | -- 4x 125mm [[wheel-dat]] plus [[shaft-connector-dat]] = 4x $3 == $12 |
|
| 74 | -- 4x 100KG [[reduction-gear-motor-dat]] == 4x $11 = $44 |
|
| 75 | -- [[sheet-dat]] built frame == $5 |
|
| 76 | -- 4x [[motor-driver-dat]] plus [[MCU-dat]] == 4x $2 + 1x $2 == $10 |
|
| 77 | -- 1x [[battery-dat]] == $5 |
|
| 78 | -- 1x [[battery-charger-dat]] == $1 |
|
| 79 | - |
|
| 80 | -subtotal == $77 |
|
| 81 | - |
|
| 82 | -## ref |
|
| 83 | - |
|
| 84 | -- [[dc-motor-dat]] - [[motor-driver-dat]] - [[motor-dat]] - [[servo-dat]] |
|
| 85 | - |
|
| 86 | -- [[motor-rover-dat]] |
|
| 87 | - |
|
| 88 | -- [[rc-car]] - [[maker]] |
|
| ... | ... | \ No newline at end of file |