As we enter our second week of official COVID-19-related lockdown where this is being written, it’s evident that there are some resources we will have to conserve to help get us through all this. Instead of just using all of something because we can nip out to the store and buy more, we have to look at what we’ve got and treat it as though it will have to get us through the next three months. It’s not always certain that on our infrequent trips to the supermarket they’ll have stocks of what we want.
![This is the very last of the toilet paper in my local supermarket, on the 8th of March.](https://hackaday.com/wp-content/uploads/2020/04/zx-bogroll-no-bogroll.jpg?w=400)
A particular shortage has been of toilet paper. The news was full of footage showing people fighting for the last twelve-pack, and since early last month there has been none to be had for love nor money. To conserve stocks and save us from the desperate measures of having to cut the Daily Mail into squares and hang them on the wall, a technical solution is required. To this end I’ve created a computerised toilet roll dispenser which carefully controls the quantity of the precious sanitary product, in the hope of curbing its consumption to see us through the crisis.
In the midst of a full lockdown it’s difficult to secure immediate delivery of our usual maker essentials, so rather than send off for the controller boards I might have liked it has been necessary to make do with what I had. In the end I selected an older single board computer I had in a box under my bench. The Sinclair ZX81 has a single-core Z80 processor running at 3.25 MHz, dual-channel memory, a Ferranti GPU, and plenty of expansion possibilities from its black plastic case. I chose it because I could repurpose its thermal printer peripheral as a toilet paper printer, and because it has an easily wiped and hygienic membrane keyboard rather than a conventional one that could harbour germs.
Hardware wise I found I was fairly easily able to adapt a standard roll of Cushelle to the ZX printer, and was soon dispensing sheets with the following BASIC code.
10 REM TOILET PAPER PRINTER 20 FOR T=0 TO 44 30 LPRINT "" 40 NEXT T 50 LPRINT "---------- TEAR HERE -----------"
For now it’s working on the bench, but it will soon be mounted with a small portable TV as a monitor on the wall next to the toilet. Dispensing toilet paper will be as simple as typing RUN
and hitting the ZX’s NEW LINE key, before watching as a sheet of toilet paper emerges magically from the printer. It’s the little hacks like this one that will be so useful in getting us through the crisis. After all, this Sinclair always has a square to spare.
I love the repurposing of that older technology, especially when it fulfills a genuine need and performs better at it than its original task.
I’d love to reproduce that but, sadly, my ZX81 died around 1985. So I cut it half with a bandsaw and made a pair of bookends out of it. I thought they were very stylish. Somehow they disappeared around the time I moved into my girlfriend’s place.
Don’t forget to use an ESP-8266 for a wifi to SMS gateway so it can text you the correct “LP0 on fire” warning, seeing as how it’s a spark printer.
Good point.
Back in the day, IDK if it was knockoff paper, or a “feature” but dumped a screen that was mostly black to a ZXprinter and after a few lines it did start smoldering a little.
Only important if you use metalised kitchen roll I would have thought.
But what you could do is change the code to:
30 LPRINT “▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇”
Then you can use your remaining stocks of real ZX printer paper and the metalised layer will all be burned off, leaving black paper which could then be used as normal.
Have you tried using the metalised ZX printer paper in the bathroom though? Do you scrunch, or fold?
Time to install a bidet attachment?
It’s interesting to note that in the US the bidet shower head is hooked up to the cistern water line, which produces ice-cold water.
Elsewhere it’s hooked up to the sink faucet, after the mixer, so you can get warm water to your keister.
I live in the northeastern US. my city water connection is like ~6C, even during the summer. despite that, my bidet is plumbed directly to the same water supply as the fill valve for the toilet tank, and I honestly don’t mind. even if I had the time and money to hook up a hot water supply, I wouldn’t bother. it’s not like I’m submerging my ass into the water lol, it’s just a short blast.
Bidet toilet attachments are available with heated water or that connect to hot and cold supply lines. More work to install, though, especially if you need to move an electrical outlet.
if cabbage heads ever drops below the cost of toilet paper per roll, I’m making the switch.
Ferranti GPU? Bah, you youngsters! It’s a ULA! There were three types in a ZX81, and the technology was used in the ZX Spectrum and other 8 bits as well, at the time. Mutter, grumble *fades into the background*
It’s gilding the lilly a little. See also dual channel memory, 2x 1k by 4 chips.
Anyway, thanks for calling me a youngster. That’s my ZX81 in the picture.
Nah, 1Kx8. 4 chips altogether and I’m pretty sure not even a NAND gate extra. Genius, I tell ya! I’m a little bit disappointed I had to tell you that when you’ve got one in front of you, not like you can’t just look in through the big hole in the back!
1x 8Kx8 ROM, 1x 1Kx8 RAM, 1x Z80 at 3.58MHz and a ULA. It’s important to be precise in April Fools’ toilet paper articles. BTW Superdrug had some late last week, I got a 9 pack should do me for a while.
It’s not even a gastro virus so I dunno why bog roll has gone short. I suppose it’s the unimaginable horror of running out.
Take another look at a ZX81. You’ll find some of them had a single 1kx8, but others like this one had 2x 1kx4 chips. The board supports both. It also supports a 2kx8, but that was never fitted in the UK market.
The ZX81 has a very slow interpreter, despite the dual channel memory. By editing line 30 to read:
30 LPRINT
the blank lines should be printed slightly quicker if you’re in a hurry, or a small machine code program embedded in a REM statement could be used to drive the line feed motor directly. In addition it might be a good idea to remove or modify the stylus used to do the actual printing, since it’s likely to snag on the substitute toilet paper, which would be a sad and desperate loss for the whole household.
On the positive side, the schematics for a ZX Printer are freely available and there are currently more ZX81s in attics around Britain’s street than rolls of toilet paper themselves. So the millions of Brits in the middle of a loo crisis have a perfect opportunity to optimise their usage.
Beware: you may find Her Majesty’s Constabulary may requisition these now valuable items for the COVID19 war effort on behalf of the UK government.
Sinclair BASIC has an OUT statement that does the same thing the machine code one does. So just OUT whatever, whatever to switch the motor on for however long. There’s also a sensor that can tell you when the glorified spring^H^H^H^H^stylus is over the paper, or to the side. So read that first, if it’s not, turn the motor on til it is. Then just turn the paper spindle motor on….
Except I’ve just remembered there’s only 1 motor in the whole thing (genius! and of course it’s not a stepper motor! Just the thing a cheap toy car would have). It drives the paper up at the same time as the stylus across, drawing a slightly diagonal line. So you’d end up with the stylus tearing the shit out of the paper, or knowing the printer, the paper catching and destroying the stylus. The stylus’s earth connection to the metal paper is a little contact up near the top. Of course bog roll doesn’t conduct.
So it’s a good job this is only a joke because I’d get quite upset with someone vandalising a ZX Printer.
Interesting (to me) I had that exact same portable telly off a boot sale a few years ago.
The zx81 doesnt have an out statement, although the Speccy does. If you want to bang the printer hardware directly, you need to use assembly language.
Also the memory isnt dual channel. Its very, very single channel. To display the video, the ULA uses an hardware trick which uses the z80 address bus as a video address counter, while feeding NOP’s to the Cpu to keep it counting until it hits a HALT instruction at the end of the line.
IIRC the sinclair interfaces necessary to use the printer had an extended BASIC ROM in them with additional keywords.
You’re thinking of Interface 1 for the Spectrum which patched an extra 8K in to extend BASIC, and had a serial port that would technically count as a printer port.
But this printer is directly hardware driven by the CPU over an I/O port, physically connected to the raw CPU bus. It has the software built into the ZX81 ROM out of the factory, which is really quite good that they managed to get it working in time to ship.
Dude is right, ZX81 BASIC doesn’t contain an OUT statement. I even got a copy of the manual just to check!
Not just the printer, either, but the Spectrum’s “microdrives” used looped tape to give about 100KB storage with about 6 seconds time to do a full loop and find your file. Again all driven in software, and physically just another shit motor and a tape head. Really amazing how he came out with work-alike stuff for hobbyists to play with, at a small fraction of the price of legit office-priced gear. Bet it all had a much better profit margin for Sinclair too.
Yeah I probably am, only got hands on an 81 after having spectrums first, and all the peripherals I picked up later had long since lost their manuals. Don’t think I ever used the printer with the 81 which I did not have working long. It’s all a bit of a quarter century old muddle in the old noggin now, since that’s how long since I touched the hardware.
The worst I did to this printer was carefully wrap a few sheets of loo paper round its paper roll. So worry not.
Whew! As long as it wasn’t a few sheets of a vintage Maplin catalogue ;-)
What, no video. This is not normal for Hackaday.
[pathetic whine] [crackle] [crackle] [BEEP! BEEP! BEEP!] “has somebody burned some toast or something?”
Now you’ve at least got the audio.
Look at the calendar.
COVID-19. CORVID is from the crow family. And there’s plenty of projects to help with the supplies that could be used: https://hackaday.io/list/170547-covid-19-response-project-list
TPaper and Z80?
http://www.trs-80.org/outhouse
The guardians of the sacred rolls!
Now (!!!) I understand what we were trained for in the 80s.
\o/
Being on the “wrong side of the pond” I might have a misinformed opinion, but I thought cutting the Daily Mail into squares and hanging it in the loo was about the best possible use of that particular paper, no?
Not if you respect your arse. Now ask someone why they still don’t sell The Sun in Liverpool.
Sadly, the internet age has infected the USA with the both the Daily Mail and Sun. We even have Daily Mail TV late at night. We will gladly trade you Markle back to make it stop.
It’s the best use of that paper, but it’s still no good for civil humans.
OT.. but..
“but it will soon be mounted with a small portable TV as a monitor on the wall next to the toilet. ”
Anyone know what’s going on with small/portable B/W TVs at present, seeing a few local listings asking hundreds saying they’re on eBay for more. I know you can list anything you like for thousands BIN, don’t mean it will sell, like those infamous Disney VHSs a while back. I didn’t seem to come across any of those on a cursory search, so just wondering if anyone knows if they’re genuinely reaching high prices in actual bidding or are ppl as usual full of crap.
You serious? Like a few people on the internet working together could design, in a week, what normally takes 12-18 months? Not to mention how pointless that would be anyway considering there is no way you’d be able to source the materials or manufacturing in any time span that would make a difference.
Most people are doing what’s practical to help out like making PPE. I’m making face shields with resources at work. What are you doing to help?
How much toilet paper do most people use?!? I live in the US where folks are apparently wrapping half a roll around their hand for each wipe, when just four or five two-ply squares ought to be enough to manage a #2 (and i’m not talking about “clean breaks” either).
In Central America you often can’t even flush the stuff… soiled paper is collected in a trash bin so you tend to use less. I honed my technique down there but optimized it even more this year… take one square, fold it diagonally in half (into a triangle) and carefully “get after it”… repeat with another single square. Toward the end of the job you can even get a second fold out of your square… exciting!! Sure, you gotta focus a little bit more but it’s better than running out.
I definitely use more than that. When I was a child I used a lot more.
When I was at university one of my housemates used to invite her long distance boyfriend over sometimes and he must have been like you describe, wrapping half a roll around his hand. The apartment shared the cost of household necessities like cleaning supplies and toilet paper so it was with some relief when the boyfriend left again.
I think this needs more horsepower. I am thinking a series of sieves and loadcells (no pun, and literally) and perhaps a camera to capture the amount of unwanted material around the extruding orifice. For example you would need less of the precious material for a solid extrusion that say would not pass through anything smaller than a 2″ mesh than a more liquid expulsion (squirt) or explosive gas and liquid mixture (shart). The latter two cases requiring much more paper for both clean up and to prevent the dreaded “finger punch though”. It may be possibel with advanced logic to dispense a larger amount of lower quality material and say one nice sheet of premium two ply “polish” to finish up with. Hard times require creative solutions. I have heard of some people using lettuce leaves instead of paper, and that is just the tip of the iceberg.
Please don’t feel obliged to make that an Internet video camera. Although serve the Chinese right if they left in [cough] back door access.
Obviously you need one of these, only replace the lipstick with a Mr Clean Magic Eraser…
https://www.youtube.com/watch?v=WcW70-6eQcY
Thank you for posting this. I needed the laugh (:
I loled at SINGLE core Z80
What a crappy hack, I wouldn’t wipe my ass with it! ;)
“For years, the fabulously beautiful planet of Bethselamin increased its booming tourist industry without any worries at all. Alas, as is often the case, this was an act of utter stupidity, as it led to a colossal cumulative erosion problem. Of course, what else could one expect with ten billion tourists per annum? Thus today the net balance between the amount you eat and the amount you excrete while on the planet is surgically removed from your body weight when you leave; so every time you go to the lavatory there, it is vitally important to get a receipt.” -Douglas Adams
Nice. Projects like this one seem to pop-up only once a year. And always the first of April. Weird.
You should make it spit out 5 or 6 sheets max, which is really all you should normally need! You can take care of a number-2 with just 4 sheets if you’re careful.
Jenny that was a nice hack. Never mind what the lot of them are griping about.
How about covering how to make your own toilet paper. (e.g. from dryer lint, and junk mail, etc….)
(Not just cutting up existing paper, but actually making paper.)
Please be careful what you put down the roilet. You don’t want to block the sewer with a bad DIY imitation of toilet paper. We already have enough pestilence without overflowing poop.
That image made my morning! Absolutely perfect. Now hack the Sinclair so that if you type “RUNS” it dispenses extra paper for those awful occasions.
Thank you for your computerised toilet paper dispenser! I live in Prague, I can always use dandelion flowers to wipe myself. There’s a huge surplus of dandelions, they are everywhere. It’d wipe off most of the no.1s and… some of the no.2s, so I’d use some flowers for no.2s, flowers followed by toilet paper. Mind you, we haven’t had a toilet roll shortage in Prague at all, not that I’ve experienced.