Hardware low voltage control

From Wiren Board
Jump to navigation Jump to search
This page is a translated version of the page Управление низковольтной нагрузкой and the translation is 100% complete.
Other languages:
English • ‎русский

There are the so-called "transistor outputs", also FET, to control the low-voltage load (with voltage up to the input voltage) in the Wiren Board controllers. They can control the switching of low-voltage lamps, led strips, external relay blocks, etc.

All transistor outputs can be controlled from the web interface, where they are called according to the terminals, for example A1_OUT.

Technical detail

Equivalent Ax output circuit for WB4 controller

To reduce the total number of terminals, the low-voltage load control channels are combined with ADC channels - seeMultiplexing ports. Therefore, the outputs have a large, but the final resistance (30-100k). This can cause, for example, a weak glow of led strips (The solution is: add a resistor to the power supply).

Note for Wiren Board versions 2.8 and 3.5:

  • when connecting inductive loads (relay) do not forget to put a protective diode - a surge of voltage from the relay coil can damage the controller. Maximum current per channel - 3A, voltage up to 24V.

Note for Wiren Board version 4: A protective diode is built-in in Wiren Board 4 controller and the maximum voltage must not exceed the controller supply voltage (Vin). The maximum current is also 3 A. If multiple channels are used and the total current is greater than 5 A, connect multiple GND terminals to the "minus" of the power supply.

The examples of use

Led connection example
Relay connection example

The load is connected as follows: "plus" load is connected to the power supply, "minus" is connected to the transistor output. For the load to start working, you need to apply a high level to the gate of the transistor.

The illustrations show the wiring diagrams of the led and relay.

You can also easily connect a ready relay module, such as

The example of work in Linux


  1. Find the GPIO number corresponding to the desired terminal in the tableWB2.8/WB3.5/WB4/WB5. For terminal strip number 2 in version 2.8, it is GPIO 32.
  2. Export GPIO to sysfs
    root@wirenboard:~# echo 32 > /sys/class/gpio/export
  3. Set the GPIO to output mode to control the transistor. This is required because GPIO can be in input mode and have a high impedance, leaving the transistor in an undefined state.
    root@wirenboard:~# echo out > /sys/class/gpio/gpio32/direction
  4. Open the transistor, giving a logical high level to the gate:
    root@wirenboard:~# echo 1 > /sys/class/gpio/gpio32/value
  5. Close the transistor, giving a logical zero to the gate:
    root@wirenboard:~# echo 0 > /sys/class/gpio/gpio32/value