Skip to content

Lua-only firmware for an autonomous App Store review printer based on NodeMCU and a stock thermal printer.

Notifications You must be signed in to change notification settings

aleh/appreviewprinter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App Store Review Printer

Lua-only firmware for an autonomous App Store review printer based on NodeMCU and a common thermal printer part.

It sits on your desk checking App Store RSS feed for your iOS app and prints new reviews when they arrive.

Configuration

The Makefile is tested with OS X only but should work on Linux. It assumes you have the amazing nodemcu-uploader installed and that your NodeMCU device has its name matching /dev/tty.wchusbserial* pattern.

Rename config-example.lua to config.lua and adjust to suit your needs.

So far this has been tested with NodeMCU 1.5.4.1 (integer firmware). I've seen the newer one having problems with skipping of network data.

Only regular modules are required in your firmware (HTTP and JSON parsing are done in Lua):

  • bit
  • file
  • gpio
  • net
  • node
  • struct
  • tmr
  • wifi

Printer

Any stock thermal printer should work here, like the ones sold by Adafruit. And as always they have great docs here: https://cdn-learn.adafruit.com/downloads/pdf/mini-thermal-receipt-printer.pdf

Sparkfun also has related docs, though don't rely on all the commands available in every printer: https://www.sparkfun.com/datasheets/Components/General/Driver%20board.pdf

Nice intro on the typical ESC codes supported: https://mike42.me/blog/what-is-escpos-and-how-do-i-use-it

Here is a link for a cheap 58mm one (turned out to be pretty narrow): https://aliexpress.com/item/JP-QR203-58mm-Mini-Embedded-Receipt-Thermal-Printer-Compatible-with-EML203/32653084570.html

Name on the front: GOOJPRT

TTL connector wires (from left to right when looking at the PCB so the reset button in the top right corner):

    BLACK  - GND
    RED    - VCC
    YELLOW - RX (i.e. the data coming from the controller to the printer here).
    GREEN  - not sure, perhaps TX but could not confirm.
    BLUE   - sort of a BUSY signal: LOW when the printer is ready to accept incoming data; HIGH otherwise.

See ./doc/escpos.pdf on some of the escape commands supported.

Enclosure

The enclosure consists of two pieces that can be printed without support. (Put the front part, "Box Front.stl" and the button, "Button.stl", on their faces). Use 2.5 by 9 mm screws directly into plastic to attach the boards and the back cover. See ./enclosure for STL and Fusion 360 sources. I used red PETG for the box (semi-transparent effect) and white PLA for the single button (for contrast) with 0.2 mm layers via 0.4 mm nozzle.


About

Lua-only firmware for an autonomous App Store review printer based on NodeMCU and a stock thermal printer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published