> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up scanners and cameras

> Connect a handheld barcode scanner, and choose and allow the camera ION scans and takes photos with.

For what each method does once it's set up, see the [scanning overview](/build-hardware/labels-and-scanning/scanning).

## Set up a handheld scanner

Barcode scanners that use the [HID specification](https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/) send keystrokes to whatever window is active. ION detects scanner input by watching for keystrokes that arrive much faster than a person types, and treats the string as a barcode. Most USB and Bluetooth scanners work without a driver or a browser permission.

For a scan to register:

* An ION tab must be open and focused in the browser.
* The scanner must be connected over USB or Bluetooth as a keyboard (HID) device.
* The cursor must not be in a text field. ION ignores keystrokes typed into a field.
* The barcode must be at least 10 characters long.

ION ends a scan at a carriage return, line feed, or Escape, which most scanners send after each barcode, or after a short pause in the input.

## Set up a camera

ION uses the device's camera in three places:

* **Scan with camera** in the sidebar on a computer or tablet. See [Scan with a camera](/build-hardware/labels-and-scanning/scanning/scan-with-a-camera).
* The camera scanner in the phone layout. See [Scan on a phone](/build-hardware/labels-and-scanning/scanning/scan-on-a-phone).
* **Take a photo** wherever you attach a file, such as a run step's attachments, a File field during a run, the attachments you add while receiving, or an empty file cell in a table. See [Attachments](/build-hardware/runs-and-execution/step-execution#attachments).

On a computer or tablet, **Scan with camera** and **Take a photo** appear only when the browser lists a camera on the device.

### Choose a camera

A camera opens on the rear camera by default. If the browser opens a front camera instead, ION switches to a rear camera it can find.

When the device has two or more cameras, **Switch camera** shows over the camera preview. Click it to move to the next camera. ION remembers the camera you switch to in this browser on this device, and opens it the next time you scan or take a photo, while it's still connected.

### Allow camera access

ION needs the browser's permission to use the camera. If the browser blocks it, ION shows **Camera access was blocked. Allow camera permission in your browser, then try again.** Allow camera access for ION in your browser, then click **Try again**.

For other camera errors, see [Troubleshoot scanning](/build-hardware/labels-and-scanning/scanning/troubleshoot-scanning).


## Related topics

- [Scan with a handheld scanner](/build-hardware/labels-and-scanning/scanning/scan-with-a-handheld-scanner.md)
- [Troubleshoot scanning](/build-hardware/labels-and-scanning/scanning/troubleshoot-scanning.md)
- [Overview](/build-hardware/labels-and-scanning/scanning.md)
- [Scan with a camera](/build-hardware/labels-and-scanning/scanning/scan-with-a-camera.md)
- [Claim kits, create a pick run, and walk the route](/manage-supply-chain/kitting/pick-runs.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.