Write me a message -- anything -- on a webform and I will write that message on my wall at home. That's one of my short-term goals.
Let me describe the project starting with some background. Two thoughts brought me to this project.
The first was that I wanted to display persistent but dynamic, large-format information on my wall.
- "Persistent" meaning it was always there (so for example if it were an LCD screen it would have to be always on with no screensaver). This way I'd see it every time I walked past. It could be extremely motivational for someone quantitatively-inclined like me to see 2D timeseries plots of quantities like: bank account balance, weight, progress towards some goal, etc. These plots would be updated daily - a new timeseries point would be added. Yes there are smartphone apps that plot this, but I have to expend some thought and energy to pull out my phone and navigate to the app to see the plot. If it were on my bedroom wall I'd see it whenever I woke up and there'd be no escaping!
- "Dynamic" meaning, computer-controlled and able to be updated at any time. Though, for my use-cases, it did not need to update quickly -- a refresh rate of seconds or several minutes was fine.
- "Large-format" and scalable. Consider my 27" LCD monitor at home. If I were to want to buy a screen with, say, 10x its area, it would be out of my price range (85 inches diagonal!) and probably more than 10x the price. For large enough LCD/LED screens, price seems to be a super-linear function of area - because they get harder and harder to make. I wanted to find a way to display information that was a deep-SUB-linear function of area. In other words, if I increased the area by 10x then the price would increase by <<10x. Sure, the solution I'll present is nowhere near LCD display quality, but its cost certainly scales better with area, which is the point. (Yes I could use a projector and have essentially whatever size I wanted but this was still not as low-cost or low-power as the solution I'll present, it required the projector to be mounted away from the wall -- increasing the effective form factor, and I wouldn't want to leave a projector on 24-7).
I had the second thought when I saw a beautiful restaurant menu sign. This was done by hand on a chalkboard and must have taken a long time. The drawn-by-hand touch was nice and is rather fashionable for certain restaurants/cafes these days. I wondered if a robot could do a comparable a job if it were given some drawings and some algorithms for slightly randomizing the lines and text to make it look as organic as the hand-drawn one.
Certainly a simple 1D plotter with a 1D scrolling erasable board would solve both problems above?
I had an un-used cutter/plotter (Silhouette Portrait) at home so bolted it to a homemade frame, replaced the cutting tool with a whiteboard marker, ran a flexible dry-erase board through the plotter (over rolling pins on either end, and over some whiteboard markers to erase text/images when they scrolled away), and the hardware was done. Unfortunately this plotter uses rather obscure and not-well-documented plot commands, but I found an inkscape extension that talked to it and gave me basic scripted control of the cutter.
Now I had a scrolling dry-erase board that I could write anything on via the command line (and erase it as it scrolled away to the back side). Certainly the same thing could be done with chalk and blackboard, or other erasable media.
It's ALIVE! Teehee heedledum. What can I use this for?
- 2D plots of some quantity over time.
- For example, it could get my weight from bluetooth-enabled scales and plot a new point each day. Or get my bank account balance from some online source and plot it, a new point each day.
- Certain signage...
- ...needs to be large-format and reconfigurable but does not need to update quickly. For example, menus in a restaurant which may change only daily as specials change; a list of sessions in a conference center; directions or maps...