Skip to content

[Bug] Technichub sometimes gets locked-up on a connect of a remote. #2726

Description

@BertLindeman

Describe the bug
A connect to a remote sometimes makes the hub "hang" and a long press of the button lets the hub rappidly blink blue. The hub is irresponsive to UI buttons. Batteries need to be taken out to power-off the hub.

To reproduce
Steps to reproduce the behavior:

  1. Go to beta.pybricks.com
  2. Upload and run the test program (see below)
  3. Wait a bit and then activate a remote
  4. If all goes well you'll see Disconnected 2 DONE
  5. If not and you see no timeout for the remote, then the hub is locked-up
  6. long press the hub button to power-off
  7. If no power-off occurs, you'll see rapid blue blinking and need to remove the batteries to power-off

Expected behavior
A simple remote connect or timeout

Screenshots
There is a saying that a picture is worth a 1000 words. Screenshots really help to identify and solve problems.

Extra info
Currently have this problem with V4.0.0:
('technichub', '4.0.0', 'ci-build-4848-v4.0.0 on 2026-06-08')
Had similar problems with older V4 beta firmware versions,
but I could not make a reproducible testcase.
With this test program I have about 50% chance to hit the problem.

test program

Output example of good run:

('technichub', '4.0.0', 'ci-build-4848-v4.0.0 on 2026-06-08')
Got   remote name 1 Handset left
Disconnected 1
start remote 2
Got   remote name 2 Handset left
Disconnected 2 DONE

Hang example:

('technichub', '4.0.0', 'ci-build-4848-v4.0.0 on 2026-06-08')
Got   remote name 1 Handset right
Disconnected 1
start remote 2

and although there is a remote blinking to get connected, the connect does not complete.
CTRL-C on the terminal pane does not react,
long press on hub button gets a rapid blue blink.

from pybricks.pupdevices import Remote
from pybricks.tools import wait, StopWatch
from pybricks import version
print(version)

remote = Remote(timeout=10000)
print("Got   remote name 1", remote.name())
remote.disconnect()
print("Disconnected 1")

wait(2000)
print("start remote 2")
remote = Remote(timeout=None)
print("Got   remote name 2", remote.name())
remote.disconnect()
print("Disconnected 2 DONE\n")

Metadata

Metadata

Assignees

No one assigned

    Labels

    hub: technichubIssues related to the LEGO Technic hub (Hub No. 2)software: pybricks-micropythonIssues with Pybricks MicroPython firmware (or EV3 runtime)topic: remote controlIssues related to remotly controlling hubs

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions