This is the multi-page printable view of this section. Click here to print...

Return to the regular view of this page

As of 2025-07-24

Remote Control App Manual

Transmission of digital signals
Firmware specialized in digital signal transmission. Offers rich features compared to the Extremely Simple! Standard App.

1 - Remote Control App Manual

Latest Edition

Installation

To install the Remote Control App (App_IO), install TWELITE STAGE SDK and rewrite the app using the TWELITE STAGE App. Select [App Rewrite] → [TWELITE APPS Build & Rewrite] → [App_IO].

Features

You can wirelessly transmit up to 12 switch or contact inputs.

Differences from Extremely Simple! Standard App (App_Twelite) are:

  • Increased number of ports, up to 12 ports available
  • Four types of input/output assignment (12:0, 8:4, 6:6, 0:12)
  • Frequency channel selectable externally from four types
  • Communication encryption available
  • Communication only possible with specified peers (automatic application ID setting)

1.1 - Pin Assignment of Remote Control App

Functions of pins used by the Remote Control App

TWELITE / TWELITE DIP

The functions of pins used by the Remote Control App are represented using the names from the diagram of Extremely Simple! Standard App Pins.

Super Simple! Standard App Pin Assignment Table

Super Simple! Standard App Pin Assignment Table

DIP #IOStandardRemote ControlFunction
1GNDGNDGNDPower Input
2DIO14SCLI9/O9Digital Input/Output
3DIO7RXRXSerial Input/Output
4DIO5PWMI11/O11Digital Input/Output
5DIO18DO1I5/O1Digital Input/Output
6DO0PWMLEDStatus LED Output
7DO1M3
8DIO19DO2I6/O2Digital Input/Output
9DIO4DO3I7/O3Digital Input/Output
10DIO6TXTXSerial Input/Output
11DIO8PWMI12/O12Digital Input/Output
12DIO9DO4I8/O4Digital Input/Output
13DIO10M1M1Mode Setting Input
14GNDGNDGNDPower Input
28VCCVCCVCCPower Input
27DIO3M3M3Mode Setting Input
26DIO2M2M2Mode Setting Input
25DIO1AI4C2Channel Setting Input
24ADC2AI3
23DIO0AI2C1Channel Setting Input
22ADC1AI1
21RESETNRSTRSTReset Input
22DIO17BPSBPSAlternative Baud Rate Setting Input
19DIO15SDAI10/O10Digital Input/Output
18DIO16DI4I4/O8Digital Input/Output
17DIO11DI3I3/O7Digital Input/Output
16DIO13DI2I2/O6Digital Input/Output
15DIO12DI1I1/O5Digital Input/Output

Power Input

Connect a 3.3V (2.0-3.6V) power supply to VCC/GND.

Digital Input/Output

Child: 12 inputs 0 outputs / Parent: 12 outputs 0 inputs

Default input/output assignments.

NameChildParentStandardDIP #
I1/O5I1O5DI115
I2/O6I2O6DI216
I3/O7I3O7DI317
I4/O8I4O8DI418
I5/O1I5O1DO15
I6/O2I6O2DO28
I7/O3I7O3DO39
I8/O4I8O4DO412
I9/O9I9O9SCL2
I10/O10I10O10SDA19
I11/O11I11O11PWM14
I12/O12I12O12PWM411

Child: 8 inputs 4 outputs / Parent: 8 outputs 4 inputs

Input/output assignments when the option bit: 0x00001000 setting is enabled.

NameChildParentStandardDIP #
I1/O5I1I1DI115
I2/O6I2I2DI216
I3/O7I3I3DI317
I4/O8I4I4DI418
I5/O1O1O1DO15
I6/O2O2O2DO28
I7/O3O3O3DO39
I8/O4O4O4DO412
I9/O9I5O5SCL2
I10/O10I6O6SDA19
I11/O11I7O7PWM14
I12/O12I8O8PWM411

Child: 6 inputs 6 outputs / Parent: 6 outputs 6 inputs

Input/output assignments when the option bit: 0x00002000 setting is enabled.

NameChildParentStandardDIP #
I1/O5I1I1DI115
I2/O6I2I2DI216
I3/O7I3I3DI317
I4/O8I4I4DI418
I5/O1O1O1DO15
I6/O2O2O2DO28
I7/O3O3O3DO39
I8/O4O4O4DO412
I9/O9O5I5SCL2
I10/O10O6I6SDA19
I11/O11I5O5PWM14
I12/O12I6O6PWM411

Child: 0 inputs 12 outputs / Parent: 0 outputs 12 inputs

Input/output assignments when the option bit: 0x00003000 setting is enabled.

NameChildParentStandardDIP #
I1/O5O5I1DI115
I2/O6O6I2DI216
I3/O7O7I3DI317
I4/O8O8I4DI418
I5/O1O1I5DO15
I6/O2O2I6DO28
I7/O3O3I7DO39
I8/O4O4I8DO412
I9/O9O9I9SCL2
I10/O10O10I10SDA19
I11/O11O11I11PWM14
I12/O12O12I12PWM411

Serial Input/Output

TX/RX are used for transmission and reception of the remote control (UART).

Status LED Output

Used when outputting status during automatic application ID setting.

Make the LED light up when the output is Low (sink type).

Setting Input

Mode Setting Input

By leaving the Mx pins unconnected or connecting them to GND, you can switch between operating modes such as parent, child, and repeater.

Alternative Baud Rate Setting Input

By leaving the BPS pin unconnected or connecting it to GND, you can change the UART baud rate (communication speed) to a value other than 115200bps.

Channel Setting Input

Temporarily overrides the frequency channel.

C2C1Frequency Channel
UnconnectedUnconnectedDefault (initial value is 16)
UnconnectedGND12
GNDUnconnected21
GNDGND25

Reset Input

By connecting a push button between RST and GND, you can implement a reset button. RST is internally pulled up.

1.2 - Remote Control App Operating Modes

Description of each operating mode
The Remote Control App (App_IO) has six operating modes.

List of Operating Modes

Each mode is set by connecting the Mx pins to either not connected (OPEN) or to GND.

M3M2M1ModeFunctionPowerSavingOperationInitialLID
OOOChild: ContinuousSends input states to the parent device and always waits for received data to reflect it on output120
OOGParent: ContinuousSends input states to child devices and always waits for received data to reflect it on output0
OGORepeater: ContinuousAlways waits for received data and relays it122
OGGChild: Continuous 0.03sSends input states to the parent device frequently and always waits for received data to reflect it on output123
GOOChild: Intermittent 1sSends input states to the parent device every second, disables reception, and always enters power saving mode124
GGO(Pairing Mode)Details
GGGChild: Intermittent 10sSends input states to the parent device every 10 seconds, disables reception, and always enters power saving mode127

O: Not connected (OPEN), G: Connected to GND

Initial mode is Child: Continuous mode.

The initial Logical Device ID (LID) used to identify the device differs depending on the mode.

Parent Device

Continuous Mode

Parent: Continuous Mode

When a change in signal input is detected, or every second, data is sent to all child devices.

It also always waits for data sent from child devices, so it responds quickly but continuously consumes power.

  • Reception: Always waiting
  • Transmission: On input change / every 1 second

Child Device

Continuous Mode

Child: Continuous Mode

When a change in signal input is detected, or every second, data is sent to all parent devices.

It also always waits for data sent from parent devices, so it responds quickly but continuously consumes power.

Image of communication with parent device

Image of communication with parent device

  • Reception: Always waiting
  • Transmission: On input change / every 1 second

Child: Continuous 0.03s Mode

This mode shortens the periodic transmission interval of Child: Continuous Mode from 1 second to 0.03 seconds.

Although it always waits for data sent from the parent device, it occupies the bandwidth of communication from child to parent, causing slower response to parent input. It continuously consumes power.

Image of communication with parent device

Image of communication with parent device

  • Reception: Always waiting
  • Transmission: On input change / every 0.03 seconds

Intermittent Mode

Child: Intermittent 1s Mode

When a change in signal input is detected, or every second, the power saving mode is disabled and data is sent to all parent devices.

Reception is disabled, so it cannot be controlled by the parent device. This mode has excellent power saving performance.

Image of communication with parent device

Image of communication with parent device

  • Reception: Disabled
  • Transmission: On input change / every 1 second

Child: Intermittent 10s Mode

When a change in signal input is detected, or every 10 seconds, the power saving mode is disabled and data is sent to all parent devices.

Reception is disabled, so it cannot be controlled by the parent device. This mode has excellent power saving performance.

Image of communication with parent device

Image of communication with parent device

  • Reception: Disabled
  • Transmission: On input change / every 10 seconds

Repeater Device

Continuous Mode

Repeater: Continuous Mode

The repeater transmits received packets.

You can install up to three repeaters between parent and child devices, but increasing repeaters increases the number of packets, which can cause interference.

Image of relay

Image of relay

  • Reception: Always waiting
  • Transmission: On reception

1.3 - Remote Control App Alternative Baud Rate Setting

Changing the baud rate used for UART communication
The Remote Control App (App_IO) uses 115200 bps as the default baud rate for UART communication, but this can be changed.

Enabling Alternative Baud Rate Setting

You can enable the alternative baud rate setting by connecting the BPS pin to GND.

BPSDescriptionBaud RateRemarks
ODefault115200bps
GOverride38400bpsChangeable via Interactive Mode

O: not connected (OPEN), G: connected to GND

1.4 - Remote Control App UART Function

Data format used for UART function.
Explanation of data format used in the UART function of Remote Control App (App_IO).

Digital Input and Output

0x81: Status Notification from the Remote Device

Outputs the state of the received input signal.

Data Format

#DataDescriptionRemarks
charHeader: only
0uint8Source Logical Device ID
1uint8Command Number0x81 only
2uint8Packet Identifier0x0F only
3uint8Protocol Version0x01 only
4uint8LQI0-255
5uint32Source Serial ID0x8???????
9uint8Destination Logical Device ID
10uint16Timestamp64 counts per second, MSB is internal flag
12uint8Relay Count
13uint16Digital SignalCorresponds to Ix from LSB, 0 is High
15uint16Digital Signal MaskCorresponds to Ix from LSB, 1 means valid
17uint16Digital Signal FlagCorresponds to Ix from LSB, 1 means interrupt
19uint8UnusedFor internal management
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

Example Output Data

:01810F01DB8630000200645F000040004F00400049

0x80: Remote Device Output Change

Controls the output signals of the remote device.

Data Format

#DataDescriptionRemarks
charHeader: only
0uint8Destination Logical Device IDParent 0x00, Child 0x01-0x64, All Children 0x78
1uint8Command Number0x80 only
2uint8Format Version0x01 only
3uint16Digital SignalCorresponds to Ox from LSB, 0 is High
5uint16Digital Signal MaskCorresponds to Ox from LSB, 1 is valid
7uint16Unused0
9uint16Unused0
11uint16Unused0
13uint16Unused0
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

UART Input and Output

1.5 - Custom Default Feature of Remote Control App

Creating firmware with changed default settings
With the custom default feature, you can change the default parameters included in the firmware.

For example, if you create firmware that changes the baud rate from 115200bps to 9600bps, you can use it at 9600bps from the start.

Configuration Procedure

1. Apply the Settings

Change the settings in Interactive Mode, press S to save.

2. Download the Settings

Prepare software capable of downloading data using the xmodem protocol.

While still in Interactive Mode (before selecting items), request xmodem download.

If the download succeeds, it generates a 128-byte file (may be smaller depending on the xmodem implementation).

3. Creating Custom Binary

Concatenate the downloaded file to the end of the firmware binary file to create a custom binary.

Use command line tools or general file concatenation tools for concatenation.

Example

An example when the downloaded xmodem file is conf.bin, the original binary file is App_IO_BLUE_L1305_V1-3-X.bin, and the custom binary to be created is App_IO_custom_V1-3-X.bin.

【Windows】

copy App_IO_BLUE_L1305_V1-3-X.bin App_IO_custom_V1-3-X.bin
type conf.bin >> App_IO_custom_V1-3-X.bin

【macOS / Linux】


cat App_IO_BLUE_L1305_V1-3-X.bin conf.bin > App_IO_custom_V1-3-X.bin

4. Writing Custom Binary

Write the concatenated custom binary to TWELITE.

1.6 - Pairing Function of Remote Control App

Grouping parent and child devices by automatic application ID setting
The Remote Control App (App_IO) has a function to create groups of parent and child devices without using Interactive Mode.

Configuration Method

Create a group by generating an application ID based on the parent’s serial ID and feeding it to the child devices. Connect an LED to the LED pin to check if the configuration is successful.

Connection

Connection

  1. Connect an LED and a current limiting resistor (680Ω) to the LED pins of the parent and child devices (with correct polarity).
  2. Leave M1 open and connect M2 and M3 to GND.
  3. Power on the parent device and check that the LED blinks.
  4. Within 5 seconds, power on the child device near the parent and confirm that the LED turns off (if it stays lit, the configuration failed).

1.7 - Interactive Mode (Remote Control App)

Configuration changes via Interactive Mode
You can perform detailed settings of the app via Interactive Mode.

This section explains features specific to the Remote Control App (App_IO). For common features, please refer to the TWELITE APPS Manual Top Page.

Display Example

The screen below will be displayed.

--- CONFIG/APP_IO V1-03-2/SID=0x86300001/LID=0x00 ---
 a: set Application ID (0x67720107)
 i: set Device ID (--)
 c: set Channels (16)
 x: set Tx Power (3)
 t: set mode4 sleep dur (1000ms)
 y: set mode7 sleep dur (0s)
 f: set mode3 fps (16)
 d: set hold mask (000000000000)
 D: set hold dur (1000ms)
 o: set Option Bits (0x00000000)
 b: set UART baud (38400)
 p: set UART parity (N)
 C: set crypt mode (0)
 K: set crypt key []
---
 S: save Configuration
 R: reset to Defaults

Commands

CommandSetting ItemDefaultNotes
aApplication ID0x6772010732bit
iLogical Device ID120Parent 121, Child 1-100, ID-less Child 120, Unset 0
cFrequency Channel1611-26
xRetry Count and Transmission Output3
Retry Count01-9 times, 0 default: 2 times
Transmission Output30-3
tChild Device Intermittent 1-Second Mode Interval1000100-64000 ms
yChild Device Intermittent 10-Second Mode Interval02-10000 s, Disabled 0
fChild Device Continuous 0.03-Second Mode Cycle324/8/16/32 times per second
dHold/Long Press Mode Targets000000000000From right I1-I2, Enabled 1
DHold/Long Press Mode Duration100020-64000 ms
oOption Bits0x00000000Other detailed settings
bUART Alternative Baud Rate38400Enabled by BPS pin
pUART ParityNStop bit fixed to 1
CEncryption0Disabled 0, AES128bit 1
KEncryption Key-Up to 16 characters

Details for each command are as follows.

a: Application ID

All devices communicating should have the same value. This logically separates networks.

i: Logical Device ID

Set this when it is necessary to distinguish multiple child devices.

If distinction is not necessary or not possible, set to 120. If distinction is necessary, child devices should be any value from 1 to 100, and parent device should be 0 or 121.

c: Frequency Channel

All devices communicating should have the same value. This physically separates networks.

x: Transmission Output and Retry Count

Specify the radio transmission output and the number of additional packet transmissions in transparent mode and header-attached transparent mode.

t: Child Device Intermittent 1-Second Mode Interval

Overwrite the intermittent interval of the child device intermittent 1-second mode from 1 second to another value. Unit is milliseconds.

If 0 is set, periodic wake-up by timer is disabled. In this case, the device wakes up on the falling edge of Ix, but not on the rising edge.

y: Child Device Intermittent 10-Second Mode Interval

Overwrite the intermittent interval of the child device intermittent 10-second mode from 10 seconds to another value. Unit is seconds.

If 0 is set, periodic wake-up by timer is disabled. In this case, the device wakes up on the falling edge of Ix, but not on the rising edge.

f: Child Device Continuous 0.03-Second Mode Cycle

Overwrite the number of transmission requests per second from 32 times to 4/8/16 times. Retry count is not included.

d: Hold/Long Press Mode Targets

By default, select ports targeted by hold mode, and when Option Bit 0x00000100 is enabled, select ports targeted by remote control long press mode.

Specify the bitmask of Ix or Ox ports to target. The value consists of up to 12 characters of 0 or 1. From LSB, the order is I1 I2I12.

For example, specifying 000000001010 applies hold mode to I2 and I4. If any pin is targeted, ports not targeted output a 50ms pulse.

Hold Mode

In hold mode, targeted ports behave as follows:

Input (Transmission) side: Ix
  • After all inputs return from Lo to Hi, continuous transmission occurs for the configured duration (to release hold).
Output (Reception) side: Ox
  • For received inputs that are Lo, output holds Lo for the configured duration.
  • If during hold of any output, another Lo signal is received, the hold duration is extended.

Remote Control Long Press Mode

In remote control long press mode, targeted ports behave as follows:

Input (Transmission) side: Ix
  • Continuous transmission while any input is Lo.
  • After all inputs return from Lo to Hi, continuous transmission occurs for the configured duration.
Output (Reception) side: Ox
  • After packets with any input Lo are interrupted, outputs return Hi after the configured duration.

D: Hold/Long Press Mode Duration

By default, specify hold mode duration; when Option Bit 0x00000100 is enabled, specify hold duration or transmission interval for remote control long press mode.

Specify a value between 20 and 64000 ms.

Hold Mode

For hold mode, the configured duration applies as follows:

Input (Transmission) side: Ix

In continuous mode, the duration of continuous transmission after all inputs return from Lo to Hi.

In intermittent mode, the transmission interval while any input is Lo.

Output (Reception) side: Ox

The duration to maintain output.

Remote Control Long Press Mode

For remote control long press mode, the configured duration applies as follows:

Input (Transmission) side: Ix

The duration of continuous transmission after all inputs return from Lo to Hi.

Output (Reception) side: Ox

The time from interruption of packets with any input Lo until all outputs return to Hi.

o: Option Bits

Specify a 32bit number. Enable settings associated with each bit.

Bit MaskSetting ItemDefaultTransmitReceiveContinuousIntermittent
0x00000001Low Latency Mode0️⃣
0x00000002Low Latency Mode (Sleep Interrupt)0️⃣
0x00000010Enable Transmission with ACK0️⃣
0x00000020Disable Periodic Transmission0️⃣
0x00000100Enable Remote Control Long Press Mode0️⃣
0x00000200Disable C1/C2 Channel Switching0️⃣
0x00000400Invert Ix Input0️⃣
0x00000800Disable Internal Pull-up of Ix0️⃣
0x00001000Child: 8 Input 4 Output / Parent: 8 Output 4 Input0️⃣
0x00002000Child: 6 Input 6 Output / Parent: 6 Output 6 Input0️⃣
0x00003000Child: 0 Input 12 Output / Parent: 0 Output 12 Input0️⃣
0x00010000Force Enable Reception on Child0️⃣
0x00020000Stop UART Output on IO Change0️⃣
0x00040000Enable Watchdog Output on C20️⃣
0x00400000Invert Output on Ox0️⃣

b: UART Alternative Baud Rate

Overwrite the alternative baud rate selected when starting with the BPS pin connected to GND from 38400 bps.

Values can be selected from 9600/19200/38400/57600/115200/230400. Other values may cause errors.

p: UART Parity

Set to N (None), O (Odd), or E (Even). Stop bit is fixed to 1, hardware flow control is not supported.

C: Encryption

Specify whether encryption is enabled.

Set 1 to enable AES128bit encryption.

K: Encryption Key

Input the key used for encryption. Specify a 16-character text (binary sequences cannot be specified).

Details of Option Bits

Explanation of settings associated with each bit of the option bits value.

0x00000001: Low Latency Mode

Monitor input status and perform wireless transmission in low latency mode.

Shortens button monitoring time and minimizes transmission delay. In continuous mode, interrupts are used for input judgment but are more susceptible to chattering. In intermittent mode, reduces time to confirm input status.

Only valid for child devices.

0x00000002: Low Latency Mode (Sleep Interrupt)

When waking from sleep due to an interrupt from Ix going from Hi to Lo in intermittent mode, quickly send port information of the interrupt source.

Especially used in child device intermittent 10-second mode when periodic wake-up is disabled, combined with hold mode to detect button presses.

Only valid for child devices.

0x00000010: Enable Transmission with ACK

Enable ACK communication from child to parent. Transmission ends when parent returns ACK.

Not available for multiple parents or all repeaters, but provides efficient communication in stable environments.

In child device intermittent 10-second mode, the BPS pin is set as output pin, so baud rate override on child side is not possible.

0x00000020: Disable Periodic Transmission

Disable periodic transmission every 1 second in child continuous mode.

0x00000100: Enable Remote Control Long Press Mode

Apply remote control long press mode instead of hold mode.

0x00000200: Disable C1/C2 Channel Switching

Disable channel switching by C1/C2 pins.

0x00000400: Invert Ix Input

Send 1 when input is Hi, and 0 when Lo.

0x00000800: Disable Internal Pull-up of Ix

Disable all internal pull-ups (~50kΩ) on Ix.

0x00001000: Child: 8 Input 4 Output / Parent: 8 Output 4 Input

Change I/O port assignment from “Child: 12 Input 0 Output / Parent: 12 Output 0 Input”. Intermittent mode uses intermittent reception.

0x00002000: Child: 6 Input 6 Output / Parent: 6 Output 6 Input

Change I/O port assignment from “Child: 12 Input 0 Output / Parent: 12 Output 0 Input”. Intermittent mode uses intermittent reception.

0x00003000: Child: 0 Input 12 Output / Parent: 0 Output 12 Input

Change I/O port assignment from “Child: 12 Input 0 Output / Parent: 12 Output 0 Input”. Intermittent mode uses intermittent reception.

0x00010000: Force Enable Reception on Child

In continuous mode, force enable reception regardless of output ports.

Allows UART output of data received from other devices.

0x00020000: Stop UART Output on IO Change

Stop message output on input/output changes.

0x00040000: Enable Watchdog Output on C2

Output watchdog signal from C2 port.

Control IO in application loop and output approx. 32Hz square wave.

Used to connect external reset circuit for automatic recovery and force reset the module in case of hang-up.

0x00400000: Invert Output on Ox

Output Lo when received input port status is 0, and Hi when 1.