|
1 | | -https://belenseptian.github.io/RS485LP/ |
| 1 | +# RS485LP (Low Power RS485 Node) |
| 2 | + |
| 3 | +[](https://www.gnu.org/licenses/gpl-3.0) |
| 4 | +[](https://platformio.org/) |
| 5 | + |
| 6 | +**RS485LP** is a specialized hardware and software solution designed for low-power, long-distance communication. This project provides a custom PCB design and optimized firmware for RS485 nodes, making it ideal for battery-powered industrial sensors or remote monitoring systems. |
| 7 | + |
| 8 | +🔗 **Official Project Website:** [https://belenseptian.github.io/RS485LP/](https://belenseptian.github.io/RS485LP/) |
| 9 | + |
| 10 | +----- |
| 11 | + |
| 12 | +## 🚀 Features |
| 13 | + |
| 14 | + * **Low Power Design:** Optimized for deep-sleep modes and minimal current draw during idle. |
| 15 | + * **RS485 Protocol:** Reliable differential signaling for long-range data transmission. |
| 16 | + * **PlatformIO Integrated:** Easy-to-compile and upload firmware using VS Code. |
| 17 | + * **Compact Form Factor:** Small PCB footprint suitable for tight enclosures. |
| 18 | + |
| 19 | +----- |
| 20 | + |
| 21 | +## 🛠 Hardware Fabrication |
| 22 | + |
| 23 | +### 1\. Obtain Gerber Files |
| 24 | + |
| 25 | +To manufacture the PCB, you need the Gerber files located in the `hardware/` directory of this repository. |
| 26 | + |
| 27 | +1. Download the `Gerber_RS485LP.zip` file. |
| 28 | +2. If you want to modify the design, source files for [KiCad/EasyEDA] are also provided. |
| 29 | + |
| 30 | +### 2\. Ordering from PCBWay (or similar) |
| 31 | + |
| 32 | +1. Go to [PCBWay](https://www.pcbway.com/) and select **PCB Instant Quote**. |
| 33 | +2. Click **Add Gerber File** and upload the `.zip` folder. |
| 34 | +3. Use the following standard settings: |
| 35 | + * **Material:** FR-4 |
| 36 | + * **Thickness:** 1.6mm |
| 37 | + * **Copper Weight:** 1oz |
| 38 | + * **Solder Mask:** [Choose your color] |
| 39 | +4. Submit the order and wait for delivery. |
| 40 | + |
| 41 | +----- |
| 42 | + |
| 43 | +## 💻 Software Setup |
| 44 | + |
| 45 | +This project uses **PlatformIO** inside **Visual Studio Code**. |
| 46 | + |
| 47 | +### Prerequisites |
| 48 | + |
| 49 | + * **VS Code:** [Download here](https://code.visualstudio.com/) |
| 50 | + * **PlatformIO IDE Extension:** Install this via the VS Code Extensions marketplace. |
| 51 | + |
| 52 | +### Project Installation |
| 53 | + |
| 54 | +1. Clone the repository: |
| 55 | + ```bash |
| 56 | + git clone https://github.com/belenseptian/RS485LP.git |
| 57 | + ``` |
| 58 | +2. Open VS Code. |
| 59 | +3. Go to **PlatformIO Home** \> **Open Project**. |
| 60 | +4. Navigate to the folder where you cloned the repo and select it. |
| 61 | + |
| 62 | +----- |
| 63 | + |
| 64 | +## 📤 Uploading Testing Code |
| 65 | + |
| 66 | +1. **Connect Hardware:** Connect your board to your computer using a USB-to-Serial adapter. |
| 67 | +2. **Configure Environment:** Check the `platformio.ini` file to ensure the `board` and `framework` match your hardware version. |
| 68 | +3. **Build:** Click the **Checkmark (✅)** icon in the bottom status bar to compile the firmware. |
| 69 | +4. **Upload:** Click the **Arrow (➡️)** icon to flash the code to the board. |
| 70 | +5. **Monitor:** Open the **Serial Monitor (🔌)** to view debug output. Set the baud rate to `115200` (or as specified in the code). |
| 71 | + |
| 72 | +----- |
| 73 | + |
| 74 | +## 🔌 Wiring Diagram |
| 75 | + |
| 76 | +| Pin Name | Description | Connection | |
| 77 | +| :--- | :--- | :--- | |
| 78 | +| **VCC** | Power Input | 3.3V / 5V (Depends on Version) | |
| 79 | +| **GND** | Ground | Ground | |
| 80 | +| **A** | RS485 Data+ | Connect to Bus A | |
| 81 | +| **B** | RS485 Data- | Connect to Bus B | |
| 82 | + |
| 83 | +----- |
| 84 | + |
| 85 | +## 📂 Project Structure |
| 86 | + |
| 87 | +```text |
| 88 | +RS485LP/ |
| 89 | +├── firmware/ # PlatformIO project files |
| 90 | +│ ├── src/ # Main application code |
| 91 | +│ └── platformio.ini # Project configuration |
| 92 | +├── hardware/ # PCB design files and Gerbers |
| 93 | +├── docs/ # Datasheets and additional documentation |
| 94 | +└── README.md # This file |
| 95 | +``` |
| 96 | + |
| 97 | +----- |
| 98 | + |
| 99 | +## 📜 License |
| 100 | + |
| 101 | +This project is licensed under the **GNU General Public License v3.0** - see the [LICENSE](https://www.google.com/search?q=LICENSE) file for details. |
| 102 | + |
| 103 | +## 🤝 Contributing |
| 104 | + |
| 105 | +Contributions are welcome\! If you have suggestions for power optimization or new features, feel free to open an **Issue** or submit a **Pull Request**. |
| 106 | + |
| 107 | +----- |
| 108 | + |
| 109 | +**Developed by [Belen Septian](https://www.google.com/search?q=https://github.com/belenseptian)** |
0 commit comments