# SSH client for picocalc

**URL:** <https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621>\
**Category:** PicoCalc\
**Created:** [November 30, 2025, 10:08pm UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621 "2025-11-30T22:08:21Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![rich](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rich/32/14889_2.png) [@rich](https://forum.clockworkpi.com/u/rich)\
**Post date:** [November 30, 2025, 10:08pm UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/1 "2025-11-30T22:08:21Z")

</div>

Hello picocalc pals!

I got my picocalc a few days ago. My first project was to make it my “AI buddy”, where I could run gemini-cli and ollama over ssh. Wez Furlong laid some amazing groundwork with his picocalc-wezterm project, but the terminal emulation needs help.

I was anxious to get something up a running, so rather than creating a PR to improve upon his great terminal emulator code, I forked. I swapped out his code with Rust’s “vte” package, added more terminal characters, added scroll back functionality, and made a few other minor changes.

Now the picocalc is a pretty effective ssh/wifi based dumb terminal.

Source code and a uf2 is at:

> **[GitHub - richcannings/picocalc-ssh-client: SSH terminal for PicoCalc with prettier terminal...](https://github.com/richcannings/picocalc-ssh-client)**
>
> SSH terminal for PicoCalc with prettier terminal emulation

Try it out and let me know how this works for you.

 ![picocalc-ssh-client-gemini](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/6/678c45f99286ebeafe7993c595c03b26aa56c661.jpeg)

 ![picocalc-ssh-client-mc](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/4/4312188789e350097786f4dc7efdfb5f609767f9.jpeg)

Next, I think I’ll embark on that RPi0 project next. Looks cool!

---

<div class="post-metadata">

**Author:** ![ohm69](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ohm69/32/11926_2.png) [@ohm69](https://forum.clockworkpi.com/u/ohm69)\
**Post date:** [December 1, 2025, 6:53am UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/2 "2025-12-01T06:53:04Z")

</div>

Hi, I’m experimenting with the same ssh client in order to make it work with uf2loader.

That’s where I’m now:

> [@UF2 Loader release](https://forum.clockworkpi.com/t/uf2-loader-release/18479/177):
>
> Hi, I have found an interesting software package: picocalc-wezterm by wezterm. It’s a full-fledged SSH client for PicoCalc with Pico2\_w. Unfortunately, when I tried to install it with uf2loader, I got reboot loop. The whole thing is implemented in Rust, which makes troubleshooting harder, for me at least, but once I figured out how to enable interrupts, it ran! Or sort of ran, because when I’m trying to enter WiFi SSID/password, I get “Corrupted” error. WiFi parameters are stored in device fl…

I assume that your package has to be flashed with a cable and wouldn’t work with uf2loader?

---

<div class="post-metadata">

**Author:** ![rich](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rich/32/14889_2.png) [@rich](https://forum.clockworkpi.com/u/rich)\
**Post date:** [December 1, 2025, 10:24am UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/3 "2025-12-01T10:24:33Z")

</div>

Correct, I flash it with a cable.

Uf2loader sounds super useful. I’ll try to get my project to work with uf2loader:

> <https://github.com/richcannings/picocalc-ssh-client/issues/1>
>
> Get picocalc-ssh-client to boot and run via: https://github.com/pelrun/uf2loader….

---

<div class="post-metadata">

**Author:** ![jxw1102](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/jxw1102/32/8917_2.png) [@jxw1102](https://forum.clockworkpi.com/u/jxw1102)\
**Post date:** [December 5, 2025, 12:48am UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/4 "2025-12-05T00:48:36Z")

</div>

If PicoCalc had a 4G module, it would be more practical as an SSH client.

---

<div class="post-metadata">

**Author:** ![exoticatom](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/exoticatom/32/14118_2.png) [@exoticatom](https://forum.clockworkpi.com/u/exoticatom)\
**Post date:** [December 6, 2025, 9:48am UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/5 "2025-12-06T09:48:11Z")

</div>

thank making it work with UF2loader would be really fantastic. Thx for great work!

---

<div class="post-metadata">

**Author:** ![Marsupial](https://avatars.discourse-cdn.com/v4/letter/m/e9bcb4/32.png) [@Marsupial](https://forum.clockworkpi.com/u/Marsupial)\
**Post date:** [December 6, 2025, 4:55pm UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/6 "2025-12-06T16:55:00Z")

</div>

And if it had no WiFi at all, it would be less practical. 🤷🏼‍♂️

---

<div class="post-metadata">

**Author:** ![lofijeff](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lofijeff/32/14069_2.png) [@lofijeff](https://forum.clockworkpi.com/u/lofijeff)\
**Post date:** [December 20, 2025, 7:26pm UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/8 "2025-12-20T19:26:47Z")

</div>

Hi! How do I connect to a wifi network that has spaces in the ssid?

---

<div class="post-metadata">

**Author:** ![Qiset](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/qiset/32/17107_2.png) [@Qiset](https://forum.clockworkpi.com/u/Qiset)\
**Post date:** [August 23, 2026, 11:41am UTC](https://forum.clockworkpi.com/t/ssh-client-for-picocalc/20621/9 "2026-08-23T11:41:18Z")

</div>

I have a space in my ssid too. I’ve tried several things to get this to work. No good.
