Problem flashing
Encountering the following errors when dragging my new uf2 files onto the boards on macOS
The operation can’t be completed because you don’t have permission to access some of the items.
The Finder can’t complete the operation because some data in “corne_right nice_view_adapter nice_view-nice_nano_v2-zmk.uf2” can’t be read or written.
(Error code -36)
31 Replies
Ah, got it — the issue you’re hitting is a known macOS bug when flashing
A few ways to resolve this: - Update macOS: If you're on 13.0, update to 13.1 or newer — Apple fixed the Finder bug in later versions.
- Use the Terminal instead of Finder:
Instead of dragging and dropping, open Terminal and run: (Replace
- Try a different method of flashing: Sometimes just using a different file manager (like Path Finder) or another computer works around the issue. Reference: Entering the Bootloader guide.
⚡ Pro tip: remember that to charge batteries, the side’s power switch must be ON, otherwise it won’t charge after flashing.
Would you like me to walk you through the Terminal copy step with your specific
.uf2
files to the nice!nano. Specifically, Finder on macOS version 13.0 has a problem that causes the Error code -36
failure you’re seeing.A few ways to resolve this: - Update macOS: If you're on 13.0, update to 13.1 or newer — Apple fixed the Finder bug in later versions.
- Use the Terminal instead of Finder:
Instead of dragging and dropping, open Terminal and run: (Replace
path/to/firmware.uf2
with the actual path to your file.)- Try a different method of flashing: Sometimes just using a different file manager (like Path Finder) or another computer works around the issue. Reference: Entering the Bootloader guide.
⚡ Pro tip: remember that to charge batteries, the side’s power switch must be ON, otherwise it won’t charge after flashing.
Would you like me to walk you through the Terminal copy step with your specific
.uf2
file, so you don’t have to rely on Finder?i am on latest macos sequoia
i dont understand the terminal thing
i am on latest macos sequoia
i dont understand the terminal thing
No worries — I’ll keep it simple and walk you through the Terminal method step by step 👍
1. Plug in your nice!nano with a USB cable. Double‑tap the reset button so it shows up as a drive called
2. Open Terminal
- Hit
3. Find your
4. In Terminal, type the following before what got pasted:
(with a space after
5. After the file path that was pasted, type another space and then:
So the whole line looks like this (example):
6. Press Enter. It should copy the file to the nice!nano and then the
That’s all! 🎉
Do you want me to write out the exact command using your filename (
1. Plug in your nice!nano with a USB cable. Double‑tap the reset button so it shows up as a drive called
NICENANO
on your desktop.2. Open Terminal
- Hit
Cmd + Space
, type Terminal, press Enter.3. Find your
.uf2
file in Finder. Drag the file from Finder into the Terminal window — this will paste the exact path for you.4. In Terminal, type the following before what got pasted:
(with a space after
cp
).5. After the file path that was pasted, type another space and then:
So the whole line looks like this (example):
6. Press Enter. It should copy the file to the nice!nano and then the
NICENANO
drive will disappear as it reboots.That’s all! 🎉
Do you want me to write out the exact command using your filename (
corne_right nice_view_adapter nice_view-nice_nano_v2-zmk.uf2
) so you can just paste it in?cp: /Volumes/NICENANO/corne_right nice_view_adapter nice_view-nice_nano_v2-zmk.uf2: fcopyfile failed: Input/output error
Thanks for trying that — the
An easy workaround is rename the file first in Finder → right‑click → Rename → give it a simple name like: Then run in Terminal: (Replace
--- Alternatively, without renaming, you can wrap the whole filename in quotes: That will prevent spaces from breaking the command. --- ✅ Best practice: rename to something simple first (e.g.
Want me to show you the exact commands for both left and right halves with simpler names so you can just paste them in?
fcopyfile failed
error is actually the same Finder-related copy bug but showing inside Terminal now because of the spaces in your filename. macOS treats them as separators unless you escape them.An easy workaround is rename the file first in Finder → right‑click → Rename → give it a simple name like: Then run in Terminal: (Replace
~/Downloads/
with whatever folder the renamed file is in.)--- Alternatively, without renaming, you can wrap the whole filename in quotes: That will prevent spaces from breaking the command. --- ✅ Best practice: rename to something simple first (e.g.
left.uf2
/ right.uf2
). That avoids copy issues in macOS and makes life easier when flashing both halves.Want me to show you the exact commands for both left and right halves with simpler names so you can just paste them in?
cp: /Volumes/NICENANO/right.uf2: fcopyfile failed: Input/output error
cp: /Volumes/NICENANO/right.uf2: fchmod failed: Device not configured
Got it — thanks for confirming. Those errors (
Here’s what to check:
1. After you ran the
- If yes → that means the
- If it didn’t disappear → the copy failed and you’ll stay in bootloader mode.
2. To confirm the flash: flip your board’s power switch ON and press a few keys — you should see input on your computer if the left half is flashed and paired.
--- ⚡ Tip: macOS’s error messages can usually be ignored. From the official instructions:
--- 👉 If the drive disappears each time after copying, everything’s working fine — even if macOS throws errors.
👉 If it doesn’t disappear, let me know, and I can show you one more way (using
Do you see the
fcopyfile failed
, Device not configured
) are coming from macOS trying to do extra metadata operations that the nice!nano bootloader doesn’t understand. The good news: the file usually flashes even if macOS shows those scary errors ✅Here’s what to check:
1. After you ran the
cp
command, did the NICENANO
drive vanish from Finder?- If yes → that means the
.uf2
was written and the board rebooted successfully 🎉- If it didn’t disappear → the copy failed and you’ll stay in bootloader mode.
2. To confirm the flash: flip your board’s power switch ON and press a few keys — you should see input on your computer if the left half is flashed and paired.
--- ⚡ Tip: macOS’s error messages can usually be ignored. From the official instructions:
“Your computer may report an error when transferring the file, you can likely ignore this.”(see Entering the Bootloader)
--- 👉 If the drive disappears each time after copying, everything’s working fine — even if macOS throws errors.
👉 If it doesn’t disappear, let me know, and I can show you one more way (using
dd
command) that always bypasses Finder/cp
quirks.Do you see the
NICENANO
drive disappear after the copy?only half the keymap copied for some reason
Ahh, thanks — that’s a super important detail.
If only half your keyboard is working, here’s what’s going on: 🔑 How split ZMK boards work - Left half = central → This is the side that pairs to your computer and manages the connection.
- Right half = peripheral → It does not connect directly to your computer. It only talks to the left half.
Each side needs its own
- e.g.
2. Put the right half into bootloader. Flash the right uf2 file.
- e.g.
3. After both are flashed, turn both halves on. The right half should automatically link to the left.
--- ⚡ Helpful docs - Corne Firmware guide
- Right Half Not Working
--- 👉 So: make sure you’re flashing two different files, one per side.
After flashing, do both halves connect now, or is the right still silent?
If only half your keyboard is working, here’s what’s going on: 🔑 How split ZMK boards work - Left half = central → This is the side that pairs to your computer and manages the connection.
- Right half = peripheral → It does not connect directly to your computer. It only talks to the left half.
Each side needs its own
.uf2
firmware file flashed — the left file to the left nice!nano, and the right file to the right nice!nano. If you flash the same file to both, or only flash one side, the result is that only half the keys respond.
---
✅ What you should do:
1. Put the left half into bootloader (NICENANO
drive shows). Flash the left uf2 file.- e.g.
6_col_corne_left-nice_view_adapter-nice_view-nice_nano_v2-zmk.uf2
2. Put the right half into bootloader. Flash the right uf2 file.
- e.g.
6_col_corne_right-nice_view_adapter-nice_view-nice_nano_v2-zmk.uf2
3. After both are flashed, turn both halves on. The right half should automatically link to the left.
--- ⚡ Helpful docs - Corne Firmware guide
- Right Half Not Working
--- 👉 So: make sure you’re flashing two different files, one per side.
After flashing, do both halves connect now, or is the right still silent?
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Right Half Not Working | Typeractive.xyz Documentation
Fix the right half ZMK keyboard.
no i meant, only half of one side. So only 1/4
Ohhh — thanks for clarifying. Got it: if only half of one PCB (like the left half) works and the other half of keys are dead, that’s typically not a firmware issue. It’s almost always hardware on split boards.
Here’s how to track it down: --- 1. Rows/columns not working Each “strip” of keys (row or column) is wired to a single nice!nano pin.
- If a whole block of keys is dead, that pin isn’t making proper contact.
- This can come from a bad solder joint, bent header pin, or a short. Check the guide: Row(s) or Column(s) Not Working --- 2. Things to inspect - Headers/sockets: Did the nice!nano go into the hotswap sockets all the way flush? If one row of pins isn’t seated, half the board won’t scan.
- Solder joints: Shine a light under the PCB and look at the row/col pin spots for cold joints or bridges. You can re‑flow with your iron.
- Bent pins: On EZ‑solder or Mill‑Max, sometimes one gold pin doesn’t go into the socket and stays bent — breaking a whole row.
--- 3. Pinout references You can identify which signal is failing by looking at the pinout mapping:
- Corne Pinouts
- Lily58 Pinouts
Match the dead strip of keys to the nice!nano pin. That’s the exact joint to re‑check. --- 💡 Quick test: lift your nice!nano up a bit and reseat it straight down with firm even pressure. If suddenly more keys come back, it’s seating/socket related.
--- 👉 Can you tell me which block of keys on that half isn’t working (e.g. left column, top row)? Then I can point you to the exact nice!nano pin to re‑check.
Here’s how to track it down: --- 1. Rows/columns not working Each “strip” of keys (row or column) is wired to a single nice!nano pin.
- If a whole block of keys is dead, that pin isn’t making proper contact.
- This can come from a bad solder joint, bent header pin, or a short. Check the guide: Row(s) or Column(s) Not Working --- 2. Things to inspect - Headers/sockets: Did the nice!nano go into the hotswap sockets all the way flush? If one row of pins isn’t seated, half the board won’t scan.
- Solder joints: Shine a light under the PCB and look at the row/col pin spots for cold joints or bridges. You can re‑flow with your iron.
- Bent pins: On EZ‑solder or Mill‑Max, sometimes one gold pin doesn’t go into the socket and stays bent — breaking a whole row.
--- 3. Pinout references You can identify which signal is failing by looking at the pinout mapping:
- Corne Pinouts
- Lily58 Pinouts
Match the dead strip of keys to the nice!nano pin. That’s the exact joint to re‑check. --- 💡 Quick test: lift your nice!nano up a bit and reseat it straight down with firm even pressure. If suddenly more keys come back, it’s seating/socket related.
--- 👉 Can you tell me which block of keys on that half isn’t working (e.g. left column, top row)? Then I can point you to the exact nice!nano pin to re‑check.
Row(s) or Column(s) Not Working | Typeractive.xyz Documentation
Fix row(s) or column(s) not working on your keyboard.
Troubleshooting & Pinouts | Typeractive.xyz Documentation
If you're running into issues with your keyboard, check out our Troubleshooting page for common issues and solutions. If you're still having trouble, please reach out to use on Discord!
Troubleshooting & Pinouts | Typeractive.xyz Documentation
If you're running into issues with your keyboard, check out our Troubleshooting page for common issues and solutions. If you're still having trouble, please reach out to use on Discord!
no, its not dead. Its displaying the keys i had in my previous keymap
Ahhh okay, thanks for clarifying again 🙌 — that makes sense now.
If half of the side is showing your old keymap while the other half updated, that means the new
- Double‑tap the reset button so
2. Delete any fragments first
- If you see any
3. Rename the file to something short and simple (e.g.
4. Use Terminal with
Replace the path with your file location. It’ll ask for your Mac password.
5. Wait until
That should overwrite the old keymap completely.
Do you want me to write the exact
If half of the side is showing your old keymap while the other half updated, that means the new
.uf2
file didn’t fully overwrite the firmware during flashing. This can happen because macOS’s copy process errors out mid‑transfer (like those errors you saw), and only part of the firmware gets written.
---
✅ Fix
Let’s make sure you get a clean flash:
1. Enter Bootloader again- Double‑tap the reset button so
NICENANO
shows.2. Delete any fragments first
- If you see any
.uf2
already on NICENANO
, delete it. (It’s safe; the nice!nano only runs what flashes properly.)3. Rename the file to something short and simple (e.g.
left.uf2
or right.uf2
). Long names with spaces can confuse Finder/cp
.4. Use Terminal with
dd
(more reliable than cp
):Replace the path with your file location. It’ll ask for your Mac password.
5. Wait until
dd
finishes → You’ll know it worked when the NICENANO
drive vanishes after the copy.
---
⚡ Why this matters: Finder and cp
try to add macOS metadata which the tiny UF2 bootloader can’t handle. dd
writes the raw bytes directly without extras, so the keyboard actually gets the full firmware.
---
👉 Flash each side again this way. After both halves vanish from Finder after dd
, power them back on.That should overwrite the old keymap completely.
Do you want me to write the exact
dd
commands for both halves with your current .uf2
filenames so you can just copy/paste?john@Johns-MacBook-Air ~ % sudo dd if=/Users/john/Desktop/right.uf2 of=/Volumes/NICENANO bs=1024
Password:
dd: /Volumes/NICENANO: Is a directory
Perfect, you’re super close 👍
The error happens because
--- Here’s how to do it: 1. Find the device for NICENANO
Run:
Look for the volume named NICENANO in the output. You’ll see something like:
In this example, the device is
(replace
Prepend an
(again, replace
--- 4. When finished, the NICENANO will auto‑reboot, so it won’t remount as
- Repeat for left and right halves with their respective UF2s.
--- 👉 Want me to walk through your
The error happens because
dd
expects a device file, not a directory like /Volumes/NICENANO/
. On macOS, the UF2 bootloader presents as a mass‑storage device, so we need to write to the disk device node, not the mount point.--- Here’s how to do it: 1. Find the device for NICENANO
Run:
Look for the volume named NICENANO in the output. You’ll see something like:
In this example, the device is
/dev/disk4
.
---
2. Unmount it (important)(replace
disk4
with whatever yours was).
---
3. Run dd to the raw devicePrepend an
r
to the disk name for faster raw access:(again, replace
rdisk4
with yours).--- 4. When finished, the NICENANO will auto‑reboot, so it won’t remount as
NICENANO
. That’s expected — it means the firmware flashed. 🎉
---
⚡ Notes:
- Do not use the wrong /dev/diskX
— double‑check it’s the NICENANO! Otherwise you could overwrite another drive.- Repeat for left and right halves with their respective UF2s.
--- 👉 Want me to walk through your
diskutil list
output if you paste it here? I can tell you exactly which /dev/disk
number to use so you don’t have to guess.how can i just start from scratch
Totally fair 👍 — when flashing gets messy, the best approach is to re‑flash both halves cleanly. The nice thing with ZMK/nice!nano is that you can’t brick it by flashing
--- 🔄 Starting From Scratch 1. Boot each half into Bootloader
- Double‑tap the reset button. You should see
- Use the clean firmware
- Make sure you flash the Left firmware file to the left half and the Right firmware file to the right half.
- Full list (Corne example):
Corne Firmware files
Lily58 Firmware files
3. Copy them onto NICENANO
- Simple/safer way: even if Finder gives copy errors, if the drive disappears after the copy, the flash worked ✅
- Reliable way: use
4. Repeat for both halves. After flashing, turn power switch ON on both sides.
5. Clear old BLE bonds to prevent weird pairing issues:
- On the keyboard, press the
- On your Mac, go to Bluetooth settings → remove/delete your keyboard entry.
- Re‑pair fresh. --- ⚡ This ensures you’re running a clean firmware on both halves and with fresh Bluetooth pairing.
👉 Would you like me to give you the exact download links for the left/right
.uf2
files — you can always start fresh.--- 🔄 Starting From Scratch 1. Boot each half into Bootloader
- Double‑tap the reset button. You should see
NICENANO
appear in Finder.
2. Re‑flash with correct .uf2 files- Use the clean firmware
.uf2
files for your board (Corne or Lily58).- Make sure you flash the Left firmware file to the left half and the Right firmware file to the right half.
- Full list (Corne example):
Corne Firmware files
Lily58 Firmware files
3. Copy them onto NICENANO
- Simple/safer way: even if Finder gives copy errors, if the drive disappears after the copy, the flash worked ✅
- Reliable way: use
dd
(as I outlined above), writing directly to /dev/rdiskX
.4. Repeat for both halves. After flashing, turn power switch ON on both sides.
5. Clear old BLE bonds to prevent weird pairing issues:
- On the keyboard, press the
&bt BT_CLR
key (check your keymap, usually it’s on a function layer).- On your Mac, go to Bluetooth settings → remove/delete your keyboard entry.
- Re‑pair fresh. --- ⚡ This ensures you’re running a clean firmware on both halves and with fresh Bluetooth pairing.
👉 Would you like me to give you the exact download links for the left/right
.uf2
files for your particular keyboard (Corne or Lily58, with/without nice!view), so you know you’re starting from the right baseline?Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
I want to start anew. How? I’m now experiencing problems with connecting to my mac.
Problems I am facing:
1. Can’t flash keyboards
2. Can’t connect to computer
Is there some way I can reset the entire board and start from when I first assembled it?
I want to start anew. How? I’m now experiencing problems with connecting to my mac.
Problems I am facing:
1. Can’t flash keyboards
2. Can’t connect to computer
Is there some way I can reset the entire board and start from when I first assembled it?
I want to start anew. How? I’m now experiencing problems with connecting to my mac.
Problems I am facing:
1. Can’t flash keyboards
2. Can’t connect to computer
Is there some way I can reset the entire board and start from when I first assembled it?
I want to start anew. How? I’m now experiencing problems with connecting to my mac.
Problems I am facing:
1. Can’t flash keyboards
2. Can’t connect to computer
Is there some way I can reset the entire board and start from when I first assembled it?
Yes 👍 you absolutely can “start fresh.” The nice!nano and ZMK are designed so you can always recover and re‑flash — there’s no way to permanently brick them with a
- Double‑tap the reset button on the nice!nano. A drive called NICENANO should appear.
- If it doesn’t: try another USB cable/port, or see Entering the Bootloader. 2. Download fresh firmware files for your board:
- Corne firmware files
- Lily58 firmware files
Pick the correct pair (Left / Right, with or without nice!view displays). 3. Flash left, then right:
- Drag the left.uf2 file onto
- The drive disappears = success.
- Repeat for the right half with the right.uf2 file. --- 2. Reset Bluetooth bonds Old bonds can block reconnection, so clear both sides: - On your keyboard: press the
- On your Mac: go to System Settings → Bluetooth → remove/delete the keyboard entry. Now when you put the left half in pairing mode again, macOS should see it like brand new. --- 3. Connect cleanly - Turn power switch ON for both halves.
- Pair to the left half only. The right half connects through the left automatically.
--- 🎯 After these steps you’ll basically be back to “day one” — fresh firmware, no old keymap remnants, no old Bluetooth bonds.
👉 Do you know if you’re building a Corne or a Lily58, and whether you have the nice!view displays installed? I can drop you the exact left/right files you need so you can be certain you’re flashing the correct pair.
.uf2
.
Here’s the clean reset process:
---
1. Flashing from scratch
1. Enter bootloader:- Double‑tap the reset button on the nice!nano. A drive called NICENANO should appear.
- If it doesn’t: try another USB cable/port, or see Entering the Bootloader. 2. Download fresh firmware files for your board:
- Corne firmware files
- Lily58 firmware files
Pick the correct pair (Left / Right, with or without nice!view displays). 3. Flash left, then right:
- Drag the left.uf2 file onto
NICENANO
when the left half is in bootloader.- The drive disappears = success.
- Repeat for the right half with the right.uf2 file. --- 2. Reset Bluetooth bonds Old bonds can block reconnection, so clear both sides: - On your keyboard: press the
BT_CLR
key (in the default keymap’s Bluetooth layer).- On your Mac: go to System Settings → Bluetooth → remove/delete the keyboard entry. Now when you put the left half in pairing mode again, macOS should see it like brand new. --- 3. Connect cleanly - Turn power switch ON for both halves.
- Pair to the left half only. The right half connects through the left automatically.
--- 🎯 After these steps you’ll basically be back to “day one” — fresh firmware, no old keymap remnants, no old Bluetooth bonds.
👉 Do you know if you’re building a Corne or a Lily58, and whether you have the nice!view displays installed? I can drop you the exact left/right files you need so you can be certain you’re flashing the correct pair.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
No that’s the thing, I am unable to flash anything.
Got it — thanks for clarifying 🙏 If you can’t flash at all, let’s break it down step by step and truly reset:
---
🔄 Hard Reset & Flash Recovery
1. Verify bootloader mode
- Double‑tap the reset button on the nice!nano.
- You must see a drive appear in Finder called
- If you don’t see it:
- Try a different USB cable (must be a data‑capable cable, not charge‑only!).
- Try another USB port or another computer.
- If still nothing → manually short the
- On your Mac → System Settings → Bluetooth → remove/delete the keyboard entry.
- On the keyboard, once firmware is flashed, you’ll use
- Once
- Drag the correct
- If the drive never disappears, the file didn’t copy — that points back to cable, port, or the board not truly in bootloader mode.
- Repeat for both halves (left firmware file to left board, right to right). --- ⚡ Key things - You don’t need a “factory reset” command — flashing a
- The most common blocker is the USB cable — many “charge‑only” cables will power the board but data never works, which looks like “flashing doesn’t work.”
--- 👉 Can you confirm: when you double‑tap reset, does a
- Double‑tap the reset button on the nice!nano.
- You must see a drive appear in Finder called
NICENANO
.- If you don’t see it:
- Try a different USB cable (must be a data‑capable cable, not charge‑only!).
- Try another USB port or another computer.
- If still nothing → manually short the
RST
and GND
pins twice quickly using tweezers to force bootloader (see Entering the Bootloader).
2. Erase old connections- On your Mac → System Settings → Bluetooth → remove/delete the keyboard entry.
- On the keyboard, once firmware is flashed, you’ll use
BT_CLR
(but don’t worry about this yet — firmware first!).
3. Re‑flash clean firmware- Once
NICENANO
appears: ignore errors Finder or macOS shows.- Drag the correct
.uf2
file onto NICENANO
. When the drive disappears, the flash completed successfully.- If the drive never disappears, the file didn’t copy — that points back to cable, port, or the board not truly in bootloader mode.
- Repeat for both halves (left firmware file to left board, right to right). --- ⚡ Key things - You don’t need a “factory reset” command — flashing a
.uf2
completely replaces what’s on the nice!nano. Once you can boot into NICENANO
, you’re back to scratch.- The most common blocker is the USB cable — many “charge‑only” cables will power the board but data never works, which looks like “flashing doesn’t work.”
--- 👉 Can you confirm: when you double‑tap reset, does a
NICENANO
drive show up on your Mac at all? That’s the #1 check — if not, we troubleshoot getting the bootloader to appear first.boot loader appears, i am able to copy and paste the files into both drives. They both disconnect as expected after the transfer. However, i the keymap does not seem to work. I am clicking on the layer key in the left half to access the bt keys, but the keyboard is not even switching to the layer
boot loader appears, i am able to copy and paste the files into both drives. They both disconnect as expected after the transfer. However, i the keymap does not seem to work. I am clicking on the layer key in the left half to access the bt keys, but the keyboard is not even switching to the layer
boot loader appears, i am able to copy and paste the files into both drives. They both disconnect as expected after the transfer. However, i the keymap does not seem to work. I am clicking on the layer key in the left half to access the bt keys, but the keyboard is not even switching to the layer
Thanks — super helpful context 🙌. Since the bootloader works and both halves take the
Here’s how to reset that situation: --- 1. Make sure you used the default firmware files Each half has its own uf2. If you mix them up (e.g. left firmware on right, or wrong nice!view version), your layers will be wrong/missing.
👉 Grab the known‑good defaults here:
- Corne Firmware Files
- Lily58 Firmware Files
⚠️ Important:
- Flash the
- Flash the
- Match the variant: with or without nice!view. --- 2. Double check power switches After flashing, flip the power switch up (on) on both halves. If the left half is off, nothing will switch layers or connect. --- 3. Test default keymap With default firmware:
- Left spacebar cluster key (
- If that doesn’t work, it means either:
- Wrong firmware variant flashed (e.g. nice!view version mismatch), or
- Both halves are running “left” firmware or “right” firmware instead of their correct pair.
--- 4. Clear old bonds before pairing again Once layers are working, use the
Since you can flash, this is almost certainly the wrong
👉 Which keyboard do you have (Corne 6‑col / 5‑col, or Lily58, and with/without nice!view)? I can point you to the exact left/right files so you know you’re starting with the right keymap baseline.
.uf2
(drives vanish), flashing is fine. What you’re seeing (layer key does nothing, Bluetooth keys unavailable) means the firmware flashed successfully but the keymap you put on isn’t behaving as expected.Here’s how to reset that situation: --- 1. Make sure you used the default firmware files Each half has its own uf2. If you mix them up (e.g. left firmware on right, or wrong nice!view version), your layers will be wrong/missing.
👉 Grab the known‑good defaults here:
- Corne Firmware Files
- Lily58 Firmware Files
⚠️ Important:
- Flash the
*_left-*.uf2
file to the left PCB.- Flash the
*_right-*.uf2
to the right PCB.- Match the variant: with or without nice!view. --- 2. Double check power switches After flashing, flip the power switch up (on) on both halves. If the left half is off, nothing will switch layers or connect. --- 3. Test default keymap With default firmware:
- Left spacebar cluster key (
MO(1)
in default) should bring you to Layer 1 with the Bluetooth controls.- If that doesn’t work, it means either:
- Wrong firmware variant flashed (e.g. nice!view version mismatch), or
- Both halves are running “left” firmware or “right” firmware instead of their correct pair.
--- 4. Clear old bonds before pairing again Once layers are working, use the
BT_CLR
key on Layer 1, then re‑pair with your Mac.
---
⚡ In short:Since you can flash, this is almost certainly the wrong
.uf2
files, not a hardware problem.👉 Which keyboard do you have (Corne 6‑col / 5‑col, or Lily58, and with/without nice!view)? I can point you to the exact left/right files so you know you’re starting with the right keymap baseline.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
I was able to get the keyboard to connect to my device somehow, but the keyboard is not working. It is not outputting any keys, but more importantly its not even switching layers when i hold down the MO keys
Okay perfect, that narrows it a lot — thank you 🙏.
The fact that it connects but no keys (and MO/layers don’t trigger) means the firmware is running but the config isn’t matching your board. This usually happens if: - ❌ Wrong
- ❌ Both halves flashed with the same file.
- ❌ Left half didn’t flash the “central” firmware, so your Mac is connected but not receiving key matrix events. --- ✅ Clean Fix Steps (checklist) 1. Confirm which board:
- Corne (5‑col or 6‑col?), or Lily58?
- With or without nice!view displays? 2. Re‑flash exact matching
- Left → flash the file labeled
- Right → flash the file labeled
- Only the left talks to your Mac; the right only connects sideways.
👉 Firmware downloads:
- Corne Firmware
- Lily58 Firmware 3. Power both halves ON, make sure switches are flipped up.
- Left half should be paired to the Mac.
- Right should just auto‑link. 4. Check the layer key again (MO): with default firmware, the left thumb cluster key (
- Mac Bluetooth: if it still remembers an “old” bond, clear it from Mac and press the
- The right half on its own will never output keys — only the left should be paired and sending. --- 👉 Can you confirm which keyboard (Corne 6‑col or 5‑col, Lily58, nice!view yes/no)? I’ll give you the exact files you need so we know the firmware + keymap will be correct, and the MO key should just work.
The fact that it connects but no keys (and MO/layers don’t trigger) means the firmware is running but the config isn’t matching your board. This usually happens if: - ❌ Wrong
.uf2
was flashed (e.g. “right” firmware on left side, or non‑nice!view variant on a board with displays).- ❌ Both halves flashed with the same file.
- ❌ Left half didn’t flash the “central” firmware, so your Mac is connected but not receiving key matrix events. --- ✅ Clean Fix Steps (checklist) 1. Confirm which board:
- Corne (5‑col or 6‑col?), or Lily58?
- With or without nice!view displays? 2. Re‑flash exact matching
.uf2
:- Left → flash the file labeled
*_left-...uf2
- Right → flash the file labeled
*_right-...uf2
- Only the left talks to your Mac; the right only connects sideways.
👉 Firmware downloads:
- Corne Firmware
- Lily58 Firmware 3. Power both halves ON, make sure switches are flipped up.
- Left half should be paired to the Mac.
- Right should just auto‑link. 4. Check the layer key again (MO): with default firmware, the left thumb cluster key (
MO(1)
) should move you to layer 1, where you’ll see the BT keys.
---
⚡ Common gotchas
- If you flashed the wrong variant (nice_view
vs not), the keymap file is scrambled and MO won’t work.- Mac Bluetooth: if it still remembers an “old” bond, clear it from Mac and press the
BT_CLR
key (Layer 1) on the keyboard, then re‑pair.- The right half on its own will never output keys — only the left should be paired and sending. --- 👉 Can you confirm which keyboard (Corne 6‑col or 5‑col, Lily58, nice!view yes/no)? I’ll give you the exact files you need so we know the firmware + keymap will be correct, and the MO key should just work.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
i AM flashing the right files. I am using the ones for nice views. I confirmed that i am flashing the left file for the left half and the right for the right fuckkk
No worries — I know this is frustrating 😅. If you’ve confirmed the correct nice!view left + right
--- Key facts about splits in ZMK - Only the left half talks to the computer. The right never pairs directly.
- If the two halves aren’t bonded to each other, the left will connect to your Mac, but no keys will scan at all (exact behavior you describe!). --- 🔧 Fix: Reset inter‑half bonds 1. Reset both halves at the same time:
- Press both reset buttons together so they reboot and try to re‑sync.
2. Clear old bonds:
- On the keyboard, press the BT_CLR key (Layer 1) on the left half.
- On your Mac, remove the keyboard from Bluetooth list.
3. Re‑pair fresh:
- Put the left half in pairing mode (Layer 1 →
- Connect to it from your Mac.
- The right half should piggyback automatically once the halves see each other. 👉 If the halves still won’t talk: follow Split Halves Won’t Connect. It specifically covers this scenario. --- ✅ Checklist to rule out hardware - Power switches ON both sides.
- Left half paired, not right.
- Confirm you didn’t swap physical PCBs when building (left in right case).
- nice!nano seated firmly in its sockets (rows/cols won’t scan if lifted). --- So flashing sounds good ✅. What’s left is getting the halves bonded again.
👉 Can you try: reset both halves simultaneously, then clear BT bonds, and re‑pair only the left half?
That should bring back key output + layers.
.uf2
are flashing and the drives disappear, but nothing at all outputs (no typing, no layer switching), then the issue is usually pairing / role confusion between halves rather than flashing.--- Key facts about splits in ZMK - Only the left half talks to the computer. The right never pairs directly.
- If the two halves aren’t bonded to each other, the left will connect to your Mac, but no keys will scan at all (exact behavior you describe!). --- 🔧 Fix: Reset inter‑half bonds 1. Reset both halves at the same time:
- Press both reset buttons together so they reboot and try to re‑sync.
2. Clear old bonds:
- On the keyboard, press the BT_CLR key (Layer 1) on the left half.
- On your Mac, remove the keyboard from Bluetooth list.
3. Re‑pair fresh:
- Put the left half in pairing mode (Layer 1 →
BT_SEL 0
will advertise).- Connect to it from your Mac.
- The right half should piggyback automatically once the halves see each other. 👉 If the halves still won’t talk: follow Split Halves Won’t Connect. It specifically covers this scenario. --- ✅ Checklist to rule out hardware - Power switches ON both sides.
- Left half paired, not right.
- Confirm you didn’t swap physical PCBs when building (left in right case).
- nice!nano seated firmly in its sockets (rows/cols won’t scan if lifted). --- So flashing sounds good ✅. What’s left is getting the halves bonded again.
👉 Can you try: reset both halves simultaneously, then clear BT bonds, and re‑pair only the left half?
That should bring back key output + layers.
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
i only got to step one. I am telling you, i am holding down the layer key for the bt keys but the keyboard isnt switching to the layers. The halves are connected to each other as per the signal icon in the right half
Gotcha — thank you for sticking with me.
If the signal icon shows, the halves are talking, so the real problem is that no key scanning is happening. That’s why the MO (layer) key doesn’t even switch.
That usually means one of two things: --- 1. Firmware mismatch with your hardware Even if you grabbed the “nice!view” files, it’s important to match exact board/column count:
- Corne has 6‑col and 5‑col variants.
- Lily58 has only one.
- Each has separate nice!view vs no‑display
⚡ If you flash 5‑col firmware on a 6‑col Corne (or vice versa), the keymap won’t line up, and “layer keys” may map to nothing at all — exactly your symptom.
--- 2. Matrix rows/columns not wired in If the firmware is correct but neither side registers any switch:
- The nice!nano might not be properly seated in its sockets (double‑check pins are fully inserted and flush).
- A row/column connection might not be soldered or making contact. If an entire half has no keys working, this is a strong possibility.
- See: Row(s) or Column(s) Not Working. --- ✅ Next steps to test 1. Re‑flash known‑good defaults explicitly for your board type:
- Corne Firmware (5 & 6 col options)
- Lily58 Firmware
2. After flashing, test simple keys on the left home row (no need for layers). If still no keys at all → this is hardware (nano not seated or solder/connection issue). --- 👉 Could you confirm: are you on a Corne 6‑column, Corne 5‑column, or Lily58, and does your PCB use Choc spacing from us? That will let me point you exactly to the correct
Right now we need to eliminate firmware mismatch before moving back to checking solder/socket seating.
If the signal icon shows, the halves are talking, so the real problem is that no key scanning is happening. That’s why the MO (layer) key doesn’t even switch.
That usually means one of two things: --- 1. Firmware mismatch with your hardware Even if you grabbed the “nice!view” files, it’s important to match exact board/column count:
- Corne has 6‑col and 5‑col variants.
- Lily58 has only one.
- Each has separate nice!view vs no‑display
.uf2
.⚡ If you flash 5‑col firmware on a 6‑col Corne (or vice versa), the keymap won’t line up, and “layer keys” may map to nothing at all — exactly your symptom.
--- 2. Matrix rows/columns not wired in If the firmware is correct but neither side registers any switch:
- The nice!nano might not be properly seated in its sockets (double‑check pins are fully inserted and flush).
- A row/column connection might not be soldered or making contact. If an entire half has no keys working, this is a strong possibility.
- See: Row(s) or Column(s) Not Working. --- ✅ Next steps to test 1. Re‑flash known‑good defaults explicitly for your board type:
- Corne Firmware (5 & 6 col options)
- Lily58 Firmware
2. After flashing, test simple keys on the left home row (no need for layers). If still no keys at all → this is hardware (nano not seated or solder/connection issue). --- 👉 Could you confirm: are you on a Corne 6‑column, Corne 5‑column, or Lily58, and does your PCB use Choc spacing from us? That will let me point you exactly to the correct
.uf2
.Right now we need to eliminate firmware mismatch before moving back to checking solder/socket seating.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
Heard from a community member that zmk studio might be the problem. I feel like it is. I have used it prior but deleted the layers because i didn’t like it. Is there any way for me to unlink zmk studio so its like i never used it in the first place? Is there some sort of code i place somewhere?
Ahhh, okay that explains it 🎯. Yes — if you used ZMK Studio, it can override your layers at runtime. Even if you re‑flash new firmware, Studio's saved layout takes priority until you clear it. That’s why your MO key and layers don’t respond — you essentially erased them in Studio.
---
🔄 Resetting to “like you never used Studio”
There isn’t a separate uninstall command, but you can wipe the Studio settings by re‑flashing firmware with no Studio database:
1. Re‑flash clean default firmware from the docs (without opening Studio afterwards):
- Corne firmware
- Lily58 firmware
2. Then clear the bonds (so old Studio configs aren’t cached by Bluetooth):
- On the keyboard, press the
- On your Mac, delete the keyboard from Bluetooth and then re‑pair. 3. (Optional but recommended) Disable Studio runtime DB:
- Studio stores changes in the non‑volatile memory on the nice!nano. Re‑flashing with fresh firmware overwrites it, but you need to avoid re‑opening Studio unless you want to edit again.
- If you want to be 100% sure, build your firmware from the template repos (Corne/Lily58) and remove the
- Corne firmware
- Lily58 firmware
2. Then clear the bonds (so old Studio configs aren’t cached by Bluetooth):
- On the keyboard, press the
BT_CLR
key on Layer 1 (after reflashing).- On your Mac, delete the keyboard from Bluetooth and then re‑pair. 3. (Optional but recommended) Disable Studio runtime DB:
- Studio stores changes in the non‑volatile memory on the nice!nano. Re‑flashing with fresh firmware overwrites it, but you need to avoid re‑opening Studio unless you want to edit again.
- If you want to be 100% sure, build your firmware from the template repos (Corne/Lily58) and remove the
CONFIG_ZMK_STUDIO=y
line from prj.conf
. That compiles firmware without Studio support, so it can’t override layers again.
---
✅ In short:
Yes, you can “unlink” from Studio. The fastest way: re‑flash default firmware → clear Bluetooth bonds → don’t reconnect Studio. If you want to guarantee Studio never touches it again, compile from the config repo without ZMK_STUDIO
.
---
👉 Would you like me to send you a no‑Studio firmware build for your specific board so you can just flash and know everything is clean?Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Corne Wireless.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.