Skip to main content

Scales

Admin

Brother POS supports scales for weighing products sold by weight at the register. Scale integration is an optional feature controlled by a feature flag. Several connection backends are available depending on your hardware and device:

  • Network scale (recommended): A network serial-to-TCP bridge (the USR-W610) attaches to the scale's serial port and exposes it on your LAN. The iPad/Capacitor app reads the scale directly over TCP, while desktop browsers and the PWA read it through the local TCP→WebSocket relay built into the Printer Bridge. This is the path used for the deli-style weighing workflow.
  • Desktop browsers (Chrome/Edge): USB scales can still connect via the Web Serial API, communicating directly through the browser — no drivers or middleware needed. This is the fallback when no network scale is configured.
  • Android POS terminals: Scales connect natively via the capacitor-android-scale plugin, which communicates with the USB scale through the Android USB host API. No browser permissions are needed.
Which backend is used

Once a network scale is configured for a register (or you are on an iPad), Brother POS uses the network path. The Web Serial (USB) panel only appears when no network scale is configured and you are on a desktop browser.

Hardware Settings


Prerequisites

Before setting up a scale:

  1. Enable the Scale feature flag under Settings > Edit Settings > Hardware & System tab.
  2. Use Google Chrome or Microsoft Edge as your browser. The Web Serial API is not supported in Firefox or Safari.
  3. Have a USB scale that outputs weight data over a serial connection.

Supported Scales

Brother POS works with USB scales that provide serial output. Most digital POS scales support this.

ScaleConnectionNotes
CAS SW seriesUSBCommon in dispensaries. Reliable serial output.
My Weigh iBalanceUSBCompact, good for small products.
Ohaus ValorUSBIndustrial-grade, very accurate.
Any serial-output USB scaleUSBMust output weight readings over serial/COM port.
USR-W610 bridge + serial scaleNetworkA PUSR serial-to-TCP bridge that puts a serial scale on your LAN. Enables the network scale path (TCP for iPad, WebSocket relay for browsers).
Scale Accuracy

For cannabis sales, use a scale with at least 0.1g precision. Many dispensary scales offer 0.01g precision, which is preferred for compliance.


How It Works

  1. The cashier selects a weight-based product in the POS.
  2. The POS prompts to read the weight from the scale.
  3. The cashier places the product on the scale.
  4. Brother POS reads the weight via the Web Serial API.
  5. The weight is used to calculate the price (price per gram x weight).
  6. The product is added to the cart with the measured weight and calculated price.

Setting Up the Scale

Step 1: Connect the Scale

  1. Plug the USB scale into an available USB port on your POS device.
  2. Power on the scale.
  3. Allow it to calibrate (most scales auto-calibrate on power-up).

Step 2: Enable Scale in Brother POS

  1. Log in to the Admin Panel.
  2. Navigate to Settings > Edit Settings > Hardware & System tab.
  3. Toggle Enable Scale to On.
  4. Click Save.

Step 3: Pair the Scale in the POS

The first time you use the scale, the browser will ask for permission to connect:

  1. Open the POS register at storename.brotherpos.ca/pos.
  2. Add a weight-based product to the cart (or use the scale function in the product detail view).
  3. The browser displays a "Select a serial port" dialog.
  4. Choose the USB serial device that corresponds to your scale.
  5. Click Connect.

The browser remembers this selection, so you will not need to re-pair the scale on future visits (unless you clear browser data or use a different browser).

Reconnects on its own

After the first pairing, Brother POS silently reconnects the scale — no port picker — when the POS is reloaded or reopened and when the scale is powered back on (USB scales get switched off often). A configured network scale reconnects through the relay on launch the same way. Auto-reconnect is skipped only after an intentional disconnect. See the POS Scale guide for the cashier-side behaviour.

Browser Permissions

If the serial port dialog does not appear, your browser may be blocking the Web Serial API. Check that:

  • You are using Chrome or Edge (not Firefox or Safari).
  • The site is served over HTTPS (required for Web Serial API).
  • No browser extensions are blocking serial port access.

Baud Rate Auto-Detection

The Web Serial API requires a baud rate to communicate with the scale. Different scales use different baud rates.

Automatic Detection

Brother POS attempts to auto-detect the correct baud rate by trying common rates:

Baud RateCommon On
9600Most scales (default)
4800Some older CAS models
2400Some basic scales
1200Older or specialized models

The auto-detection process:

  1. Brother POS tries each baud rate in sequence.
  2. It passively listens for valid weight data frames -- it does not send any command to the scale.
  3. When a valid response is received, that baud rate is saved for future use.

Manual Baud Rate Setting

If auto-detection fails:

  1. Check your scale's manual for the correct baud rate.
  2. In the POS scale settings, manually select the baud rate.
  3. Test the connection by placing a known weight on the scale.
Finding the Baud Rate

If you cannot find the baud rate in your scale's manual, try the most common value first: 9600. This works with the majority of POS scales.


Network Scale via the Bridge Relay

For a network scale, the serial scale plugs into a USR-W610 serial-to-TCP bridge, which puts the scale on your LAN (the bridge speaks raw TCP, typically on port 8899).

  • iPad / Capacitor app: connects to the bridge directly over TCP. No extra software is required.
  • Desktop browsers and the PWA: a browser cannot open a raw TCP socket, so it connects through the TCP→WebSocket relay that is built into the Printer Bridge. The relay runs on the POS machine, dials the W610 over TCP, and re-exposes the weight stream as a WebSocket on localhost (port 9102) — which the browser can reach even from an HTTPS page.
Network scale ──(serial)──> USR-W610 bridge ──(TCP :8899)──> Printer Bridge relay ──(WebSocket :9102)──> Browser/PWA
└──(TCP :8899)──> iPad app (direct)
Reserve the bridge IP

Reserve the W610's IP on your router (a DHCP reservation) so the address never changes and you don't have to re-configure the scale.

See the Printer Bridge page for details on the relay and the ports it uses.


iPad Self-Configuration (LAN Auto-Discovery)

On the iPad/Capacitor app, staff with the Manage Scale permission can discover, test, and save the scale right from the POS — no admin trip required. Open the POS Settings menu and find the Scale panel.

Discover, Test, Save

  1. Tap Scan for scale. The app sends a PUSR discovery broadcast on the local network and lists any USR-W610 bridges it finds (name and IP).
  2. Tap a discovered bridge to fill in its IP automatically, or enter the Bridge IP, Port (default 8899), Name, and Protocol manually.
  3. Tap Test to connect and confirm a live weight reads back below.
  4. Tap Save. The configuration is stored per-register on the server, so every device using that register picks it up.
Auto-discovery is native only

LAN auto-discovery uses a raw UDP broadcast that only the native iPad/Android app can send. In a desktop browser, the Scan option is unavailable — enter the bridge IP manually instead.

Permission required

Discovering and saving the scale requires the Manage Scale permission. Staff without it see a read-only view and can only reconnect to the already-configured scale.


Deli Scale (Weigh-Heavy) Workflow

For deli-style weighing — where a budtender pours product onto the scale to a target tier — Brother POS adds a set of store-level settings plus POS-side conveniences (tare, auto-print). The store-level toggles live under Settings > Edit Settings > Hardware & System tab, in the Printing Features section, directly beneath the Enable Scale Integration toggle.

Admin Settings

SettingDescription
Weigh-heavy threshold (g)How far over a tier a budtender may pour while still charging the tier price (the extra is a free give-away). Set to 0 to turn weigh-heavy off.
Scale capture modeInline (weigh while adding) — select a product, then weigh. Scale Mode (weigh many, attach after) — capture a list of weights first, then tap products to attach each captured weight.
Per-gram roundingFor per-gram products, floor a scale capture down to this step so the customer isn't charged for the fractional grams. Options: Off (charge exact weight), Down to 0.5g, Down to 1g. Stored as scale_round_grams; default Off.
Auto-capture when steadyWhen on, a fresh pour that holds steady is captured automatically — no "Use Scale Weight" tap needed. Off by default.
Auto-capture hold (seconds)How long the scale must hold steady before auto-capture fires. Stored as scale_auto_capture_seconds; default 5 (minimum 1). Higher is less twitchy — 5–10s is recommended for a reliable hands-free add.
Give-away tracking

When weigh-heavy is enabled, the free grams handed out over each tier are recorded on the sale line, along with how the weight was entered (scale, preset, or manual). A Give-Away report summarizes the free grams handed out over a date range and includes a per-budtender scale-usage breakdown so you can see who's actually using the scale. See Weigh-Heavy Give-Away Report.

Per-gram rounding protects the customer

Per-gram rounding only ever rounds a scale capture down (e.g. 11.3g → 11.0g at the 0.5g step), so the customer is never charged for the fraction above a clean step. The actual un-rounded weight is still recorded on the line, so inventory deducts the real grams poured and the difference is tracked as a give-away. It applies to scale captures only — a manually typed weight is charged as entered.

Capture Modes

  • Inline: the cashier selects a weight-based product, then reads the scale. With Auto-capture when steady on, the item is added as soon as a fresh pour settles — a tier/preset reading adds at the tier price, a per-gram reading adds at the floored charge weight.
  • Scale Mode (queue): the cashier weighs several portions in a row, building a list of captured weights in a centered modal opened from the cart action bar, then taps products to attach each weight afterward. This is faster when bagging multiple items before ringing them up. With Auto-capture when steady on, a fresh pour held steady drops into the list automatically. See the POS Scale guide for the cashier-side flow.

Tare / Weigh-in-Bag

The POS provides a software Tare for weighing product in a bag or tray:

  1. Place the empty bag or tray on the scale.
  2. Tap Tare in the weight modal (or in the Scale Mode panel) to zero out its weight.
  3. Add the product — only the product weight is captured.
  4. Tap Untare to clear the offset. The tare also clears automatically when the scale disconnects.

This is a software offset applied to every reading, so it works with both network and USB scales (unlike the physical Tare button, which zeroes the scale hardware itself).

Auto-Print Exit Label

When a register has auto-print labels enabled, every weighed add — inline tier, weight preset, per-gram custom, offline, tab, and Scale Mode attach — automatically prints an exit label for the weighed item. Auto-print is configured per register (see the Registers page / Printer Bridge label printing), not as a store-level scale setting.


Using the Scale at the Register

Weighing a Product

  1. Tap a weight-based product in the POS (products configured to sell by weight).
  2. The weight input panel appears.
  3. Place the product on the scale.
  4. Tap Read Scale to capture the weight from the connected scale.
  5. The weight appears in the input field.
  6. Tap Add to Cart.

The price is calculated automatically: Price = Price Per Gram x Weight.

Supported Weight Units

The scale service reads weights in grams (g), kilograms (kg), ounces (oz), and pounds (lb). Whichever unit the scale reports is converted internally for pricing. Most cannabis scales output in grams.

Manual Weight Entry

If the scale is unavailable, disconnected, or malfunctioning, cashiers can enter the weight manually:

  1. Tap the weight-based product.
  2. Instead of tapping Read Scale, type the weight directly into the weight field using the on-screen numpad.
  3. Tap Add to Cart.
Manual Fallback

Manual weight entry is always available, even when a scale is connected. This ensures that a scale malfunction never blocks sales.

Taring the Scale

Before weighing a product:

  1. Place the container (bag, jar, etc.) on the scale.
  2. Press the Tare button on the physical scale to zero out the container weight.
  3. Add the product to the container.
  4. Read the weight in Brother POS.

Brother POS reads whatever weight the scale reports. Taring must be done on the physical scale itself.


Weight Presets vs. Scale

For common pre-packaged weights (1g, 3.5g, 7g, 14g, 28g), you can use weight presets instead of the scale:

  1. Enable weight presets in Settings > Edit Settings > Products & Inventory tab.
  2. Configure presets under Products > More dropdown > Weight Presets.
  3. When adding a weight-based product, cashiers see preset buttons alongside the scale option.
  4. Tapping a preset sets the weight without using the scale.

This is faster for pre-packaged products. Use the scale only when a customer orders a custom weight that does not match a preset.

See Weight Presets for configuration.


Troubleshooting

"No Serial Port Found" Error

  1. Check the USB connection -- Is the scale plugged in and powered on?
  2. Check the browser -- Are you using Chrome or Edge?
  3. Check HTTPS -- The Web Serial API requires a secure (HTTPS) connection.
  4. Try re-pairing -- Clear the serial port permission in browser settings and try connecting again.

Scale Reads 0.00g With Product On It

  1. Check the scale display -- Does the physical scale show a weight? If not, the scale itself has an issue.
  2. Check the baud rate -- An incorrect baud rate can cause the POS to misread the data. Try auto-detect or manually set the baud rate.
  3. Check the serial cable -- Some USB-to-serial adapters can cause issues. Try a different adapter or direct USB connection.

Weight Readings Are Inconsistent

  1. Place the scale on a flat, stable surface away from vibrations or drafts.
  2. Calibrate the scale using a known weight (see the scale's manual for calibration instructions).
  3. Wait for the scale reading to stabilize before tapping "Read Scale." Most scales have a stability indicator.

Scale Works in Text Editor but Not in POS

If the scale outputs readable data in a terminal program but not in Brother POS:

  1. The data format may not match what Brother POS expects. Brother POS expects a standard weight output format.
  2. Check the scale's output mode -- it should be in "continuous" or "request" mode, not "print on demand."
  3. Contact support with your scale model for compatibility assistance.

Common Questions

Can I use a Bluetooth scale? The Web Serial API primarily supports USB serial connections. Some Bluetooth serial profiles may work, but USB is the reliable option. Use a USB scale for the best experience.

Do I need a scale at every register? Only at registers where weight-based products are sold. If all your cannabis is pre-packaged, weight presets may be sufficient and no scale is needed.

What happens if the scale disconnects mid-sale? The cashier can enter the weight manually to complete the sale. The manual fallback ensures no sale is blocked by a hardware issue.

Can the scale auto-read when I place a product on it? Yes, if you turn on Auto-capture when steady. A fresh pour that holds steady for the Auto-capture hold (seconds) duration (default 5s) is captured automatically — no tap needed. It only fires after the scale has returned near-empty, so it won't grab a stray reading. Auto-capture is off by default; with it off, the cashier confirms each pour with the Use Scale Weight button.


What's Next?