Installing picochess on top of a Pi4b with latest RPIOS64 - Help needed

75 views
Skip to first unread message

Francois Vannier

unread,
Feb 22, 2026, 5:33:00 AMFeb 22
to pico...@googlegroups.com
Hi Randy & Johan,

Following the recommendation from Randy to get rid of my broken sound system on Pi4b, I made a fresh RPiOS64 image, updated it & verified that the sound was back : everything went fine for that part, including the speaker icon.

Then I tried to install picochess on top, following instructions from the README at https://github.com/JohanSjoblom/picochess

Outcome : not working (no trace of picochess or kiosk running). See the full installation command output at the end of the mail. Extracts:

Warning: /opt/picochess/etc/pico-kiosk.desktop not found

setting up picochess, gamesdb, and update services
cp: cannot stat 'etc/gamesdb.service': No such file or directory
cp: cannot stat 'etc/picochess-update.service': No such file or directory
cp: cannot stat 'etc/run-picochess-if-flagged.sh': No such file or directory
chmod: cannot access '/usr/local/bin/run-picochess-if-flagged.sh': No such file or directory
Failed to enable unit: Unit gamesdb.service does not exist
Failed to enable unit: Unit picochess-update.service does not exist


What I did :

First, I did these commands I did not find in the README:

cd /opt
sudo git clone https://github.com/jromang/picochess.git
sudo chown -R pi:pi /opt/picochess
cd /opt/picochess
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/install-picochess.sh
chmod +x install-picochess.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/install-engines.sh
chmod +x install-engines.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/move-books-games-to-backup.sh
chmod +x move-books-games-to-backup.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/install-books-games.sh
chmod +x install-books-games.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/kiosk.sh
chmod +x kiosk.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/move-engines-to-backup.sh
chmod +x move-engines-to-backup.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/check-update-status.sh
chmod +x check-update-status.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/check-git-status.sh
chmod +x check-git-status.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/check-git-tags.sh
chmod +x check-git-tags.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/restore-engines-from-backup.sh
chmod +x restore-engines-from-backup.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/pylint-check.sh
chmod +x pylint-check.sh
wget -L https://raw.github.com/JohanSjoblom/Picochess/master/install-kiosk.sh
chmod +x install-kiosk.sh

Second, I created a picochess.ini file, just made a copy of the example + debug log

And finally, I ran the command 'sudo ./install-picochess.sh pico lite kiosk' :

pi@Picochess:/opt/picochess $ sudo ./install-picochess.sh pico lite kiosk
Skipping system update because 'pico' parameter was given.
Updating Picochess but not system
 -------------------------
installing needed libraries
git is already the newest version (1:2.47.3-0+deb13u1).
sox is already the newest version (14.4.2+git20190427-5+b3).
unzip is already the newest version (6.0-29).
wget is already the newest version (1.25.0-2).
libtcl8.6 is already the newest version (8.6.16+dfsg-1).
telnet is already the newest version (0.17+2.6-3+deb13u2).
libglib2.0-dev is already the newest version (2.84.4-3~deb13u2).
i2c-tools is already the newest version (4.4-2).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
avahi-daemon is already the newest version (0.8-16).
avahi-discover is already the newest version (0.8-16).
libnss-mdns is already the newest version (0.15.1-4+b1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
vorbis-tools is already the newest version (1.4.3-1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
python3 is already the newest version (3.13.5-1).
python3-pip is already the newest version (25.1.1+dfsg-1+rpt1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
python3-dev is already the newest version (3.13.5-1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
python3-pyaudio is already the newest version (0.2.13-1+b6).
portaudio19-dev is already the newest version (19.6.0-1.2+b3).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
python3-venv is already the newest version (3.13.5-1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
libffi-dev is already the newest version (3.4.8-2).
libssl-dev is already the newest version (3.5.4-1~deb13u2+rpt1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
tk is already the newest version (8.6.16).
tcl is already the newest version (8.6.16).
libtcl8.6 is already the newest version (8.6.16+dfsg-1).
libtcl8.6 is already the newest version (8.6.16+dfsg-1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
libsndfile1 is already the newest version (1.2.2-2+b1).
libportaudio2 is already the newest version (19.6.0-1.2+b3).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Skipping pipewire-alsa install during 'pico' code-only update.
unclutter is already the newest version (8-25+nmu1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
xdotool is already the newest version (1:3.20160805.1-5.1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Warning: package 'ydotool' not available in apt; skipping.
libopenblas-dev is already the newest version (0.3.29+ds-3).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
libsdl2-2.0-0 is already the newest version (2.32.4+dfsg-1).
libsdl2-ttf-2.0-0 is already the newest version (2.24.0+dfsg-2).
qt5ct is already the newest version (1.8-2+b1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
rsync is already the newest version (3.4.1+ds1-5+deb13u1).
Summary:
  Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
 ---------------------------------------------------
System updates done - Starting Picochess installation
 ---------------------------------------------------
Starting backup (runs only for master branch or detached tag)...
Creating backup in: /home/pi/pico_backups/current
Saving git diff...
Backing up untracked files...
Syncing working directory...
         65,542   0%  492.75kB/s    0:00:00 (xfr#2, to-chk=0/4245)  
Backup safely stored at: /home/pi/pico_backups/current
 -------
On master branch — forcing update to latest official version...
HEAD is now at 87d792e Merge pull request #278 from jromang/dependabot/pip/requests-2.20.0
 -------
upload dir already exists - making sure install user is owner
Engines present for aarch64 and variant explicitly requested (lite)
Backing up existing engines
---------------------------------------------
 Moving PicoChess engine files to backup ...
 Architecture: aarch64
 Source: /opt/picochess/engines
 Backup: /home/pi/pico_backups/current/engines_backup
---------------------------------------------
Moving /opt/picochess/engines/aarch64 to /home/pi/pico_backups/current/engines_backup/aarch64 ...
Moving /opt/picochess/engines/mame_emulation to /home/pi/pico_backups/current/engines_backup/mame_emulation ...
Moving /opt/picochess/engines/rodent3 to /home/pi/pico_backups/current/engines_backup/rodent3 ...
Moving /opt/picochess/engines/rodent4 to /home/pi/pico_backups/current/engines_backup/rodent4 ...
Moving /opt/picochess/engines/lc0_weights to /home/pi/pico_backups/current/engines_backup/lc0_weights ...
Moving /opt/picochess/engines/script_engines to /home/pi/pico_backups/current/engines_backup/script_engines ...
Moving /opt/picochess/engines/pgn_engine/pgn_audio to /home/pi/pico_backups/current/engines_backup/pgn_engine/pgn_audio ...
---------------------------------------------
 Engine directories moved successfully.
 They are now stored in: /home/pi/pico_backups/current/engines_backup
---------------------------------------------
Installing engines variant: lite
Checking architecture...
Detected architecture: aarch64 (variant: lite)
No engines found for aarch64. Installing requested engine package...
Downloading aarch64 lite engine package...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  489M  100  489M    0     0  38.5M      0  0:00:12  0:00:12 --:--:-- 48.1M
Extracting aarch64 lite engine package...
aarch64 lite engine package installed successfully.
No MAME emulation files found. Installing package...
Downloading MAME emulation package...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  510M  100  510M    0     0  23.3M      0  0:00:21  0:00:21 --:--:-- 31.4M
Extracting MAME emulation package...
MAME emulation package installed successfully.
No Rodent III files found. Installing package...
Downloading Rodent III package...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 48.9M  100 48.9M    0     0  36.9M      0  0:00:01  0:00:01 --:--:-- 44.8M
Extracting Rodent III package...
Rodent III package installed successfully.
No Rodent IV files found. Installing package...
Downloading Rodent IV package...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 42.7M  100 42.7M    0     0  28.5M      0  0:00:01  0:00:01 --:--:-- 37.2M
Extracting Rodent IV package...
Rodent IV package installed successfully.
Installing LC0 weights...
Downloading LC0 weights...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  591M  100  591M    0     0  30.4M      0  0:00:19  0:00:19 --:--:-- 28.2M
Extracting LC0 weights...
LC0 weights installed successfully.
Installing script engines...
Downloading script engines...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 4169k  100 4169k    0     0  1784k      0  0:00:02  0:00:02 --:--:-- 2037k
Extracting script engines...
Script engines installed successfully.
Installing pgn_audio files...
Downloading pgn_audio files...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  457M  100  457M    0     0  23.3M      0  0:00:19  0:00:19 --:--:-- 21.2M
Extracting pgn_audio files...
pgn_audio files installed successfully.
books/gamesdb backup already exists - skipping backup
Installing books and games resources
Books directory already exists - skipping download.
Gamesdb directory already exists - skipping download.
Opening data already exists - skipping download.
Book and game resources installed.
Fixing ownership for engines folder...
logs dir already exists - making sure install user is owner
 -------
venv already exists - making sure install user is owner and group
picochess.ini already existed - no changes done
voices.ini already existed - no changes done
DGT3000 flag not set - skipping DGTPi clock install
PI3 flag not set - skipping Bluetooth unblock service install
Kiosk flag set - installing kiosk autologin/autostart
Setting up kiosk autostart for user: pi
Configuring autologin via raspi-config
Configuring LightDM autologin
Configuring getty autologin
Warning: /opt/picochess/etc/pico-kiosk.desktop not found
Kiosk setup complete. Reboot to use autologin and kiosk autostart.
 -------
checking required python modules...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in ./venv/lib/python3.13/site-packages (26.0.1)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: ConfigArgParse==0.12.0 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 1)) (0.12.0)
Requirement already satisfied: Flask==1.0 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 2)) (1.0)
Requirement already satisfied: paramiko==2.4.2 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 3)) (2.4.2)
Requirement already satisfied: pyserial==3.4 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 4)) (3.4)
Requirement already satisfied: python-chess==0.22.1 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 5)) (0.22.1)
Requirement already satisfied: pyOpenSSL==17.5.0 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 6)) (17.5.0)
Requirement already satisfied: requests==2.20.0 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 7)) (2.20.0)
Requirement already satisfied: spur==0.3.20 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 8)) (0.3.20)
Requirement already satisfied: tornado==4.5.1 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 9)) (4.5.1)
Requirement already satisfied: configobj==5.0.6 in ./venv/lib/python3.13/site-packages (from -r requirements.txt (line 10)) (5.0.6)
Requirement already satisfied: Werkzeug>=0.14 in ./venv/lib/python3.13/site-packages (from Flask==1.0->-r requirements.txt (line 2)) (3.1.6)
Requirement already satisfied: Jinja2>=2.10 in ./venv/lib/python3.13/site-packages (from Flask==1.0->-r requirements.txt (line 2)) (3.1.6)
Requirement already satisfied: itsdangerous>=0.24 in ./venv/lib/python3.13/site-packages (from Flask==1.0->-r requirements.txt (line 2)) (2.2.0)
Requirement already satisfied: click>=5.1 in ./venv/lib/python3.13/site-packages (from Flask==1.0->-r requirements.txt (line 2)) (8.3.1)
Requirement already satisfied: bcrypt>=3.1.3 in ./venv/lib/python3.13/site-packages (from paramiko==2.4.2->-r requirements.txt (line 3)) (5.0.0)
Requirement already satisfied: cryptography>=1.5 in ./venv/lib/python3.13/site-packages (from paramiko==2.4.2->-r requirements.txt (line 3)) (46.0.5)
Requirement already satisfied: pynacl>=1.0.1 in ./venv/lib/python3.13/site-packages (from paramiko==2.4.2->-r requirements.txt (line 3)) (1.6.2)
Requirement already satisfied: pyasn1>=0.1.7 in ./venv/lib/python3.13/site-packages (from paramiko==2.4.2->-r requirements.txt (line 3)) (0.6.2)
Requirement already satisfied: six>=1.5.2 in ./venv/lib/python3.13/site-packages (from pyOpenSSL==17.5.0->-r requirements.txt (line 6)) (1.17.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./venv/lib/python3.13/site-packages (from requests==2.20.0->-r requirements.txt (line 7)) (3.0.4)
Requirement already satisfied: idna<2.8,>=2.5 in ./venv/lib/python3.13/site-packages (from requests==2.20.0->-r requirements.txt (line 7)) (2.7)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in ./venv/lib/python3.13/site-packages (from requests==2.20.0->-r requirements.txt (line 7)) (1.24.3)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.13/site-packages (from requests==2.20.0->-r requirements.txt (line 7)) (2026.1.4)
Requirement already satisfied: cffi>=2.0.0 in ./venv/lib/python3.13/site-packages (from cryptography>=1.5->paramiko==2.4.2->-r requirements.txt (line 3)) (2.0.0)
Requirement already satisfied: pycparser in ./venv/lib/python3.13/site-packages (from cffi>=2.0.0->cryptography>=1.5->paramiko==2.4.2->-r requirements.txt (line 3)) (3.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./venv/lib/python3.13/site-packages (from Jinja2>=2.10->Flask==1.0->-r requirements.txt (line 2)) (3.0.3)
 -------
setting up picochess, gamesdb, and update services
cp: cannot stat 'etc/gamesdb.service': No such file or directory
cp: cannot stat 'etc/picochess-update.service': No such file or directory
cp: cannot stat 'etc/run-picochess-if-flagged.sh': No such file or directory
chmod: cannot access '/usr/local/bin/run-picochess-if-flagged.sh': No such file or directory
Failed to enable unit: Unit gamesdb.service does not exist
Failed to enable unit: Unit picochess-update.service does not exist
 ------- setcap start -------
after each system update we need to rerun the cap_net rights
giving bluetooth rights so that communication works to DGT board etc
Debug: Using venv python at /usr/bin/python3.13
Debug: Detected python version: python3.13
Debug: Bluepy helper path: /opt/picochess/venv/lib/python3.13/site-packages/bluepy/bluepy-helper
Debug: Detected arch: aarch64
Warning: /opt/picochess/venv/lib/python3.13/site-packages/bluepy/bluepy-helper not found, skipping setcap
 ------- setcap end -------
Fixing ownership for backup folders - in case user has run install-engines as sudo
Picochess installation complete. Please reboot
NOTE: If you are on DGTPi clock hardware you need to run install-dgtpi-clock.sh
After reboot open a browser to localhost
If you have a DGT board you need to change the board type
in the picochess.ini like this: board-type = dgt
Other board types are also supported - see the picochess.ini file
 -------
In case of problems have a look in the log /opt/picochess/logs/picochess.log
You can rerun this installation whenever you want to update your system
Use the parameter pico if you want to skip system update
pi@Picochess:/opt/picochess $


<Reboot & check : nothing working>
<Tried that, same>

pi@Picochess:/opt/picochess $ sudo systemctl enable picochess.service
pi@Picochess:/opt/picochess $ sudo systemctl start picochess.service

Help welcome :-)

Kr,

Francois

Johan Sjöblom

unread,
Feb 22, 2026, 6:53:09 AMFeb 22
to pico...@googlegroups.com
I am sorry but you started with a lot of commands that you do not need, and the firat command took the wrong repository. Notice that it's jromang repository you fetched.
After this command nothing will work.
cd /opt
sudo git clone https://github.com/jromang/picochess.git
sudo chown -R pi:pi /opt/picochess

The only commands you need on a new system are these copied from readme:
    • sudo ./install-picochess.sh
    • Default engine pack is small. If you want more engines and are OK with a longer download, use sudo ./install-picochess.sh lite.
    • If you install on a DGT3000 clock, run: sudo ./install-picochess.sh dgt3000
    • Reboot; Picochess should start as a service.
    To start over it might be enough to delete /opt/picochess folder

    --
    You received this message because you are subscribed to the Google Groups "PicoChess" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
    To view this discussion visit https://groups.google.com/d/msgid/picochess/CADa9EqU3xY_%2B4s%3Dz8r%2BxJfhscC%3DA9tHPyDCNf%2BNoDSLSNnjzYg%40mail.gmail.com.

    Francois Vannier

    unread,
    Feb 22, 2026, 7:38:01 AMFeb 22
    to pico...@googlegroups.com
    Johan,

    My most sincere apologies !

    I was lazy & asked Gemini to help install picochess V4 on top of RPIOS. Obviously, its answer was obsolete...

    Back to good practices & everything is now working fine.

    Thanks again for the help. 

    Johan Sjöblom

    unread,
    Feb 22, 2026, 8:43:05 AMFeb 22
    to PicoChess
    Rock n Roll. Really nice that it now works and you are back in the game :-)
    I use chatgpt and claude myself. Maybe it was just confusing for the Gemini AI when there are so many versions of picochess.

    I have upgraded 2 Pi4 today as well using the menu and I was not able to reproduce the problem from yesterday. One of them I had on the audio jack, but sound continued to work after upgrade. The only thing I improved based on learning yesterday is that install-picochess does not install pipewire-alsa if the user is using the old sox audio (and not the new native).
    -- Johan

    Randy Reade

    unread,
    Feb 22, 2026, 9:05:34 AMFeb 22
    to pico...@googlegroups.com
    pipewire-alsa is needed even if using SoX. The problem is that the kernel does not always enumerate the sound devices in the same order leading to the default device not being consistent. So audio gets routed to the wrong output (card: 0 if asound.conf isn't used) and nothing is heard. aplay -l will show that the order has changed. pipewire-alsa prevents this by intercepting alsa calls and routing it to the PipeWire device selected by the user. It's really only important for devices that have more than one audio output device available, like the Pi3 or Pi4.

    But, it doesn't need to be installed by the PicoChess installer. It can be left to the user to install if there is no sound on boot. Hopefully the OS will install it by default in the future.

    Randy

    Johan Sjöblom

    unread,
    Feb 22, 2026, 10:14:40 AMFeb 22
    to PicoChess
    Yes, lets monitor installation successes or failures. I took a compromise as there are Bookworm installations using Sox and I dont want to do something invasive to the older systems when those are upgrading the picochess only. As soon as a user does a fresh install, or changes audio to native, the library will install. This is just a conservative "protect the old installations". Might be over-protection yes, but if user switches to native it will install. And as you said, user can always install it themselves... And again, on fresh installs it will install and use native setting as default.

    The mobile phone as speaker works well in my tests... I can also connect a bluetooth speaker to my mobile phone and the pico backend sound will go there, just like a music player would. So now you can have a headless Pi and play on tablets or phones around the house. A test I have not yet made is when does the sound "return back to the Pi device". When I have the new setting "web-audio-backend-remote = true" and I connect a web client like the mobile phone the backend stops producing sounds and the sounds are sent to the mobile phone instead. But what happens if I close the web page on the mobile phone... do I have to wait for a timeout before the backend no longer sees any web clients and starts playing localhost again.
    I already accidentally paired my phone to the Pi4 and in that case the backend sound went first to the mobile phone web client and from there back to the Pi. Result was that it seemed that no sound came out from mobile phone and sound was coming out from the Pi. At first I thought my feature had stopped working, but it was only the Pi acting as my speaker from my mobile phone. This means you can use the mobile phone to decide where the sound should come out, including sending it back to the Pi4 backend! I have not tested chromecast yet :-)

    -- Johan

    Johan Sjöblom

    unread,
    Feb 22, 2026, 10:25:51 AMFeb 22
    to PicoChess
    A short note: As soon as I close the mobile phone web page the sound indeed returns back to the Pi4 localhost, and if I open the phone again it comes back to the phone. I made the feature so that only when there is a web client picochess will stop the local sound and send it to the web page client instead.
    When this matures this could be considered to be default for new installations... Right now user must change the setting it in picochess.ini or use the settings icon bluetooth tab page to set this to true.

    Randy Reade

    unread,
    Feb 22, 2026, 11:15:34 AMFeb 22
    to pico...@googlegroups.com
    Good point about the older Bookworm systems. I'm not sure installing pipewire-alsa would hurt unless PulseAudio was selected (so an older version of Bookworm). I believe in the last Bookworm RPiOS version switching to PulseAudio was no longer possible via raspi-config, but I could be mis-remembering.

    Randy Reade

    unread,
    Feb 22, 2026, 11:18:04 AMFeb 22
    to pico...@googlegroups.com
    This is a nice enhancement. I haven't tested on the DGTPi in a long time but that would be a nice use case if connected to a network.

    Johan Sjöblom

    unread,
    Feb 22, 2026, 12:17:33 PMFeb 22
    to PicoChess
    The network issue I solved by using my mobile phone wifi hotspot. I have added the possibility to put (hotspot) wifi credentials in the picochess.ini file. If you have done that; you can select System --> Wi-Fi from the Clock menu; and it will connect to your hotspot. So you can activate it from the Clock menu when you need a network. Your mobile phone becomes your screen and speaker. If I remember correctly I show the IP address on the Clock display when the Wifi hotspot connects so that you know what IP to enter on the phone.

    I did try to create a Bluetooth PAN network to make it work purely on Bluetooth, but at least my Samsung S-series phone rejects that PAN network immediately.
    My vision was that you take a headless Pi or a DGT 3000 clock, insert an SD card with picochess. Start up picochess. From the clock menu you can chose System --> Bluetooth --> Pair phone. The phone pairing does work. Then I attempt to start a PAN network on the Pi and the phone should become part of it. But I always get PAN failed. When PAN fails it goes for the Wifi hotspot which you have to then turn on on the phone. But it would have been so cool if we could have made a Bluetooth PAN network. Then you could use the mobile phone screen and speaker without any Wifi at all...

    To really get an easy first setup we would need a mobile phone app like we get with most embedded smart-devices we buy nowadays... In that case the Pi need to spin up a temporary own Wifi for the mobile phone to join. The pragmatic zero setup for would be that we configure a known SSID like "pi", password "picochess" as the expected mobile hotspot credentials in picochess. This would be a distributable lite image. Everyone would then temporarily have to make the mobile hotspot credentials exactly that. But it would be easy to get started for people who might not have any fixed ethernet available. WPS is also an option for first start.... but most devices you buy nowadays uses the "own wifi network" approach. That would probably be the best... 

    Anyway... the vision is zero setup, and modern setup like any embedded smart-device you can buy. You only need a headless pi (or DGT 3000 clock) and a mobile phone.

    -- Johan


    Randy Reade

    unread,
    Feb 22, 2026, 1:34:26 PMFeb 22
    to pico...@googlegroups.com
    I forgot you added the hotspot enhancement. Yes, that would work if not connecting to a local network.

    Back in the day we could use something called autoAP on the Pi to establish a connection when no network was available but it was not updated for Network Manager. There's probably newer options available now. BT PAN would have been nice.


    Reply all
    Reply to author
    Forward
    0 new messages