Inkplate 10v2 mini kbd bt not pairing

Hi,

loaded the ePub v3 software, & it booted & sees the data on the sd drive. The Beauty-R1 mini keypad is recognised by my phone, but does not pair with the Inkplate 10. Any pointers for debugging?

I (953) quad_psram: This chip is ESP32-D0WD
I (954) esp_psram: Found 8MB PSRAM device
I (954) esp_psram: Speed: 40MHz
I (954) esp_psram: PSRAM initialized, cache is in low/high (2-core) mode.
W (959) esp_psram: Virtual address not enough for PSRAM, map as much as we can.d
I (968) cpu_start: Multicore app
I (1851) esp_psram: SPI SRAM memory test OK
I (1860) cpu_start: GPIO 3 and 1 are used as console UART I/O pins
I (1860) cpu_start: Pro cpu start user code
I (1860) cpu_start: cpu freq: 240000000 Hz
I (1862) app_init: Application information:
I (1866) app_init: Project name: EPub-InkPlate
I (1871) app_init: App version: 3.0.0-I10V2-20260718-1255Z
I (1876) app_init: Compile time: Jul 18 2026 08:55:21
I (1882) app_init: ELF file SHA256: 0e6599120…
I (1886) app_init: ESP-IDF: v5.5.4-dirty
I (1890) efuse_init: Min chip rev: v0.0
I (1894) efuse_init: Max chip rev: v3.99
I (1898) efuse_init: Chip rev: v3.1
I (1903) heap_init: Initializing. RAM available for dynamic allocation:
I (1909) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (1914) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
I (1919) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (1924) heap_init: At 3FFCE460 len 00011BA0 (70 KiB): DRAM
I (1930) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (1935) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1941) heap_init: At 4009F714 len 000008EC (2 KiB): IRAM
I (1946) esp_psram: Adding pool of 4080K of PSRAM memory to heap allocator
I (1954) spi_flash: detected chip: generic
I (1956) spi_flash: flash io: dio
I (1968) coexist: coex firmware version: 093e3d2
I (1969) main_task: Started on CPU0
I (1969) esp_psram: Reserving pool of 64K of internal memory for DMA/internal as
I (1969) main_task: Calling app_main()
This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision 301, 4MB eh
Minimum free heap size: 4299840 bytes
Heap summary for capabilities 0x00000C06:
Totals:
free 0 allocated 0 min_free 0 largest_free_block 0
I (1999) main: Main task stack high water mark: 2136 bytes
W (2019) Wire: Initializing…
W (2019) i2c.master: Please check pull-up resistances whether be connected props
I (2029) main_task: Returned from app_main()
I (2169) SDCard: Setup SD card
I (2319) sdspi_transaction: cmd=5, R1 response: command not supported
Name: SDABC
Type: SDHC
Speed: 20.00 MHz (limit: 20.00 MHz)
Size: 30007MB
CSD: ver=2, sector_size=512, capacity=61454336 read_bl_len=9
SSR: bus_width=1
I (2349) InkPlatePlatform: Inkplate Device Setup complete!
I (2379) FontsDB: Reading fonts definition from fonts_list.xml…
I (2629) FontsDB: Font DEJAVU SERIF OK
I (2649) FontsDB: Font ROBOTO SANS OK
I (2699) FontsDB: Font ROBOTO CONDENSED OK
I (2739) FontsDB: Font OPEN SANS OK
I (2779) FontsDB: Font IBARRA SERIF OK
I (2819) FontsDB: Font CMU SERIF OK
I (2869) FontsDB: Font CMU SANS OK
I (2909) FontsDB: Font CMU TYPEWRITER OK
I (3249) Screen: Setting yOffset to 0
I (3319) Screen: Setting yOffset to 0
I (3379) BLEKeypad: BLE Keypad MAC address: 00:00:00:00:00:00
I (3389) BTDM_INIT: BT controller compile version [83df000]
I (3389) BTDM_INIT: Using main XTAL as clock source
I (3389) BTDM_INIT: Bluetooth MAC: e8:6b:ea:fb:dc:66
I (3399) phy_init: phy_version 4863,a3a4459,Oct 28 2025,14:30:06
I (3469) BLEKeypad: NimBLE core thread tracking initiated.
E (5849) i2c.master: I2C software timeout
W (5849) i2c.common: GPIO 21 is not usable, maybe conflict with others
W (5849) i2c.common: GPIO 22 is not usable, maybe conflict with others
E (7849) i2c.master: I2C software timeout
W (7859) i2c.common: GPIO 21 is not usable, maybe conflict with others
W (7859) i2c.common: GPIO 22 is not usable, maybe conflict with others
I (7879) BLEKeypad: GATT Client registered. NimBLE host and controller sync ach.
I (7879) NimBLE: GAP procedure initiated: discovery;
I (7879) NimBLE: own_addr_type=0 filter_policy=0 passive=0 limited=0 filter_dup
I (7889) NimBLE: duration=forever
I (7889) NimBLE:

W (7909) BLEKeypad: === BLE SCANNER RUNNING ===
I (8399) ShowBtState: show()… paired = No
W (8399) ShowBtState: Glyph Dim: [11, 20], Pos: [10, 1195]
E (10529) i2c.master: I2C software timeout
W (10529) i2c.common: GPIO 21 is not usable, maybe conflict with others
W (10529) i2c.common: GPIO 22 is not usable, maybe conflict with others

Added note: I have 2 of the Beauty-R1 sourced from the recommended supplier. Neither kbd pairs it seems.

Hi @guzzilemans4

The ePub software is a third-party project and not something we develop ourselves, and we do not have the Beauty-R1 keyboards at hand to test against directly so our ability to dig further into this is limited.
One thing worth checking is that the keypad is unpaired from your phone completely before trying it on the Inkplate.
If you’re comfortable with it, another good diagnostic step would be flashing a minimal ESP32 BLE scan/client example (not the ePub v3 software) onto the board and checking if it can detect and connect to the keypad. If that works, it’d point to something specific in the ePub project’s BLE handling; if it also fails, there could be a problem with the keypad itself.
Either way I’d suggest contacting the owner directly. He even has an account on this forum. You can send him a message or tag him in this post.

I am no guru, but it appears the bt kbd is seen:

BLEKeypad: BLE Keypad MAC address: 00:00:00:00:00:00
I (3389) BTDM_INIT: BT controller compile version [83df000]
I (3389) BTDM_INIT: Using main XTAL as clock source
I (3389) BTDM_INIT: Bluetooth MAC: e8:6b:ea:fb:dc:66
I (3399) phy_init: phy_version 4863,a3a4459,Oct 28 2025,14:30:06
I (3469) BLEKeypad: NimBLE core thread tracking initiated.

But the key presses are not seen/recognised (no log entries after initial boot)

Would that be related to:

GPIO 21 is not usable, maybe conflict with others
W (5859) i2c.common: GPIO 22 is not usable, maybe conflict with others
E (7859) i2c.master: I2C software timeout

btw, I did not pair my keypad with my phone, just ensured it was recognised.

Also, the Inkplate 10 was recently purchased.

Thanks, Doug

The MAC address line being 00:00:00:00:00:00 points that the device is not actually detected. On the I2C timeout, those are on a separate bus from BLE so they are unlikely to be the direct cause of that.

As mentioned, we don’t maintain the ePub project ourselves and don’t have a Beauty-R1 to test against, so I’ll tag @turgu666 here since he’ll be best placed to dig into the BLE handling specifically.

Hi @guzzilemans4 , I’m the developer of the EPub-InkPlate application. I will try to help you in getting your BT Keypad working.

The best way to reach me for any issue with the EPub reader app is to send me a request through the issues tab on github at the following location: Issues · turgu1/EPub-InkPlate · GitHub

OK. Now about your last message:

  • The “GPIO 21 is not usable” is a known issue when using the Bluetooth interface and is not the problem. I have many of the Inkplate devices (one of them is the Inkplate 10V2) running with the bt keypad and they work fine.
  • The trace that you show in your last message above is the initialization of the internal bluetooth interface of the ESP32. The MAC address there is the one of the Inkplate (on the BTDM_INIT:Bluetooth MAC… line)

The Inkplate is waiting for a bt keypad that will send a pairing packet with the name of the supported devices in the packet. For your keypad, it must be “Beauty-R1”. When that happens for the first time, you would see in the log the following line:

I (3611) BLEKeypad: Found Beauty-R1!

If the keypad was previously paired you would see a sequence similar to the following instead:

W (330631) BLEKeypad: === BLE SCANNER RUNNING ===
W (330641) BLEKeypad: TARGET MAC MATCHED! Terminating scan and establishing connection…
I (330641) NimBLE: GAP procedure initiated: connect;
I (330641) NimBLE: peer_addr_type=0 peer_addr=
I (330641) NimBLE: 2a:07:98:74:8a:1b

One possibility is the the bt keypad you received is not a “Beauty-R1” but some other copy with a different firmware in it. They usually announce themselves with a different name as they maybe using a different packets protocol.

I have just generated a specific release of the EPub-Inkplate for the 10V2 that will add some log info about the devices that are advertising. You will find it here.

The following lines would then appears in the log:

I (20850) BLE_SCAN: Found device! RSSI: -56, Data Length: 22
I (20850) BLE_SCAN: Device Name: Beauty-R1

The second line will appears only with devices that advertise their name. Check is it is “Beauty-R1” or another name that is shown. If you have other BT devices in the vicinity, it’s possible that you would then see their name there too.

Thanks. I purchased the mini-kbfrom the recommended link, but the keypad comes up as a MUZHTEN when I look at the bt on my phone (note: only looked, not paired). It looks like the correct supplier is selling the incorrect mini keyboard. I will talk to the supplier.

Might be worth warning people to order the Beauty-R1 implicitly from that supplier.

Wait! I will look at adding the proper protocol for that device. Somebody sent me a patch for the same device. As I don’t have this device, I can’ t check if it will work properly. Maybe you can help me? I will generate a new version with an added MUZHTEN protocol and you can check if it work fine with it.

Thanks. I searched the web, & it seems the Beauty-R1 is no longer available. I even looked for a firmware file to reload the one I have, but no luck either.

Please send me the software & I will test it. I suspect the key press codes should be the same as the Beauty-R1 because the keypad has the same function.

Thanks, Doug

The key press codes are not the same so some specific parsing is required.

Here is a pointer on a trial version that I’ve just generated: https://github.com/turgu1/EPub-InkPlate/releases/tag/BT-TRIAL

If it works for you, I will make it for the other devices as well (5V2, 6V2) and update the official version and the documentation accordingly.

@guzzilemans4 If you still have some difficulty, please send the part of the log that can help me do some corrective changes to the code.

Thanks. I can navigate around the screen so all buttons appear to work. Home sends me home. As far as operation goes, the only issues I found were navigating the clock set (difficult to navigate the screen keypad: probably me! & other issue was Webserver signed onto network, but I could not access it from my browser (PCLinuxOS, & Vivaldi Browser) Again probably me.

I feel it should be OK to release it to the great unwashed! (TIC). Pls let me know, & I will reload my Inkplate to re-test. (Thanks, Doug in Australia).

@guzzilemans4 Good news!

For your difficulty of accessing the Web interface, be sure to use a non-secure access using http://…, not https://…

I will generate a new version today and advise you when it’s done. (It’s 6h45 in the morning here).

Thanks for your help on this issue!

Guy

Thanks, Guy. I would have been lost without that patch.

Perhaps add the hppt to the user manual? User Manual says:

WiFi access to the e-books folder – Connects to Wi-Fi and launches a local web
server, enabling you to manage books on the SD card (upload, download, or delete) via a
standard web browser. (Perhaps add: ´Hint: use http mode only, not https!)

Thanks, I will change the documentation.

I am no programmer, but I am happy to help with documentation. Mainly proof reading & suggesting improvements. I have been a Linux user for abt 20 years. Mainly PCLinuxOS, which I have been using since Tex left Mandrake!

I’m always open for help! I plan to have a new release by the October time frame. I expect many changes will happen to the documentation for that release. It would be a good moment to help on that aspect. As a French Canadian, English is my second language. I’m using help from Gemini to proofread my text but I can’t argue if something is badly formulated.

@guzzilemans4 The new release is ready. You will find it here .

Again, thanks for your help!

Guy

Software fine. When one selects the i tab, still shows as ver 3.0.0

The User Guide:

-pp3>4 update the firmware file pointers

-pp5>6 I feel it would look better to replace ´Beauty-R1´ with ´Beauty-R1 (or Muzhten)´

The only other issue I have yet to resolve is the ntp time sync: I saved the Sydney time (10H from GMT) in config, but the Inkplate still shows UTC ?? (When I look at the time set screen) ie 9:30pm real time shows as 11:30am (UTC). Not a biggie, just wondering? btw, I clipped the time zone string from the spreadsheet & copied it between the ¨ ¨.