A small tool to print images on a thermal Phomemo printer on macOS without the need of proprietary software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Wouter Groeneveld 6241c45c87
Added -dir and -file options to support printing a single file or custom folder
3 months ago
filter convert phomemo-filter.py to embed in Go 4 months ago
.gitignore convert phomemo-filter.py to embed in Go 4 months ago
LICENSE convert phomemo-filter.py to embed in Go 4 months ago
README.md Added -dir and -file options to support printing a single file or custom folder 3 months ago
com.brainbaking.PhomemoPrinter.plist create a macos launchd file, use channels to wait for BLE con 4 months ago
go.mod convert phomemo-filter.py to embed in Go 4 months ago
go.sum initial commit 4 months ago
main.go Added -dir and -file options to support printing a single file or custom folder 3 months ago

README.md

Phomemo-printer for macOS

Inspired by https://github.com/vivier/phomemo-tools

If you're on Linux, use the above repository which utilizes CUPS.

If you're on macOS, the Python pybluez Bluetooth drivers don't work (well) on the latest iteration of macOS (tested on Ventura 13.2). Instead, this repository uses TinyGo's Bluetooth package, which wraps Apple's CoreBluetooth to be able to communicate with a Bluetooth device.

For context and more information, please see https://brainbaking.com/post/2023/02/phomemo-thermal-printing-on-macos/.

Building & Installing

go build

The script checks a folder for files (intended to be set up as a cron job), if there are any, sends them to the printer (if detected), and deletes them.

See main.go, you'll probably want to edit some variables. I hacked everything together in a day for our specific case.

To inspect the possible command-line options, use phomemoprinter --help:

  • -dir [dir] customize the dir to scan (by default ~/Downloads/phomemo)
  • -file [file] print only that image

If -file is used, -dir will be ignored.

Launchd service

To install as a launchd service (mac's "cron"), copy the binary to /usr/local/bin and the file com.brainbaking.PhomemoPrinter.plist to ~/Library/LaunchAgents. Then, in a terminal, type launchctl load com.brainbaking.PhomemoPrinter.plist.