Bitfocus AS
logo
logo
Bitfocus AS
logo
logo
Sign upSign in

Loading...

Bitfocus

Subscribe to our newsletter

The latest news, articles, and resources, sent to your inbox.

FacebookInstagramGitHubYouTubeLinkedIn

Products

  • Buttons
  • Companion

Integrations

  • Supported Devices
  • Developer Community
  • Connection Development

Support

  • Support Overview
  • Documentation
  • Video Tutorials
  • Community Forum

Sales

  • Resellers & Integrators
  • Buttons Pricing

Updates

  • Case Studies
  • Events & Trade Shows
  • Press Releases
  • Product Updates
  • Webinars

Legal

  • Legal Overview
  • Privacy Policy
  • Buttons EULA
  • Terms & Cookie Policy

Company

  • About us
  • Press kit
  • Careers

© 2026 Bitfocus AS. All rights reserved.

Add and attach a surface
Docs for
Overview
Getting started
What is Bitfocus Buttons?
Install Buttons and get started
Manage your Buttons license
Activate Buttons offline
Find your way around Buttons
Create your first backup
Add an ATEM connection
Choose a control method
Choose an installation path
Install Buttons on Debian or Ubuntu
Understand HA clustering
Kubernetes HA
Update or remove Buttons
Positions
Understand positions
Create a position
Add controls and sections to a position
Create your first button
Use a connection's presets
Build more capable button actions
Add more feedback to a button
Organize controls in a section
Shift Section
Organize controls with a Folder Section
Add a Popover Section
Build and reuse a Shared Section
Build a Router Section
Understand Custom Routers
Custom Router panel
Surfaces
Surface compatibility
Add and attach a surface
Device orientation
Connections
Update a connection's module safely
Monitor and troubleshoot a connection
Router integrations
VideoHub and AJA KUMO
Utah Scientific BPS
Generic SW-P-08
Nevion VideoIPath
Arkona BLADE//runner
Routing
Physical routing
Configure ports and labels
Take a physical route
Understand route status
Topology graph
Routing Presets
Get started with virtual routing
Configure Nested Shapes
Reverse routing
Tielines
Routing Projects
Routing settings
Troubleshoot a route
Tally
Understand the Tally system
Send ATEM tally and labels to a UMD
Interpret Active Tally state
TSL/UMD connections
Diagnose tally problems
NMOS
Understand NMOS in Buttons
Connect Buttons to an NMOS Registry
Built-in Registry Server
Configure NMOS connections
Discover and adopt
Browse the NMOS inventory
Manage NMOS multicast addresses
Diagnose NMOS problems
Understand Cuelists
Build a Cuelist
Read and advance a running Cuelist
Control a Cuelist from a Position
Workflows
Understand workflows
Build your first workflow
Reuse a group of workflow nodes safely
Troubleshoot a workflow
Recipes
Sequence a timed automation
Call an HTTP endpoint from a workflow
REST endpoint
Use variables
Understand variable scope
Understand nested variables
Update expressions for v1.8
Plan and use Tags
Access
Create and manage users
Create roles and assign permissions
Grant access to specific resources
Show different controls by role
Sessions
Set up PIN and NFC sign-in
SSO
Get started with SSO
Connect a generic OIDC provider
Connect LDAP or Active Directory
Map identity claims to roles
Secure a Buttons deployment
Integrations
External control
Connect to Bitfocus Listener
USB Relay
Install USB Relay on Windows
Install USB Relay on macOS
Install USB Relay on Linux
Install USB Relay on a Raspberry Pi
Get started with the Control API
Secure and monitor the Control API
Control API reference
API reference
Administration
Enable and manage installable features
Services and health
Configure and monitor scheduled backups
Restore a backup and verify it
Export or import Buttons configuration
Store and rotate connection secrets
Replace the HTTPS certificate
HA backup and recovery
Settings
Collect support information
Reference
Glossary
Button Inspector reference
Network ports reference
Expressions
Internal actions reference
Routing Presets panel reference
Startup configuration reference
Workflow nodes
Connection workflow nodes
Workflow workflow nodes
Internal workflow nodes
Position workflow nodes
API workflow nodes
Utility workflow nodes

Loading...

Previous
← Surface compatibility
Next
Device orientation →
Contact support →
You are viewing documentation for Buttons 1.8.See the docs for Buttons 1.6
Buttons/Surfaces/Add and attach a surface

Add and attach a surface

A surface is an interface, such as a hardware panel, browser session, or iPad, attached to a Position. The Position defines the operator workspace; its attached surfaces make that workspace's buttons and displayed state available on the interfaces the operator uses.
This guide follows the shortest hardware path: discover a Stream Deck Studio, adopt it, and attach it to an existing Position. It also explains how to create an iPad or custom browser surface when no discoverable panel is involved.

Before you begin#

  • Create the Position whose buttons the surface should display.
  • Connect a Stream Deck Studio directly or through the appropriate Buttons surface service, and keep it reachable from the Buttons system.
  • Make sure your license has room for another enabled surface. The counter beside Surfaces shows current use against the licensed limit.
  • Keep the physical panel nearby so you can confirm its identity.

Discover and adopt a hardware surface#

  1. Open Connect → Surface.
  2. Select Discovered surfaces at the bottom of the Surfaces list.
  1. Find the panel by its model, hostname, network address, or serial number. A recently discovered device can display a New indicator.
  2. Select the panel.
  3. Select Adopt.
Buttons adds the panel to Surfaces and opens its settings. A discovered device marked Not supported cannot be adopted; do not substitute a different model manually.
You can select and adopt several supported panels together. Adopt → Create Position is useful when the Position does not exist yet, but this guide attaches one panel to the Position you prepared earlier.

Identify and label the panel#

  1. In the adopted surface's settings, select Identify.
  2. Confirm that the intended physical panel identifies itself.
  3. Enter a Label that distinguishes the panel by its location or use.
Identification is available only for surface models that support it. If several similar panels were discovered, confirm the physical device before changing its assignment.

Attach the surface to the Position#

  1. Under Assigned to Position, select the Position the surface should use.
  1. Select Save.
The surface is now attached to the Position. Buttons automatically places a newly attached surface on that Position's canvas; open the Position editor when you need to adjust how multiple surfaces are arranged around the same workspace.

Tip

If you want to mount the unit at an angle or upside down, use Device orientation and, on a Stream Deck Studio, Viewing Angle to make its layout match the installation, see Set device orientation and verify button placement.

Create an iPad or custom browser surface#

Browser surfaces are created rather than discovered. Before opening one on another device, configure the packaged Buttons Watchdog to accept network connections:

Warning

All interfaces (0.0.0.0) makes the Editor listen on every network interface. Use it only on a network where access to Buttons is appropriately restricted.

  1. In Buttons Watchdog, open the secondary menu beside Launch Editor UI, then choose Environment Settings.
  2. Set Editor Listen Address to All interfaces (0.0.0.0).
  3. Select Save and restart.
  1. Open Connect → Surface.
  2. Select Add.
  3. Choose iPad Mini, or choose Custom Web View for a browser-based surface with your own grid and button dimensions.
  1. Enter a Label.
  1. For a Custom Web View surface, configure its Grid, button Resolution, Gap, Border Radius, and surface Padding.
  1. Select Create surface.
  2. Under Assigned to Position, choose the Position, then select Save.
  3. Select Open iPad view or Open device web UI. You can also scan the displayed QR code or open the displayed URL on the intended device.
The displayed address uses the Buttons address from your current browser. If it contains localhost, it refers to the device on which the URL is opened and will not reach a Buttons server on another computer. Open Buttons through a server name or IP address reachable from the iPad or browser device before copying the URL or scanning the QR code.
A Custom Web View surface's grid determines how many buttons it displays, while its dimensions and spacing determine how those buttons fit the browser area. Return to the surface settings if the rendered layout does not fit the intended touchscreen.

If you get stuck#

What you see
What to try
The panel is absent from Discovered surfaces.
Confirm that the panel or its surface service is powered, connected, and reachable on the relevant network, then reopen the discovered list.
The discovered panel says Not supported.
Do not adopt it as another model. Check the supported surface models available under Add or confirm compatibility with Bitfocus.
An iPad or custom URL opens Surface not found or cannot connect.
Confirm that the URL contains the reachable Buttons server address and that the surface still exists and is enabled.

Where to go next#

  • Set device orientation and verify button placement, for mounting a unit at an angle or upside down.
  • Install USB Relay (macOS, Linux, Raspberry Pi) if a Stream Deck is physically attached to a different machine than the one running Buttons.
  • Create a Position for another operator workspace before attaching more surfaces.

Was this helpful?

Was this helpful?

0 of 0 users found this page helpful