DJ Status Report for 2/21

At the beginning of this week I spent a bit of time doing some final preparation for my design presentation. Also towards the start of the week I did some work with David with signal generation on the Pi. Because of the change in how the GPIO pins work on the Pi 5, none of the libraries seemed to have the functionality that we needed (hardware timed and able to create a wave of multiple pulses at once) to achieve the accuracy we want, so we were testing a method using a Linux kernel driver for IR that had mixed reviews on the Pi forums. This didn’t work so we are migrating our design to use a Pico to handle the IR hardware interfacing.
At the end of the week I pivoted and got the Vosk speech to text working on the Pi with our breakout mic.

I am still on schedule if not slightly ahead again. The Vosk took less time to integrate with the Pi than I had anticipated, and I’ll be able to get back to signal generation when the Picos arrive next week so the schedule is looking good.

Next week i’ll be spending some time on the design report document. I’ll also be working (along with David) on the signal generation and decoding code on the Pico as well as the code to accurately query Vosk.

DJ Status Report 2/14

This week, most of my time was spent working on the design presentation and preparing to present, as I am presenting this presentation. Other than that, I finalized my design research into our IR communication protocol (pictured below) and worked out the encoding of letters and the timing of the protocol to ensure that we meet our use case requirements for speed and latency (200-250WPM and 500ms latency), while making sure that we’ll have enough leeway to handle errors. At the end of the week, I also worked on the code for our Hamming encoding, testing to make sure that it would fix single bit errors and detect 2 bit errors for our custom letter encoding.

I am well on schedule with my portion of the project, slightly ahead as I hadn’t planned on beginning coding until next week.

Next week I believe that a good chunk of my time will be spent working on. the design report. I’d like to also decide on a Raspberry Pi library to use for signal generation and detection through the GPIO. Changes with how the GPIO work from the Pi 4 to 5 have apparently rendered a lot of GPIO libraries incompatible with the Pi 5, so this will require some research to determine a good fit for our project. Hopefully I’ll be able to test some simple signal generation with Todd and the waveform generator at the end of next week.

 

Team Status Report 2/14

We believe the most significant risk to the project is still the level of environmental noise and interference that will occur with the IR communication. Since our parts have only just arrived at the end of this week, we have so far been mitigating the risk with plenty of research and design into error detection + correction to strengthen the end-to-end accuracy of our solution. In the coming weeks we plan on integrating the LED/Receivers early on with our signal processing code to determine the actual risk and if different parts / more design will be needed to mitigate.

 

The only minor change to our design is we will likely be using 940nm wavelength IR light instead of our proposed ~1400nm due to higher availability. This will likely be an improvement for the project in general, the 940nm parts are cheaper, have better directivity, and are more suited to IR serial communication due to their commercial use in remotes. This choice will likely incur a small additional cost of us needing to purchase clear IR filters to place on the glass lenses as a safety backup, since the smaller wavelength is technically less safe (although still low enough power to be completely harmless) it would not hurt to include the filters.

No changes have occurred to the schedule, we are well on track and likely a bit ahead of schedule for now.

DJ’s Status Report for 2/7

At the beginning of this week I did some initial research into serial communication protocols as well as open source speech to text to determine a rough estimate of the specs needed for our parts. I assisted in making a rough budget sheet and determining vendors for all of our parts. Then I completed the order forms for all of the components needed for our MVP.

Later in the week I experimented with Vosk speech to text, which we’ve decided to use for our project because it provides accurate, low-latency, live transcription. It also offers a variety of models of different sizes.

I also continued my research into serial communication protocols, and IR communication protocols specifically. I’ve determined some rough design ideas, specifically using a 38kHz carrier frequency combined with the ideas underlying the NEC infrared protocol (PWM) and Hamming error correction (likely 10,5) to achieve our goal of low latency, low error transmission that can support 200-250 WPM.

We are on schedule, and having been able to put in the order for all of our needed parts, as well as having the Raspberry Pis arrive already at the end of this week, puts us in a good place to continue well on track next week.

Next week a lot of my attention will be focused on the Design Review slides as well as planning for the Design Report. In terms of deliverables I plan to implement the groundwork for our encoding/signal generation and get the code running & testable on the Raspberry Pi.