Thermal Printer and plots printing from SD card

Guys! I'm stuck:/

The idea is as follow:
Chip to be used: Nano, Uno or ProMicro

  1. build simple data logger to read temperature and humidity
  2. use RTC to collect time stamps
  3. store the above datas every second on SD card
  4. when all the data is collected, i.e. after one hour - 3600 rows of data - prepare graphic for thermal printer and store the whole frame on SD card (SD as a buffer - because RAM on Arduino Nano/pro micro/uno is very limited and thermal printer prints 384 pixels wide which is 48 bytes, times the number of rows. The whole frame needs to be 50mm wide x 30mm height - for label stickers. The printer prints 8dots per mm and effective printing width is 48mm. Based on that and label sticker size 50mm x 30mm (printable 48mm x 28mm) the buffer size should be 48mm x 8dots/mm = 384 dots wide, 28mm x 8dots/mm = 224 dots height which is 1344 bytes.

Let's assume data collecting and time stamps write to SD is simple.
BUT how to create a plot - XY points???
The other thig is: is it possible to keep writing logger data in txt file on the SD card (as logging should be continue all the time) and at the same time write something else on SD - the said frame for thermal printer?

  1. Then the frame should be send to thermal printer.
  2. Logger is logging continuosly and waiting for another trigger to prepare frame and send it to the printer
    Am i asking to much for arduino?

Imagine this sketch can be use in so many useful applications as thermal printers as so cheap.

Guys, let's talk about it!:slight_smile:
Cheers

There are lots of words in your posting, but not one mention of how you get your printer to print one row of dots and then advance the paper the size of one dot.

And, what does this mean: "5. Then the frame should be send to thermal printer.". What exactly are you sending to the printer and how are you sending it?

Please fill out the missing parts of your design.

Paul

thanks for reply.
i'm sorry, i thought it is well know device - the thermal printer like the one from adafriut:

How to print? Using their library:)

Generally the print data is organised like this: each bit is one pixel (dot), one byte is a row of 8 pixels in horizontal. After 48 bytes = 384 pixels the printer advances by itself and starts printing next row based on the received data (if my memory serves me right).
The problem is how to organize data in arduino/SD to create pixels image - i'm calling it "frame" - a ready to send set of bytes representing the label to be print 384pixels x 224pixels big (48bytes x 28bytes array).

any ideas?
perhaps it will be better to move this job to PC using Processing?

bogus105:
thanks for reply.
i'm sorry, i thought it is well know device - the thermal printer like the one from adafriut:

Mini Thermal Receipt Printer : ID 597 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits

How to print? Using their library:)

Generally the print data is organised like this: each bit is one pixel (dot), one byte is a row of 8 pixels in horizontal. After 48 bytes = 384 pixels the printer advances by itself and starts printing next row based on the received data (if my memory serves me right).
The problem is how to organize data in arduino/SD to create pixels image - i'm calling it "frame" - a ready to send set of bytes representing the label to be print 384pixels x 224pixels big (48bytes x 28bytes array).

The machinery, mechanical parts, are rather common, but the associated electronics have been built my many companies using the printer as their own product.

Paul