I have thermal printer from adafruit and when printing images I have problems getting a proper black.

I tried playing with the dot print time and the dot feed time using the setTimes function, but this seem to have no effect.

  unsigned long dotPrintTime = 3000*30L;
  unsigned long dotFeedTime = 2100*30L;
  printer.setTimes(dotPrintTime, dotFeedTime);

Also the setHeatConfig seems to have no effect. I tried different values.

  uint8_t dots = 11;
  uint8_t _time = 120;
  uint8_t interval = 40;
  printer.setHeatConfig(dots, _time, interval);

Here an image of the result:

enter image description here

Is it possible to print fully black the whole width of the paper?

  • Does the test page you get from holding the button print correctly? How are you powering it?
    – timemage
    Jun 5 at 10:47
  • 1
    I already recognized that the barcode also gets light grey, printing the full width. The adapter I am using is 2.4A and 5.0V.
    – Karlijn
    Jun 6 at 12:27
  • Just to be clear, the barcode you're talking about is the QR code from the test page?
    – timemage
    Jun 6 at 13:11
  • no it is not...
    – Karlijn
    Jun 6 at 13:55
  • Alright, I don't know what you're saying, or why, or to whom. The reason why I'm asking about the test page (as seen here) that you get from holding the power button is because the test page happens entirely under the printer's control, and not your code. Which means if you have the problem with the test page, your code and the Adafruit library are irrelevant to fixing the problem. And that seems like something anyone trying to help would want to know.
    – timemage
    Jun 6 at 16:00

Thermal printers generate quick pulses of heat to change thermal paper from white to a darker color. This may require more than the expected amount of current most Arduino project need.

Consider checking the maximum current rating of your power source. From the Adafruit printer web page regarding using this Mini Thermal Receipt Printer:

This printer in particular requires 5 to 9 Volts, 1.5 Amps current! That means you will need a fairly beefy supply and you cannot run it off of USB power. An external adapter is required!

Also consider trying different thermal paper manufactures and colors.

Lastly, consider how you might avoid BPA from thermal paper.

  • I was kind of hoping to get them to confirm it before posting an answer, but alright.
    – timemage
    Jun 5 at 12:58
  • Ah, I see ... get them to reason it out for them selves - clever of you. Hanging out here and other embedded processor stack exchange sites, I've see more than an expected number of problems associated with power supplies not capable of supply the necessary current. I've been caught on this once or twice my self.
    – st2000
    Jun 5 at 13:45
  • We are all here to improve these questions and answers for people who stumble upon these entries in the future. I am not sure why there is a down vote but upon reading my answer I see there is no explanation why checking the power supply is a good idea. So I added one. If that was not the reason for the vote please leave a comment saying what is missing from the answer.
    – st2000
    Jun 5 at 14:54
  • I can't speak for downvote motivations, but it strikes me as more of a comment/suggestion/request-for-details than answer. It may end up being the/an answer, but currently (see what I did there) it's a guess/hint that may or may not be relevant. I don't know the Arduino SE culture; no idea how it's similar/different to SO, so I don't participate much in voting yet unless I think it's obvious ¯_(ツ)_/¯ Jun 5 at 16:34
  • I was the initial upvote, in case that needs clarification.
    – timemage
    Jun 5 at 18:22

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.