Voice Activated eBlock

Team Members: Ron Feliciano, Eric Frohnhoefer
CS 179J: Senior Design Project in Architecture / Embedded Systems


Engineering Notebook / Log

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.  
Look around for Voice Recognition   Software for embedded systems.  

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.

MERL

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.


Worked on cleaning up this site, and found a WYSIWYG editor for OSX, so that I can edit even when not on desktop.

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?


Ended up just using Mozilla Composer as mobile editor.

Off of Edward's Log:

Toy Car

Amazing Science

Robot

Sun, Jan 11

4

Checked the Amazing Science link from Edward's Log.


Took a look at Eric's Furby link. Looks interesting.


Took a look at Edward's HM2007.


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.


The fuby link looks really interesting. It mentioned that they used a custom board for their CPU, RAM and ROM. I think eventually the eBlocks would have to move to a custom board if enough are to be built to make them really inexpensive. But for now that would be overkill for our project.


The HM2007 looks like it would work. But at $50 per board its too expensive. I need to find something similar with maybe less memory (10 words vs. 40 words for the HM2007).


Looked through the SmartHome site and found the HALbasic Introduction Kit. It looks very promising, but requires a PC to program the actual relay.


The Voice Operated Light dimmer (SmartHome Lights) is very similar to
what we would like to do. Too bad it isn't scheduled to ship until 1/31/04. Also the instructions aren't available so I can't be sure if it's programmed using a PC.


Looked through the PIC tutorial. Not quite sure if it's the same PIC that we are going to have to use, but hopefully it is. The pinouts and functions are explained pretty well in the tutorial.

Furby


SmartHome

SmartHome Lights


Embedded Speech Platform


VSTAR-IC

PIC Tutorial

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 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 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 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 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        


Last Updated: 01/06/04