Frequently asked questions
Short answers to the questions people ask most. Can't find yours? Copy a diagnostic report (Settings → Help) and write to linkjig.app@gmail.com.
Getting started
What can I connect to?
Windows: serial ports and USB-serial adapters, Bluetooth LE, USB HID devices and TCP. Android: USB-serial adapters over USB-OTG, Bluetooth LE and TCP. The built-in Demo device answers like a real board, so you can try everything without hardware.
I have no device at hand. How do I try the app?
Open Devices and connect to Demo. It echoes what you send and answers a few commands. On the Scenarios screen, Load the demo scenario and press Run to see a complete pass/fail test.
Is classic Bluetooth (HC-05, HC-06) supported?
Not in this version. LinkJig talks to Bluetooth LE modules (HM-10, ESP32, nRF and similar). Classic Bluetooth serial is planned.
Is there an iPhone, Mac or Linux version?
Not yet. LinkJig runs on Windows and Android.
Serial and USB
My board resets when I connect.
Many ESP32 and Arduino boards reset or enter the bootloader when the DTR or RTS line changes. LinkJig keeps both off by default and sets them the moment the port opens, so connecting does not pulse them. If your board needs them on, turn on DTR on after connecting or RTS on after connecting in the serial settings.
"Could not open COM5: Access is denied."
Another program has the port open — usually a serial monitor, an IDE or a second LinkJig window. Close it and press Retry. The message shows the real Windows error, so "access denied" means busy, not a broken cable.
I only see strange characters.
The baud rate does not match the device. LinkJig notices unreadable data and offers Change baud. If you don't know the rate, use Find baud rate in the serial settings: it tries the common rates (115200 first), sends a command you choose (for example AT) or just listens, and stops at the first rate that gives a readable answer. Data bits, parity and stop bits must also match; most devices use 8N1, the default.
I send a command but nothing comes back.
Check, in this order:
- Line ending. Most devices act only after the end of a line. The default is CR LF (
\r\n); some devices want only CR or only LF. - Wiring. TX goes to RX, RX to TX, and the grounds are connected.
- Baud rate and the other line settings.
- The send bar shows the exact bytes before you send, so you can compare them with the device's manual.
The adapter does not show up on Android.
Use a USB-OTG adapter or cable, then plug the adapter in. Android asks whether LinkJig may use the device — allow it. Some phones need OTG switched on in their settings. Adapters with CP210x, CH34x, FTDI and PL2303 chips, and CDC-ACM boards, are supported.
The connection drops when my phone's battery is low.
Some phones cut USB-OTG power at low battery. LinkJig warns you when this may happen. Charge the phone or use a powered OTG hub.
Bluetooth LE
LinkJig finds no Bluetooth devices.
Check that Bluetooth is on and that LinkJig has the "Nearby devices" permission (Android 12 and newer) or Location (Android 11 and older). LinkJig says plainly when a permission is missing or Bluetooth is off; "No devices found" means the scan worked and nothing answered. Many BLE modules stop advertising while something else is connected to them.
Why does Android 11 ask for my location?
On Android 11 and older, the system shows nearby Bluetooth devices only to apps with Location permission. LinkJig never reads or stores where you are.
Which BLE UART modules work?
Nordic UART (NUS), TI CC254x / HM-10 (FFE0) and Microchip transparent UART are detected automatically. For other modules LinkJig picks a service with a writable and a notifying characteristic. If it picks the wrong one, open the GATT explorer from the terminal menu, choose the TX and RX characteristics and press Use for terminal.
Network
How do I connect to a device on my network (TCP)?
Choose Network, enter the host name or IP address and the port, and connect. LinkJig connects as a TCP client — for example to an ESP32 or a serial-to-Wi-Fi bridge. Devices that announce themselves with mDNS (such as esp32.local) appear under On this network after you press Find.
How do I connect to a module's own Wi-Fi (ESP32, AI-Thinker)?
In Network, tap Scan in the Wi-Fi section and tap the module's network. Enter its password once; with Remember password on, a tap is enough next time. After joining, LinkJig fills in the module's address (usually 192.168.4.1): press Connect. The saved connection remembers the Wi-Fi, so later one tap joins the network and connects. On Android, the first scan asks for the Location permission: Android lists Wi-Fi networks only to apps that have it. LinkJig never reads where you are.
Will my phone or computer lose internet?
On Android 10 and newer, no: only LinkJig uses the module's network and the rest of the phone stays online. On Windows and Android 9 the whole device switches to the module's network until you tap Leave (or Back to … on Windows). Windows never joins a module's network by itself later.
Can I make a desktop shortcut that connects in one click?
On Windows, yes. Under Saved connections, open the connection's menu and choose Create desktop shortcut. Opening it starts LinkJig, joins the saved Wi-Fi if the connection has one, and connects. The shortcut never contains a password.
Where are my Wi-Fi passwords kept?
Only on your device: on Android encrypted with a key in the Android Keystore and left out of backups; on Windows in the system's Wi-Fi profile. To remove one, open the network's menu in the Wi-Fi list and choose Forget password.
Can LinkJig be a TCP server or use UDP?
Not in this version.
Sending and receiving
How do I send hex bytes?
Switch the input format in the send bar to HEX and type bytes such as 01 03 00 00 00 0A. DEC and BIN work the same way. In text (ASCII) mode you can write escapes: \r, \n, \t and \xNN for any byte.
How do I send Ctrl+C, Ctrl+D or Ctrl+Z?
Control keys are single bytes: Ctrl+C is \x03, Ctrl+D is \x04, Ctrl+Z is \x1A (Esc is \e). In text (ASCII) mode type \x03, or switch to HEX and type 03; set the line ending to No EOL if the device expects the byte alone. Save it as a macro to send it with one tap. On Windows, Ctrl+C in the terminal copies the selection; it does not send anything.
Can LinkJig add a checksum or CRC for me?
Yes. Pick a checksum in the send bar (SUM8, XOR8, CRC-8, CRC-16/MODBUS, CRC-16/CCITT-FALSE or CRC-32); it is added after your data and before the line ending, and the preview shows the result. The Checksum calculator in Settings → Tools works on any bytes without sending.
Why is received data split into several lines (or merged into one)?
LinkJig groups received bytes into packets. By default a packet ends when no data arrives for 20 ms (Time gap). In Settings → Packet framing you can split at delimiter bytes (for example 0D 0A) instead, or show every read as it arrives (Raw).
How do I see the data as hex?
Change the View in the terminal: ASCII, HEX, DEC, BIN or Dump (offset + hex + text). On Windows, Ctrl+E switches between them and Ctrl+T switches timestamps. The view changes only the display; the bytes are kept as received.
Can I send the same command repeatedly, or send a file?
Yes. The timer button in the send bar sends the current input at a fixed interval until you stop it. The paperclip button sends a file, either as binary chunks or line by line, with a delay between parts.
What do the RX and TX colors and rails mean?
RX is data received from the device, TX is data you sent. The thin rails at the terminal edges mark where RX (left) and TX (right) happened; click a mark to jump there.
Macros, triggers and scenarios
What is a macro?
A saved command on a button. Tap it in the macro bar under the terminal, or press F1–F12 on Windows. Shift+F1–F12 edits the macro.
What is a trigger?
A rule that watches every received packet for a text, hex (with ?? wildcards) or regex pattern. When it matches, LinkJig can send a reply, mark the line in the log, beep, save a snapshot or stop a running scenario. Use triggers to answer a device automatically or to simulate one.
What is a scenario?
A repeatable test. Each step sends a message, waits for the expected reply within a timeout and marks the step PASS or FAIL. You choose what happens on a failure (continue, retry or stop) and how many loops to run. Save the result as a text report or CSV table.
Can I run scenarios on my phone?
Yes. Build them on the desktop, share them as a project pack and import it on the phone. The phone runs them and shows each step's result.
What is the difference between a profile and a project pack?
A profile stores connection and send settings (and optionally macros) for one device. A project pack bundles profiles, macros, triggers, scenarios and an optional sample log into one .ljpack file to share with a colleague or move to your phone.
Does importing a project pack send anything to my device?
No. Importing only adds scenarios, macros, triggers and profiles. Nothing is sent until you press Run or Send.
Logs and files
Where are my logs?
Automatic session logging is off by default; turn on Save every session to disk in Settings → Terminal. On Windows the logs go to Documents\LinkJig\logs (trigger snapshots in snapshots). On Android they stay inside the app; on the Logs screen, Save a copy… lets you send a log or store it elsewhere. You can also save the current terminal from its menu at any time (Ctrl+Shift+S on Windows).
I closed the app by mistake. Is the session lost?
No. With Restore last session on (the default), the last 2,000 lines come back on the next start. LinkJig never reconnects by itself; it asks first.
Does the connection stay open when the app is in the background?
On Android, yes, while a link is active: LinkJig shows an "Active connection" notification so the system keeps it running. If you turn notifications off, the link still runs but the notification is hidden. Some phone makers stop background apps aggressively; if links drop, allow LinkJig to run without battery restrictions.
Pro and the mini game
Is LinkJig free? Does it have ads?
The tool is free and never shows ads: not in the terminal, devices, scenarios, macros, triggers, logs, library, settings or help. On Android there is an optional mini game, Start Bit (Settings → Help); ads appear only inside it. You never need to open it. The desktop app has no game and no ads.
How do I get Pro?
Pro is free. On Android, either win level 15 in Start Bit or watch 10 short ads (at most 5 a day), whichever comes first. Pro then stays unlocked for good; the mini game keeps its ads, the tool never shows any. Before that, scenarios and triggers can be tried in full on the Demo device.
How do I get Pro on Windows?
Unlock Pro in the Android app, then Settings → Pro → Unlock the desktop app. Each code takes 2 short ads and is valid for 48 hours; enter it on the computer in Settings → Pro → Enter code. The computer goes online once, only to check the time.
Will I lose Pro if I reinstall the app or change phones?
No, as long as Android backup is on for your Google account. Pro, themes and game progress are kept in one encrypted file, and that file is the only thing LinkJig puts in the backup.
How do I unlock themes?
Each Start Bit chapter you finish unlocks one theme; you can also unlock a theme with 3 short ads. Themes change colors only. The desktop app has the standard light and dark looks.
Privacy and support
Does LinkJig send my data anywhere?
No. There is no account, no analytics and no server. Everything you type, receive and save stays on your device. The optional Start Bit mini game on Android gets its ads from Google AdMob, which never sees your terminal data. See the privacy policy in Settings → About.
How do I change the language?
Settings → Appearance → Language. System follows your device's language.
How do I report a problem?
Settings → Help → Copy diagnostic report, then paste it into your message to linkjig.app@gmail.com. The report contains app, system and link details — never terminal data, serial numbers or addresses.