Description as a Tweet:

The goal of this project was to create a button that must be triggered every day, once a day, or else a select about of files are deleted or uploaded to a separate location.


One of the students I was working with mentioned wanting to make a dead man's switch, for the meme of course. And I guess I took that and wanted to run with it.

What it does:

Well, the project now is more a postmortem (hehe) on what we wanted to do. We currently have the ability to monitor the state of the button over serial, and there is a litany of scripts and service files for macOS that were meant to run them, but they don't work together as they should because of some permission issues, but individually the pieces have merit. But right now we have a project that can detect whether or not a button was pressed, and a pretty website.

How we built it:

We used MacOS's launchd system for the scheduling, python for the scripts, and pyserial for interaction with the Arduino. We have a Digital Ocean droplet hosting a Wordpress website as well, very pretty, gotta make that clear.

Technologies we used:

  • Python
  • Microcontrollers
  • Misc

Challenges we ran into:

There were many problems, mainly with the finicky nature of how MacOS handles service files, I'm used to working with systemd, and so that's really not my area of expertise, and so that was really challenging. The biggest challenge tho was getting the button to work and properly figuring out how to interpret that connection in a stable way. t

Accomplishments we're proud of:

I mean, I'm really proud of the website, I've always been more on the design side, and that was real fun, the serial monitoring script I felt really good after making, just because I struggled with that so much. I'm proud of the setup script, even if it has some permission issues it still puts together a nice application and framework

What we've learned:

I learned a lot, to be honest, working with Launchd is a pain, but I think that next time I have to use it I'll be able to be more prepared and careful. I learned a lot about how serial and Arduino works, because I really had no Idea how those do.

What's next:

I mean, completing it for one, but If I were to continue it I'd want to make a more secure package for the Arduino, and I'd want to properly setup the upload system.

Built with:

We used python, mainly, and a lot of bash.

Prizes we're going for:

  • Funniest Hack

Prizes Won

Most Ambitious Hack

Team Members

Thomas Morton

Table Number

Table 42

View on Github