Egomaron Jegede Senior Design Lab Notebook
Spring Semester 2004
1/13 Course Intro | Introduction to course and project overview |
Formed Group;
Members: Phillip Boone, Jeff Turkstra, Bill Kreider, Ego Jegede
Discussed proposal guidelines and documentation. Time : 0.2 hrs. | |
Week 1 Summary |
Weekly Hrs: 0.2 Total Hrs: 0.2 |
1/19 Project Ideas Meeting | The team met to discuss and narrow down project ideas. The three ideas discussed include an automatic pill dispenser that reminds user when to take pills (Bill), a controller for a car that automates the windows, lights etc. through voice recognition (Phil) and a digital frame that displays sheet music eliminating the need for paper (Jeff). The group decision was to pursue the digital frame idea as it seemed the common area of interest . Time : 1 hr. Location : MSEE 189 |
1/20 Preliminary Proposal | Details relating to the project were fleshed out and we worked on a clear description of the project goals and success criteria for the semester etc. as part of the Preliminary proposal (link). Time : 2 hr. Location ENAD |
Week 2 Summary |
Weekly Hrs: 3.0 Total Hrs: 3.2 |
1/28 OrCAD Exercise | Advisor meeting:
Topics discussed included changing project to "digital picture box" that
can display to any VGA device rather than just an LCD display, USB
interface, on board memory, I.R. controller for display.
The team met to work on the OrCAD exercise. Jeff had already put several hours into the schematic and got the rest of us up to date. Phil, Bill and I worked on the board layout and completed the majority of it. (Auto-route kept tripling the number of routes left to place....so much fun). Time : 6 hrs. Location: 477 Lab (EE 69) |
1/29 OrCAD bugs | Bill and Phil met to route the last two wires. 2 hrs of magic was enough! |
Week 3 Summary |
Weekly Hrs: 6.0 Total Hrs: 9.2 |
2/2 Proposal Updates | We met to update the project proposal and refine the schematic as well as success criteria. Main interfacing seems to be the graphics controller, I.R. receiver for the remote, JPEG decoder and Ethernet hence the choice of the Rabbit as the best processor for our design. Time : 1 hr. |
2/3 Final Proposal | I worked on the schematic (link) showing the major functional blocks of the project and how they interface with the Rabbit microprocessor. As a team we further updated and completed the final project proposal. (link) Time : 1 hr. |
Week 4 Summary |
Weekly Hrs: 2.0 Total Hrs: 11.2 |
2/10 Rabbit Research | I did some research into the available Rabbit processors and developments kits to determine part specifics and price and how they might affect our choice. Here's the link : Time : 2 hrs. |
2/11 Progress Briefing | Met with advisors and discussed removing the USB interface aspect of design. Phil wasn't able to find a chip that could be used fro JPEG decoding. In addition Jeff determined a file system would be needed for the USB and we decided the added difficulty might be too much for 1 semester. Phil worked on draft of the Design Constraint Analysis exercise and we reviewed it as a team. Time: 0.5 hrs |
2/13 Rabbit 2000 DK | Gilbert Tseng (TA) advised us the Rabbit 2000 development kit could be used for coding before using the Rabbit 3000 core module. I tried to track down Chuck to check availability and maybe pick one up. Time : 0.3 hrs |
Week 5 Summary |
Weekly Hrs: 2.8 Total Hrs: 14.0 |
2/17 Packaging Research | I researched several commercial projects similar to our project or with aspects that were common relating to packaging. Here are several relevant links that I found : Time : 3.0 hrs |
2/18 Specs. and Design | Phil and Bill met
with Chuck and were able to get a Rabbit 3000 evaluation board. Discussed
with advisors: sending text overlay to display as part of our success
criteria instead of JPEG decoding on chip.
I narrowed the field of commercial products down to two and worked on the analysis and comparison of their packaging. Completed an initial CAD drawing (link) to illustrate the proposed shape and size of packaging for the digital picture box. Worked on other criteria for Packaging Specifications and Design Exercise including materials and tools needed. Time : 6.2 hrs |
2/19 Weight and Cost | I researched the dimensions of parts included in our design and estimated the size of the casing needed. Also researched into the weight and cost of parts (15 pin connectors, LED's, pushbuttons, processor etc.) to come up with a rough estimate of our units' weight and cost. Also updated the dimensions on the CAD drawing. Time : 2.0 hrs |
2/21 Memory | The guys met to discuss parts, work on web site and obtain memory (DRAM) from vendors. |
Week 6 Summary |
Weekly Hrs: 11.2 Total Hrs: 25.2 |
2/22 Schematics 1 | We met to discuss parts required for the project and to work on getting data and spec sheets for the schematics. I worked on my web journal and we identified parts to get ordered by the end of the week. Phil ran some C files on the evaluation board and 3010 core module. Jeff worked on interfacing the EPSON Graphics controller with the Rabbit. We also worked on addressing and decided on using two 26v12 Lattice PLDs with 4 states for updating info. Bill started piecing together the schematic and getting a comprehensive parts list together. Time : 4 hrs. |
2/25 Schematics 2 |
Bill completed the schematic and narrative exercise, building needed parts and incorporating details from data sheets for major components. |
2/28 Design Review plan |
Phil, Bill and I met to discuss the requirements and overall structure of our design review presentation. We decided to split the work with Jeff doing the intro and schematics, Phil doing component selection, Bill - schematics and myself the packaging. Time : (1pm - 5pm) 4 hrs. |
Week 7 Summary |
Weekly Hrs: 8.0 Total Hrs: 33.2 |
2/29 PowerPoint |
The team met to work on the presentation. Each member input slides. Jeff and Bill worked on improving the schematic. Bill set up the I.R. circuit and was able to get it working with a SONYTM remote! One LED keeps fluctuating randomly but this might be due to not grounding the receiver casing. Time : (1pm - 8pm) 7 hrs. |
3/1 Presentation |
For the most part the presentation is completed and also the schematic. I updated the block diagram for the digital picture frame to include the DRAM and VGA output. While doing this I noticed we had a reset controller on our block diagram but not on our schematic. Phil and I looked through course handouts to find an example of what the reset controller should look like. We discussed the function of the DIP switch as a memory reference for whenever the chip is reset, the function of the pull up resistor and whether there would be bus fighting. Also talked about whether to have a power connector or send the cord through the casing and onto a header. I think we should go for the connector (internal components won't be affected is power cord is pulled), the other option being to leave extra wiring internally to solve that problem. We had a brief run through of the presentation to ensure our timing was okay ~30 mins. and plan to get the transparencies tomorrow. Time : (7pm - 11pm) 4 hrs. |
3/2 Design Review | Jeff updated the
schematic to include the reset generator and printed the transparencies. I
printed out the 12 copies of the presentation slides and rehearsed for the
review. We presented at 3:40pm and it went smoothly. Questions brought up:
- Addressing using the PLD's; adding a pull up resistor to the Sharp
receiver output ( this might stop the random LED response); memory issues
(DRAM interfacing). Lots to think about! Time : (1:30pm - 4:30pm) 2 hrs. |
Week 8 Summary |
Weekly Hrs: 13.0 Total Hrs: 46.2 |
3/10 PCB Layout |
Helped Jeff out in finishing up the last
few (close to impossible) traces of the layout. We have a crazy amount of
vias and with the 6 mil pin spacing it's a real concern as to whether this
whole thing will work. Submitted the layout to FreeDFM to check there are no
showstoppers and called it a night. Awaiting their response.
Time: (10pm - 5am) 7 hrs Location:
477 Lab |
Week 9 Summary
|
Weekly Hrs: 7.0 Total Hrs: 53.2 |
Week 10 Summary | SPRING BREAK |
3/28 S/W and
H/W |
On detailed
inspection of our PCB board Jeff spotted that the rabbit pins were
mirrored. To avoid insane amounts of fly wiring we made changed to the PCB
layout and resubmitted the board for fabrication. Phil and I looked into
the formatting of the pixel data and found out .ppm format does not
support 24-bit format hence we might switch to .bmp format which is 8-bit
and to the naked eye is not noticeably different. Time: (3:15pm - 6:47pm) 3.5 hrs Location: 477 Lab |
Week 11 Summary |
Weekly Hrs: 3.5 Total Hrs: 56.7 |
3/31
Software ideas |
Team met to continue software development. Ideas ( Phil ) include a general structure using multitasking on the rabbit where functions would yield to each-other at specified points in each routine when finished or a new function is requested . The other idea (Jeff) is to have one big loop that polls the IR and pushbuttons to see if an operation is needed, carry out the operation uninterrupted and continue looping. Initializing on a reset/power on would need to be done in both cases and the set of commands for talking between the PC and the rabbit will be finalized soon. I worked on Homework 9: Reliability and Safety Analysis. Phil and Bill set up and tested the
IR receiver/decoder with the rabbit. Phil wrote some code for the
de-bouncing of the switches and we were able to print out from the rabbit,
which switches were being toggled when the remote control buttons were
pressed!!!!!!!!!!
Time: 4pm - 6pm
Location : 477 Lab |
4/1 Hmwk 9 | I worked on and completed the Reliability and Safety analysis referencing the military handbook MIL_HDBK_217F(link) a fun number of times. Also completed the FMECA sheet. Time: (9pm - 4am) Location: Tarkington Hall Time: (10:30 am - 3 pm) Location: ENAD 302 Lab Hours: 11.5 |
Week 12 Summary |
Weekly Hrs: 13.5 Total Hrs: 69.7 |
4/7 Notebook Update | Spent an hour or so updating notebook and
documenting progress.
Time: (2am - 3:30am) 1.5 hrs Location: Tarkington Lab |
4/8 SoftWhere? |
Phil and I met and reviewed the software structure and discussed future work that needed
to be done. We loaded the server code onto the rabbit and ran the pc client that
communicates with the rabbit and sends info to it, also discussed sending commands along
with the ppm data to the rabbit so in the event of the EPSON receiving a newpixel
command it would flush its buffers and get ready for new data. I'm going over Phil's Software design
considerations also to get his perspective of the overall structure and consider any
changes and modifications.
Time: (3pm - 4pm) 1.0 hrs Location: 477 Lab |
Week 13 Summary |
Weekly Hrs: 2.5 Total Hrs: 72.2 |
4/14 Soldering On |
Met with Phil and worked on sending .ppm data to the rabbit and cycling through pictures
using file names and nextpic() functions. Jeff worked on testing the PLD addressing. I
formatted the .ppm printer to output data one pixel at a time, printing out the RGB
values.Next small step is to make this dynamic so any .ppm file can be handled and then send to
the rabbit in packets (Sizes to be determined). We soldered on the pushbuttons, 15kohm
resistors and began soldering one of the addressing PLD's.
Time: (7pm - 10:45pm) 3.75 hrs Location: 477 Lab |
4/18 Webserver1 |
Phil and I worked on setting up a web server on the rabbit and sending text to the
rabbit then viewing the text from an http client on the PC that logged into the rabbit web
server. Phil integrated source code from the rabbit sample library into our code and was able to send a string to the rabbit and read it on the client. Ran into problems when we tried to send a file or a single character. Started getting weird compile time errors with the rabbit timing out and had problems trying to send a full text file. They implement the transfer using FTP while we were trying to replace that with our TCP/IP protocol so building on their code was not successful. We modified the pc client software to send .jpeg's to the rabbit instead of text files which were a lot smaller. Found a bug to do with the file size, and were able to send and receive a 10KB .jpeg to and from the rabbit. We also tried increasing the buffer size on the rabbit so a larger file could be stored but couldn't get it higher than around 16KB. Time: (4pm - 10pm) 6.0 hrs Location: 477 Lab |
Week 14 Summary |
Weekly Hrs: 9.75 Total Hrs: 81.95 |
4/19 EPSON Working |
The team met to clarify success outcomes and continue work on this special type of
torture we designed and step by step outlined and created in detail for ourselves. Phil
and I worked on getting the bugs out of the web server code and made some progress. When
the file refreshes it still has problems sending an entire file but we were able to get a
string displayed on the web page. It seems a large portion of the errors were due to the
rabbit needing to be reset (very frequently right now). In case we still decide to use
the .ppm I modified the code a little bit. Jeff was able to get the EPSON working which is fantastic. We were able to do a small demo. of the successful outcomes, showing the IR and pushbuttons working. We are now able to print out pixel by pixel to the monitor. Jeff had to replace the 15 pin VGA connector due to bad connections, he thought at the time but it turned out to be a problem with the DRAM. This was soldered according to the standard pin out. (pic). Bill soldered the new DRAM onto the board. Progress. We updated the success criteria of our project also and plan to submit and have it approved at the progress briefing on Wednesday. "Who ever said progress is a slow process wasn't talking about the DiPFI" - Bill's new name for the project: Digital Picture Frame Interface Time: (6:15pm - 12:50pm) 6.5 hrs Location: 477 Lab |
4/20 Webserver working |
Met with Phil to fix bugs in the Webserver code. We realized that dynamic C does not work
very well with our code. It began corrupting indexes and counters we had while
transferring data…this was a fun error to catch after worrying about or logic. Also the
rabbit requires resetting every time we compile and generates library errors that require
shutting down dynamic C every time we make a change to our code…increasing development
and testing time greatly! The plan now ( if we don't achieve success on the current track) is to implement a bare bones web server independent of the other functionality and then integrate the user interface into that program. We split up the User Manual and are working on it currently for Homework 12. I worked on the product illustration and the user instructions. Phil later took the Rabbit home and downloaded a new version of the Dynamic C software version 8.5 I believe. Shortly he was able to get the web server up and running and within minutes sending text and jpeg files and displaying them on a webpage!!!!!! I think the Lab need new software…this should save future rabbit developers a lot of pain. Over and out for today. Time: (7:30pm - 12pm) 4.5hrs Location: 477 Lab |
4/21 Dead Rabbit |
I helped Phil further debug client which had integrated Jeff's .ppm printer. Got it to
send formatted pixel data (8bits per RGB value to 5 bits ) to the rabbit and printed it out
correctly displaying the address and data. Ran into problems with the rabbit again: One
of the pins on the core module broke..halting progress. Phil ordered ANOTHER one which
should hopefully be in by Friday. Tried soldering on a wire and grounding it that way but
the software would not recognize the rabbit. MSEE: Worked on editing and completing the user manual. Re-drew the product illustration using Visio. Time: (3:30pm - 5:30pm) 2 hrs Location: 477 Lab Time: (8:00pm - 12:00pm) 4 hrs Location: MSEE |
4/23 1st Outcome Taping |
Taped the web server in action for evidence that we satisfied the outcome of sending and
receiving useful data from the pc to the rabbit. For this we cycled through pictures on
the pc and used a web client to display the picture on the rabbit web server.
Taped a short overview of our schematic and board layout to show functional blocks.
Tried to send pixel data to the monitor via the EPSON but were denied again.
Time: (6pm - 8pm) 2 hrs Location: 477 Lab |
Week 15 Summary |
Weekly Hrs: 19 Total Hrs: 101 |
4/24 1st Pic Displayed |
The pic from the PC was successfully sent and displayed on the monitor!! Issues however
include overlapping of the image due to the size of the DRAM. Once the image has been
written, the bottom portion of the screen is then filled with some of the images top
section.Also the pixel writing is slow and takes about 10mins to finish. We taped this
functionality. Bill and I went to Menards to purchase materials for the casing: Plexi-glass, wood and poxy glue, RJ-45 female-to-female connector, box cutter and sand paper. We plan to construct this tomorrow. Time: (12pm - 5pm) 5hrs Location: 477 Lab |
4/25 Casing |
I measured the dimensions of our board to within 1/16 of an inch (Length: 8.75" Width:
7.75") and drew a template to make the top and bottom out of. Bill, Phil and I took turns
cutting the 6 pieces for the cube shaped casing. I decided to make it 2.5" high to give
adequate room for the core module to sit on top of our board and the headers underneath
to have sufficient space. Jeff cut grooves on the inside of each piece to "mount" the
board and drilled holes for the connectors and push-buttons. We then poxy-glued all but
the top piece on, resoldered/hot-glued the push-buttons and VGA connector. The board tested fine after adding the casing but a heat sink was added to the 3.3V LDO regulator as it was overheating causing the monitor to flicker on and off. Here she is! Time: (12pm - 5pm) 5hrs Location: 477 Lab |
4/26 Final Pres Preparation |
We met to work on the slides for the final presentation. I modified some of my slides and
included new information updates from the mid-term presentation.
Time: (4pm - 6pm) 2 hrs Location: 477 Lab |
4/27 Complete Presentation |
We recorded the final outcome demonstration video with the newly added casing. I was
concerned that the plexi-glass might limit the range of the IR but it was working fine
from a distance away from the reciever. We then went to Jeff's place to digitize the
recording and ran through the presentation once for timing purposes. Bill and I then worked on completion of the presentation. I added a colour coded schematic to the reliability and safety analysis and included criticality definitions and examples. I modified the introduction and completed editing of the final report. Time: (7pm - 2pm) 7.0 hrs Location: 477 Lab |
4/28 Presentation |
We gave our final presentation (link) at 10:45 and it went smoothly. We kept reasonably
to time and answered questions from advisors.
Time: (10:45pm - 11:30pm) 1 hr Location: ECE 317 |
4/29 270 Presentation |
We met at 1pm to create a much abbreviated version of our presentation for the 270 class
bonus presentation. I worked on the general outline with Jeff, decided which order we
were presenting and got input from Bill and Phil as to info. they wanted to present on
their slides. We were the last group to present and were not able to give a live demo.
but the presentation went well.
Time: (1pm - 4pm) 3 hrs Location: 477 Lab |
Week 16 Summary |
Weekly Hrs: 23 Total Hrs: 124 |
5/3 Final Report |
Met with Phil and Bill to work on the Final Report. I wrote the abstract and updated the
homeworks I completed with suggested modifications from advisors. Wrote individual
contributions and then completed peer review.
Time: (1pm - 7pm) 6 hrs Location: 477 Lab |
5/4 Final Meeting |
The team met again to work on Homework 14 the Senior Design Report and input individual
contributions to the final report. I included the colour coded component sheet to the FMECA
analysis and we returned our development kit to Chuck. Jeff needs to input his sections of the
final report and then burn a CD of our group account, bind the report and then we will review
and submit it. I worked on finalising my notebooking and updating homeworks to group account.
Time: (1pm - 6pm) hrs Location: 477 Lab |
Week 17 Summary |
Weekly Hrs: 11 Total Hrs: 135 |