Ik ben aan het experimenteren met een thermisch label/receipt printertje (XPrinter XP-237b).

https://manuals.plus/ae/1005005380487072.jpg

Dat werkt uitstekend, alleen krijg ik de 'black mark' detectie niet werkend...
('black mark' is een zwarte balk op de achterzijde van een rol labels ter indicatie van einde/begin label)

https://3.imimg.com/data3/MF/DQ/MY-4347435/black-sensor-mark-roll-500x500.jpg
Heb al van alles geprobeerd maar hij blijft steeds 4 of 5 labels tegelijk uitspuwen...

Is dat een hardwarematige / softwarematige / programmatische instelling of is daar een tooltje voor?
(heb het ook al bij XPrinter gevraagd, maar nog geen antwoord helaas...

Zit er wel een lichtsluisje in voor die detectie?
Zo ja, dan is het een software instelling, vaak door het soort papier in te geven zoals bij Dymo.

Er zit wel detectie in. Ik heb dat geprobeerd met een 'kassarol'.
Als ik daar zelfde streep op trek van een paar mm breed, dan gebeurt er ook niks.

Maar als ik die streep breder maak (6mm of zo) dan stopt het papiertransport met errorledje knipperend.
(Hij 'ziet' de streep dus wel, maar doet er niets mee...)

(errorledje is ook niet erg behulpzaam: betekent "er is ergens iets mis"... :) )
Anders maar op het antwoord van XPrinter wachten...

Enkele tips van chatgpt:

Belangrijke punten
Niet elke firmware van de XP-237B ondersteunt black mark standaard → soms moet je dit eerst instellen via:
-DIP switches
-configuratie tool van XPrinter
-Sommige modellen gebruiken label mode i.p.v. receipt mode
-Alternatieve commando’s die vaak gebruikt worden:
-GS FF → feed naar volgende mark
-GS ( L → page mode / label instellingen.

Testtip
Print eerst een self-test (meestal power + feed knop ingedrukt houden) om te zien of:
-black mark mode beschikbaar is
-juiste sensor (gap vs black mark) actief is

En wat Python testcode:


import serial
import time

# Pas COM-poort aan (Windows: COM3, Linux: /dev/ttyUSB0)
printer = serial.Serial('COM3', 9600, timeout=1)

# ESC/POS commando's
ESC = b'\x1b'
GS = b'\x1d'

# Reset printer
printer.write(ESC + b'@')

# Zet black mark detectie aan
# GS ( F pL pH fn m
# fn=0x42 (black mark), m=1 (enable)
printer.write(GS + b'(F' + b'\x04\x00' + b'\x42\x01\x01\x00')

# Print tekst
printer.write(b'Black mark test\n')

# Feed tot volgende zwarte markering
printer.write(GS + b'\x0c')  # Form feed

time.sleep(1)

printer.close()

Op zondag 19 april 2026 13:24:13 schreef 2N3055:
Enkele tips van chatgpt:

DIP switches:

zijn er niet.

configuratie tool van XPrinter:

is er volgens mij niet.

Sommige modellen gebruiken label mode:

klopt, is Windows dus TSPL ipv ESC/POS.

Alternatieve commando's die vaak gebruikt worden:

da's volgens mij ESC/POS...

Pas COM-poort aan:

COM poorten zie je al jaaren niet meer op Windows pc's en printers...

Ik heb wel een TSPL handleiding gevonden, weer wat te lezen... :+
https://cleversoftsolutions.com/descargas/utilidades/Impresoras/Tsc/TS…

Dat is het leuke van Chatgpt, die bendenkt dingen zelf :)

Het enige potentieel nuttige dat dan van het advies over zou blijven, is een zelftest of configuratierapport printen.

Selftest geeft ook niet veel interessant nieuws...

Misschien is daar toch wel wat te zien.
Check gap level 5, moet dat niet op 1 staan?
Je krijgt nu immers 5 stukjes...

'GAP' is normaal van toepassing op labelrollen zonder zwarte balk, maar met een tussenruimte tussen 2 labels.
Zo'n rol ook geprobeerd, ook geen succes...

Er staan ook 'Check gap', 'hard gap' en gewoon 'gap', wat is wat?... 8)7

Een Zebra professionele labelprinter die ik voor me kreeg had na jaren prima werken hetzelfde. Ik heb toen volgens mij iets met de printerinstellingen gedaan. Zelfs wisselen tussen de PDF viewer en Word werkte al dacht ik (het was dus een instelling binnen de PDF viewer).

Een hard gap zou wel eens een perforatie in de drager kunnen zijn.

Ter info:

Onder linux had ik ook dat ik steeds <veel> labels kreeg. Dit kwam omdat ik kennelijk "plaatjes" stuurde die dan met ruimte voor nog 4 lege plekken op de pagina zaten. Je moet je label in de juiste hoek van de pagina zetten wil ie zien: oh je wil er maar 1.