⚖
BUILD YOUR OWN RS-232 SMART SCALE ADAPTER
For makers: two small boards from the big maker shops, four jumper wires - and our firmware turns the RS-232 port of your scale into a smart, wireless scale. Also your verified, legal-for-trade scale.
PARTS ABOUT 15 EUR
+ PRO LICENCE 46.50 EUR
= ABOUT 60 EUR
NO SOLDERING WITH PRE-SOLDERED BOARDS
- Is DIY the right way for you?
- DIY is for makers: you buy the parts yourself, plug four jumper wires, install the firmware in your browser and set it up in the app. It takes about 30 minutes. We support the firmware and the app - not the hardware you bought (shops, wiring, broken boards).
- You want it ready to use? Take the ESP32-C3 RS232 Adapter: one ready-made board with a DB9 plug (the ESP32-C3 RS232 Adapter, sold by TinyTronics), same firmware, same price in total.
- Free and PRO work exactly like on the ESP32-C3 RS232 Adapter: the free version runs as long as you like, the PRO licence (46.50 EUR incl. VAT, once, forever; ENTERPRISE & COMPLIANCE 121.30 EUR, also once and forever) unlocks everything - see FREE AND PRO.
⚖
SHOPPING LIST
What you need - and where to buy it
Prices and stock as we checked them on 20 October 2026 - shops change them, please check before you order. We get nothing from these shops: buy wherever you like, the part numbers are what matters.
| # | Part | Exactly this | Price |
|---|---|---|---|
| 1 | Microcontroller board (the "brain" with the radio) |
Seeed Studio XIAO ESP32S3, pre-soldered Seeed part no. 102010634 (Mouser: 713-102010634)ESP32-S3, 8 MB flash, 8 MB PSRAM, USB-C, comes with a small antenna. "Pre-soldered" = the pin headers are already on: no soldering. The version with loose headers needs them soldered (14 pins). |
about 7-11 EUR |
| 2 | RS-232 board (turns the 3.3 V signals of the board into the ±12 V of RS-232) |
Waveshare RS232 Board (Waveshare SKU 3965)SP3232 chip, works with 3.3 V, DB9 male plug, pin header with VCC, GND, RXD, TXD, CTS, RTS, comes with a 6-wire cable. |
about 4-7 EUR |
| 3 | Jumper wires | female-female ("Dupont"), 10-20 cm, at least 5. Any pack does it (often 40 wires for 2-4 EUR). The cable that comes with the RS-232 board may fit too - if both of its ends are sockets. | about 2-4 EUR |
| 4 | USB-C cable + power | A USB-C data cable (for the install from your computer) and a USB charger or power bank (for the scale). You probably have them. | - |
| 5 | Maybe: DB9 null-modem adapter | DB9 female to male, null-modem (also called "null modem gender changer"). Only needed if your scale's PC cable expects a computer - see connect your scale. Better buy it with the rest: it costs 3-6 EUR, and a second order costs more shipping. | about 3-6 EUR |
| 6 | Optional: case | UPCOMING: our free 3D file for the XIAO + the Waveshare board. Until then: a small project box, the RS-232 board has two M3 holes, the XIAO holds with double-sided tape. | - |
Total: about 13-15 EUR for the parts (plus shipping), + 46.50 EUR for the PRO licence when you want it.
- Where to buy
| Region | XIAO ESP32S3 | Waveshare RS232 Board | Note |
|---|---|---|---|
| United Kingdom (also ships to the EU) | The Pi Hut (about 7.30 GBP) | The Pi Hut (about 3.90 GBP) | everything from one shop, jumper wires too; choose the pre-soldered option if it is offered |
| Worldwide (USA, EU, UK, …) | Digi-Key 102010634, pre-soldered (about 8.50 USD) |
no Waveshare board - instead the Artekit AK-3232 (about 9.40 USD), see other parts | everything from one shop; jumper wires there: search "jumper wire female female" |
| EU, no soldering for sure | Mouser 713-102010634 (about 7.30 EUR) |
welectron (Germany, about 4.25 EUR) | two shops; Mouser ships free from a higher order value |
| Germany | Eckstein (about 10.95 EUR), BerryBase | welectron | check whether the XIAO comes pre-soldered or with loose headers |
| USA | Mouser, Seeed Studio, Digi-Key, Amazon | PiShop.us (about 6.95 USD), Amazon, Waveshare (3.99 USD) | see the alternative below if the Waveshare board is sold out |
| Worldwide | Seeed Studio | Waveshare | direct from the makers, shipping from China |
- Other parts that work - also without soldering
- The firmware runs on almost every ESP32-S3 or ESP32-C3 board with at least 4 MB flash - the update page installs the right version by itself.
- Seeed XIAO ESP32C3, pre-soldered (Seeed part no.
102010633, about 5-6 EUR, e.g. The Pi Hut, BerryBase) - the cheapest one; single core, works the same for weighing. Same wiring as the XIAO ESP32S3. - Artekit AK-3232 (or AK-3232L with LEDs) instead of the Waveshare board: ST3232 chip, 3.3 V, DB9 female, wires go into its terminal block - at Digi-Key (about 9.40 USD). Its terminals are labelled differently from the Waveshare board, and its DB9 is a socket: check the Artekit guide for which terminal is which. Use one of its two channels (TX in, RX out) for TX/RX.
- Boards with soldered pins (Espressif ESP32-S3-DevKitC-1 / ESP32-C3-DevKitM-1 and many others): choose CUSTOM in the app and enter the GPIO numbers you wired. Do not use TX/RX pins that a USB-serial chip on the board also uses (on many DevKits GPIO 43/44 on the S3, 20/21 on the C3) - use two free GPIOs instead.
- Seeed XIAO ESP32C3, pre-soldered (Seeed part no.
- Never use a 5 V RS-232 board (MAX232 without the "3", many "TTL to RS232" modules for Arduino Uno, the M5Stack Atomic RS232 Base): it puts 5 V on the RX pin of the ESP32, which only takes 3.3 V. It may work for a while - and then the board is broken.
⚖
YOU CAN SOLDER?
Then these parts work too
With a soldering iron you have more choice - useful when a part above is sold out, or in the USA, where the Waveshare board is not stocked everywhere. You solder pin headers (or the wires directly) to the board; everything else stays the same: the same firmware, the same app, the wiring by function (3V3, GND, TX, RX, optional RTS).
| Part | What to solder | Price / where |
|---|---|---|
| Microcontroller boards | ||
| Seeed XIAO ESP32S3 / ESP32C3 with loose headers | 2 × 7 header pins (or only the 4-5 wires you need) | a little cheaper than pre-soldered; same shops as above |
Adafruit QT Py ESP32-S3 - 5426 (8 MB, no PSRAM) or 5700 (4 MB + 2 MB PSRAM) |
4 wires to the pads TX, RX, 3V3, GND; board preset QT PY ESP32-S3 in the app (TX GPIO 5, RX GPIO 16). On the 5700 check its pinout page first - if its TX/RX pads have other GPIOs, choose CUSTOM. | about 12-13 USD at Adafruit; The Pi Hut (5700, about 11.70 GBP), Digi-Key, Mouser. The 5426 is being discontinued. |
Adafruit QT Py ESP32-C3 - 5405 |
4-5 wires to TX, RX, 3V3, GND (A0 for RTS); board preset QT PY ESP32-C3 | Adafruit (out of stock when we checked), Digi-Key, The Pi Hut |
| RS-232 boards (3.3 V) | ||
SparkFun RS232 Breakout - BOB-29197 |
a 9-pin header (or the wires) - it has a DB9 female socket and does the TX/RX crossover itself | 9.95 USD at SparkFun, The Pi Hut - the US alternative to the Waveshare board |
Adafruit RS232 Pal - 5987 (MAX3232E, 2 channels) |
the header pins, plus a DB9 plug of your own wired to it (pins 2, 3, 5) | 3.95 USD at Adafruit, Core Electronics, The Pi Hut |
SparkFun Transceiver Breakout - MAX3232 - BOB-11189 |
the header pins, plus a DB9 plug of your own | about 7.30 USD at SparkFun, Electrokit |
- Power the RS-232 board from 3V3 of the microcontroller board - never from 5V, also when the RS-232 board allows 5 V: its RX output follows its supply.
- A DB9 of your own: wired like a computer (DB9 male: pin 3 = your TX out, pin 2 = your RX in, pin 5 = GND) the adapter plugs straight into the PC cable of most scales - like the 323.
- Prices as checked on 20 October 2026.
⚖
WIRING
4 wires (5 with the optional handshake)
| Waveshare header pin | XIAO ESP32S3 | XIAO ESP32C3 | QT Py ESP32-S3 | QT Py ESP32-C3 |
|---|---|---|---|---|
| 1 VCC | 3V3 (never the 5V pin!) | |||
| 2 GND | GND | |||
| 3 RXD (data from the scale) | D7 / RX (GPIO 44) | D7 / RX (GPIO 20) | RX (GPIO 16) | RX (GPIO 20) |
| 4 TXD (data to the scale) | D6 / TX (GPIO 43) | D6 / TX (GPIO 21) | TX (GPIO 5) | TX (GPIO 21) |
| 5 CTS | not connected | |||
| 6 RTS (optional) | D1 (GPIO 2) | D1 (GPIO 3) | - (CUSTOM) | A0 (GPIO 4) |
- Pin 1 of the header is the one labelled VCC on the RS-232 board. Check the labels on your board - the order above is the one of Waveshare's schematic.
- RXD and TXD mixed up? No problem: nothing breaks. If the scale's weight does not come, set SWAP TX/RX in the app (see pins in the app) - no need to change the wires.
- RTS (optional): some scales only send when the other side says "ready" (hardware handshake). With the 5th wire the firmware switches this line on, on DB9 pin 8. Most scales don't need it.
- Power: the XIAO gets its power by USB-C (charger or power bank) and gives 3.3 V to the RS-232 board. The scale gives no power.
- Plug the wires with the boards unpowered, and keep metal (the DB9 shell, screws) away from the pins of the XIAO.
⚖
INSTALL THE FIRMWARE
In your browser - about 5 minutes
You need: a computer (Windows, macOS, Linux or a Chromebook) with Chrome, Edge or Opera and a USB-C data cable (many charger cables carry no data). No driver, no program.
- Plug in the XIAO by USB-C (the RS-232 board may stay connected).
- Open the update page: up-scales.com/update/?scale=diy. The newest version is on top.
- Click INSTALL and choose the port of the board (often "USB JTAG/serial debug unit"; on Windows a COM port, on macOS/Linux usbmodem/ttyACM). The installer finds out by itself whether it is an S3 or a C3 and installs the right version.
- No port, or "failed to connect"? Download mode: unplug the XIAO, hold its BOOT button (the small "B"), plug it in, release BOOT. Then INSTALL again.
- Erase: on a new board you may tick it. Then Next and Install, and wait for "Installation complete" (about 1 minute).
- Start: press the RESET button ("R") or plug the board in again.
- Open the app (up-scales.com/420, Chrome, Edge or Opera; on the iPhone the Bluefy browser) and click CONNECT: choose "UP↑SCALE (DIY) #...".
Problems with the install? The same tips as for the ESP32-C3 RS232 Adapter: IT DOES NOT WORK?
⚖
PINS IN THE APP
- XIAO ESP32S3 wired as above: nothing to do. The S3 firmware starts with exactly these pins.
- XIAO ESP32C3: the C3 firmware starts with the pins of the ready-made ESP32-C3 RS232 Adapter - choose Seeed XIAO ESP32C3 once in BOARD PINS (below) and SAVE.
- Other boards: in the app open RS-232 SETTINGS → BOARD PINS: choose your board, or CUSTOM and enter the GPIO numbers of TX, RX and (optional) RTS. SAVE - the adapter restarts with the new pins.
- SWAP TX/RX exchanges the two data pins - for wires the wrong way round.
- The firmware refuses pins that would stop the board (flash, PSRAM and USB pins) and then uses the standard pins again.
⚖
CONNECT YOUR SCALE
The Waveshare board has a DB9 male plug wired like a device (like a modem): pin 2 sends, pin 3 receives, pin 5 is ground, pin 8 is the optional RTS. That is the other way round than on a computer - and than on the 323.
- Your scale has a DB9 socket wired like a computer (it sends on pin 3): plug it in directly, or with a straight 1:1 extension cable.
- You use the scale's own PC cable (made to go into a computer): put the null-modem adapter (female to male) between the cable and the RS-232 board.
- Not sure? Try it directly first. If the auto-detect in the app says "no signal at all" although the interface of the scale is on, add the null-modem adapter.
- In the app: RS-232 SETTINGS → choose the maker of your scale (METTLER TOLEDO, KERN, OHAUS, A&D, ADAM, SARTORIUS) or press 🔍 AUTO-DETECT, then set the capacity and the decimals. On a verified scale also switch on LISTEN ONLY and EXACT WEIGHT.
- Check: the weight in the app follows the display of the scale.
- No weight in the app?
- "No signal at all": switch on the interface of the scale in its menu (often "continuous output"; some scales only send with the print key). Then: null-modem adapter in or out (see above). Then: SWAP TX/RX in the app. Then: check the 4 wires and the pins in the app.
- "Data, but unreadable": choose the preset of your scale, or set baud rate, data bits and parity by hand (see the manual of your scale).
- Wrong values: check the preset, the decimals and the capacity in the RS-232 settings.
- The app does not find the adapter: is the antenna of the XIAO plugged in? Press RESET, wait 5 seconds. Switch on Bluetooth in the settings of your phone or computer.
⚖
FREE, PRO AND UPDATES
- Free version: runs as long as you like - weighing in all units, tare, counting, simple check-weighing, recipes, labels, ESP-NOW and 1 extra scale. The PRO modes (sorting, factory, tracking, sales log ...) as a free trial: a few items in a row, then a short pause.
- PRO: the PRO licence (46.50 EUR incl. VAT) is made for the Device ID of your XIAO. The app shows it: tap ⭐ FREE VERSION - UPGRADE TO PRO below the title, then GET PRO. Activating works like on the 323: ACTIVATE PRO.
- Your board broke? You get a replacement licence for the new board.
- Updates are free: update page, INSTALL, and do not tick "erase" (an erase deletes your settings, THINGS and recipes). Your pins stay.
⚖
CHECKLIST
- Ordered: XIAO ESP32S3 (pre-soldered), Waveshare RS232 Board, female-female jumper wires - maybe the null-modem adapter.
- Wired: VCC→3V3, GND→GND, RXD→D7, TXD→D6 (optional RTS→D1). Antenna on the XIAO.
- Firmware installed from the update page, board restarted.
- App connected to "UP↑SCALE (DIY)", RS-232 settings done, the weight follows the scale.
- Happy? Get PRO.
⚖
ANY MORE QUESTIONS?
Write us an e-mail at
, or contact us at instagram. More about the app: ↑⚖ APP MANUAL.
UP↑SCALE is not affiliated with Seeed Studio, Adafruit, SparkFun, Waveshare or the shops named here. Product names belong to their owners. You buy the parts from their sellers; we sell the software licence only. Building and using the adapter is your own responsibility.