# Custom PicoCalc BIOS/keyboard firmware

**URL:** <https://forum.clockworkpi.com/t/custom-picocalc-bios-keyboard-firmware/17292>\
**Category:** PicoCalc\
**Tags:** hardware, keyboard, firmware\
**Created:** [May 5, 2025, 8:20pm UTC](https://forum.clockworkpi.com/t/custom-picocalc-bios-keyboard-firmware/17292 "2025-05-05T20:20:32Z")\
**Posts on this page:** 1\
**Showing post:** 94

<div class="post-metadata">

**Author:** ![JackCarterSmith](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/jackcartersmith/32/11509_2.png) [@JackCarterSmith](https://forum.clockworkpi.com/u/JackCarterSmith)\
**Post date:** [April 5, 2026, 8:28am UTC](https://forum.clockworkpi.com/t/custom-picocalc-bios-keyboard-firmware/17292/94 "2026-04-05T08:28:21Z")

</div>

If you’re using MMBasic, I suppose the command is OPTION SYSTEM I2C SLOW? (I didn’t use MMBasic so maybe this information is out of date)

> [@Actual PicoCalc I2C usage and clocks?](https://forum.clockworkpi.com/t/actual-picocalc-i2c-usage-and-clocks/19719/14):
>
> According to the MMBasic documentation the command OPTION SYSTEM I2C the speed can be set to SLOW (100KHz) or FAST (400KHz). This option using WebMite Ver 6.00.03 on a Pico 2W is set to SLOW. With the help of a plumbing modification (3 mm rubber washers) to keep the board in place without the back cover I was able to connect a ZOYI ZT-703S oscilloscope multimeter to I2C1 SDA (GP6) and I2C1 SCL (GP7). The following screenshot confirms that the I2C1 clock speed is 10KHz. Unfortuna…

But if you’re using the C/Pico-SDK, the function is `i2c_init(i2c1, 100000);`

---

_[View the full topic](https://forum.clockworkpi.com/t/custom-picocalc-bios-keyboard-firmware/17292)._
