0

I am currently hooking up my arduino to an adafruit mini thermal printer. When a button is pressed, some code is executed which then sends some information to the thermal printer.

Everything works fine except the thermal printer print is very weak and can barely be seen as soon as the printer needs to print more than 3-5 chars. Any ideas why? Both, the arduino and the thermal printer are hooked up to 9V batteries.

Here is the code

#include "Adafruit_Thermal.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 printer(&mySerial);     // Pass addr to printer constructor

int buttonIn = 8;
int val = 0;

void setup() {
  pinMode(7, OUTPUT); 
  digitalWrite(7, LOW);

  pinMode(buttonIn, INPUT);

   mySerial.begin(19200);  // Initialize SoftwareSerial
   //Serial.begin(19200); // Use this instead if using hardware serial
   printer.begin();        // Init printer (same regardless of serial type)
}

void loop() {
  // put your main code here, to run repeatedly:
     val = digitalRead(buttonIn);
     if(val == HIGH)
     {
        printer.println("test");
        printer.sleep();      // Tell printer to sleep
        delay(3000L);         // Sleep for 3 seconds
        printer.wake();       // MUST wake() before printing again, even if reset
        printer.setDefault();

     }   
}

Did I set up anything false? Is the power supply not enough? The adafruit was sent with a selftest from the seller where everything seemed to be fine.

Left, seller test, second from left, my selftest, third and fourth from left are example printer and charset tests.

enter image description here

And here you can see how everything is wired together.

enter image description here

Thank you very much!

  • 2
    the problem is always the 9 V battery – Juraj Feb 27 at 10:36
  • 1
    9V batteries are utter $%^*. The printer needs a proper power supply (2A) or some big meaty high current bateries (lithium rechargeables). – Majenko Feb 27 at 10:52
1

The datasheet states:
Requires 5-9VDC @ 1.5Amp power supply during print.

In my experience this printer provides best results when operated at its upper limit. I am using a 9V 2A power supply for that. A bettery is definitiverly not enough.

| improve this answer | |
  • So how would I provide a mobile power source? Many people state that powerbanks aren't a sufficient power source either. – Cedric Jansen Feb 27 at 10:46
  • There are beefy powerbanks that can provide up to 3A @ 5V. Those are not cheap and sadly most powerbanks do not provide the current that is printed on the case. I'd suggest you use batteries for RC cars. These are beefy and you will find a model that provides around 7.2V. Which perfectly fits in the range of the printer. – Kwasmich Feb 27 at 10:50
  • Just an example: This Battery can provide up to 40A. (2Ah * 20C = 40A) So you might get away with a smaller one. – Kwasmich Feb 27 at 10:54
  • The keyword here is Li Ion or a LiPo battery (the one linked by Kwasmich is a Li Ion battery). These are used in high power applications like drones, so with these you are good to go. 9V block batteries are for low power projects, nothing more. – chrisl Feb 27 at 10:59
  • 1
    Okay, I hooked up the powerbank directly to the thermal printer. The print is way better now and sufficient for my needs. Thanks guys! – Cedric Jansen Feb 27 at 11:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.