scar45 on  // // // // // //

~ $>  Pi Zero Painsaw :: A Raspberry Pi Zero toy chainsaw that runs DooM (full article)

this post is also operating as:

I never get creative ideas, but the Pi Zero Painsaw was an exception. It’s a Raspberry Pi Zero, that I crammed into an Echo Junior Chainsaw toy, along with a bunch of other things, and it runs Doom. It’s a love-letter to Doom, the things I’ve learned from my Raspberry Pi(s), and a special, unique piece of memorabilia that I hope to keep forever.

Next up, the full details of the Pi Zero Painsaw project:

The Hardware

It’s a hack, a modded Echo Junior Chainsaw toy which actually had pretty neat working internals. While I wish I could have kept them, there was a small motor which drove the rubberized chain ‘blade’, and a speaker with (albeit, heavy aliased) sound effects from a gasoline chainsaw that revved up the longer you held the trigger down. The trigger even had a working safety, and I was able to keep that, but it’s not wired up to a button any longer.

The system powers up via a 4400mAh Li-Ion battery upon the flick of the main rocker switch. This effectively enables the Adafruit PowerBoost 1000 Charger which feeds that power to the Raspberry Pi Zero. Connected to the Pi Zero’s 40-pin GPIO header, is the Adafruit PiTFT 2.2” HAT which is the cutest 320×240 2.2” TFT LCD perfect for a scaled-down, bloody chainsaw.

Within the rest of the gutted chainsaw body there is a 4-port USB Hub which is connected to a USB OTG cable that plugs into the Pi Zero’s Micro USB host port. The ports on the hub are consumed by a USB nano-receiver for the wireless mouse and keyboard, the HDE XBOX360 USB wireless receiver (allows you to use a wireless X360 gamepad), and a USB soundcard which provides full system sound output to a tiny 1” driver that came with the chainsaw (for the original SFX).

The X360 USB receiver is within the body of the chainsaw, but there is a hole near the handle which gives access to the pairing button, so you can use any X360 controller. The Adafruit PowerBoost 1000 Charger is also positioned to allow for charging the battery via its Micro USB port, located the the bottom of the painsaw.

The Software

The GNU/Linux system boots up to an LXDE session on top of Rasbian, then autostarts Chocolate Doom with a custom demo PWAD of my rip n’ tear adventure through Doom 2’s E1M1, using only the chainsaw of course!

When the demons have been slayed, and it’s time to shutdown, it would be a big no-no to throw the same rocker switch, since that would be a hard cut of power. Instead, a proper, clean shutdown is triggered via another GPIO button when the replica pull-start on the painsaw is used. Once the Pi’s console claims that it’s safe to power off, then the rocker switch can be thrown and absolutely no power is fed to the system from the large battery.

The Photos

Yes, it’s pretty gruesome, but Doom is a no-holds barred take on slaying demons from hell in any (often bloody) way possible. I like to think this Painsaw is fresh from glory-killing a Cyberdemon.

In Closing

In closing? Well, this has turned out to be quite a write-up, but I wanted to give a good in-depth info dump of this build because it’s pretty special to me. I have been a long, LONG time Doom fan since its inception in 1993, and with the 2016 iteration that is to be released, it’s a good time to be a fan.

This painsaw commemorates my love for the game, the genre that it helped to create, the developers who built it, and everything that mankind has created which allows for such an entertaining game to be played on a tiny computer machine embedded in a toy. May the painsaw live long, and always educate the new youth, of the roots of the FPS genre with a title that is perhaps one of the greatest games made of all time.

Thanks for reading about my lil’ project! Cheers!

Interested in more Doom stuff of mine? Check out Super Shotgun Launcher: Frontend for classic Doom game engines.

EDIT: WOW! It appears that my Painsaw made it into the mainstream news! Here’s a list of the articles that I could find on some pretty large media outlets:

Reddit sent you?

You might enjoy this Chrome extension I built » /r/Doom Skin :: Dark Fireblood available in the Chrome Store.