TslaMouse v0.3.3 Bluetooth Mouse Remote — Complete User Guide
This guide is written for users with no embedded-development experience. It covers the complete process: buying the correct hardware, downloading and verifying the firmware, flashing it, pairing it with an iPhone, configuring TslaMirror, and performing the first real-world test.
This guide is specifically for the Bluetooth Mouse Remote feature in TslaMirror on iPhone. You do not need to write code, and you do not need to configure Wi-Fi on the AtomS3-Lite.
中文版:TslaMouse v0.3.3 蓝牙鼠标遥控完整使用指南
IMPORTANT
The only supported hardware in this guide is the M5Stack AtomS3-Lite (SKU:C124). Do not flash this firmware to an older Atom Lite, an AtomS3, an AtomS3R, or any other model.
CAUTION
Complete setup and testing only while safely parked. A driver must not operate the phone, the in-car browser, or the remote-control feature while the vehicle is moving.
1. What this feature requires
Bluetooth Mouse Remote is not an app-only feature. The complete setup contains the following parts:
| Component | Purpose |
|---|---|
| iPhone | Runs TslaMirror and receives Bluetooth mouse input from the AtomS3-Lite |
| TslaMirror iOS app | Mirrors the screen and converts clicks, drags, and scrolling in the in-car browser into mouse actions |
| AtomS3-Lite (SKU:C124) | Becomes a Bluetooth mouse named TslaMouse after the firmware is installed |
| TslaMouse firmware version 0.3.3 or later | Provides the precise mouse-control mode required by this feature |
| USB-C data cable and stable USB power | Used both for flashing and for powering the AtomS3-Lite during normal use |
| A computer | Needed only for the initial firmware installation and future firmware updates |
The current TslaMirror project has a minimum system requirement of iOS 18.0. This guide covers iPhone; it should not be read as a statement of equivalent iPad support.
2. Before-you-begin checklist
Prepare every item below before starting:
- One genuine M5Stack AtomS3-Lite (SKU:C124).
- A USB-C cable that carries data. A charge-only cable cannot flash firmware.
- A Windows, macOS, or Linux computer.
- The latest Chrome or Microsoft Edge on that computer. The browser flashing method does not support Safari.
- An iPhone running iOS 18 or later with a current version of TslaMirror that includes Bluetooth Mouse Remote.
- Bluetooth is on, and TslaMirror is allowed to use Bluetooth.
- The v0.3.3 firmware has been downloaded from the official TslaMirror website.
- The firmware SHA-256 has been checked.
- You can hold the iPhone upright in a normal portrait or landscape position during initial connection, rather than leaving it flat and motionless.
- You know whether Portrait Orientation Lock is currently on or off in iPhone Control Center.
3. Firmware download information
3.1 Official firmware
AtomS3-Lite (SKU:C124) firmware download:
https://teslamirror.com/TslaMouse-v0.3.3.bin
This is TslaMouse v0.3.3 firmware for AtomS3-Lite (SKU:C124). It turns the AtomS3-Lite (SKU:C124) into a Bluetooth mouse device for the Bluetooth Mouse Remote feature in the TslaMirror iOS app.
- File name:
TslaMouse-v0.3.3.bin - Firmware version:
0.3.3 - Bluetooth device name:
TslaMouse - Bluetooth pairing PIN:
123456 - File size:
597760bytes - SHA-256:
44a9ed7606df3fb036d3a51229038438c3a866f428b887ef7ecdd69d6cbff9bd
Required for every upgrade to v0.3.3: this release changes the HID report descriptor so that held buttons and absolute movement share one report. Forget
TslaMousein iPhone AssistiveTouch, clear the AtomS3-Lite bond by holding its button for about 5 seconds, and pair again after flashing. Keeping an old pairing can leave the swipe fix inactive.
Use only the official TslaMirror download URL above. Do not flash a same-named file obtained from a chat group, file-sharing service, forum, second-hand seller, or unknown website.
3.2 Official hardware information
- M5Stack official manual: AtomS3-Lite (SKU:C124)
- M5Stack official store: Buy AtomS3-Lite (SKU:C124)
- Amazon store: M5Stack Official AtomS3-Lite
Availability, seller names, and page titles on third-party stores can change. Before ordering, personally verify that the listing says both AtomS3-Lite and SKU:C124.
4. How to avoid buying the wrong device
4.1 What the product listing must confirm
Check all of the following before placing the order:
- The product name is
AtomS3-Lite; bothS3andLiteare present. - The SKU is
C124. - It uses an ESP32-S3-family chip; the official specification is ESP32-S3FN8.
- It has 8 MB of flash memory.
- It has a USB-C connector.
4.2 Similar products that are not substitutes
The following names look similar, but they must not be used with this firmware:
- Atom Lite, which is the older ESP32 model rather than ESP32-S3
- AtomS3, the model with a display
- AtomS3R, AtomS3R-CAM, or AtomS3U
- Atom Matrix or Atom Echo
- Other ESP32-S3 development boards or unbranded “compatible” boards without an explicit C124 designation
4.3 Accessories to prepare
- One USB-C data cable. Even if a cable is included, confirm that it carries data.
- A stable USB power source for normal use, such as a reputable USB charger, power bank, or vehicle USB power source.
- If the computer has only USB-C ports, use a data-capable USB-C adapter or a USB-C-to-USB-C data cable.
The AtomS3-Lite has no user-facing display. Firmware status is shown by its internal multicolor LED; this is normal.
5. Download and verify the firmware
A SHA-256 check confirms that the downloaded file was not corrupted and helps detect the wrong file. Continue only if the value matches exactly. Letter case is not important, but every hexadecimal character must be the same.
5.1 Download
- Open the official firmware link on the computer.
- Save the file in the Downloads folder.
- Confirm that its name is
TslaMouse-v0.3.3.bin. - If the browser gives a repeated download a name such as
TslaMouse-v0.3.3 (1).bin, use that actual name in the verification command.
5.2 Verify on macOS
- Open the Terminal app.
- Enter the following command and press Return:
shasum -a 256 "$HOME/Downloads/TslaMouse-v0.3.3.bin"
If the file is not in the default Downloads folder, type shasum -a 256 , drag the firmware file from Finder into the Terminal window, and then press Return.
5.3 Verify on Windows PowerShell
- Open PowerShell.
- Enter the following command and press Enter:
Get-FileHash "$env:USERPROFILE\Downloads\TslaMouse-v0.3.3.bin" -Algorithm SHA256
Read the value in the Hash field.
5.4 Verify on Linux
sha256sum "$HOME/Downloads/TslaMouse-v0.3.3.bin"
5.5 Expected result
The correct result on every operating system is:
44a9ed7606df3fb036d3a51229038438c3a866f428b887ef7ecdd69d6cbff9bd
If the value does not match:
- Do not flash that file.
- Make sure you checked the newly downloaded v0.3.3 file rather than an older or duplicate file in the same folder.
- Download it again from the official link.
- Verify it again. If it still differs, stop and contact TslaMirror support.
6. Flash the firmware: recommended browser method
This is the recommended method for ordinary users. It does not require a development environment.
6.1 Browser requirement
Use the current desktop version of either:
- Google Chrome; or
- Microsoft Edge.
Do not use Safari. The official ESP Tool explicitly reports that Safari is unsupported. A browser on the iPhone cannot replace the computer for this step.
Official web flasher:
Espressif ESP Tool
6.2 What flashing changes
The downloaded .bin is a complete merged image written from address 0x0. It contains the bootloader, partition table, and TslaMouse application.
The Erase Flash button clears only the flash storage inside the AtomS3-Lite. It does not delete files from the computer or iPhone. It also clears the hardware's previous Bluetooth bond, so the iPhone must be paired again after flashing.
6.3 Prepare the connection
- Close Arduino IDE, serial-terminal apps, other flashing utilities, and other browser tabs that may be using the serial device.
- If several USB serial devices are attached, temporarily unplug unrelated ones so the AtomS3-Lite is easy to identify.
- Connect the AtomS3-Lite to the computer with a USB-C data cable.
- For the first attempt, connect directly to the computer instead of using an unreliable USB hub.
6.4 Put AtomS3-Lite into download mode
Follow the M5Stack procedure:
- Keep the AtomS3-Lite connected to the computer by USB.
- Press and hold its reset button for about two seconds.
- Release the button when the internal green LED turns on.
- When the green LED turns off, the device is in download mode and ready to be flashed.
If the computer still does not see it, unplug USB, reconnect it, and repeat the press-and-hold procedure.
6.5 Connect in ESP Tool
- Open Espressif ESP Tool in Chrome or Edge.
- In the
Programsection, setBaudrateto460800. This is the recommended balance between speed and reliability. - Click
Connect. - The browser displays a serial-port chooser. Select the newly connected AtomS3-Lite and allow the connection.
- The page should report an ESP32-S3-class device and reveal
Erase Flash, the file table, and the flash settings.
The port label varies by operating system and may contain USB, JTAG, Serial, usbmodem, or similar text. If it is unclear, cancel, unplug the AtomS3-Lite, open the chooser to see which entry disappeared, and then reconnect it to confirm.
6.6 Erase the AtomS3-Lite first
- Click the red
Erase Flashbutton. - Wait for the terminal at the bottom of the page to report that the erase completed.
- Do not unplug the cable, close the page, or allow the computer to sleep during the erase.
This is expected for a clean v0.3.3 installation. The old firmware and old Bluetooth bond are not preserved.
6.7 Select the file and enter the exact settings
After connecting, the page automatically creates the first file row. Use only this row; do not click Add File.
Set the fields exactly as follows:
| ESP Tool field | Required value | Note |
|---|---|---|
Flash Address |
0x0 |
The initial value is normally 0x1000; it must be changed to 0x0 |
File |
TslaMouse-v0.3.3.bin |
Select the official file whose hash you verified |
Flash Mode |
dio |
Do not leave this as keep |
Flash Frequency |
80m |
This means 80 MHz |
Flash Size |
8MB |
Matches the 8 MB flash in C124 |
Pay particular attention to these points:
- The address is
0x0, not0x1000,0x8000, or0x10000. - This is one merged firmware file. Do not add a second or third row.
- The file name, version, and SHA-256 must match Section 3.
6.8 Program the firmware
- Check all five fields one more time.
- Click
Program. - Wait for the progress to finish. The terminal may display writing and verification messages.
- Do not unplug USB, refresh the page, close the browser, or allow the computer to sleep before completion.
- If the progress completes without an error, click
Disconnect. - Unplug the AtomS3-Lite and reconnect it to USB power, or press reset once to boot it normally.
6.9 First indication of success
After a normal boot, the AtomS3-Lite should blink blue, meaning that it is waiting for a Bluetooth connection or pairing. The next step is to add TslaMouse on the iPhone.
If it does not blink blue, use the troubleshooting steps in Section 13. Do not experiment with random flash addresses or settings.
7. Alternative flashing method: command-line esptool
Use this section only if the browser method is unavailable. A first-time command-line user may prefer assistance from someone comfortable with computer terminals.
7.1 Install esptool
Current Espressif esptool releases require Python 3.10 or later.
On macOS or Linux:
python3 -m pip install esptool
In Windows PowerShell:
py -m pip install esptool
7.2 Find the serial-port name
- On macOS, it is commonly similar to
/dev/cu.usbmodem101. - On Linux, it is commonly similar to
/dev/ttyACM0. - On Windows, open Device Manager → Ports (COM & LPT); it is commonly similar to
COM5.
Compare the port list before and after connecting the device. The AtomS3-Lite must still be put into download mode as explained in Section 6.4.
7.3 macOS/Linux example
First change the terminal's current directory to the folder containing the firmware. Replace the example port with the actual port on the computer:
python3 -m esptool --chip esp32s3 --port /dev/cu.usbmodem101 erase-flash
python3 -m esptool \
--chip esp32s3 \
--port /dev/cu.usbmodem101 \
--baud 460800 \
write-flash \
--flash-mode dio \
--flash-freq 80m \
--flash-size 8MB \
0x0 TslaMouse-v0.3.3.bin
Linux users must replace /dev/cu.usbmodem101 with the actual /dev/ttyACM* device.
7.4 Windows PowerShell example
First change to the folder containing the firmware and replace COM5 with the actual port:
py -m esptool --chip esp32s3 --port COM5 erase-flash
py -m esptool --chip esp32s3 --port COM5 --baud 460800 write-flash --flash-mode dio --flash-freq 80m --flash-size 8MB 0x0 TslaMouse-v0.3.3.bin
If writing is unreliable at 460800, change it to 115200 and try again. It will be slower but is often more reliable.
The command must finish with successful writing and verification rather than an error. Unplug and reconnect the device when finished.
8. Enable AssistiveTouch on iPhone
AssistiveTouch is required for the iPhone to accept input from this Bluetooth mouse. Keep it enabled whenever Bluetooth Mouse Remote is in use.
- Open iPhone
Settings. - Open
Accessibility. - Open
Touch. - Open
AssistiveTouch. - Turn on the
AssistiveTouchswitch at the top of the page.
An AssistiveTouch floating button may appear on the screen. This is normal iOS behavior and does not indicate a TslaMirror problem.
9. Add TslaMouse as an iPhone Bluetooth mouse
9.1 Confirm before pairing
- The AtomS3-Lite is running v0.3.3 and has stable USB power.
- Its LED is blinking blue.
- Bluetooth and AssistiveTouch are both enabled on the iPhone.
- The AtomS3-Lite is close to the iPhone.
9.2 Pairing steps
- Stay in iPhone
Settings→Accessibility→Touch→AssistiveTouch. - Open
Devices. - Open
Bluetooth Devices. - Wait for
TslaMouseto appear. - Tap
TslaMouse. - If the iPhone requests a pairing PIN, enter
123456. - Tap
Pairor confirm the request. - Wait until
TslaMouseis shown as connected.
Some iOS versions do not ask for the PIN again when the same device was paired successfully before. That is normal.
9.3 Signs of success
TslaMouseis shown as connected on the iPhone.- The AtomS3-Lite LED changes from blinking blue to cyan or green.
- A pointer may appear on the iPhone screen.
Do not turn off AssistiveTouch after pairing. The AtomS3-Lite requires only power and Bluetooth; it does not join the iPhone hotspot and does not require Wi-Fi configuration.
10. Complete setup in TslaMirror
10.1 Hold the phone in a clear orientation
For the initial connection and the first mirroring session:
- Hold the iPhone in your hand.
- Keep it in a normal upright portrait or landscape position for the orientation you plan to use.
- Do not leave it flat on a table and completely motionless.
This allows the app to confirm the screen direction correctly. After TslaMouse is ready and control direction is confirmed, the iPhone can be placed flat, mounted, or positioned as preferred.
10.2 Enable the feature and grant Bluetooth access
- Open TslaMirror.
- Tap the app's Settings button.
- Open
Bluetooth Mouse Remote. The Settings entry may be shortened toBluetooth Mouse…in English. - Confirm that the preparation steps above are complete.
- Turn on
Enable Bluetooth Mouse Remote. - When iOS asks for Bluetooth access the first time, allow it.
If access was previously denied, re-enable it in one of these locations, depending on the iOS version:
Settings→Privacy & Security→Bluetooth→ enable TslaMirror; orSettings→ TslaMirror → enable Bluetooth access.
10.3 Match System Orientation Lock to the iPhone
- Open iPhone Control Center.
- Check whether
Portrait Orientation Lockis highlighted. - Return to the Bluetooth Mouse Remote page in TslaMirror.
- If Portrait Orientation Lock is on in Control Center, turn
System Orientation Lockon in TslaMirror. - If Portrait Orientation Lock is off in Control Center, turn
System Orientation Lockoff in TslaMirror.
There are only two valid combinations:
| iPhone Control Center | TslaMirror System Orientation Lock |
|---|---|
| Portrait Orientation Lock on | On |
| Portrait Orientation Lock off | Off |
Whenever the iPhone setting changes later, update the TslaMirror switch to match. A mismatch can cause incorrect pointer direction or click positions.
10.4 Scan and bind
- Confirm that
TslaMouseis still shown as connected in AssistiveTouch. - Tap
Scan and Bind TslaMousein TslaMirror. - Keep the AtomS3-Lite powered and close to the iPhone.
- Wait while the app discovers the device, checks the firmware, and completes the connection.
A normal final result resembles:
- Device:
TslaMouse - Firmware version:
0.3.3 - Status:
TslaMouse is ready (Precise control)
Version 0.3.3 uses precise absolute-coordinate control. It normally does not require a one-time “test mouse movement” action or an additional Set Up Pointer calibration. If the app still asks for compatibility-mode pointer setup, use Section 13 to remove the old pairing, pair again, and confirm that the detected firmware really is 0.3.3.
11. First real-world use
11.1 Start mirroring
While safely parked:
- Connect the Tesla vehicle's Wi-Fi to the iPhone Personal Hotspot.
- In the vehicle's Wi-Fi settings, enable
Remain connected in Drivewhen appropriate. - Make sure Low Power Mode is off on the iPhone.
- Make sure
Proxyis enabled on the TslaMirror main page. - Confirm that the AtomS3-Lite remains powered, AssistiveTouch remains on, and the Bluetooth Mouse Remote page reports TslaMouse ready.
- Hold the iPhone in a normal portrait or landscape position.
- Tap the green
Startbutton on the TslaMirror main page to begin the screen broadcast. - In the Tesla browser, open the yellow URL shown below the
Startbutton. - Wait for the mirrored picture to become stable before testing control.
11.2 Recommended first-test sequence
Test one behavior at a time so that a problem is easy to identify:
- Tap once near the center of the picture and confirm the click lands correctly.
- Tap near all four corners and confirm the edges are reachable.
- Tap twice quickly and confirm repeated clicks are recognized.
- Swipe up and down on a scrollable page and confirm the scroll direction.
- Press a draggable item, move it slowly, and release it; confirm press, movement, and release all work.
- Change from portrait to landscape or from landscape to portrait, then recheck direction and position.
- If using Fit or Fill display options, verify click positions after switching each option.
After all of these work normally, the iPhone no longer needs to be held. It may be laid flat or secured in a suitable place. The AtomS3-Lite must remain powered throughout use.
11.3 Customize the two browser system-action buttons
The control panel in all three browser viewing modes—MJPEG, H.264, and H.265—includes two customizable iPhone system-action buttons. These controls do not call a private iOS command directly. They send standard auxiliary Bluetooth mouse buttons through TslaMouse, and AssistiveTouch performs whichever action is assigned to each button on the iPhone.
| Browser control | Mouse input sent | Recommended AssistiveTouch assignment | Result with the recommended assignment |
|---|---|---|---|
Home Screen (house icon) |
Mouse Button 2 | Home or Home Screen |
Leaves the current app and opens the iPhone Home Screen |
App Switcher (overlapping/recent-apps icon) |
Mouse Button 3 | App Switcher |
Opens the iPhone App Switcher |
IMPORTANT
Home ScreenandApp Switcherare the recommended assignments, not hard-coded iOS commands. If Button 2 is assigned to Screenshot, for example, the browser's house icon will take a screenshot. The browser icon and label do not change to reflect the action selected in iOS.
One-time preparation
Complete this setup while safely parked:
- Keep the AtomS3-Lite powered, turn on AssistiveTouch, and confirm that
TslaMouseis connected. - In TslaMirror, turn on
Enable Bluetooth Mouse Remote, scan and bind TslaMouse if needed, and wait until the page reports that TslaMouse is ready. - Start the screen broadcast and open the displayed URL in the Tesla browser. The button cannot be captured by iOS unless the browser page can currently send remote-control input to TslaMirror.
- In the Tesla browser, reveal the browser controls and expand them with the translucent menu button at the lower-left corner. Locate the house icon and the overlapping/recent-apps icon before continuing. The controls can hide automatically after inactivity, so expand them immediately before capturing each button.
- Leave the broadcast running. On the iPhone, open
Settings>Accessibility>Touch>AssistiveTouch, make sure AssistiveTouch is on, then openDevices>TslaMouse.
Assign the Home Screen button
- On the iPhone's
TslaMousedevice page, first look for an existingButton 2row. If it is already present, tap it, selectHomeorHome Screen, and skip to the verification step below. - If Button 2 is not listed, tap
Customize Additional Buttons.... - iOS displays a
Customize Buttonmessage asking you to press a button on the pointer device. Leave this message open; do not tapCancel. - In the Tesla browser, tap the actual house control once. Do not tap the mirrored iPhone picture: the picture sends an ordinary primary click, while the separate house control sends Mouse Button 2.
- When iOS recognizes the input, choose
HomeorHome Screenfrom the action list. - Return to the
TslaMousedevice page and confirm that Button 2 is now listed with the Home action.
Assign the App Switcher button
- Before starting the second capture, confirm that the browser controls are still visible and expanded. If they have hidden, reveal and expand them first.
- On the iPhone's
TslaMousedevice page, tap an existingButton 3row and selectApp Switcher; if Button 3 is not listed, tapCustomize Additional Buttons...again. - While the
Customize Buttonmessage is waiting, tap the actual overlapping/recent-apps control in the Tesla browser once. This sends Mouse Button 3. - Select
App Switcherfrom the iOS action list. - Return to the device page and confirm that Button 3 is listed with the App Switcher action.
If a browser control hides while the Customize Button message is waiting, cancel the capture, reveal and expand the browser controls, and then start the capture again. Do not reveal the controls by tapping the mirrored picture while iOS is waiting for a button, because iOS may capture the ordinary primary mouse button instead.
Other actions that can be assigned
You may deliberately assign either browser button to a different AssistiveTouch action. Apple documents the following AssistiveTouch action families; the exact names and available rows in the button-assignment list depend on the iOS version, iPhone model, language, region, enabled accessibility features, and any saved custom gestures:
| Action family | Common examples shown or supported by iOS |
|---|---|
| Navigation and system panels | Home Screen, App Switcher, Control Center, Notification Center, and Lock Screen |
| Pointer and menu behavior | Single-Tap, Double-Tap, Long Press, Open Menu, or None, when offered by the installed iOS version |
| Gestures | Scroll gestures, multifinger gestures, pinch and rotate, and user-created AssistiveTouch gestures |
| Voice and spoken content | Siri and Speak Screen |
| Device controls | Volume Up, Volume Down, Mute, Screenshot, Shake, and Restart |
| Model- or feature-dependent actions | Accessibility Shortcut, 3D Touch on supported models, Apple Pay, Emergency SOS, and Dwell-related actions |
Only two auxiliary buttons are provided, and each button can have one iOS assignment at a time. Choosing another action replaces Home Screen or App Switcher for that browser button. Avoid assigning actions such as Emergency SOS, Restart, Lock Screen, or payment-related controls unless that behavior is specifically intended.
Verify or change an assignment
- Exit Settings without turning off AssistiveTouch.
- Tap the browser house control once and verify that the iPhone opens the Home Screen.
- Tap the browser recent-apps control once and verify that the App Switcher opens.
- If either control performs the wrong action, return to
Settings>Accessibility>Touch>AssistiveTouch>Devices>TslaMouse, tap the corresponding Button 2 or Button 3 row, and choose the intended action. Re-pairing is not normally required. - If neither control responds, confirm all four conditions again: AssistiveTouch is on, TslaMouse is connected, TslaMirror reports the Bluetooth Mouse Remote as ready, and the browser page is still connected to the running screen broadcast.
After removing and re-pairing TslaMouse, resetting AssistiveTouch settings, or installing a major iOS update, check these two assignments again if the controls no longer perform the expected actions.
Apple reference: How to use a pointer device with AssistiveTouch on iPhone
12. LED status reference
| LED state | Meaning | What to do |
|---|---|---|
| Blinking blue | Waiting for connection or pairing | Select TslaMouse in AssistiveTouch or check iPhone Bluetooth |
| Cyan | The iPhone Bluetooth mouse connection is established | Wait for TslaMirror to finish connecting; tap Scan and Bind if needed |
| Green | Bluetooth mouse, encrypted link, and control session are all ready | Normal use can begin |
| Orange | Releasing mouse buttons and clearing the device-side bond | Keep power connected and wait for restart and blinking blue |
| Red | A protocol, command-queue, or mouse-send error occurred | Power-cycle first; if red returns, follow Section 13 |
Brief color changes during a state transition can be normal. Determine readiness using the LED together with the AssistiveTouch connection status and the status shown in TslaMirror.
13. Troubleshooting
13.1 The computer does not see AtomS3-Lite at all
Check in this order:
- Use a USB-C cable known to support data.
- Try a different computer USB port and avoid an unpowered hub.
- Unplug and reconnect the device.
- Hold reset for about two seconds, release it when the green LED lights, and enter download mode.
- Close apps and browser tabs that may be holding the serial port.
- Reopen Chrome or Edge and click
Connectagain.
13.2 ESP Tool says Safari is unsupported
This is a tool limitation, not a firmware problem. Copy the URL into the current version of Chrome or Microsoft Edge.
13.3 Connect fails in ESP Tool
- Confirm that the selected port belongs to the AtomS3-Lite.
- Enter download mode again.
- Close serial-terminal software.
- Reduce Baudrate from
460800to115200. - Try another data cable or USB port.
13.4 Erase Flash or Program fails partway through
- Keep the device connected and do not repeatedly click the buttons.
- Enter download mode again and reconnect.
- Change Baudrate to
115200. - Run
Erase Flashagain. - Confirm
0x0,dio,80m, and8MB, then runProgramagain.
13.5 There is no blinking blue after flashing, and TslaMouse is not found
- Click
Disconnect, unplug the device, and reconnect power. - Press reset once to try a normal boot.
- Verify the firmware SHA-256 again.
- Make sure the web page's initial
0x1000address was not left unchanged. - Erase and reflash with the exact
0x0 / dio / 80m / 8MBsettings. - Confirm once more that the hardware is AtomS3-Lite (SKU:C124).
13.6 The iPhone cannot find TslaMouse
- Confirm that the AtomS3-Lite is powered and blinking blue.
- Place it close to the iPhone.
- Confirm that iPhone Bluetooth is on.
- Search from AssistiveTouch → Devices → Bluetooth Devices, not only from Control Center.
- Power-cycle the AtomS3-Lite.
- If it may still be bonded to an old iPhone, clear all bonds as described in Section 14.
13.7 The PIN is rejected or pairing repeatedly fails
The correct PIN is:
123456
If it still fails, remove the old TslaMouse entry from the iPhone, hold the AtomS3-Lite button for five seconds to clear its device-side bond, and pair again.
13.8 TslaMouse is paired, but there is no pointer
- Confirm that AssistiveTouch is still on.
- In the AssistiveTouch Bluetooth device list, confirm that
TslaMouseis connected, not merely remembered. - Power-cycle the AtomS3-Lite.
- Turn AssistiveTouch off and back on.
- If it still fails, clear both sides of the old bond and pair again.
13.9 TslaMirror remains on “Waiting for TslaMouse to connect in AssistiveTouch”
The app can prepare its control connection, but the iPhone mouse connection is not ready. Return to the AssistiveTouch Bluetooth device list in iPhone Settings, connect TslaMouse, and then return to TslaMirror.
13.10 TslaMirror cannot find the device or keeps scanning
- Confirm the connection in AssistiveTouch first.
- Confirm that TslaMirror has Bluetooth permission.
- Confirm that Enable Bluetooth Mouse Remote is on.
- Keep the app in the foreground and tap
Scan and Bind TslaMouse. - Power-cycle the AtomS3-Lite, then scan again.
- If another device was previously bound, tap
Forget This TslaMousebefore scanning again.
13.11 Firmware is unknown, incompatible, or reported as older than 0.3.3
- Confirm the firmware file name and SHA-256.
- Tap
Forget This TslaMousein the app. - Remove
TslaMouseon the iPhone. - Hold the AtomS3-Lite button for five seconds to clear its bond.
- Pair and bind again.
- If the version is still wrong, erase and reflash the verified v0.3.3 image from
0x0.
13.12 The pointer moves, but clicking, dragging, or precise positioning is wrong
This normally indicates an old cached mouse description, incorrect firmware, or an orientation-setting mismatch:
- Confirm that the app reports firmware
0.3.3andPrecise control. - Match System Orientation Lock to Portrait Orientation Lock in Control Center.
- Hold the iPhone and restart mirroring.
- Clear the iPhone, TslaMirror, and AtomS3-Lite bonds, and then pair again.
13.13 Direction is wrong, positions shift after rotation, or screen direction cannot be confirmed
- Confirm that both orientation-lock settings match.
- Hold the iPhone in an unmistakable normal portrait or landscape position.
- Return to TslaMirror in the foreground.
- Stop and restart mirroring.
- Wait for a stable picture, then test the four corners again.
13.14 The LED turns red or the device disconnects repeatedly
- Stop remote control and power-cycle the AtomS3-Lite.
- Use a stable power supply and cable.
- Keep the device close to the iPhone and away from obvious radio interference.
- Confirm that iPhone Bluetooth is still on and TslaMirror retains Bluetooth permission.
- If red continues to return, perform a full bond reset and re-pair; reflash if necessary.
13.15 AssistiveTouch is enabled, but the virtual pointer does not behave as expected
If AssistiveTouch is enabled but the virtual pointer's position, movement range, or screen boundaries do not match what you expect, try the following iPhone-side checks before reflashing firmware.
Quick fixes
- Restart the iPhone. A normal reboot can clear temporary iOS state that affects external Bluetooth pointing devices.
- Turn Bluetooth off and back on. Disconnect
TslaMouse, openSettings→Bluetooth, turn Bluetooth off, wait about 5 seconds, turn it back on, and reconnectTslaMouse. - Toggle AssistiveTouch. Open
Settings→Accessibility→Touch→AssistiveTouch, turn AssistiveTouch off, and then turn it back on.
Adjust AssistiveTouch and display settings
- Check Tracking Sensitivity. Open
Settings→Accessibility→Touch→AssistiveTouchand adjust theTracking Sensitivityslider. If pointer behavior is unusual, move the setting toward a moderate value and test again; very high or very low values can make pointer behavior harder to diagnose, especially when display scaling is involved. - Toggle Always Show Menu or reset pointer-related AssistiveTouch settings. If
Always Show Menuis available on your iOS version, turn it off and back on. Resetting relevant pointer settings underSettings→Accessibility→Touch→AssistiveTouchmay also refresh the active pointer state and screen bounds. - Temporarily turn off Display Zoom or Accessibility Zoom. If Display Zoom is enabled under
Settings→Display & Brightness→Display Zoom, or the AccessibilityZoomfeature is enabled underSettings→Accessibility→Zoom, disable it temporarily and test again. These features change the effective display scaling and should be ruled out when pointer boundaries appear clipped or offset, especially on smaller iPhone screens.
After changing any of these settings, reconnect TslaMouse, hold the iPhone in a clear portrait or landscape orientation, restart mirroring, and test the center and all four corners again. If the problem remains, continue with Sections 13.12–13.13 and, if necessary, the full bond reset in Section 14.
14. Completely clear bonds and pair again
The iPhone mouse connection and the TslaMirror control connection are related but separate records. When changing iPhones, changing AtomS3-Lite hardware, flashing the complete merged image, or resolving a stale pairing, clear all three locations together.
- Open the Bluetooth Mouse Remote page in TslaMirror.
- Tap
Forget This TslaMouse. - Go to iPhone
Settings→Accessibility→Touch→AssistiveTouch→Devices→Bluetooth Devices, and remove or forgetTslaMouse. Depending on the iOS version, you may also need to openSettings→Bluetooth, tap the device information button, and chooseForget This Device. - Keep the AtomS3-Lite powered and hold its button for about five seconds.
- Release it when the LED turns orange. Wait for the device to restart and blink blue.
- Follow Section 9 and pair again with PIN
123456. - Return to TslaMirror and scan and bind again as described in Section 10.
If a mouse button appears stuck, the five-second clearing operation also releases the buttons before clearing the bond.
15. Normal daily use after setup
After the first setup, reflashing and re-pairing should not be necessary each day:
- Connect the AtomS3-Lite to stable USB power.
- Turn on Bluetooth and AssistiveTouch on the iPhone.
- Open TslaMirror.
- Confirm that Bluetooth Mouse Remote is enabled and reconnects to the saved
TslaMouse. - Check that System Orientation Lock still matches Control Center.
- Hold the iPhone when starting the first mirroring session and confirm its direction and status.
- Start mirroring and control only after
TslaMouse is ready (Precise control)appears. - Once operation is confirmed, the iPhone may be laid flat or mounted.
When finished, you may:
- Stop mirroring in TslaMirror.
- Turn off Bluetooth Mouse Remote when mouse control is no longer needed.
- Disconnect power from the AtomS3-Lite.
- Turn off AssistiveTouch outside remote-control sessions if its floating button is inconvenient. It must be turned on again before the next session.
16. Firmware updates
- The download link in this guide is for v0.3.3, which satisfies the app's requirement for version 0.3.3 or later.
- Do not repeatedly erase and reflash merely because of an ordinary connection problem. Check Bluetooth, permissions, AssistiveTouch, and orientation first.
- Obtain future firmware only from the official TslaMirror website, and follow the instructions for that specific version.
- Flashing a complete merged
.binfrom0x0overwrites the device-side Bluetooth bond. Be prepared to pair and bind again after an update. - TslaMouse does not use Wi-Fi and has no ordinary-user wireless update flow. Firmware updates are performed again over USB.
17. Final success checklist
- The hardware is confirmed as AtomS3-Lite (SKU:C124).
- The firmware came from
https://teslamirror.com/TslaMouse-v0.3.3.bin. - The SHA-256 matches exactly.
- The image was written from
0x0withdio / 80m / 8MB. - The iPhone runs iOS 18 or later and Bluetooth is on.
- AssistiveTouch is on.
TslaMouseis paired with PIN123456and shown as connected.- TslaMirror has Bluetooth permission.
- TslaMirror has scanned and bound
TslaMouse. - The app reports firmware 0.3.3 and
Precise control. - TslaMirror System Orientation Lock matches iPhone Control Center.
- The iPhone was held normally rather than left flat and motionless when starting the first session.
- Single-click, drag, scroll, all four corners, and portrait/landscape direction have been tested successfully.
When all items are complete, Bluetooth Mouse Remote is fully configured from hardware purchase through real-world use.