Skip to content

Commit

Permalink
ch-ch-ch-ch-chaaaanges
Browse files Browse the repository at this point in the history
  • Loading branch information
blakadder committed Nov 24, 2019
1 parent bf1f8a7 commit 8b6c278
Show file tree
Hide file tree
Showing 37 changed files with 591 additions and 351 deletions.
16 changes: 12 additions & 4 deletions Expanding-Tasmota.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
You can wire peripherals (sensors, displays, switches, LED lights, ...) to available pins of the [ESP8266](https://en.wikipedia.org/wiki/ESP8266) chip that controls these devices.

> To make a link between the different naming schemes the [Pin Definition overview](https://github.com/esp8266/esp8266-wiki/wiki/Pin-definition) in the ESP8266 wiki is quite helpful.
## Examples
#### Connect switch
If you take a Sonoff Basic and connect a switch between pin4 (GND) and pin5 (GPIO14) of the 5 pin programming header you now have a second switch connected to the device. You can set this through the module config page as option `Switch1 (9)` or from the command line with `gpio14 9`.
Expand All @@ -19,18 +20,24 @@ R3 | 4 | 3.3V

You can then plug a sensor into the jack like you would to a [Sonoff TH](Sonoff-TH) and define what sensor you have connected to GPIO14.

# :red_circle: Restrictions

# Restrictions
> [!DANGER]
If you can avoid it, don't use GPIOs: **0, 1, 2, 6-11, 15 and 16**. That leaves **4, 5, 12, 13, 14** as GPIOs without any constraints. **3** being RX is also good to avoid (PWM is not working on this GPIO).

Others ***can*** be used but you have to mind the constraints outlined in [this document](https://tttapa.github.io/ESP8266/Chap04%20-%20Microcontroller.html).

## :red_circle: Voltage and Current
## Voltage and Current
> [!DANGER]
The ESP8266 is a 3.3V microcontroller, so its I/O operates at 3.3V as well. The pins are **not** 5V tolerant, applying more than 3.6V on any pin will release the [magic smoke](https://en.wikipedia.org/wiki/Magic_smoke) (fry the chip).

The maximum current that can be drawn from a single GPIO pin is 12mA.

## :red_circle: Power Supply
## Power Supply
> [!DANGER]
The [power supplied to the device](https://www.letscontrolit.com/wiki/index.php?title=Power) is **one of the most important elements** for stable device operation. Many devices on the market have barely adequate power supplies for normal operation. ***Connected peripherals may strain the ability of the power supply on the device to deliver appropriate power to all the components, both on-board as well as externally connected.***

Voltage regulation issues typically result in fatal exception [fault code](https://github.com/esp8266/Arduino/blob/master/doc/exception_causes.rst) `1`. You must ensure that the device receives sufficient power (current **and** appropriate voltage level). Take into account the current that each wired component (f.e. sensor) will draw from the device itself.
Expand All @@ -54,7 +61,8 @@ Shielding or using twisted pair wiring are other ways to reduce the effect of ra
[Example for 10K Resistor](https://user-images.githubusercontent.com/35574450/39960640-8b2735ca-5626-11e8-8128-461b6d9976ad.png)
(issue[#2708](https://github.com/arendst/Tasmota/issues/2708#issuecomment-388574891))

# The ESP8266 [Hardware](https://tttapa.github.io/ESP8266/Chap04%20-%20Microcontroller.html)
# The ESP8266 Hardware
Complete document available from https://tttapa.github.io/ESP8266/Chap04%20-%20Microcontroller.html
## Digital I/O
Just like a normal Arduino, the ESP8266 has digital input/output pins (I/O or GPIO, General Purpose Input/Output pins). As the name implies, they can be used as digital inputs to read a digital voltage, or as digital outputs to output either 0V (sink current) or 3.3V (source current).

Expand Down
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ This is the repo for documentation of the Tasmota open source alternative firmwa

## Editing Files

Use strict markdown syntax
Use normal markdown syntax with some enhancements

## Enhancements

Expand Down Expand Up @@ -66,3 +66,22 @@ Ciao!
<!-- tabs:end -->
```

## Shields color codes

I2C:
<img src="https://img.shields.io/static/v1?label=&message=i2c&color=blue" style="float:right"> </img>

GPIO:
<img src="https://img.shields.io/static/v1?label=&message=gpio&color=purple" style="float:right"> </img>

ADC:
<img src="https://img.shields.io/static/v1?label=&message=adc&color=orange" style="float:right"> </img>

Serial:
<img src="https://img.shields.io/static/v1?label=&message=serial&color=seagreen" style="float:right"> </img>

Serial:
<img src="https://img.shields.io/static/v1?label=&message=spi&color=slategrey" style="float:right"> </img>

Tuya:
<img src="https://img.shields.io/static/v1?label=&message=tuya&color=orangered" style="float:right"> </img>
23 changes: 12 additions & 11 deletions Sensor-Configuration.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
> Read before continuing:
> &emsp;- [Components](Components)
> &emsp;- [Expanding Tasmota](Expanding-Tasmota)
?> Read before continuing:
&emsp;- [Components](Components)
&emsp;- [Expanding Tasmota](Expanding-Tasmota)

_**A peripheral must have correctly wired power, GND and data pins to the device prior to booting in order for Tasmota to detect it and initialize it properly.**_
> [!WARNING]
>A peripheral must have correctly wired power, GND and data pins to the device prior to booting in order for Tasmota to detect it and initialize it properly.
## Configuration in Tasmota
Tasmota allows for easy selection of peripherals (sensors, switches, etc) and configuration to GPIO pins.
## Tasmota Settings
<img src="https://user-images.githubusercontent.com/5904370/68432161-2a154700-01b4-11ea-8ba9-adb7b717490d.png" style="float:right;height:15em;margin:10px 0">
Tasmota allows for easy selection of peripherals (sensors, switches, etc) and assignment to GPIO pins.

Configuration is possible in the webUI ***Configuration - Configure Module*** page:
![image](https://user-images.githubusercontent.com/5904370/68432161-2a154700-01b4-11ea-8ba9-adb7b717490d.png)
Configuration is possible in the webUI ***Configuration - Configure Module*** page

or by using commands: [`Module`](Commands#module) and [`GPIO`](Commands#gpio), or [`Template`](Commands#template).

#### [`Module`](Commands#module)
**[`Module`](Commands#module)**
First select desired module for the device (Wait for the restart). Depending on the type of [Module](Modules), only certain GPIO pins are user configurable. Module Generic (18) has all the GPIOs configurable.

_[`Modules`](Commands#modules) shows supported modules_

#### [`GPIO`](Commands#gpio)
**[`GPIO`](Commands#gpio)**
Assign a [component](Components) to a GPIO.

- `gpio14 2` configures sensor AM2301 to GPIO14_
Expand All @@ -28,7 +29,7 @@ _[`Gpios All`](Commands#gpios) shows list of all available components by name an

**For a peripheral to show up you may need to power cycle your device instead of a soft restart.**

#### [`Template`](Commands#template)
**[`Template`](Commands#template)**
Instead of using `Module` and `GPIO` you can define all using `Template` [Read more...](Templates#template-configuration-with-commands)

## Additional Options
Expand Down
26 changes: 21 additions & 5 deletions Zigbee.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,27 @@ Before using Zigbee to Tasmota, you need to understand a few concepts. Here is a
### Zigbee Adapter
**You cannot use any CC2531 based device with Tasmota!**. CC2531 supports USB communication and not serial communication required by Zigbee2Tasmota.

|Device |Notes|
|---|---|
|**[CC2530 with PCB antenna, DL-20](https://www.aliexpress.com/item/32904763478.html)**<BR>[<img src="https://user-images.githubusercontent.com/34340210/67676080-29301a00-f957-11e9-8799-c819241e0b4c.png" width="240">](https://user-images.githubusercontent.com/34340210/67676080-29301a00-f957-11e9-8799-c819241e0b4c.png "CC2530 DL-20 Pin-outs")|Compact and cheap, but with limited range.|
|**[CC2530 with external antenna](https://www.aliexpress.com/item/33007098493.html)**<BR><img src="https://user-images.githubusercontent.com/49731213/64906209-c0ad1680-d6e3-11e9-8703-71ea36c5be72.jpg" width="240"><BR>or<BR><img src="https://user-images.githubusercontent.com/49731213/64913622-eec24300-d743-11e9-9416-0b19a4cbc3c4.jpg" width="240">|Better range.|
|**[CC2530 with external antenna and CC2591 RF front end](https://www.aliexpress.com/item/4000118023903.html)**<BR><img src="https://user-images.githubusercontent.com/49731213/64906219-f0f4b500-d6e3-11e9-8cd0-e135af531718.jpg" width="240">|Best range.<BR>Please note you need a specific firmware for CC2591 frontend.|
<table style="text-align:center; width: 80%;">
<col style="width:30%">
<col style="width:30%">
<col style="width:30%">
<tr>
<th><a href="https://www.aliexpress.com/item/32904763478.html"> CC2530 with PCB antenna, DL-20</a></th>
<th><a href="https://www.aliexpress.com/item/33007098493.html">CC2530 with external antenna</a></th>
<th><a href="https://www.aliexpress.com/item/4000118023903.html">CC2530 with external antenna and CC2591 RF front end</a></th>
</tr>
<tr>
<td>
<img src="https://user-images.githubusercontent.com/34340210/67676080-29301a00-f957-11e9-8799-c819241e0b4c.png" style="width:10em"></img>
</td>
<td>
<img src="https://user-images.githubusercontent.com/49731213/64906209-c0ad1680-d6e3-11e9-8703-71ea36c5be72.jpg" style="width:10em"></img>
</td>
<td>
<img src="https://user-images.githubusercontent.com/49731213/64906219-f0f4b500-d6e3-11e9-8cd0-e135af531718.jpg" style="width:10em"></img>
</td>
</tr>
</table>

### Wi-Fi Adapter
Using an ESP82xx device such as a Wemos D1 Mini or a NodeMCU to flash the CC2530 (described below) is a lower cost alternative than using a single purpose [CC_DEBUGGER](https://www.aliexpress.com/item/32869263224.html). When in normal operation, this ESP82xx device can then also serve as the Wi-Fi adapter for the Zigbee2Tasmota messaging.
Expand Down
2 changes: 1 addition & 1 deletion _coverpage.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@


[Documentation](Home)
[Get started!](/installation/)
[Get Started!](/installation/)
[GitHub](https://github.com/arendst/Tasmota)


Expand Down
56 changes: 28 additions & 28 deletions _sidebar.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
* **Features**
* [Upgrading](Upgrading)
* [MQTT](MQTT)
* [Commands](Commands)
* [Templates](Templates)
* [Modules](Modules)
* [Components](Components)
* [Rules](Rules)
* [Scripting](Scripting-Language)
* [Timers](Timers)
* [Buttons and Switches](Buttons-and-Switches)
* [Lights](Lights)
* [Status LEDs](Status-LED)
* [TuyaMCU](TuyaMCU)
* [Smart Home Integrations](/integrations/)
* [Peripherals](/peripherals/)
* [Commands](Commands)
* [Templates](Templates)
* [Modules](Modules)
* [Components](Components)
* [Rules](Rules)
* [Scripting](Scripting-Language)
* [Timers](Timers)
* [Buttons and Switches](Buttons-and-Switches)
* [Lights](Lights)
* [Status LEDs](Status-LED)
* [TuyaMCU](TuyaMCU)
* [Smart Home Integrations](/integrations/)
* [Peripherals](/peripherals/)
* [Zigbee](Zigbee)
* [Displays](Displays)
* [Blinds and Shutters](Blinds-and-Shutters)
* [Power Monitoring Calibration](Power-Monitoring-Calibration)
* [TLS](TLS)
* [Web UI](WebUI)
* [Supported Modules](/devices/)
* **Useful Topics**
* [Cool Projects](Cool-Projects)
* [Securing Your Setup](Securing-your-IoT-from-hacking)
* [Tutorials](Tutorials)
* [Energy Saving](Energy-Saving)
* [Theo'sTips](Tips)
* [What's New!](What's-New)
* [How to Contribute?](Contributing)
* [For Developers](For-Developers)
* [Displays](Displays)
* [Blinds and Shutters](Blinds-and-Shutters)
* [Power Monitoring Calibration](Power-Monitoring-Calibration)
* [TLS](TLS)
* [Web UI](WebUI)
* [Supported Modules](/devices/)
**Useful Topics**
* [Cool Projects](Cool-Projects)
* [Securing Your Setup](Securing-your-IoT-from-hacking)
* [Tutorials](Tutorials)
* [Energy Saving](Energy-Saving)
* [Theo'sTips](Tips)
* [What's New!](What's-New)
* [How to Contribute?](Contributing)
* [For Developers](For-Developers)
114 changes: 57 additions & 57 deletions devices/_sidebar.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,57 @@
* **Supported Modules**
* [Sonoff 4CH](devices/Sonoff-4CH)
* [Sonoff 4CH Pro](devices/Sonoff-4CH-Pro)
* [Sonoff 4CH DIY](devices/Sonoff-4CH-DIY)
* [Sonoff B1 / B1 R2](devices/Sonoff-B1)
* [Sonoff Basic](devices/Sonoff-Basic)
* [Sonoff Basic R3](devices/Sonoff-DIY)
* [Sonoff Dual](devices/Sonoff-Dual)
* [Sonoff Dual R2](devices/sonoff-dual-R2)
* [Sonoff iFan02](devices/Sonoff-iFan02)
* [Sonoff iFan03](devices/Sonoff-iFan03)
* [Sonoff Mini](devices/Sonoff-Mini)
* [Sonoff Pow](devices/sonoff-pow)
* [Sonoff Pow R2](devices/sonoff-Pow-R2)
* [Sonoff PSA](devices/Sonoff-PSA)
* [Sonoff RF](devices/sonoff-RF)
* [Sonoff RF R3](devices/Sonoff-RF-R3)
* [Sonoff RF Bridge 433](devices/Sonoff-RF-Bridge-433)
* [Sonoff S20 Smart Socket](devices/sonoff-S20)
* [Sonoff S26 Smart Socket](devices/Sonoff-S26-Smart-Socket)
* [Sonoff S31](devices/sonoff-S31)
* [Sonoff SC](devices/sonoff-SC)
* [Sonoff Slampher](devices/Sonoff-Slampher)
* [Sonoff SV](devices/sonoff-SV)
* [Sonoff T1](devices/Sonoff-T1)
* [Sonoff Touch](devices/Sonoff-Touch)
* [Sonoff TH](devices/sonoff-TH)
* [Arilux LC02](devices/Arilux-LC02)
* [Armtronix Dimmers](devices/Armtronix-Dimmers)
* [Blitzwolf BW-SHP2](devices/blitzwolf-SHP2)
* [Blitzwolf BW-SHP4](devices/BlitzWolf-BW-SHP4-(UK-Version))
* [Blitzwolf BW-SHP6](devices/blitzwolf-SHP6)
* [Digoo DG-SP202](devices/Digoo-DG-SP202)
* [Geekcreit 2CH](devices/Geekcreit-Sonoff-2-Channel-Relay-(AC-85V-250V))
* [Gosund SP1](devices/Gosund-SP1)
* [H801 LED Controller](devices/H801)
* [HuaFan Smart Socket](devices/HuaFan-Smart-Socket)
* [Luminea LED Controller](devices/Luminea-ZX-2844-675-(RGBW-LED-Controller))
* [MagicHome LED Controller (ESP-12S/ESP-2M)](devices/MagicHome-LED-strip-controller)
* [MagicHome LED Controller (ESP8285)](devices/MagicHome-with-ESP8285)
* [Mi Desk Lamp](devices/Xiaomi-Mi-Desk-Lamp)
* [PS-16-DZ Dimmer](devices/PS-16-DZ-Dimmer)
* [OBI Socket](devices/OBI-Wifi-Socket)
* [OBI Socket 2](devices/OBI-Socket-2)
* [OBI Socket IP44 (Black)](devices/OBI-WiFi-Socket-IP44)
* [Shelly 1](devices/shelly-1)
* [Shelly 1PM](devices/shelly-1PM)
* [Shelly 2](devices/shelly-2)
* [Shelly 2.5](devices/shelly-2.5)
* [SK03 Outdoor Smart Plug](devices/SK03-Outdoor-Smart-Plug)
* [Teckin SP10 Smart Socket](devices/Teckin-sp10)
* [Teckin SP22](devices/Teckin-sp22)
* [YTF IR Bridge](devices/ytf-ir-bridge)
* [WT003-EU 4 AC + 4 USB Outlet Tuya Power Strip EU](https://github.com/arendst/Tasmota/pull/4590)
* [Wemos D1 R1 & R2](devices/Wemos-D1-R1-&-R2)
* [Wemos D1 Mini](devices/Wemos-D1-Mini)
* [Other Devices](devices/Other-Devices)
**Supported Modules**
[Sonoff 4CH](devices/Sonoff-4CH)
[Sonoff 4CH Pro](devices/Sonoff-4CH-Pro)
[Sonoff 4CH DIY](devices/Sonoff-4CH-DIY)
[Sonoff B1 / B1 R2](devices/Sonoff-B1)
[Sonoff Basic](devices/Sonoff-Basic)
[Sonoff Basic R3](devices/Sonoff-DIY)
[Sonoff Dual](devices/Sonoff-Dual)
[Sonoff Dual R2](devices/sonoff-dual-R2)
[Sonoff iFan02](devices/Sonoff-iFan02)
[Sonoff iFan03](devices/Sonoff-iFan03)
[Sonoff Mini](devices/Sonoff-Mini)
[Sonoff Pow](devices/sonoff-pow)
[Sonoff Pow R2](devices/sonoff-Pow-R2)
[Sonoff PSA](devices/Sonoff-PSA)
[Sonoff RF](devices/sonoff-RF)
[Sonoff RF R3](devices/Sonoff-RF-R3)
[Sonoff RF Bridge 433](devices/Sonoff-RF-Bridge-433)
[Sonoff S20 Smart Socket](devices/sonoff-S20)
[Sonoff S26 Smart Socket](devices/Sonoff-S26-Smart-Socket)
[Sonoff S31](devices/sonoff-S31)
[Sonoff SC](devices/sonoff-SC)
[Sonoff Slampher](devices/Sonoff-Slampher)
[Sonoff SV](devices/sonoff-SV)
[Sonoff T1](devices/Sonoff-T1)
[Sonoff Touch](devices/Sonoff-Touch)
[Sonoff TH](devices/sonoff-TH)
[Arilux LC02](devices/Arilux-LC02)
[Armtronix Dimmers](devices/Armtronix-Dimmers)
[Blitzwolf BW-SHP2](devices/blitzwolf-SHP2)
[Blitzwolf BW-SHP4](devices/BlitzWolf-BW-SHP4-(UK-Version))
[Blitzwolf BW-SHP6](devices/blitzwolf-SHP6)
[Digoo DG-SP202](devices/Digoo-DG-SP202)
[Geekcreit 2CH](devices/Geekcreit-Sonoff-2-Channel-Relay-(AC-85V-250V))
[Gosund SP1](devices/Gosund-SP1)
[H801 LED Controller](devices/H801)
[HuaFan Smart Socket](devices/HuaFan-Smart-Socket)
[Luminea LED Controller](devices/Luminea-ZX-2844-675-(RGBW-LED-Controller))
[MagicHome LED Controller (ESP-12S/ESP-2M)](devices/MagicHome-LED-strip-controller)
[MagicHome LED Controller (ESP8285)](devices/MagicHome-with-ESP8285)
[Mi Desk Lamp](devices/Xiaomi-Mi-Desk-Lamp)
[PS-16-DZ Dimmer](devices/PS-16-DZ-Dimmer)
[OBI Socket](devices/OBI-Wifi-Socket)
[OBI Socket 2](devices/OBI-Socket-2)
[OBI Socket IP44 (Black)](devices/OBI-WiFi-Socket-IP44)
[Shelly 1](devices/shelly-1)
[Shelly 1PM](devices/shelly-1PM)
[Shelly 2](devices/shelly-2)
[Shelly 2.5](devices/shelly-2.5)
[SK03 Outdoor Smart Plug](devices/SK03-Outdoor-Smart-Plug)
[Teckin SP10 Smart Socket](devices/Teckin-sp10)
[Teckin SP22](devices/Teckin-sp22)
[YTF IR Bridge](devices/ytf-ir-bridge)
[WT003-EU 4 AC + 4 USB Outlet Tuya Power Strip EU](https://github.com/arendst/Tasmota/pull/4590)
[Wemos D1 R1 & R2](devices/Wemos-D1-R1-&-R2)
[Wemos D1 Mini](devices/Wemos-D1-Mini)
[Other Devices](devices/Other-Devices)
5 changes: 3 additions & 2 deletions peripherals/A4988-Stepper-Motor-Controller.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ To use it you must [compile your build](compile-your-build). Add the following t
----
This driver is used to control stepper-motors such as [NEMA 17](https://reprap.org/wiki/NEMA_17_Stepper_motor).

## Wiring
## Configuration
#### Wiring
The driverboard has several connectors: powering the controller (3.3-5.0 V), input (+/-) & output (1a/1b/2a/2b), the motor (up to 35V/2A), and to control the circuit (in order at the control side of the board):

Connector | Description
Expand All @@ -23,7 +24,7 @@ EN|Enable the power supply for the motor
SLP|Sleep (bridge to RST)
RST|Reset (bridge to SLP)

## Tasmota Configuration
#### Tasmota Settings
There are six GPIO [components](Components) that should be configured to free GPIOs:
```
A4988 DIR (170)
Expand Down
Loading

0 comments on commit 8b6c278

Please sign in to comment.