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

Extremely Simple! Standard App Manual

Latest Edition

Download

To install the Extremely Simple! Standard App (App_Twelite), install the TWELITE STAGE SDK and rewrite using the TWELITE STAGE App.

1 - Pin Assignments of Extremely Simple! Standard App

Functions of pins used by the Extremely Simple! Standard App
Functions and arrangements of pins used by the Extremely Simple! Standard App (App_Twelite)

Pin Assignments

Pin Assignment Table

Pin Assignment Table

Pin NameFunction
VCC GNDPower Input
DIx AIxDigital/Analog Input
DOx PWMxDigital/Analog Output
TX RXUART
SCL SDAI2C
Mx BPSConfiguration Input
RSTReset Input

Power Input

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

Digital and Analog Input/Output

DIx/DOx, AIx/PWMx pins transmit signals synchronously with matching pin numbers.

DigitalAnalog
Input on DIx → Output on DOxInput on AIx → Output on PWMx

Serial Communication

UART

TX/RX are used for UART transmission and reception. Specifically, they are used in the following cases:

I2C

SCL/SDA pins are used to connect I2C target devices.

Configuration Input

By leaving the Mx pins unconnected or connecting them to GND, you can switch operation modes such as parent, child, and repeater (Operation Modes).

By leaving the BPS pin unconnected or connecting it to GND, you can change the UART baud rate from 115200bps to other values (Alternative Baudrate).

Reset Input

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

2 - Operating Modes of Extremely Simple! Standard App

Explanation of each operating mode
The Extremely Simple! Standard App (App_Twelite) has seven operating modes.

List of Operating Modes

Each mode is set by leaving the Mx pin unconnected or connecting it to GND.

M3M2M1ModeFunctionPowerSavingInitialLID
OOOChild: ContinuousSends input status to parent, and always waits for received data to reflect on output120
OOGParent: ContinuousSends input status to child, and always waits for received data to reflect on output0
OGORepeater: ContinuousAlways waits for received data and relays it122
OGGChild: Continuous 0.03sFrequently sends input status to parent, and always waits for received data to reflect on output123
GOOChild: Intermittent 1sSends input status to parent every 1 second, and disables reception to always enter power-saving mode124
GOGChild: Intermittent Reception 1sSends input status to parent every 1 second, and simultaneously performs reception, always entering power-saving mode125
GGO-Unused--
GGGChild: Intermittent 10sSends input status to parent every 10 seconds, and disables reception to always enter power-saving mode127

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

Initial state is Child: Continuous mode.

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

Parent Device

Continuous Mode

Parent: Continuous Mode

When input signals change or every 1 second, data is sent to all child devices.

It always waits for data sent from child devices, providing good responsiveness but continuously consuming power.

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

Child Device

Continuous Mode

Child: Continuous Mode

When input signals change or every 1 second, data is sent to all parent devices.

It always waits for data sent from parent devices, providing good responsiveness but continuously consuming power.

Communication image with parent device

Communication image 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, the communication from child to parent occupies the bandwidth, making the parent’s input response slower. It continuously consumes power.

Communication image with parent device

Communication image with parent device

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

Intermittent Mode

Child: Intermittent 1s Mode

When input signals change or every 1 second, power-saving mode is canceled and data is sent to all parent devices.

Reception is disabled, so control from the parent device is not possible. This mode has excellent power-saving performance.

Communication image with parent device

Communication image with parent device

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

Child: Intermittent 10s Mode

When input signals change or every 10 seconds, power-saving mode is canceled and data is sent to all parent devices.

Reception is disabled, so control from the parent device is not possible. This mode has excellent power-saving performance.

Communication image with parent device

Communication image with parent device

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

Child: Intermittent Reception 1s Mode

When input signals change or every 1 second, power-saving mode is canceled and data is sent to all parent devices.

Reception is also performed every 1 second. It has excellent power-saving performance but is inferior to Child: Intermittent 1s Mode.

Communication image with parent device

Communication image with parent device

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

Repeater

Continuous Mode

Repeater: Continuous Mode

The repeater forwards received packets.

Up to three repeaters can be installed between parent and child devices, but increasing repeaters increases the number of packets, which may cause interference.

Image of relaying

Image of relaying

  • Reception: Always waiting
  • Transmission: On reception

3 - Alternative Baud Rate Setting for Extremely Simple! Standard App

Changing the baud rate used for UART communication
The Extremely Simple! Standard App (App_Twelite) 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
GOverride Setting38400bpsCan be changed via Interactive Mode

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

4 - UART Function of Extremely Simple! Standard App

Data format used in UART function
This explains the data format used in the UART function of the Extremely Simple! Standard App (App_Twelite).

Digital and Analog Input/Output

0x81: Status Notification from Remote Device

Outputs the state of the received input signals.

Data Format

#DataContentNote
charHeader: only
0uint8Source Logical Device ID
1uint8Command Number0x81 only
2uint8Packet IdentifierGenerated from Application ID
3uint8Protocol Version0x01 only
4uint8LQI0-255
5uint32Source Serial ID0x8???????
9uint8Destination Logical Device ID
10uint16Timestamp64 counts per second
12uint8Relay Count
13uint16Power Supply VoltageUnit is mV
15int8-(Unused)
16uint8Digital SignalsCorresponds to DIx from LSB, 0 is High
MSB 1 means periodic transmission
17uint8Digital Signal MaskCorresponds to DIx from LSB, 1 is valid
18uint8Conversion Value of AI1See Calculation of Analog Signals, 0xFF means unused
19uint8Conversion Value of AI2See Calculation of Analog Signals, 0xFF means unused
20uint8Conversion Value of AI3See Calculation of Analog Signals, 0xFF means unused
21uint8Conversion Value of AI4See Calculation of Analog Signals, 0xFF means unused
22uint8Correction Value of AIxCorresponds to AIx in 2-bit units from LSB
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

Calculation of Analog Signals

The input voltage \(V\) of AIx can be expressed using the received conversion value \(e_{r}\) and correction value \(e_{fr}\) as follows:

$$\begin{align*} V &= e+e_f \\ \text{where} \\ e &= 16e_r \\ e_f &= 4e_{fr} \\ \end{align*}$$

Unit: mV

Example Output Data

:78811501C98201015A000391000C2E00810301FFFFFFFFFB

0x80: Remote Device Output Change

Controls the output signals of the remote device.

Data Format

#DataContentNote
charHeader: only
0uint8Destination Logical Device IDParent 0x00, Child 0x01-0x64, All Children 0x78
1uint8Command Number0x80 only
2uint8Format Version0x01 only
3uint8Digital SignalsCorresponds to DOx from LSB, 0 is High
4uint8Digital Signal MaskCorresponds to DOx from LSB, 1 is valid
5uint16PWM1 Signal0-1024, 0xFFFF means disabled
7uint16PWM2 Signal0-1024, 0xFFFF means disabled
9uint16PWM3 Signal0-1024, 0xFFFF means disabled
11uint16PWM4 Signal0-1024, 0xFFFF means disabled
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

UART Input/Output

0x01: Transmission of Arbitrary Data

Data Format

#DataContentNote
charHeader: only
0uint8Destination Logical Device IDParent 0x00, Child 0x01-0x64, All Children 0x78
1uint8Command Number0x01 only
2[uint8]Arbitrary DataByte sequence of length \(N\) (recommended \(N\leqq80\))
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

0x01: Reception of Arbitrary Data

Data Format

#DataContentNote
charHeader: only
0uint8Source Logical Device IDParent 0x00, Child 0x01-0x64, Unset Child 0x78
1uint8Command Number0x01 only
2[uint8]Arbitrary DataByte sequence of length \(N\)
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

I2C Input/Output

0x88: I2C Input

Data Format

#DataContentNote
charHeader: only
0uint8Destination Logical Device IDParent 0x00, Child 0-0x7F, All Children 0x78, Self 0xDB
1uint8Packet Identifier0x88 only
2uint8Response NumberNumber output to response message
3uint8Command NumberWrite 0x1, Read 0x2, Read/Write 0x4
4uint8I2C Address7-bit
5uint8I2C CommandFirst command byte
6uint8Data Size0 means none
7[uint8]DataByte sequence of length \(N\)
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

0x89: I2C Output

Data Format

#DataContentNote
charHeader: only
0uint8Source Logical Device IDParent 0x00, Child 0-0x7F, All Children 0x78, Self 0xDB
1uint8Packet Identifier0x89 only
2uint8Response NumberNumber output to response message
3uint8Command NumberWrite 0x1, Read 0x2, Read/Write 0x4
4uint8ResultFailure 0, Success 1
5uint8Data Size0 means none
6[uint8]DataByte sequence of length \(N\)
uint8ChecksumLRC8
charFooterCR (0x0D/'\r')
charFooterLF (0x0A/'\n')

5 - Interactive Mode (Extremely Simple! Standard App)

Detailed configuration changes via Interactive Mode
You can perform detailed configuration of the app via Interactive Mode.

This section explains functions specific to the Extremely Simple! Standard App (App_Twelite). For common features, please refer to the TWELITE APPS manual top page.

Display Example

The following screen is displayed.

--- CONFIG/TWELITE APP V1-08-2/SID=0x8201001f/LID=0x78 ---
 a: set Application ID (0x67720102)
 i: set Device ID (--)
 c: set Channels (18)
 x: set Tx Power (03)
 t: set mode4 sleep dur (1000ms)
 y: set mode7 sleep dur (10s)
 f: set mode3 fps (32)
 z: set PWM HZ (1000,1000,1000,1000)
 o: set Option Bits (0x00000000)
 b: set UART baud (38400)
 p: set UART parity (N)
---
 S: save Configuration
 R: reset to Defaults

Commands

Command ItemDefaultRemarks
aApplication ID0x6772010232bit
iLogical Device IDAutoChild 1-100, Parent 121, Relay 122
cFrequency Channel1811-26
xTransmission Output and Retry Count03
Retry Count01-9 times, 0 means default 2 times, F disables
Transmission Output30-3
tChild Intermittent 1-second Mode Interval1000100-10000 ms
yChild Intermittent 10-second Mode Interval102-10000 s
fChild Continuous 0.03-second Mode Cycle324/8/16/32 times per second
zPWMx Frequency10001-64000 Hz, individually set by comma separation
oOption Bits0x00000000Other detailed settings
bUART Alternative Baud Rate38400Enabled by BPS pin
pUART ParityN8-( N/O/E )-1

Details of each command are shown below.

a: Application ID

All devices communicating must share the same value. It logically separates networks.

i: Logical Device ID

Set when it is necessary to identify multiple child devices.

Set any value from 1 to 100 for child devices, 121 for parent devices, and 122 for relay devices.

c: Frequency Channel

All devices communicating must share the same value. It physically separates networks.

x: Transmission Output and Retry Count

Specify the radio transmission output and the number of additional packet transmissions.

t: Child Intermittent 1-second Mode Interval

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

Setting 0 disables periodic wakeup by timer. In this case, wakeup occurs on falling edge of DIx but not on rising edge.

y: Child Intermittent 10-second Mode Interval

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

Setting 0 disables periodic wakeup by timer. In this case, wakeup occurs on falling edge of DIx but not on rising edge.

f: Child Continuous 0.03-second Mode Cycle

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

z: PWMx Frequency

If one value is specified, it overrides the frequency of all PWM ports. If specified by comma separation, individual values for PWM1 to PWM4 can be overridden.

o: Option Bits

Specify a 32bit number. Enables settings linked to each bit.

Target BitSetting ItemInitialTransmissionReceptionContinuousIntermittent
0x00000001Low Latency Mode0️⃣
0x00000002Disable Periodic Transmission0️⃣
0x00000004Disable Periodic Transmission and UART Output0️⃣
0x00000010Disable Transmission on AIx Change0️⃣
0x00000020Disable AIx Value0️⃣
0x00000040Change PWMx Calculation Formula0️⃣
0x00000100Transmit Only When Button Pressed0️⃣
0x00000800Disable Internal Pull-up of DIx0️⃣
0x00008000Add Relay Function to Child0️⃣
0x00001000Set Max Relay Steps to 2 for Child Relay0️⃣
0x00002000Set Max Relay Steps to 3 for Child Relay0️⃣
0x00010000Invert PWMx Waveform0️⃣
0x00020000Turn Off PWMx After Startup0️⃣
0x00080000Alternative Port Assignment0️⃣
0x00100000Turn Off DOx for 2 Seconds After Startup0️⃣
0x00400000Invert DOx Output0️⃣
0x00800000Disable Internal Pull-up of DOx0️⃣

b: UART Alternative Baud Rate

Overrides the alternative baud rate selected when the BPS pin is connected to GND at startup from 38400bps.

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

p: UART Parity

N means no parity, O means odd parity, and E means even parity.

Data bits are fixed to 8, stop bits to 1. Hardware flow control cannot be set.

Details of Option Bits

Explanation of settings linked to each bit of the Option Bits value.

00000001: Low Latency Mode

Low Latency Mode shortens the delay on the receiver side by quickly transmitting after detecting changes in DIx.

00000002: Disable Periodic Transmission

Disables periodic transmission every 1 second in continuous mode for child devices.

00000004: Disable Periodic Transmission and UART Output

For child devices: disables periodic transmission every 1 second in continuous mode and stops UART output of received data.

00000010: Disable Transmission on AIx Change

For child devices: disables transmission when AIx input changes in continuous mode.

Since released AIx ports report undefined values, connect them to VCC when analog input is not used. This option allows omission of connection to VCC.

00000020: Disable AIx Value

Sends packets treating unused ports as 0xFFFF without using ADC measurement values.

00000040: Change PWMx Calculation Formula

By default, adjusted output for volume control is applied to PWMx.

This option disables that and outputs full scale for inputs below 1.8V.

00000100: Transmit Only When Button Pressed

Continuously transmits packets when DIx input is Low.

For example, used to remotely control a motor. The motor runs while the remote button is pressed and stops when the radio signal is lost.

00000800: Disable Internal Pull-up of DIx

Disables all internal pull-ups (about 50kΩ) of DIx.

00008000: Add Relay Function to Child

Adds relay function to child devices in continuous mode. Maximum relay steps is 1.

00001000: Set Max Relay Steps to 2 for Child Relay

Changes maximum relay steps to 2 when 00008000: Add Relay Function to Child is set.

00002000: Set Max Relay Steps to 3 for Child Relay

Changes maximum relay steps to 3 when 00008000: Add Relay Function to Child is set.

00010000: Invert PWMx Waveform

Inverts the output waveform of PWMx.

When maximum value is input to AIx, PWMx becomes Low.

00020000: Turn Off PWMx After Startup

Sets PWMx output to Low state after startup or reset.

00080000: Alternative Port Assignment

Enables alternative port assignment.

Connecting transistors etc. to PWM2/PWM3 may cause unstable operation (Details). Use this option in such cases.

00100000: Turn Off DOx for 2 Seconds After Startup

Sets DOx to Low state for 2 seconds after startup or reset.

You can light LEDs connected to DOx at startup.

00400000: Invert DOx Output

Inverts DOx output.

Unlike the initial state, when one DI is Low level, the other DO is High level.

00800000: Disable Internal Pull-up of DOx

Disables all internal pull-ups (about 50kΩ) of DOx.