Thermal Receipt Printer Bitmap Printing

Hello all! I recently purchased a thermal receipt printer from Adafruit (model CSN-A2), and I have had no luck with printing bitmap images. I used the tutorial on Adafruit’s website (Bitmap Printing | Mini Thermal Receipt Printer | Adafruit Learning System) and I tried out the example code and I still had no luck. I used a processing sketch to convert the png into a bitmap and attached/referenced the file in the sketch. After running the whole thing with the most recently updated version of the thermal printer library, the receipt printer still printed out garbage that wasn’t the desired image I told it to print. I have never modified a library before, and I am not at all familiar with receipt printing or bitmap stuff. Below is my Arduino sketch, and I will attach the converted bitmap file that is referenced in the sketch, along with the Processing bitmap conversion sketch and the output from the receipt printer. Any and all help is appreciated. Thank you so much.

Arduino sketch:

#include "Adafruit_Thermal.h"
#include "Shit.h"


// Here's the new syntax when using SoftwareSerial (e.g. Arduino Uno) ----
// If using hardware serial instead, comment out or remove these lines:

#include "SoftwareSerial.h"
#define TX_PIN 6 // Arduino transmit  YELLOW WIRE  labeled RX on printer
#define RX_PIN 5 // Arduino receive   GREEN WIRE   labeled TX on printer

SoftwareSerial mySerial(RX_PIN, TX_PIN); // Declare SoftwareSerial obj first
Adafruit_Thermal Thermal(&mySerial);     // Pass addr to printer constructor
// Then see setup() function regarding serial & printer begin() calls.

// Here's the syntax for hardware serial (e.g. Arduino Due) --------------
// Un-comment the following line if using hardware serial:

//Adafruit_Thermal printer(&Serial1);      // Or Serial2, Serial3, etc.

int heatTime = 500;
int heatInterval = 50;
// -----------------------------------------------------------------------

void setup() {



  mySerial.begin(19200);  // Initialize SoftwareSerial


  Thermal.begin();        // Init printer (same regardless of serial type)

  Thermal.write(27);
  Thermal.write(42);
  Thermal.write(33);
  Thermal.write(50);
  Thermal.write(1);
  Thermal.write(50);

  Thermal.write(27);
  Thermal.write(69);
  Thermal.write(1);

  Thermal.printBitmap(Shit_width, Shit_height, Shit_data);

}

void loop() {
}

Shit.h (20.4 KB)

BitMapConverter.pde (2.39 KB)