Voice Activated eBlock
Team Members: Ron Feliciano,
Eric
Frohnhoefer
CS 179J: Senior Design Project in Architecture /
Embedded Systems
Week 1 | ||||
Date |
Hours |
Summary |
Ideas/Issues/Plans |
Links/Documents |
Mon, Jan 5 |
||||
Tue, Jan 6 |
||||
Wed, Jan 7 |
1 |
Discussed Plans with Eric
Created
this website and sent Susan email about link. |
We think we might try to find an IC that does the voice recognition on its own. Hopefully it won't take too much power and cost too much. Have to look into that. |
|
Thur, Jan 8 |
2 |
Read through all the new eBlocks available. |
Saw some really interesting ideas that we never originally came up with.
What I'm wondering is what kind of battery the eBlocks uses, and how much power does the average eBlock draw? |
|
Fri, Jan 9 |
0 |
|
|
|
Sat, Jan 10 |
3 |
Took a look at Edward's links for some ideas
about a
voice recognition chip.
|
The toy car was pretty inexpensive ~$20,
meaning that
I could guess that the voice chip inside must cost at the most $5-$10,
which doesn't seem too bad, considering if bought in bulk might get a
discount. What about power consumption though?
|
Off of Edward's Log: |
Sun, Jan 11 |
4 |
Checked
the Amazing Science link from Edward's Log.
Found
something similar to what we're supposed to do. See SmartHome link |
The
price of the entire kit seems to be around $10. If bought in bulk I'm
sure you can get it down to 7 maybe 6 dollars. Only problem now is to
find how much power it draws and compare that to the amount a normal
eBlock draws.
|
|
Week 2 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Jan 12 | 3 |
Thought
about what the proposal should include. |
Still
have to meet with Eric, but I'm starting to get an idea what the
project will have to be. From what I got from the class, the eBlock
should be simple, meaning no PC needed for programming. Unforetunately
I've yet to find an example of a product like that. Looked around on the net for Open Source Voice Recognition software to learn about it. No luck |
|
Tue, Jan 13 | 4 | Met with Eric to do proposal | Eric and I did the proposal. This include a comparison chart of the pros and cons of each decision we made. We also hammered out exactly what kind of functionality our eblock would implement. We still need a cost estimate though. | Proposal |
Wed, Jan 14 | ||||
Thur, Jan 15 | 1 | Looking
for some Clapper type sites as a basis for the "easy" project. |
I've
actually found quite a few sites of people creating their own clappers.
A few seem to be complete enough that it could work. If we chose to use
one of those people's designs (with permission), the only work left
would be to build an eBlock interface to it, and possibly make it
better. |
Build a
Dios Logic Probe Clapper Powerpoint |
Fri, Jan 16 | 3 |
Went
through first part of Compilation. So far installed the PIC software on
home PC. Tried to go through the entire compilation process. Looked through class' progress. |
Everything seems to be going ok. Hopefully can go through the rest of
it tonight or tommorow morning. Couldn't get through the entire compilation process. For some reason, after building, the program does not yield a .hex file. I looked through the folder and the directions, but nothing could be found. Hopefully someone had better luck and can give some help on the mailing list. I looked through everyone's logs. I'm a little confused if we're still doing the big class project, or each doing our own small projects. Basically have two options at this point: 1. If we aren't doing the big class project, then Eric and I could create a working clapper-type device, based off the info we found. Then we can work on a much more compicated voice driven system. 2. If we are still doing the class project then two people would create a clapper type device, and the other people would get to work on the complicated device. Personally I'd like the latter to happen. I'd really like to see how far we could get on a real voice-recognition system. After talking to some EE friends, they said that if we could get something like that working it'd be a real achievement. Usually voice recognition would be a challenging, 2-quarter EE design project. |
Slightly Updated Proposal |
Sat, Jan 17 | 3 | Met with
the rest of the class. |
We all
met at the Sci. Lib to discuss what we were gonna do. We decided to try
to propose a joint effort. We also assigned responcibilities to certain
people to get a proposal made by Wed of next week. |
Unfinished Proposal(notes from meeting) |
Sun, Jan 18 | ||||
Week 3 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Jan 19 | 1 |
Looked over
Long's proposal. Finished Compilation tutorial. Started rereading parts of the AOES book. |
Proposal
looked good. I made a few suggestions about work load. Finally got the software to generate .hex file. Didn't have time to try the other tutorials. Hopefully will finish that and get the power calculations done Tuesday. |
|
Tue, Jan 20 | 1 | Did Power
Estimations |
Finished
power estimations excercise. Not quite sure about the 2input logic
block. Also not sure if i'm supposed to just post my work on my site. Also, I'm not exactly sure what happens if Prof. Vahid doesn't accept our proposal. I dont' think we've really planned for that. Ohh well, hopefully he will accept it. |
Group Proposal Power Estimation Solutions Trade-off Analysis Projected Parts List |
Wed, Jan 21 | 5 | Met with the team
at 9AM Met again with the team at 8PM |
We
discussed how we wanted to present the proposal, and did some last
minute touch-ups on the documents. We met again to discuss what we learned in class and how we wanted to proceed from here. We gave out responsibilities on the proposal. We also figured out what we wanted to do this saturday. This saturday we're planning on actually trying to create the clapper eBlocks from the schematics we found. If we can't get those working, we figure we would try to build a button eBlock and learn more about the protocols used. |
8pm Meeting Notes Proposal Contribution Draft |
Thur, Jan 22 | 3 | Worked on
trade-off analysis |
What a
week. Worked on my trade-off analysis. Hopefully it shows the ideas
that we as a group were thinking during our meetings and what we
decided. |
My Trade-Off analysis |
Fri, Jan 23 | 10 min |
Oops |
Oops
forgot to link the group proposal |
Group Proposal |
Sat, Jan 24 | 4 | Worked
with group from 2-6. |
Worked with the
rest of the group from 2pm to about 6pm. We spent a considerable amount
of time just trying to find a way to compile, transfer and download
onto the PIC. The biggest problem was that the lab macines don't have
access to the floppy drives. That means that we had to find a machine
which had an network connection and an accessible floppy drive. We
found a workaround but it is far from a good solution. Hopefully the downloading computer can get the compilation software installed onto it also. The problems with the clapper was that we didnt have the right tools, such as maybe a power supply, oscilliscopr or even a logic analyzer. Those would really have helped when trying to work with the op-amps. But after a while we were able to simulate a button eblock and communicate with a real eBlock. |
|
Sun, Jan 25 | 2 | Read ADES
book |
Started re-reading the book. Has alot of good ideas. I liked the idea of code inspections, but i agree that it would be extremely difficult to stay with something like that when the deadline gets closer and closer. | |
Week 4 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Jan 26 | 4 |
Reading ADES book Meeting with group. |
Been
reading more of the book. Alot of it i still remember. Too bad most of
it I haven't implemented. The group had a meeting today, unforetunately I wasn't able to go due to a scheduling conflict. From what I've heard they were able to get the VE to respond to commands. Only thing now is to adapt it to the eBlock protocol, and we got ourselves a prototype. |
|
Tue, Jan 27 | 4 | Continued Reading
ADES book Tried to read up some more on how exactly speech recognition is done and what's involved in programming it. |
I got through all
of chapters 1,2,3, most of 4 and skimmed the rest. I tried to go through the short course on Long's site. After about 10 minutes I was so lost that I had to stop. Instead I tried to find some more general info about Speech Recogntion through google. I found a few explanations that were easier to follow. Unforetunately they were also pretty general. I did learn quite a bit about the process of sampling the speech. The microphone basically records small "frames" of 10-30ms. These frames are stored as a vector, this is known as a feature vector. This vector is then compared with a reference library to find the closest match to it. A label is then stored, and the original sampling is discarded. |
Voice
Recognition Tutorial Voice Recognition PDF |
Wed, Jan 28 | ||||
Thur, Jan 29 | ||||
Fri, Jan 30 | ||||
Sat, Jan 31 | 3 | Worked in Surge 283 with group. | We all
worked in Surge 283 from about 2:30 to 5:30. I helped Eric interface
the VE w/ development board to the eBlock interface. The way we did
this was by having the VE output a logical 0 using one of the pins on
the development board. This was read in by the PIC and the PIC handled
the communication to the other eblocks. In order to do this we
basically used the Button eBlock code. Next on the agenda is to try to interface the VE itself without the use of the development board straight to the PIC. After that we will look into maybe adding some features or most likely helping Long, RJ and Kai out with trying to implement the poor man's Voice eBlock. Long and RJ had a few books on Voice Recognition software. I'll probably try to borrow one or two of those and read up on what kind of computational requirements VR has. |
|
Sun, Feb 1 | 6 |
Worked on
my paragraph for the proposal and my tradeoff analysis |
Trying to
do my trade-off analysis but not quite sure how to go about getting it
done. |
myparagraph.doc Newest Trade-off Analysis Sample Voice Recognition Source Code |
Week 5 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Feb 2 | 1 |
Finished Trade-Off analysis and site work. | I basically just linked the final version of the Trade-Off Analysis and also fixed some of the links on the site that weren't pointing to the correct materai | |
Tue, Feb 3 | 3 | Researching about Voice Recognition software | I've been trying to find material on Voice Recognition/Speech Recognition on the web. A lot of the material is very technical. | |
Wed, Feb 4 | 2 |
Read through the
PIC datasheet. Found another project. Power calculations for VE |
I read through
the PIC datasheet to see exactly what kind of things it can handle.
Just to answer the question from class, the PIC16F628 runs at 5 MIPS @
20mhz. I was thinking of a solution to the VE power problem. Some of the other groups actually gave me an idea. I was wondering if having a small sound-sensing circuit wake up the VE when it hears noises could help with reducing power consumption. I'm not really sure if its going to make that big a difference, especially if the Voice Eblock is going to be used in a place where there's a lot of ambient noise, if so then the circuit will be constantly waking up the VE. While trying to find some info about the VE low power mode I cam across a powerpoint presentation about a group trying to create a Voice Recognition Atomic Clock. Turns out they used a Voice Extreme module also. I did a few quick and dirty calculations for low long the VE by itself would last on a 9V given some assumptions, turns out it will last roughly 74 days... not even close to the 2-3 years we were shooting for. |
Voice
Clock Voice Extreme Power |
Thur, Feb 5 | ||||
Fri, Feb 6 | ||||
Sat, Feb 7 | 1 | I wasn't able to
meet with the other group members today. I was able to get in touch
with eric to get caught up on what we have left to do. Turns out they went to Electronics Warehouse to pick up a header for the VE. |
||
Sun, Feb 8 | ||||
Week 6 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Feb 9 | ||||
Tue, Feb 10 | ||||
Wed, Feb 11 | 3 |
Missed class! Got
the date wrong in my calendar. Researching some low-power techniques for the VE. Read through everyone's websites. |
So far the only techiniques i've thought of to reduce power in our eBlock (short of replacing the VE) is to have the VE on for as short a time as possible, since the VE takes up a large percentage of the power. I'm hoping to find some other techniques I haven't thought of. I looked through everyone's websites to catch up on any ideas everyone's had. Read Ed's explanation about Adelante. One thing stood out to me though. .25mW per MHZ? At full speed thats about 70mW of power. At first that struck me as high, but when compared to an Athlon that can easily take 60 Watts or even some versions of the 8051 which can take up to 170mW, 70mW is not bad. Note: Funny, I was searching for "Voice Extreme Low Power" and my trade-off analysis came up on google. Strange eh? "Processing algorithms in C language. The core — 99 percent in C and 1 percent in VHDL — has a dense design, said Bloemandael. " C-language designs are much more easily optimized for power, performance or cost than are HDL implementations," said Herman Beke, Frontier's chief executive...." I found that quote while looking for some low power tips. I always thought that VHDL being closer to "HW" than C would have better power options. It's something to bring up at the next class. Also created a rough draft of the documentation for the Voice Extreme eBlock. Pictures, diagrams and working drawings to follow. |
Voice Extreme Doc (Rough Draft) |
Thur, Feb 12 | ||||
Fri, Feb 13 | ||||
Sat, Feb 14 | 3 | Met with Eric to work on the VE and possibly work on PIC stuff for the others. | Discussed
how we could improve the battery life of some of the clappers. Decided
that we could try to use the interrupts already provided in the PIC. To
that end, we found the PIC datasheet and might try implementing some of
it's examples on the button eBlock. |
PIC
Interrupts (AN552) |
Sun, Feb 15 | ||||
Week 7 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Feb 16 | 1 | Helped Eric
with implementing Sleep mode on the button eBlock. |
Eric was having trouble programming his .hex file for sleep mode on the PIC. It took a little while but I got it to program using my programmer and one of the PICs. | |
Tue, Feb 17 | 3 | Met with Eric and Edward to Surge 283. | We met at
Surge 283 to try to implement the interrupts and sleep functions on the
button eBlock for one of the clapper designs. We think we got it
working, but without having measuring the actual draw we couldn't be
sure. We went to the EE labs in Bourns and hooked up the clapper to the multimeter and scope there to measure the actual draw and to see what exactly the PIC was outputing. We almost fried the entire board because some of the polarities were reversed. |
|
Wed, Feb 18 | ||||
Thur, Feb 19 | ||||
Fri, Feb 20 | ||||
Sat, Feb 21 | ||||
Sun, Feb 22 | 1 | Updated site and read up on VE | I went through some of the datasheet of the VE module itself. I wanted to look up the pin-outs of the VE module. We tried on Tuesday to see if we could get a header made for the VE, unforetunately we weren't able to. If we have to, we might just hook it straight into the breadboard. | |
Week 8 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Feb 23 | ||||
Tue, Feb 24 |
7 |
From 1-5 worked with Eric and Edward in Surge 283 From 7-11 worked with Eric, Rima and Edward in Surge 283 |
Edward
worked on trying to reduce the circuit of his clapper by utilizing the
onboard comparitor in the PIC. Eric worked on implementing the interrupt routines on PIC, to save some battery power on all projects. I worked on moving the VE module from the development board to the breadboard. Everything went pretty smoothly. This was in large part because we triple checked every connection to make sure that we didn't burn out the VE module. We were able to get the module onto the breadboard, using a header from Susan. We then were able to implement the 3 status LEDs and microphone of the development board. We even interfaced the new Voice eBlock to Eric's interrupt based code. Eric and I also went to bourns to measure the actual draw of the PIC circuit with and without the LED, now that implementing sleep works. |
|
Wed, Feb 25 | 1 | Met
with Eric before class to make sure the VE prototype is working |
We met to make sure that the VE prototype is still working. We also took care of some paper work. | |
Thur, Feb 26 | 2 | Met with Eric again to measure the draw of the VE. | We
measured that the VE by itself ran at about 13mA total @ 3v. We were
able to underclock the VE to 2.5v but it wasn't quite stable.
This is with no LEDs. |
|
Fri, Feb 27 | ||||
Sat, Feb 28 | 4 | Went
to get parts with Eric and Edward. |
Eric,
Edward and I went to a few places to try to find the parts we needed.
Electronics warehouse had the IC socket we needed, but we couldn't find
the socket we needed for the VE. Eric and I also discussed how we wanted to create the finished product. |
|
Sun, Feb 29 | ||||
Week 9 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Mar 1 | 1 | Prepared for
soldering tommorow. |
I thought about how we are gonna solder the circuit together. I also created some rough schematics on how the pins on the VE are gonna be attached and how the circuit layout will go. | |
Tue, Mar 2 | 8 |
From 1 until 6
met with Eric, Edward and Rima in Surge 283. 7 to 10 finished up the VE and box. |
Eric and I
finally started soldering our components. The soldering went pretty
well. We were able to get the VE and the chip working on the final
protoype board, hooked up to a 5v powersupply. For some reason whenever we try to stuff the whole thing into the box, the circuit wouldn't work. Also we have a problem with running it from the battery. We tested running the whole eBlock on 3v, and it works well using a powersupply. But when using 2 AA batteries, the VE would work well almost everytime, but the PIC gets flaky. It seems to have gotten better though. Maybe our batteries are just getting low. |
|
Wed, Mar 3 | ||||
Thur, Mar 4 | ||||
Fri, Mar 5 | ||||
Sat, Mar 6 | ||||
Sun, Mar 7 | 6 |
Worked with Eric to document and prepare for final presentation. | Worked
with Eric to plan what we needed to do and started on creating the
final documents. We've created a rough draft of the eBlock introduction
and the description for our Voice eBlock. We also prepared detailed schematics as well as working drawings to detail the final product. Also took and compiled pictures of the project in prepeartion for the finakl presentation. Also worked on teh Design Process documentation. |
|
Week 10 | ||||
Date | Hours | Summary | Ideas/Issues/Plans | Links/Documents |
Mon, Mar 8 | 2 | Worked on
Issues, What we learned and Design Process |
|
|
Tue, Mar 9 | 6 |
|
Final
Report Advertisement Techical Datasheet Parts List eBlock Schematic Presentation Pic Code VE Code |
|
Wed, Mar 10 | ||||
Thur, Mar 11 | ||||
Fri, Mar 12 | ||||
Sat, Mar 13 | ||||
Sun, Mar 14 |