Blobo Clone Angry Birds Toy Upgrade Schedule of the project and log of work done DOCUMENT INFORMATION Subject: Authors:, Keywords: Comments: Creation date: 10 December 2012 Revision date: 02/21/13 Print date: 02/21/13 Course name: Assistent: Document status: Revision history: PROJECT INFORMATION Embedded Systems Project Assistant [ ] Draft [x] Proposal [ ] Inspected & approved Page 1 of 16
Content SCHEDULE...3 Project management...3 Stories and tasks...4 Story level time schedule...9 LOG...10 Daily hour log...10 Story level time log...14 SUMMARY...15 Page 2 of 16
Authors: 1. Schedule 1.1 Project management The project assignment is splitted into logical stories and those stories are splitted into individual tasks. Each task has initial time estimation which are added together for story level time estimations. The time usage is followed at task level and monitored during the project. Project management is designed to be light and flexible. New stories and tasks can be created when needed. PICTURE: The project task board initial state. (Note: Some tasks and stories are missing) Page 3 of 16
1.2 Stories and tasks STORY/TASK Hour estimation Project is started and organized Get 33.5 familiarized with the course () 8.0 Get familiarized with the course 8.0 () Define areas of responsibilities 0.5 Setup source control system Write time schedule Select topic 8.0 Build up task board Define stories and tasks Hour estimations for stories/tasks All necessary tools and common components are available 6.0 Get anti-static wrist strap 0.5 Get another breadboard + power supply 0.5 Get helping hands 0.5 Update AtmelStudio 6.0 Get R232 adapter 0.5 Get better voltage meter 0.5 Get JTAGICE3 debugging tool 0.5 Learn to use JTAG debugger Get buttons and switches 0.5 Get Blobo device as a reference 0.5 Requirement specification is approved 16.5 Define project overview 0.5 Define general functionality 4.0 Define play mode functionality Define command mode functionality Define electrical requirements Define mechanical requirements Define other requirements Define future requirements Arrange meeting #1 (requirement specification, test plan) Get requirement specification approved Test plan is approved 26.0 Define basic HW tests (no Ics) 4.0 Define basic HW tests (with Ics) 4.0 Define unit tests 4.0 Define integration tests 4.0 Define system tests 4.0 Define regression tests 4.0 Get test plan accepted Implementation specification is approved 38.0 Study acceleration sensor datasheets and select the sensor 4.0 Study bluetooth module datasheets and select the module 4.0 Page 4 of 16
Study MCU datasheets and select the MCU 4.0 Draw block diagram Design MCU usage Design bluetooth functionality Design acceleration sensor functionality Design pressure sensor Design audio playback functionality Design RGB led functionality Design status led functionality Design button and switch functionality Design JTAG functionality Design power system Design casing Draw data flow diagram Do cost calculations Describe used tools Arrange meeting #2 (implementation specification) Get implementation specification approved Schematics design is approved 23.0 Install and test Eagle software () 3.0 Install and test Eagle software () 3.0 Design JTAG interface schematics Design power system schematics Design buttons and switches schematics Design status led schematics Design RGB led schematics Design audio speaker schematics Design pressure sensor interface schematics Design acceleration sensor module interface schematics Design bluetooth module interface schematics Arrange meeting #3 (Schematic diagram) Get schematics diagram approved (opt) Design SPI interface connector schematics (opt) Design vibration motor control connector schematics (opt) Design external clock crystal schematics PCB layout approved 29.0 Read layout design guide from course web page () Read layout design guide from course web page () Sketch basic layout Draw power system Draw buttons and switches Draw RGB led board Draw MCU socket Draw JTAG interface Draw acceleration sensor Draw bluetooth module Draw pressure sensor socket Draw status leds schematics Draw mode led schematics Write component list (BOM) Apply privileges for TS139 Page 5 of 16
Create extended gerber files for milling Arrange meeting #4 (PCB layout) Get PCB layout approved (opt) Draw SPI interface connector (opt) Draw vibration motor connector (opt) Draw external clock crystal socket Device build approved 25.0 Send PCB layout to be milled Open and study the soft toy Get bluetooth module Get accelerator sensor module Get pressure sensor Get MCU Get all other necessary components 3.0 Get casing for the main PCB Solder all components 4.0 Connect audio speaker of the soft toy Insert pressure sensor inside the nose of the soft toy Add a zipper to the soft toy Insert RGB leds to eye sockets of the soft toy Arrange meeting #5 (Device build) Get device build accepted Error reporting works 9.0 Test EEPROM writing with STK500 3.0 Write error report API (Opt) Error log saving to EEPROM Make error reporting to work with target HW Test system works 6.0 Write test API 4.0 Make test system to work with target HW Led control works 7.0 Test led control with STK500 3.0 Write led control API Make leds to work with target HW Buttons and switches are working 5.0 Test buttons and switches with STK500 3.0 Handle external interrupt of button A Write button and switch API Make buttons and switches working with real HW Audio playback works 16.0 Test audio playback with STK500 4.0 Store audio samples to flash memory 4.0 Control speaker using PWM 4.0 Write audio playback API Make audio playback working with target HW Pressure sensor works 1 Page 6 of 16
Test pressure sensor with STK500 3.0 Read pressure data from ADC 4.0 Write pressure sensor API Make pressure sensor to work with target HW Bluetooth connectivity works 20.0 Tests USART with RS232 and STK500 4.0 Test bluetooth module with STK500 4.0 Initialize bluetooth module 4.0 Read data from USART using interrupts 4.0 Write data to USART using interrupts 4.0 Write bluetooth connectivity API Make bluetooth module to work with target HW Acceleration sensor works 24.0 Test acceleration sensor with STK500 4.0 Initialize acceleration sensor 6.0 Read acceleration data from the module 6.0 Detect when acceleration sensor data is ready 4.0 Write acceleration sensor API Make acceleration sensor to work with target HW Play mode works 19.0 Detect "button A" gesture and trigger response Detect "pressure" gesture and trigger response Detect "freefall" gesture and trigger response 4.0 Detect "upside down" gesture and trigger response Detect "zero gravity" gesture and trigger response 4.0 Write led effect API Mode led indicates play mode state Make play mode to work with target HW Command mode works 14.0 Trigger audio playback when command "PLAY<sound id>" is received Send acceleration data to bluetooth connection when command "ACC" is received Set RGB led statuses when command "LED<led id><rgb> is received Send pressure data to bluetooth connection when command "PRE" is received Switch device mode when command "MODE" is received Send led statuses when command "LED" is received Make command mode to work with target HW Final report approved 39.0 Write device description 8.0 Write description of the implementation 8.0 Write user manual 8.0 Run all tests and write test report 8.0 Update time log with story level summaries 4.0 Arrange meeting #6 (final document and demo) Get final document accepted Page 7 of 16
Totally hour estimation is 364 hours. The hour realization is tracked by story level and compared to initial estimations at the end of the project. Realization is also tracked during the project to keep progress estimations up-to-date. Page 8 of 16
1.3 Story level time schedule Planned beginning and ending days and planned meeting weeks. Page 9 of 16
2. Log 2.1 Daily hour log The hour log was kept separate from the task and story based time log so there are differences between these two logs. The accuracy of the time logs is estimated to be around 10-20% but they gives a good overall view about time usage of this project. 3.10.2012: MK: h Initial lecture MP: h Initial lecture 1.11.2012-31.11-2012: MK: 20.0h Studying Atmega MCU:s and selecting the topic. 16.12.2012: MP: h Reading course material 18.12.2012: MK: h Reading atmega32 datasheets 19.12.2012: MK: 6.0h Writing requirement specification, planning time table 20.12.2012: MK: 8.0h Writing requirement specification 21.12.2012: MK: 3.0h Exploring set of new components and development tools 22.12.2012: MK: h Finding components for sensors and bluetooth 23.12.2012: MK: 3.0h Finding components for sensors and bluetooth 27.12.2012: Page 10 of 16
MK: 3.0h Studying component datasheets 28.12.2012: MK: 3.0h Studying component datasheets 29.12.2012: MK: 3.0h Writing requirement specification and design specification, studying component datasheets 30.12.2012: MK: 3.0h Writing requirement specification and design specification, studying component datasheets 31.12.2012: MK: 5.0h Writing requirement specification and design specification, studying component datasheets 1.1.2013: MK: 6.0h Writing requirement specification and design specification, studying component datasheets. 2.1.2013: MK: 8.0h Writing implementation specification. MP: h Reading course material 3.1.2013: MK: 8.0h Studying datasheets, selecting components, writing implementation specification, testing voltage regulation. MP: h Reading course material 4.1.2013: MK: 8.0h Studying acceleration sensor and MCU datasheets, sketching PCB, testing push button with STK500 MP: 3.0h Writing test report 5.1.2013: MK: 8.0h Studying acceleration sensor and MCU datasheets, sketching PCB MP: h Writing test report 6.1.2013: MK: 14.0h Testing USART with STK500 7.1.2013: Page 11 of 16
MK: 6.0h Testing audio playback with STK500 8.1.2013: MK: 8.0h Testing audio playback with STK 500 9.1.2013: MK: 8.0h Building task board, task hour estimations, updating requirement specification and implementation specification, testing JTAGICE3 tool. MP: h Testing Eagle 10.1.2013: MK: 1h Writing time schedule log, building task board, testing Eagle and designing schematics MP: 3.0h Writing test report, updating spefications document 11.1.2013: MK: 10.0h Designing schematics MP: 4.0h Writing test report, updating schedule log 12.1.2013: MK: 3.0h Setting up control system 13.1.2013: MK: 8.5h Coding basic API:s, testing PCB layout MP: 3.0h Writing test report 14.1.2013: MK: 10.5h Team meeting, writing tests, documentation, PCB layout designing MP: 5.0h Team meeting, writing test report, updating spefications document 15.1.2013: MK: 9.5h Layout design, programming 16.1.2013: MK: 10.5h Programming 17.1.2013: MK: 12.5h Meetings 1-4, programming MP: 4.0h Meetings 1-4, programming, layout desing, Page 12 of 16
18.1.2013: MK: 13.5h Programming, testing accelerometer 19.1.2013: MK: 6.0h Testing accelerometer MP: h Writing user's guide 20.1.2013: MK: 10.0h Testing accelerometer and bluetooth module 21.1.2013: MK: 5.0h Team meeting, layout fixing, documentation MP: 3.0h Team meeting, planning integration tests, writing component order list 22.1.2013: MK: 14.0h Refactoring codebase, soldering components MP: h Soldering components 23.1.2013: MK: 5.5h Soldering components, testing HW 24.1.2013: MP: h Writing test report 27.1.2013: MK: 0.5h Documentation 28.1.2013: MP: h Installing Atmel Studio 29.1.2013: MK: h Fixing feature implementation 30.1.2013: MK: h Fixing feature implementation 31.1.2013: Page 13 of 16
MK: 5.0h Fixing feature implementation 1.2.2013: MK: h Testing MP: 3.0h Unit and integration testing 4.2.2013: MK: h Documentation 5.2.2013: MP: 4.0h Integration and system testing 11.2.2013: MK: h Documentation 15.2.2013: MK: h Documentation 16.2.2013: MK: 8.5h Documentation 17.2.2013: MK: 5.0h Documentation 18.2.2013: MK: h Documentation 19.2.2013: MP: 3.0h Documentation 21.2.2013: MK: h Demo MP: 3.0h Demo, updating schedule log Page 14 of 16
2.2 Story level time log Stories Hour estimation (h) Hours used (h) Project started and organized 8,0 41,5 All necessary tools and common components are available 6,0 9,3 Requirement specification approved 16,5 12,5 Test plan approved 18,0 19,8 Implementation specification approved 38,0 25,0 Schematics design approved 23,0 9,6 PCB layout approved 26,0 20,6 Device built approved 27,0 23,8 Error reporting works 9,0 3,5 Test system works 6,0 2,5 Led control works 7,0 7,5 Buttons and switches are working 5,0 4,0 Audio playback works 16,0 17,8 Pressure sensor operationally 11,0 5,8 Bluetooth connectivity works 20,0 28,0 Acceleration sensor works 24,0 17,0 Play mode works 19,0 7,2 Command mode works 16,0 4,3 Final report approved 47,0 36,3 TOTAL 342,5 295,8 Page 15 of 16
3. Summary The project schedule was working as planned over the feature development phase (weeks 2 to 5). Then during the testing and documentation phase (weeks 6 to 8) the available resources were decreased significantly due the time demand of other university courses and projects. This can be seen at the burnout chart picture. The time estimations of the tasks and stories were estimated 25% over the realization. This is considered to be acceptable and did not cause any problems. Especially purchase of the components and implementation of the bluetooth connectivity took more time than estimated. The problem with the bluetooth was caused by lack of documentation and problems with the used bluetooth module and Windows 7 operating system bluetooth setup. The actual feature implementation of the features took about about 25% less time than estimated. Main reason for this might be the good testing environment that made it possible to implement all the features with real hardware before designing the PCB ans schematics. Here are the top level project phases. Phase Hour estimation (h) Hours used (h) Design 188,0 162,0 Feature implementation 133,0 97,5 Testing and documentation 47,0 36,3 Page 16 of 16