A puzzle box gadget
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Hardware
Images
Plan_B
Software
.gitignore
LICENSE.txt
README.md

README.md

#The Chubby Tricorder Project

Image

Overview goes here.

#Design Decisions

I cut some corners to accelerate development and minimize risk. I wanted to work a few weeks of "uh oh" into the timetable as well as be able to focus on the software and presentation. Namely:

  • I used an off-the-shelf microcontroller board: the Arduino. It's large and a little slow by microcontroller standards, but board bring-up is easy and there are hundreds of premade/pre-tested hardware accessory libraries.
  • I used no batteries. The printer eats a ton of power. I didn't want to spend money on hefty batteries, which would tempt prolonged use, which in turn heightens the risk of dead batteries at a critical time.
    • Edit: I used batteries. The puzzle's location changed from indoors to outdoors, so I hacked up a battery pack.
  • The case is a simple laser-cut acrylic box of a design similar to the InfoNinja and my nameplate using tabs, slots, and bolted mortise and tension joints. It's entirely right angles, greatly simplifying the design.

#BoM

#Software Overview

Makes use of the Arduino IDE plus several 3rd party libraries:

  • screen
  • printer
  • button matrix

#Tasks

  • Determine pin connections.
  • Wire it up on the bench:
    • Test each device, individually:
      • For each external device, on by one, hook it up to the default pins.
      • Verify the library can communicate with the device.
      • Move the device to your desired final set of pins.
      • Verify the library can communicate on the new set of pins.
    • Test all devices in unison:
      • Start with one device, ensure it works.
      • Add another, ensure they work in tandem.
      • Add the next, etc.
  • Preliminary software
    • Boot sequence animation (and also print test output on printer?)
    • Data entry screen
    • "Incorrect" animation (with delay to help discourage brute forcing)
    • Several incorrect answers in a row has longer delay?
    • Each "correct" behavior (screen, printer)
  • Wireless
    • Transmitter and receiver Hello World
    • Integrate transmitter into design
    • Test with receiver
  • Enclosure (black 3MM acrylic)
    • Determine internal parts placement.
    • Preliminary laser cut pattern.
    • Left/Right sides symmetric/interchangeable?
    • Print on paper, verify parts fit, verify pieces interlock correctly.
    • Send to Ponoko.
    • Hole for reprogramming? "warranty void if removed" sticker?
    • Reinforce printer edge panel
  • Battery power
    • Get battery holder
    • Get batteries
    • Wire up to 2.1mm plug
    • Rewire RF to 5V regulator on Arduino
  • Final software
    • Image rotator with PIN entry
    • RF xmission while rotating images
    • Stages of image rotator
    • Easter egg(s)
    • Better comments
    • Licensing
    • Publish LCD assistant code separately?
    • Build the more permanent RF receiver device
    • Verify with RF receiver device
    • Verify that one easter egg that wasn't working at meeting
  • "Plan B" webapp
    • Basics
    • All content
    • Preload images - skipped; iPhone times out preloading and aborts JavaScript
  • Final documentation
    • Prepare github
    • Prepare website
    • Prepare narrative blog post
    • Prepare shortened URL
    • Insert shortened URL plus intro text into code as easter egg

#Away Kit

In the event of a problem during the game, I'll need to assemble an "away kit" with various repair tools.

  • allen wrench
  • needle-nose pliers
  • diagonal clippers
  • multimeter
  • soldering iron, solder
  • helping hands

#License

The Chubby Tricorder (https://github.com/BrianEnigma/chubby-tricorder)by Brian Enigma (http://netninja.com) is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License: http://creativecommons.org/licenses/by-sa/3.0/deed.en_US