halves won't pair; displays not working

My right half won't pair to the left half even with the rest and the zmk docs linked to do the full reset. Also, the displays don't seem to turn on? they'll sometimes flash on and look fine when plugged in but it's very inconsistent
17 Replies
TyperAI
TyperAI3w ago
It sounds like you're having trouble getting your split halves to connect and your nice!views to display consistently. For the halves not pairing, please try the steps outlined in our documentation on Split Halves Won't Connect. This guide specifically addresses issues with the two halves communicating. Regarding your nice!views, the inconsistent flashing could indicate a connection issue. Please ensure that the nice!view headers are properly soldered and that the nice!view is fully seated in its sockets. You can find detailed installation steps in the nice!view guide for your keyboard. If these steps don't resolve your issues, please reply to this message, and I'll be happy to provide further assistance!
nice!view | Typeractive.xyz Documentation
If you have nice!views with your build, this guide will go over installing the sockets and headers. If you don't have nice!views, you can skip this guide.
asteroidplz
asteroidplzOP2w ago
I tried the reset firmware method linked and no dice. the display works but only sometimes and it's not clear when it should be on? should it always be on when the device is on? it's seated fully and the solder looks fine I resoldred two joints and it seemed to solve both problems, but the display on the left half is still glitchy sometimes - it is clear sometimes, but glitches out when a change is made (key press) and sometimes just goes blank again I spoke too soon, plugging it in, only the left half works I resoldered the displays and made sure they’re connected properly but they’re still not working
TyperAI
TyperAI2w ago
Got it — if you’ve confirmed the nice!view headers/sockets are soldered correctly and seated well, but both the display glitches and the halves failing to connect are still happening, then it’s likely a wiring or pin connection issue on the nice!nano side.
On both halves, I’d recommend:
1. Check the nice!nano pins used by the nice!view and split comms — if even one of these joints is weak or has a microscopic short, it can cause both display glitches and split connection issues.
- On a Corne/Lily58 with nice!view, the critical nice!nano pins are P0.06, P0.17 (display I²C) and P0.08, P1.04 (split comm, depending on config).
- You can find the pin→function diagrams in the troubleshooting section of your build guide.
2. Reflow each relevant nice!nano pin from both the socket side and the PCB side to ensure a clean, shiny joint.
3. If you’re using hotswap headers, remove the nice!nano and check for bent header pins or uneven seating. Bent pins can make intermittent contact, which matches your symptoms.
4. With the keyboard off, use a multimeter in continuity mode to check for unintended shorts between adjacent pins.
Since plugging in only the left half works, your right half might not be powered or talking to the left at all — if the comms pins (and GND/VCC) aren’t making consistent contact, ZMK won’t connect the halves, and the display will also black out since I²C traffic can’t work reliably.
If you want, I can point you to the exact nice!nano pinout diagram for your board so you can test those specific joints next. Do you have a Corne or Lily58?
asteroidplz
asteroidplzOP2w ago
both halves work for typing that was fixed
TyperAI
TyperAI2w ago
Ah, gotcha — so the halves are now talking fine and the only lingering issue is the left nice!view still glitching/going blank.
Given that, the problem is likely isolated to just the I²C connection for that left display:
- Re-check the SDA (data) and SCL (clock) pins from the nice!nano to the nice!view socket. On Corne/Lily58 with nice!view, these come from P0.06 (SCL) and P0.17 (SDA). If either has an intermittent solder joint, you’ll get flicker/glitches when sending data (e.g., after keypresses).
- Also make sure GND and VCC (power) lines to the display are solid — if VCC drops even briefly when the board is active, the display will blank out.
- If using hotswap/no-solder headers, try reseating or swapping the left/right displays to see if the issue follows the display itself or stays with that half’s PCB.
- If the glitch stays on that PCB regardless of which display you use, it’s almost certainly a bad joint or damaged trace for SDA/SCL/VCC/GND between the nice!nano and the nice!view socket. Reflowing all four is worth doing.
If you swap the displays and the same display glitches on the other side, then it’s likely a faulty nice!view rather than the PCB.
Do you want me to give you the exact pin locations for SDA/SCL/VCC/GND on your board so you can reflow/continuity-check them? That’ll let you zero in quickly on the bad connection.
asteroidplz
asteroidplzOP2w ago
yes show the pins
TyperAI
TyperAI2w ago
Gotcha ✅ — here’s the pin info for Corne/Lily58 Wireless with nice!view so you can check/reflow exactly what matters for the displays:
On the nice!nano:
- P0.06 → SCL (clock) to nice!view
- P0.17 → SDA (data) to nice!view
- VCC → 3.3V power for the nice!view
- GND → Ground for the nice!view
These pins are all on the outer edge of the nice!nano when mounted face-down (chips facing the PCB).
Things to check:
1. Reflow solder joints for P0.06, P0.17, VCC, and GND on both the nice!nano → socket and socket → PCB sides.
2. If using hotswap headers, ensure these pins are perfectly straight and fully seated — even slight lift can cause intermittent data/power loss.
3. Follow the PCB trace from each of these pins to the nice!view socket and reflow the socket pins too (especially the corresponding SDA/SCL/VCC/GND holes).
4. With power off, use continuity mode on a multimeter to check:
- P0.06 → SCL pad on nice!view socket
- P0.17 → SDA pad on nice!view socket
- VCC → VCC pad on nice!view socket
- GND → GND pad on nice!view socket
They should read as connected, and none should short to each other.
If one of these lines is flaky, you’ll get exactly the glitch/blanking you’re seeing.
Do you want me to send a pinout diagram image so you can visually match P0.06 & P0.17 locations before reflowing? That can make it much easier to find them on your nice!nano.
asteroidplz
asteroidplzOP2w ago
yes
TyperAI
TyperAI2w ago
Got it — here’s the relevant section of the nice!nano v2 pinout for your nice!view connections:
Top of nice!nano (mounted face-down in Typeractive boards – chips facing PCB)

┌─────────────────────────┐
| GND | 3V3 | RST | P0.31 | ← GND & 3V3 (VCC) are your display power pins
| P0.02 | P0.29 | P0.30 | P0.28 |
| P0.22 | P0.24 | P1.00 | P0.11 |
| P0.10 | P0.09 | P0.06 | P0.08 | ← **P0.06** is Display SCL
| P1.04 | P1.06 | P0.17 | P0.20 | ← **P0.17** is Display SDA
└─────────────────────────┘
Top of nice!nano (mounted face-down in Typeractive boards – chips facing PCB)

┌─────────────────────────┐
| GND | 3V3 | RST | P0.31 | ← GND & 3V3 (VCC) are your display power pins
| P0.02 | P0.29 | P0.30 | P0.28 |
| P0.22 | P0.24 | P1.00 | P0.11 |
| P0.10 | P0.09 | P0.06 | P0.08 | ← **P0.06** is Display SCL
| P1.04 | P1.06 | P0.17 | P0.20 | ← **P0.17** is Display SDA
└─────────────────────────┘
Your key pins for the nice!view:
- P0.06 → SCL (clock)
- P0.17 → SDA (data)
- 3V3 (sometimes labeled VCC) → power
- GND → ground
💡 On your Typeractive PCB, both SCL (P0.06) and SDA (P0.17) run directly from these nice!nano pins to the nice!view socket. If one solder joint on either end is weak, you’ll get intermittent or no display updates.
Next steps:
1. Reflow P0.06, P0.17, 3V3, and GND on the nice!nano and the socket side on the PCB.
2. Reflow the matching pins in the nice!view socket.
3. (Optional) Swap the displays between halves — if the issue stays on the same half, the problem is on the PCB/nice!nano side.
If you want, I can mark these pins visually on the Typeractive pinout diagram from the docs so you know exactly where to hit with your iron.
Do you want me to highlight them in that style?
asteroidplz
asteroidplzOP2w ago
yes
TyperAI
TyperAI2w ago
Perfect — here’s the Typeractive nice!nano v2 pinout with the nice!view pins highlighted so you can reflow/check the exact spots that matter for your display issue:
Highlighted nice!view connections:
🟢 = Power (3V3 / VCC)
⚫ = Ground (GND)
🔵 = SCL (P0.06)
🟡 = SDA (P0.17)
Face-down orientation (chips facing PCB in Typeractive boards):

┌──────────────────────────┐
| ⚫ GND | 🟢 3V3 | RST | P0.31 |
| P0.02 | P0.29 | P0.30 | P0.28 |
| P0.22 | P0.24 | P1.00 | P0.11 |
| P0.10 | P0.09 | 🔵 P0.06 | P0.08 |
| P1.04 | P1.06 | 🟡 P0.17 | P0.20 |
└──────────────────────────┘
Face-down orientation (chips facing PCB in Typeractive boards):

┌──────────────────────────┐
| ⚫ GND | 🟢 3V3 | RST | P0.31 |
| P0.02 | P0.29 | P0.30 | P0.28 |
| P0.22 | P0.24 | P1.00 | P0.11 |
| P0.10 | P0.09 | 🔵 P0.06 | P0.08 |
| P1.04 | P1.06 | 🟡 P0.17 | P0.20 |
└──────────────────────────┘
What to do:
1. Reflow ⚫, 🟢, 🔵, and 🟡 on the nice!nano → socket joints and on the PCB pads.
2. Reflow the matching pins on the nice!view socket for that half.
3. If you have a multimeter, do a continuity check:
- 🔵 P0.06 → nice!view SCL pad
- 🟡 P0.17 → nice!view SDA pad
- 🟢 3V3 → VCC pad
- ⚫ GND → GND pad
If any connection is flaky, it’ll cause the exact flicker/blank issue you’ve been seeing.
Do you want me to also show you where these pins land on the nice!view socket so you can reflow both ends of each line? That will rule out the PCB-side connection completely.
asteroidplz
asteroidplzOP2w ago
I tried swapping displays but neither turn on now, even after being swapped back. all the solder conneections look fine
TyperAI
TyperAI2w ago
If both displays now don’t turn on at all (even after swapping them back), that means it’s probably not the displays themselves — it’s almost certainly a power or data line issue to both nice!view sockets on that half.
Since they were working (even if glitchy) before, something likely got disturbed during the swaps — either:
- 3V3 (VCC) or GND to the nice!view sockets is no longer making contact
- Or SCL/SDA lines aren’t connected anymore (P0.06 / P0.17)
Here’s what I’d do next:
1. Test if the nice!view is getting power
- With the keyboard powered on, use a multimeter to measure voltage between VCC (3V3) and GND at the nice!view socket.
- You should see ~3.3V.
- If there’s no voltage, the VCC or GND connection is broken somewhere — reflow those pins on both the socket and nice!nano.
2. If there is power but no display
- That means VCC/GND is fine, but SDA/SCL isn’t talking to the display.
- Carefully reflow P0.06 (SCL), P0.17 (SDA) on the nice!nano socket and the matching pins on the nice!view socket.
3. Check for accidental bent pins / header shift
- If you’re using no-solder headers, the act of swapping displays can slightly lift a pin so it looks seated but is actually not making contact. Fully press them down and check alignment.
If you do the voltage test and there’s no power at the nice!view socket, I can walk you through exactly which pads to reflow to restore it.
Do you want me to send you the nice!view socket pinout so you can check exactly where to probe for VCC/GND and SDA/SCL? That will help pinpoint the fault fast.
asteroidplz
asteroidplzOP2w ago
yes show the nice view socket pinout
TyperAI
TyperAI2w ago
Here’s the nice!view socket pinout for Typeractive Corne/Lily58 PCBs so you can check/reflow exactly where power and data go.
This assumes the PCB is oriented with the nice!nano above the socket, like in our builds:
Top view of nice!view socket on PCB
(pins/holes you solder into)

┌───────┐ ← Side closest to nice!nano
│ GND │ ⚫ Ground
│ VCC │ 🟢 3.3V power
│ SCL │ 🔵 Clock (P0.06)
│ SDA │ 🟡 Data (P0.17)
└───────┘ ← Side furthest from nice!nano
Top view of nice!view socket on PCB
(pins/holes you solder into)

┌───────┐ ← Side closest to nice!nano
│ GND │ ⚫ Ground
│ VCC │ 🟢 3.3V power
│ SCL │ 🔵 Clock (P0.06)
│ SDA │ 🟡 Data (P0.17)
└───────┘ ← Side furthest from nice!nano
Checks to do: 1. Continuity tests (keyboard off):
- 🟢 VCC → 3V3 pin on nice!nano
- ⚫ GND → GND pin on nice!nano
- 🔵 SCL → P0.06 pin on nice!nano
- 🟡 SDA → P0.17 pin on nice!nano
2. Power test (keyboard on):
- Put multimeter black lead on ⚫ GND, red lead on 🟢 VCC — you should see ~3.3V.
- If not, reflow VCC/GND between nice!nano and this socket. 3. If VCC is fine but display stays blank, SDA/SCL is likely not making good contact — reflow 🔵 and 🟡 at both the socket and nice!nano. ⚠️ Since both displays now don’t light up, focus on 🟢 VCC and ⚫ GND first — if power is missing, neither will ever turn on. --- Do you want me to also mark exact P0.06 / P0.17 / VCC / GND on the nice!nano diagram again so you can reflow both ends of each line? That way you can fix power/data in one go.
asteroidplz
asteroidplzOP2w ago
I took the nice views out completely and the keyboard still won't pair to my macbook
TyperAI
TyperAI2w ago
Gotcha — since the nice!views are completely removed now but your keyboard still won’t pair to your MacBook, that points back to a BLE bonding/profile issue or a damaged data/power connection on the nice!nano itself — unrelated to the displays.
Here’s what I suggest to fully rule out ZMK pairing/profile problems:
1. Clear all BLE bonds on the keyboard
- Switch to each profile (&bt BT_NXT or &bt BT_SEL 01 → etc.) and press your BT_CLR key on each one.
- This removes old saved pairings that might be blocking you.
2. Forget/remove the keyboard from macOS Bluetooth settings — both halves if they ever showed individually.
3. Put keyboard into pairing mode:
- Make sure left half is powered on.
- Pick an empty profile → it should start advertising.
4. Try pairing to a phone first — mobile tends to be more forgiving and helps confirm if the issue is Mac-specific.
5. If it pairs to your phone fine, but not Mac, reset Mac’s Bluetooth system:
- On macOS, hold Shift + Option, click the Bluetooth icon in the menu bar, and choose “Reset the Bluetooth Module” (or in newer macOS go to Bluetooth debug/reset options).
If it won’t pair to anything after those steps:
- Try flashing fresh firmware (both halves) to ensure no config corruption.
- If still nothing, the left half’s nice!nano BLE section might have a bad solder joint or damage (most important pins for BLE are power to the nice!nano and the MCU itself — if intermittent, BLE fails but scanning locally can still work).
Do you want me to link you to the default firmware .uf2 files so you can reflash quickly and see if that fixes pairing right away? That’s usually the fastest way to know if it’s software vs. hardware.

Did you find this page helpful?