Skip to content

Repository files navigation

slack-ping-machine

A small machine that prints every new notification I get from the Slack. This way notifications feel like something physical, like a letter. Also, it's a nice excuse to repurpose a small thermal printer I had lying around.

I take no responsability for whatever is written in print.py. It works, credits to Sonnet 5. I'll rewrite it and fix its errors for the finished ship, this is just a proof of concept.

Why I made it?:

Last Christmas my uncles gave my parents a small Chinese thermal 3D printer as part of their secret Santa gift. I started playing with it immediately, I had big plans for it, sadly the only way to use it was through an app called iBleem. Everything on that app seemed proprietary so I assumed the communication protocol was proprietary too and moved on to my actual Christmas presents.

This brings us to today, I can't recall exactly how the idea came to me but I decided to make a small device that prints any new notifications I get from the Hack Club Slack, like an old fax machine! This way, I can give a new life to an otherwise unused piece of technology.

How to use it?:

Note: print.py works only with my printer. Sonnet 5 created that script based on bluetooth dumps I provided. If you want to recreate this project, don't bother changing the script, just use TiMini Print. (Don't forget to update the command in the main.go).

If you wan't to recreate this project, just wait a few days for the final version. It will be much easier to use.

  1. Clone the repository & cd into it
  2. Open main.go and change the hardcoded stuff(slack id, used channels...)
  3. Compile: '''go build .'''
  4. Create a .env file and fill it(check .example.env)
  5. Power on the printer
  6. Execute the program

Asembly guide:

Untested! Will be updated as soon as I get the 3d printed enclosure.

  1. Start by feeding the paper into the printhead. You will need to separate the printhead roller, dont force it to rotate as it may damage the motor.
  2. Put the paper roll into the rounded space in the enclosure and the printhead just above. It should be held tight by the enclosure. Note that I haven't tested yet so some double sided tape may be needed to avoid vibrations.
  3. Screw the pcb into the enclosure lid.
  4. Place the battery on the enclosure wall with the help os some double sided tape.
  5. Place the raspberry pi zero 2w on the bottom of the enclosure.
  6. Connect the printhead ribben cable and the battery connector to the pcb.
  7. Screw the enclosure lid into place.

Please let me know of any wrong tolerances or design flaws so I can fix them on the next version!

(Charge the battery with the port on the front, the one in the back is for the raspberry pi and must be always connected.

The software side is still in eatly development, either way just put the go program and the python script on the pi, execute it and it should be good to go.

Picture

Screenshot 2026-07-20 at 20 27 51

About

A small machine that prints every new notification I get from the Slack. This way notifications feel like something physical, like a letter.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages