Talking Tree

Talking Tree

Low-level programming with Node.js, empowering ticket printers in Namur to raise awareness for mental wellbeing.

«Je me libère» was project to bring attention to mental health and wellbeing. La Niche, an advertising agency in Namur partnered up with SUPERBE, the studio I was doing my internship at at the time. Using ticket printers, I delved deeper into low-level code and learned a ton about programming and characters. Fetching sent-in messages from an API, and then transforming those messages to a format printable by the ticket printers, all the while triggering lights inside of a tree through GPIO pins, juggling loops and timers.

This project was the first time that I used Node.js for external hardware other than an Arduino. I had used Johnny-Five in the past projects to control an Arduino with JavaScript, but this time I utilized it for the GPIO of a Raspberry Pi, which was our machine for all the processes either way. It was also the first time I really dived a bit deeper into HEX and bytecodes to send commands over USB and Network to thermal printers. While the initial prototype for printing was done rather quickly, the main challange of this project was getting characters and images right. Having the language for text input be English is a luxury in retrospect. Since the audience for this project was French-speaking, the initial prototype had issues with some very essential characters, resulting in weird things being printed instead of accented characters, resulting in an ultimately illegible text. After a lot of trial and error with character tables and string parsing, we did eventually get it fixed. We even got to print a nice logo on every ticket.