Skip to content

Instantly share code, notes, and snippets.

View piksel's full-sized avatar
📠

nils måsén piksel

📠
View GitHub Profile
using (var outStream = new MemoryStream())
{
var zipOutputStream = new ZipOutputStream(outStream);
await outStream.FlushAsync(cancellationToken);
outStream.Seek(0, SeekOrigin.Begin);
zipOutputStream.SetLevel(CompressionMax);
foreach (var file in files)
{
using (var inStream = new MemoryStream())
{
@piksel
piksel / _readme.md
Created August 1, 2019 11:27 — forked from stecman/_readme.md
Brother P-Touch PT-P300BT bluetooth driver python

Controlling the Brother P-Touch Cube label maker from a computer

The Brother PTP300BT label maker is intended to be controlled using the official Brother P-Touch Design & Print iOS/Android app. The app has arbitrary limits on what you can print (1 text object and up to 3 preset icons), so I thought it would be a fun challenge to reverse engineer the protocol to print whatever I wanted.

Python code at the bottom if you want to skip the fine details.

Process

Intitially I had a quick peek at the Android APK to see if there was any useful information inside. The code that handles the communication with the printer in Print&Design turned out to be a native library, but the app clearly prepares a bitmap image and passes it to this native library for printing. Bitmaps are definitely something we can work with.