1. Specification


Tasks
Task
People
Deadline
Status
Architecture
Sam
Sunday
Done
Storyboard
Anna
Sunday
Done
Concept
Kyle
Sunday
Done
Bill of Materials
Eddie
Sunday
Done

Architecture:

Hardware:

Block Diagram:
temp.001.jpg
Schematics (pin numbers shown correspond to Arduino pin numbers):
McFeely-v11.png

Software:

Using the Arduino software environment (which is basically a c/c++ derivative) we will implement four separate pieces of functionality, each independent of the other. These modular pieces will be the following:

Battery monitoring functionality
Email notification functionality
Sleep functionality (that is, an easy routine for shutting down all unessesary hardware such as turning off analog pins, disabling hardware interrupts, etc)
Optimal sleep duration computation functionality

Developing these 4 pieces independently means we can implement our software fairly easily in a manner similar to the following:

main loop
if (battery == low)
send warning notification
else if (mail == true)
send mail notification
compute new sleep duration using history
else
store wake time in history

Storyboards:
mailbuddyIs.png

mailbuddyDoes.png

Concept:

Campus mailboxes are much more difficult to access casually than their domestic counterparts because they are located in a central area on campus and not attached to the homes of recipients. This access problem has already been addressed for packages delivered to campus addresses via an email notification system. Mail Buddy is an analogous approach for mail that can be implemented by mailbox holders instead of the local postal branch.

Mail Buddy manifests itself as a slim, electronic mailbox insert with the footprint of a letter. Instead of being delivered to the box by a mail carrier, it's inserted into the front of the box by its current owner. Once inside, Mail Buddy's range finder scopes out the space in front of it so that it can detect when that space is later obstructed by mail.

Most of Mail Buddy's days consist of sleeping to preserve its energy (battery). Given that mail is delivered at consistent times during the day, and that people can rarely make use of delivery times that are accurate to the second, Mail Buddy does not need to be constantly polling for new mail and draining its battery in the process.

Mail Buddy sends mail when it detects mail. However, the mail that it sends is email. Wireless networks are pervasive, so Mail Buddy can depend on them to be available to communicate outside of the mailbox. When mail is detected, an email is sent to the owner of the mailbox, who can then decide to take a trip to the post office and be sure that the trip will have a tangible reward rather than just a chance of one.

Bill:

Part
Cost
Arduino
$29.95
Blank Arduino Shield
$6.00
1Kohm resistor (3)
$0.03
10Kohm resistor (2)
$0.03
100uF capacitor
$0.08
0.1uF capacitor
$0.08
PN2907 transistor
$0.05
3mm LED
$0.10
6 AA battery holder
$1.75
WiFi module
$69.99
IR range finder
$13.95

$121.91
*recycled parts

Future Plans:
Spam mail can be detected when multiple mail signals are triggered at the same time. The user can them be alerted that there is a high probability of spam mail.

2. Detailed Design


Tasks
Task
People
Deadline
Status
Wi-Fi Library
Sam
Wed
Done
Design Case
Anna
Wed
Done
Skeleton
Kyle
Wed
Done
IR Cable
Eddie
Wed
Done

Revised Schematic:
Key changes:
- Added LED to indicate when Wi-Fi module is powered on.
- Added Transistor to power IR sensor on/off.
- Added capacitor to stabilize IR sensor.
- Added LED to indicate when IR sensor is powered on.
McFeely-v12.png

Hardware Prototype:
IMG_0041.jpg
IMG_0042.jpg

Software Prototype:
All software is being hosted at https://github.com/brokensambot/McFeely and is accessible to the public.

Future Plans Continued:
Another future plan is to make McFeely more compact by making a single board Arduino clone that contains all of our additional circuitry. Below is a schematic of this updated design:
McFeely-v10.png

3. Alpha Release

Create an end-to-end working version of the system. Initiate alpha tests.

Tasks
Task
People
Deadline
Status
Email
Kyle
Tuesday
Done
Hardware
Sam
Tuesday
Done
IR
Eddie
Tuesday
Done
Package
Anna
Tuesday
Done

Revised Schematic:
Key changes:
- Added reset button.
McFeely-v13.png

4. Beta Release

Complete alpha testing: find bugs, missing functionality, and unneeded functionality.
Redesign review: given time constraints, determine what will be fixed, added to, or eliminated from the system.
Beta release: based on redesign review, implement changes to system in order to create the beta release.
Draft the user guide.

Tasks
Task
People
Deadline
Status
User guide
Anna
Monday
Done
Schematic
Sam
Sunday
Done
Wi-Fi
Kyle
Wednesday

Board
Eddie
Wednesday
Done

Revised Schematic:
McFeely-v10.png


Standalone Board Layout Draft:
board.png

Revised Layout

mbb_1_s.jpg

mbb_3_s.jpg