System Requirements Review Preliminary Design Review Jarret Allen Luis Cintron Michael Kubacki Robert Skinner Project Overview 2 Project Overview Smart Phone Compatibility with a USB Storage Device Objective: "To enable a commercially available smart phone (Android, iPhone, Blackberry) to send a message with an embedded image attachment (at least 3MB) obtained from a USB mass storage device to a specified email address in less than 15 seconds." Project Overview 3 Project Overview Weekly Schedule Project Overview 4 Project Overview Weekly Schedule Alternatives Considered 5 Path to Proposed Solution [Web site] Arduino Pro-Mini • [Web site] vs. V2DIP2-48 Dimensions: o Arduino Mini-Pro Board: 18mm x 33mm x 2mm (w x l x h) • Dimensions: 68.56mm x 17.78mm x 26.60mm (lxwxh) o Total Volume: 32425.31mm^3 Arduino Mini USB Host-Shield: 18mm x 45mm x 8mm (w x l x h) x 2 • Power: 5v • Cost: $28.62 • Functionality: The V2DIP2-48 provides a bridge between 2 BOMS (Bulk Only Mass Storage) devices, powered by an outside source. o o Total Volume for Board and two(2) USB Host-Shields: 14148mm^3 • Power: 5v - 12v • Cost: o o Arduino Mini-Pro Board: $18.95 (100+ -> $15.16) Arduino Mini USB Host-Shield: $20.00 (100+ -> $19.96) • Speed: 12 Mbps / 1.5 Mbps Host • Functionality: A microcontroller that can have USB host shields (additional boards) attached to provide USB hosting functionality. [Web site] • Custom firmware can be developed using the Vinculum II development software tool suite. • For mass storage devices such as USB flash drives, VNC2 transparently handles the FAT file structure. vs. VF2F2 • Dimensions: 44.8mm x 69.8mm x 11.4mm (lxwxh) o Total Volume: 35648.26mm^3 • Power: On-board DC-DC converter supplies circuitry with 3.3v & 5.5v from 2xAAA cells • Cost: $37.50 • Functionality: At the push of a button allows all the files on a USB mass storage device to be copied to a unique folder on another USB mas storage device. • Transparently handles the FAT file structure communicating via UART, SPI or parallel FIFO interfaces via a simple to implement command set Alternatives Considered 6 Advantages/Disadvantages Arduino Pro-Mini Advantages •Support/documentation widely available •Relatively lightweight Disadvantages Primary Disadvantage: 1 board + 2 shields •Few example of USB hosting exist •High unit cost •High unit volume size •Relatively heavy •USB host documentation scarce vs. Vinculum-II Advantages •Transparent support for FAT file structure •Android drivers available using the Android Open Accessories Initiative that allows the Vinculum-II to attach to an Android device •Specifically designed to act as a USB host for mass storage device to smart phone transfers with the ability to create custom firmware Disadvantages •Relatively heavy (~350g) •High unit volume vs. VF2F2 Advantages •Transparent support for FAT file structure •Android drivers available using the Android Open Accessories Initiative that allows the Vinculum-II to attach to an Android device •Specifically designed to act as a USB host for mass storage device to mass storage device transfers •Programmable firmware Disadvantages •High unit volume •Difficulty to customize firmware unknown Alternatives Considered 7 Software Considerations Proposed Solution 8 Proposed Technical Solution •Software Implementation: Android 2.3.4+ via Android Open Accessory Development Kit •Application Development: Java in Eclipse IDE with Android SDK •Hardware Components: Vinculum VF2F2 •Program VF2F2 with Programmer/Debugger Module •Develop custom firmware with the Vinculum-II Tool Chain Rev 1.4.2 •2xAAA batteries (DC-to-DC 5v step up already in VF2F2) Architectural Design 9 System Architectural Design Hardware FTDI Chip VF2F2 Case Options: • 3D Printing Technology • USF Engineering Prototyping/Machine Shop Interface: •Two USB Type A Ports (Smart Phone & USB mass storage device) •On/Off Rocker Switch and On/Off LED Indicator •LEDs to Indicate File Copy Activity and Errors Software Android Open Accessory Development Kit Compatibility: • Android 2.3.4+ The app on the Android phone interacts with the USB Host Controller device to retrieve the list of files from the USB mass storage device and the desired file. Architectural Design 10 System Architectural Design Power (options): Brief Hardware Overview 2xAAA Batteries (VF2F2 Option) DC to DC 5v Step Up in Module Circuitry 1-2xAA Batteries with DC to DC 5v Step Up VPack [Web page] Typical Current: 300mA or less Polymer Lithium Ion Battery 6Ah [Web page] 3.7v at 2000mAh Communication Flow Diagram User attempts to locate file using the device as the medium Phone Device Request passes through the device and the file is located on the storage device Storage Device Architectural Design 11 System Architectural Design System Communication Hardware Mass Storage Memory Device VF2F2 USB Port 0 USB Port 1 Android Device Product Application Memory User Architectural Design 12 System Architectural Design Proposed Case User Interface Case Considerations: Cost Durability Size Survivability Transportability Ventilation Architectural Design 13 Software Architectural Design Brief Overview Software Requirements •File Attachment Size: ~3MB •Send the attached file to phone contacts via email •Send the attached file to phone contacts via sms •Time to Send: Less than 30 sec. •User should be able to install/run in less than 5 minutes •Image Formats: JPG, GIF, PNG, BMP, TIFF, and RAW •Audio Formats: WAV, WMA, MP3, and FLAC •Video Formats: AVI, 3GP, DIVX, FLV, MPG, WMV, MOV Technologies (APIs) •Android Open Accessory Development Kit •Android SDK 2.2 Google API 8 •Vinculum-II Tool Chain Rev 1.4.2 Architectural Design 14 Software Architectural Design Application Architecture Architectural Design 15 Software Architectural Design Process Model •Planning Phase: Project Planning •Pre-Beta Development Phase: Design and development of new features in order to provide a reasonable working version for demonstration. •Development Phase: Remainder of design and development of all features. •System Testing Phase: Organized testing of the application features. Focused diagnosis and fixing of all defects/bugs found. •Beta Testing Phase: Integration testing of the hardware and software with possible patches and maintenance releases as needed. •Release Preparation Phase: Final verification testing of the frozen build to be released to Raytheon. Architectural Design 16 Software Architectural Design Application Cycle and Flow Initial Initial Activity Activity Add/Delete Files to attach Browse Files Add/Remove Recipients Delete Browse phone Contacts Review Files and Contacts Success/Start Over Send Try Again Transmission results/Errors Architectural Design 17 Software Architectural Design Application Mockup v1.0 Live Version on Team Web site at http://www.cse.usf.edu/~lcintron/raytheon Architectural Design 18 Software Architectural Design Application Mockup v1.0 Live Version on Team Web site at http://www.cse.usf.edu/~lcintron/raytheon Architectural Design 19 Software Architectural Design Application Mockup v1.0 Live Version on Team Web site at http://www.cse.usf.edu/~lcintron/raytheon Requirements 20 Proposed Requirements Project Requirements with Modifications SYS02b, SYS02c, SYS02d – Device only compatible with Android 2.3.4+ SYS16 – The SYSTEM will have a total volume of at least 3564.83cm^3 SYS17 – The SYSTEM shall weigh at least 300g (VF2F2 weight currently unknown) Requirements 21 Proposed Requirements System Requirements Traceability Matrix Risks 22 Risks & Mitigation Strategies A Brief List Risk: Unable to obtain list of files from mass storage device. Severity: A1 Mitigation: Alternate solution unlikely due to massive size of files on USB mass storage device. Risk: VF2F2 cannot function as a stand alone unit. Severity: B1 Mitigation: Modify case design and re-analyze power consumption figures. Risk: Files not able to transfer through VF2F2 from USB mass storage device to phone. Severity: B1 Mitigation: Verify correctness of firmware and Android app programming. Risk: The phone tries to charge once plugged into the device. Severity: B2 Mitigation: Contact FTDI to see if there is a way around it. Risks 23 Risks & Mitigation Strategies A Brief List Risk: The phone does not communicate with the VF2F2 device. Severity: A1 Mitigation: Re-analyze the programming of firmware and software. Risk: Unable to program the VF2F2 to transfer individual files. Severity: B1 Mitigation: Another USB Host Controller may be necessary. Risk: The VF2F2/V2DIP2-48 shall not arrive within a week. Severity: C3 Mitigation: Continue Android software development using USB OTG technology. Risk: The VF2F2 module is defective upon arrival. Severity: B3 Mitigation: Continue software development with V2DIP2-48 or USB OTG dongle. Risks 24 Risks & Mitigation Strategies A Brief List Risk: The Android application is not compatible with Android 2.3.4. Severity: B1 Mitigation: The Android application would only be compatible with later versions of Android. Risk: Team member is hospitalized/ill Severity: C3 Mitigation: The rest of the group picks up the slack with minimal lost due to documentation. Risk: System malfunctions at final demonstration. Severity: B2 Mitigation: Provide abundant documentation and video of successful trials. Risk: Production cost runs higher than expected. Severity: C1 Mitigation: Consult with industrial engineer to see what ways we can cut cost. Final Issues 25 Present Issues • The V2DIP2-28 Module and Programmer/Debugger Module has been ordered • However, our new design uses the VF2F2 Module •The VF2F2 must be acquired as quickly as possible to proceed with hardware development. •The exact details of communication between the VF2F2 and the Android application are still unknown. •These details must be determined before the Android application and software on the VF2F2 can communicate.