# Flashing the latest keyboard firmware

**URL:** <https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240>\
**Category:** PicoCalc\
**Tags:** help, firmware\
**Created:** [May 3, 2025, 2:35pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240 "2025-05-03T14:35:50Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![CommuniG8](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/communig8/32/11955_2.png) [@CommuniG8](https://forum.clockworkpi.com/u/CommuniG8)\
**Post date:** [May 3, 2025, 2:35pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/1 "2025-05-03T14:35:50Z")

</div>

Hi, does anyone have any idea of how to flash the latest PicoCalc keyboard firmware from MacOs using the STM32CubdeProgrammer?  
I’ve tried the (very brief) instructions here - [PicoCalc/wiki/Setting-Up-Arduino-Development-for-PicoCalc-keyboard.md at master · clockworkpi/PicoCalc · GitHub](https://github.com/clockworkpi/PicoCalc/blob/master/wiki/Setting-Up-Arduino-Development-for-PicoCalc-keyboard.md)  
But nothing works

---

<div class="post-metadata">

**Author:** ![guu](https://avatars.discourse-cdn.com/v4/letter/g/7ab992/32.png) [@guu](https://forum.clockworkpi.com/u/guu)\
**Post date:** [May 3, 2025, 3:39pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/2 "2025-05-03T15:39:04Z")

</div>

How nothing works?

What does STM32CubdeProgrammer report ??

---

<div class="post-metadata">

**Author:** ![CommuniG8](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/communig8/32/11955_2.png) [@CommuniG8](https://forum.clockworkpi.com/u/CommuniG8)\
**Post date:** [May 3, 2025, 3:48pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/3 "2025-05-03T15:48:17Z")

</div>

It wasn’t finding the USB serial port. Then all of a sudden it did!  
The firmware update then worked!  
Who knows 🙂

---

<div class="post-metadata">

**Author:** ![guu](https://avatars.discourse-cdn.com/v4/letter/g/7ab992/32.png) [@guu](https://forum.clockworkpi.com/u/guu)\
**Post date:** [May 3, 2025, 3:50pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/4 "2025-05-03T15:50:24Z")

</div>

Good to know 🙂

I think it is related with usb device priviledge on Mac ,I have no Mac so I can not verify that

but I think STM32CubdeProgrammer will do the job

---

<div class="post-metadata">

**Author:** ![CommuniG8](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/communig8/32/11955_2.png) [@CommuniG8](https://forum.clockworkpi.com/u/CommuniG8)\
**Post date:** [May 3, 2025, 3:53pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/5 "2025-05-03T15:53:45Z")

</div>

It eventually found it, without doing anything different.

---

<div class="post-metadata">

**Author:** ![guu](https://avatars.discourse-cdn.com/v4/letter/g/7ab992/32.png) [@guu](https://forum.clockworkpi.com/u/guu)\
**Post date:** [May 3, 2025, 3:55pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/6 "2025-05-03T15:55:51Z")

</div>

And what is the device id/label on Mac? like /dev/ttyACM0 under linux

---

<div class="post-metadata">

**Author:** ![CommuniG8](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/communig8/32/11955_2.png) [@CommuniG8](https://forum.clockworkpi.com/u/CommuniG8)\
**Post date:** [May 3, 2025, 4:00pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/7 "2025-05-03T16:00:06Z")

</div>

When it found the serial connection, I just did the firmware upgrade and stopped looking at it.  
I backed away, and calmed down.

---

<div class="post-metadata">

**Author:** ![Maarcvaal\_Maarcvaal](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/maarcvaal_maarcvaal/32/6612_2.png) [@Maarcvaal\_Maarcvaal](https://forum.clockworkpi.com/u/Maarcvaal_Maarcvaal)\
**Post date:** [May 3, 2025, 8:23pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/8 "2025-05-03T20:23:47Z")

</div>

And how do you flash keyboard firmware with a pc? Thonny? Or how?

---

<div class="post-metadata">

**Author:** ![CommuniG8](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/communig8/32/11955_2.png) [@CommuniG8](https://forum.clockworkpi.com/u/CommuniG8)\
**Post date:** [May 4, 2025, 5:16am UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/9 "2025-05-04T05:16:35Z")

</div>

> <https://github.com/clockworkpi/PicoCalc/blob/master/wiki/Setting-Up-Arduino-Development-for-PicoCalc-keyboard.md>

---

<div class="post-metadata">

**Author:** ![ethern0t](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/ethern0t/32/12016_2.png) [@ethern0t](https://forum.clockworkpi.com/u/ethern0t)\
**Post date:** [May 8, 2025, 9:28pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/10 "2025-05-08T21:28:26Z")

</div>

Boy the process sure is fussy. I managed to get the download to work once - or so I thought, but then my Pico was dead. I re-flashed basic onto it, and when it booted it complained it couldn’t find the keyboard.

Now I can’t get it to connect correctly at all. I’m using STM32CubeProgrammer on an M-series Mac. I have it set to UART, and I picked … ah… tty.usbserial was the correct one. I’d kept picking a different tty debug thing that wouldn’t work.

So it looks like it downloaded, then I picked Disconnect, then turned off SW1, and unplugged the USB-C cable. The led on the pico is flashing slowly but the main power button does nothing.

Can’t get it to turn on, can’t even get it into BOOTSEL mode. Guess I bricked it…

EDIT - and of course right after I posted, I tried turning it on again, and it decided to work fine. Keyboard works etc. (I’m running basic RC23a for the pico 2 I just installed)

-Dave

---

<div class="post-metadata">

**Author:** ![pkr](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pkr/32/6084_2.png) [@pkr](https://forum.clockworkpi.com/u/pkr)\
**Post date:** [May 8, 2025, 10:01pm UTC](https://forum.clockworkpi.com/t/flashing-the-latest-keyboard-firmware/17240/11 "2025-05-08T22:01:32Z")

</div>

You probably turned on the device again while the switch was still in BOOT mode. Power button is ultimately handled by the stm32 so that’s why it didn’t work. Solution: hold down power button for a long long time (half a minute?) to force the axp to power off, or simply remove and reinstall the batteries.
