48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
# Getting started
|
|
|
|
Using LibreTuya is simple, just like every other PlatformIO development platform.
|
|
|
|
1. [Install PlatformIO](https://platformio.org/platformio-ide)
|
|
2. `platformio platform install -f https://github.com/kuba2k2/libretuya`
|
|
|
|
## Board selection
|
|
|
|
- Go to [Boards & CPU list](../status/supported.md).
|
|
- Find the board your device has (usually, the model number is written on the silkscreen).
|
|
- If your board isn't available yet, use one of the "Generic" boards that matches the CPU you have.
|
|
- Click on the board name. From the documentation page, note the board code.
|
|
- Use this code to create a PlatformIO project.
|
|
|
|
## Run community projects
|
|
|
|
LibreTuya was developed with popular community projects in mind. Currently, unofficial [ESPHome port](../projects/esphome.md) is available ([the PR](https://github.com/esphome/esphome/pull/3509) will hopefully be merged into upstream at some point).
|
|
|
|
## Develop your own project
|
|
|
|
If you're developing your own embedded software, and want it to run on LibreTuya-supported chips, create a project.
|
|
|
|
- use PlatformIO IDE (PIO Home -> Open -> New Project)
|
|
- run `pio project init` in your desired project directory
|
|
|
|
Next, read one of the [flashing guides](../flashing/SUMMARY.md) to run your project!
|
|
|
|
### LT configuration
|
|
|
|
LibreTuya has a few configuration options that change its behavior or features. Refer to [LT configuration](../reference/config.md) for details.
|
|
|
|
### GPIO usage
|
|
|
|
!!! important
|
|
This can be confusing at first, so make sure to read this part carefully to understand it.
|
|
|
|
Input/output pin numbers in Arduino code (i.e. `digitalWrite()`) use Arduino pin numbers - for example `D1`, `D3`. This is the same as simply `1` or `3`, but it cannot be confused with CPU GPIO numbers.
|
|
|
|
On the board pinout page, the purple blocks represent Arduino pins, while the dark red blocks refer to GPIO numbers.
|
|
|
|
### Examples
|
|
|
|
{%
|
|
include-markdown "../../examples/SUMMARY.md"
|
|
start="# Examples\n"
|
|
%}
|