Repository navigation
Releases: tinydesk-project/tinydesk-shell
Release list
TinyDesk Shell 0.1.5
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
New in 0.1.5
- Only root changes the network policy:
network modeand
network autowifiwith a value need root; any user still sees them.
Before, any user could switch Wi-Fi or the LAN off for the whole board,
or make it connect at boot. - Board configuration numbers are decimal or
0xhexadecimal, as
documented: a leading zero no longer means octal (08was rejected,
010read as 8). - New home: the code is at github.com/tinydesk-project and the
documentation at https://tinydesk-project.github.io/.
STANDARDS.mdsets out names, code style, commands, board keys and
release rules, also for community ports.
Also since 0.1.0: long command lines wrap and stay editable, and
board save keeps built-in pins (0.1.4); nano follows the terminal's
size (0.1.3); the SD card at /sd (sd mount, 0.1.2); ping -c, and
tdsh.exe, a native Windows program (tinydesk-shell-windows-x64.zip).
Install
-
ESP boards, from the browser: https://tinydesk-project.github.io/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.5-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.5-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs. -
Windows (x64, Windows 10 or later):
tinydesk-shell-windows-x64.zip, then
tdsh.exein Windows Terminal. Its files live in%LOCALAPPDATA%\tdsh\rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.5-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.5-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://tinydesk-project.github.io/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.
TinyDesk Shell 0.1.4
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
New in 0.1.4
- Long command lines: a line longer than the terminal is wide wraps
over several rows and stays editable: typing, Backspace, Delete, the
arrows, Home/End and history redraw every row. Before, text was left
behind or doubled and the cursor could not move back across the wrap.
The shell learns the width from the terminal (asked once per line on a
serial console), the SSH client, the Windows console or the Linux
terminal; UTF-8 characters count as one column each. board savecopies the pins built into the firmware into
/etc/board.conf, so firmware built without them, such as an official
release, keeps them.board showsays when that is needed.- Tab completion skips names too long for a shell path.
- For contributors:
CONTRIBUTING.md, and a pre-commit hook that
formats C files with clang-format 16 (pip install pre-commit, then
pre-commit install). The sources are now formatted with it. - For programs that embed the shell:
tdsh_terminal_io_thas two
new optional members,columns()andread_byte_timeout(); code that
fills the struct by position must name them (designated initializers
are fine).
Also since 0.1.0: nano follows the terminal's size and the factory
password is named where it is needed (0.1.3), the SD card at /sd
(sd mount, 0.1.2), ping -c, and tdsh.exe, a native Windows program
(tinydesk-shell-windows-x64.zip).
Install
-
ESP boards, from the browser: https://schikani.github.io/tinydesk-docs/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.4-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.4-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs. -
Windows (x64, Windows 10 or later):
tinydesk-shell-windows-x64.zip, then
tdsh.exein Windows Terminal. Its files live in%LOCALAPPDATA%\tdsh\rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.4-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.4-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://schikani.github.io/tinydesk-docs/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.
TinyDesk Shell 0.1.3
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
New in 0.1.3
- nano fits the terminal: it asks the terminal for its size, so its
status line (Ctrl+C shows the cursor position there) and help lines are
no longer cut off in a terminal smaller than 80x24. On the boards and in
the Linux program. - The factory password is named: while root still has it,
passwd
says the old password isTinyDesk(capital T and D), andssh start
andftp startsay so when they refuse to start.
Also since 0.1.0: the SD card at /sd (sd mount, 0.1.2), ping -c, and
tdsh.exe, a native Windows program (tinydesk-shell-windows-x64.zip).
Install
-
ESP boards, from the browser: https://schikani.github.io/tinydesk-docs/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.3-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.3-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs. -
Windows (x64, Windows 10 or later):
tinydesk-shell-windows-x64.zip, then
tdsh.exein Windows Terminal. Its files live in%LOCALAPPDATA%\tdsh\rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.3-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.3-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://schikani.github.io/tinydesk-docs/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.
TinyDesk Shell 0.1.2
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
New in 0.1.2
- SD card at
/sd:sd mount,sd umount,sd statusand
sd format --yes(root) mount a FAT card on the SPI bus. It is/sdin
the shell,nano, FTP and SFTP; long file names work.
board set sd.automount 1mounts it at every boot. The release firmware
has no pins built in: set them once withboard set sd.cs <gpio>(the
card shares the W6100'seth.*bus) or alsosd.miso,sd.mosiand
sd.sclk, then restart. ping -c <count>on the boards, as on Windows and Linux.
Also since 0.1.0: tdsh.exe, a native Windows program
(tinydesk-shell-windows-x64.zip, files in %LOCALAPPDATA%\tdsh\rootfs).
Install
-
ESP boards, from the browser: https://schikani.github.io/tinydesk-docs/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.2-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.2-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs. -
Windows (x64, Windows 10 or later):
tinydesk-shell-windows-x64.zip, then
tdsh.exein Windows Terminal. Its files live in%LOCALAPPDATA%\tdsh\rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.2-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.2-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://schikani.github.io/tinydesk-docs/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.
TinyDesk Shell 0.1.1
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
New in 0.1.1
- Windows program:
tinydesk-shell-windows-x64.ziphastdsh.exe, the
shell as a native Windows console program for Windows Terminal (line
editing, history, Tab completion,ifconfig,ping). Its files live in
%LOCALAPPDATA%\tdsh\rootfs, apart from yours. - The release text shows the real version numbers.
Install
-
ESP boards, from the browser: https://schikani.github.io/tinydesk-docs/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.1-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.1-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs. -
Windows (x64, Windows 10 or later):
tinydesk-shell-windows-x64.zip, then
tdsh.exein Windows Terminal. Its files live in%LOCALAPPDATA%\tdsh\rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.1-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.1-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://schikani.github.io/tinydesk-docs/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.
TinyDesk Shell 0.1.0
TinyDesk Shell developer preview
A Unix-like shell for microcontrollers, with users, networking and SSH, that
also runs on a PC. It is the shell inside
TinyDesk and works on its own too.
This release is a developer preview: expect rough edges, and please report
what breaks.
Install
-
ESP boards, from the browser: https://schikani.github.io/tinydesk-docs/install/#shell/esp32c6
(Chrome or Edge on a computer). Choose TinyDesk Shell and your board. -
Without the browser: flash a
*-factory.binbelow at offset 0:esptool.py --chip esp32c6 write_flash 0x0 tinydesk-shell-0.1.0-esp32c6-factory.bin esptool.py --chip esp32 write_flash 0x0 tinydesk-shell-0.1.0-esp32-factory.bin
-
Linux (x86_64, built on Ubuntu 22.04):
tinydesk-shell-linux-x86_64.tar.gz,
then./tdsh. Its files live in~/.local/share/tdsh/rootfs.
| File | Board |
|---|---|
tinydesk-shell-0.1.0-esp32c6-factory.bin |
ESP32-C6 with 8 MB flash, built-in USB |
tinydesk-shell-0.1.0-esp32-factory.bin |
any ESP32 with 4 MB flash or more; PSRAM is used when present |
Check the files against SHA256SUMS.txt. The firmware is not signed. A
factory image erases users, Wi-Fi networks and the SSH host key.
Before connecting
Open the board's serial port in a UTF-8 terminal (115200 baud on the
ESP32, any speed on the ESP32-C6's USB port), or the web terminal at
https://schikani.github.io/tinydesk-docs/console/. You start as root:
run passwd locally (initial password: TinyDesk) before enabling remote
access. help lists the commands; .tdsh scripts are described in
docs/SCRIPTING.md.
Changes: see CHANGELOG.md.