Skip to content

Nikon Z Devices

These references describe behavior recorded for specific Nikon Z bodies. Use them alongside the shared command catalog. A matching PTP operation code does not establish a matching property domain, capability or app support.

Device Status Reference scope
Nikon ZR Working; primary development target Command surface, formats, exposure, focus, audio, media, connection and open hardware checks
Nikon Z 6III Untested on the landing page; field reports fixed in code Connection, USB and picker fixes from owner reports
Original Z 5, Z 6, Z 7 and Z 50 Untested (Z 7 USB-C live view confirmed) The generation 1 connect sequence and live-view header
Nikon Z9, Z5II Working on the landing page No dedicated reference yet. The repository records no model-specific survey.
Nikon Z6II, Z7II, Zf, Z8 Untested No dedicated reference. Generation rules below apply.

Status follows the landing page’s camera list. “Working” means the owner or testers have connected and monitored that body. It does not mean every control on the body has been qualified.

OpenZCine selects operations from the list the body advertises in GetDeviceInfo, not from a model table. The lineup still falls into three vendor surfaces, recorded in ZCameraCapabilityProfile.swift:

Generation Bodies App-control entry Vendor code discovery Extended property ops Network pairing
1 Z 5, Z 6, Z 7, Z 50 Write 1 to ApplicationMode (0xD1F0) GetVendorPropCodes (0x90CA) No No; joining the camera network is the trust boundary
2 Z 6II, Z 7II, Z fc, Z 30 ChangeApplicationMode (0x9435) GetVendorPropCodes (0x90CA) No Advertised per body
3 Z 8, Z 9, Z 6III, Z f, Z 5II, Z 50II, ZR ChangeApplicationMode (0x9435) GetVendorCodes (0x9439) 0x943A to 0x943C for 4-byte codes GetPairingInfo / ConfirmPairing

GetLiveViewImageEx (0x9428), GetEventEx (0x941C), DeviceReady (0x90C8), ChangeCameraMode (0x90C2) and InitiateCaptureRecInMedia (0x9207) are advertised across the whole lineup, so the app carries no fallback for those. Pairing operations are a network surface and never appear in the USB operation set; gate pairing on the live operation list.

When GetDeviceInfo fails, the app infers a generation from the PTP-IP friendly name, USB product name or camera access-point name. The longest model token wins, so Z 6III is never read as an original Z 6. Nikon USB product names mark the generation with an underscore digit (Z6_3, Z5_2), which is rewritten before matching. An unknown name keeps the generation 3 default, so a failed probe cannot lock a modern body out of first pairing.

Start with the device overview and its evidence scope. Follow its command pages for model-specific properties, values and restrictions. Use Shared protocol for PTP-IP framing, USB transport, connection sequencing and common operation definitions.

Evidence levels distinguish a cited standard, behavior observed on a camera, behavior exercised only against the fake camera in tests, and code still marked [verify-on-HW]. An untested control stays untested even when another Z body supports it. These references are implementation notes, not a statement that either OpenZCine app exposes every listed property.