Xingran’s Status Report for 3/6/2021

This week I have finalized the microcontroller block diagram, though we had several component/interfaces changes this week and there were several intermediate versions. The microcontroller design document is also updated accordingly.

Microcontroller Program Design_0306

I have setup the STM32CubeIDE environment for developing the stm32f4 board, and looked at the examples and tools for setting up pins, controlling interrupts, etc..

I had made some feasibility studies including:

  1.  Multiplexing 4 audio inputs at the same time. I made sure the ADC we use have TDM output capabilities, and though our board itself does not have software support for TDM protocol, with SPI interface we could read the data line in order, and get the 4 channels in order.
  2. Using DMA for frequent and high bandwidth data transfers. I confirmed that DMA can support audio input through SPI, output through I2S, and LCD output through SPI.
  3. Only using SRAM for DSP runtime data. I studied the flash on stm32 board and know that the endurance and latency of flash writes make it infeasible. So our run-time writable memory is confirmed to be only SRAM. (Sam will also mention this)

I did not finish defining all the interfaces and headers in program, because we had several component and interface changes which lead to overall software design change. There will hopefully be no more changes in the future and I will finish the following next week:

define code interfaces/function prototypes; test some of the protocols on the discovery board (I2C, SPI, UART).

Adam’s Status Report for 3/6/2021

REV 1 SCHEMATICS: I completed the schematics for Rev 1 and sent them out for review on Monday (3/1/2021). The response from our reviewers (our TA and advisor) was mostly positive, but our TA identified a new ADC component which could offer superior performance over our existing solution, which led me to redesign the input stage with input from my teammates and our advisor on Thursday/Friday. The new input stage features a 4-channel audio ADC which communicates with the microprocessor on SPI and a new audio-class amplifier for the preamp block.

REV 1 LAYOUT: In parallel with the above, I began laying out the Rev 1 PCB board. Rev 1 is a mixed signal board including both audio and RF signal paths, as well as moderate-frequency digital signals, necessitating care in layout.

As can be seen in the image above, I’ve finished internal layout for most of the main blocks, including the Analog Effect, LCD bus, and BM83. Most of the Power Module and part of the UI module remains to be routed, but I expect that I am close to completion because the routing for these remaining components is less complex than what I have done so far.

DESIGN REVIEW PRESENTATION: I will be delivering the design presentation next week, so I have been working together with my teammates to create the slides and understand the content I need to present, which includes substantial work that was not done by me. We plan to hold a dry run presentation on Sunday before the slides are due.

I had previously hoped to finish the layout and order the board by the end of this weekend. However, due to the late redesign with the ADC, it seems more realistic to let this deadline slip by a few days and order the PCB before Wednesday. Finishing the layout and all of the associated tasks necessary to order this PCB will be the main focus of my effort in this coming week, along with participating in the design review process. Overall impact of this change on our project schedule should be minimal.

Team Status Report for 2/27/2021

This week we delivered our proposal presentation and finalized the interfaces between systems, specifically between modules and the microcontroller module. This helped Adam with the schematic for the PCB. Also, we selected components and finalized a budget, which is crucial so that we can order our STM32 discovery board and get working on software and firmware development.

We need to review the schematic, both individually for errors, and also with Tom and Ryan to get some expert opinions. It is imperative to get Rev1 finished asap so that we can test it and make changes as needed for the final PCB.

We did not change any requirements, since we fleshed those out before the proposal presentation. However, we made final choices for a lot of components, which helps to firm up our direction.

This has been a huge week for tuning our system specification and documentation. We’re looking forward to the schematic review and to play with the discovery board!

Sam’s Status Report for 2/27/2021

This week was proposal presentation week! We got to see some cool projects, many of which are audio or signal processing related. We received positive feedback from other groups!

This week I finished up the UI trade, outlining our user interface module’s requirements and looking at different options for components. This required research into different kinds of displays (such as TFT LCD pros and cons), and I learned about how LCD screens work in the process. One constraint we had is being able to power it using a 3.3V supply, which limited our options. From there, I prioritized cost effectiveness and size. We want to make sure the UI is easy to navigate and able to enable a user to quickly adjust parameters. I also selected a rotary encoder with a button, but we ultimately ended up getting a new model of the same one for cheaper!

I also worked on the interface  between the UI module and the microcontroller. I got my hands dirty looking at the LCD screen’s data sheet and also how utilize the FMSC feature of the microprocessor in order to efficiently connect the LCD. I did some research on the pinout for the rotary encoder and switch, and found some GPIO pins to connect it to. Finally, I researched different footswitches, since we want to include a toggle switch for quick effect-toggling during a performance. I learned about single, double, and triple pole switches and also single, double, and triple throw switches. While a TPDT switch is standard for a lot of guitar pedals, we can have the microcontroller process the toggle, so we really only need a SPST switch. The other thing I looked for was a clicky/tactile feel when you toggle the switch since I know I personally like that feedback when I am using an effects processor.

I also worked with Adam and Xingran to finalize a budget for our project, selecting our components.

I looked into implementing digital effects, and have started a  game plan for each (EQ, reverb, chorus). Next week I will begin to write some MATLAB code to actually test my architected designs. I’ll use the sample guitar input I provided Adam to test the analog effect and hear how the effects shape the output. The UI to microcontroller interface took longer than expected, so I did not work on this as much as I had hoped this week. Progress should be a lot better now that I can focus on it this week!

Xingran’s Status Report for 2/27/2021

This week I have defined the interface between the microcontroller and all other modules. I looked into the STM32F407VG microcontroller documents and BM83 documents, studied and listed all the control protocols needed, and completed a high level code design.

Microcontroller Program Design_0227

I have also order the discovery board.

While I am designing the code architecture, I added a few other things to my original schedule:

  1.  organize the starter code and examples for the uC and BM83 module into a Github repository to start development
  2.  find out the JTAG programming interface and booting sequence of these two modules
  3.  discuss the DSP (high-level) algorithm workflow with Sam to confirm my current assumptions

I planned on finishing them but have not, so they will be for next week. Next week I also need to defined all the interfaces and headers for the code, and decide whether we want to use DMA.

Adam’s Status Report for 2/27/2021

ANALOG EFFECT: This week, I completed the Analog Effect circuit (a 3V3 clone of the Colorsound Overdriver). By importing WAV files into SPICE, I was able to verify that the circuit produced the intended modulation effects, and was not functionally affected by my revisions to make it 3V3 compatible. This gave me the confidence I needed to implement the circuit using real hardware in the Rev 1 Schematics.

REV 1 SCHEMATICS: As planned, I spent the majority of my time this week on the schematics for our Rev 1 board, a near-complete prototype of our project hardware which has fewer audio channels but contains all of the necessary peripherals. I have sourced essentially every component in the design, and I am filling out a BoM for delivery to PCBWAY in conjunction with the schematics.

Currently, the schematics are approximately 90% complete, pending feedback from my teammates and a few small changes. The plan is to complete the schematics in the next few days, followed by a design review with our TA / advisor. At that point, I can begin laying out the PCB with a goal of sending it out for manufacturing by around the end of the coming week. This will enable us to verify our software on actual hardware.

In the coming week, I will also be preparing to give the Design Review presentation, which is my designated presentation to give.

90%-completed schematics are attached to this update.

Rev 1 Schematics V0.9 WIP

Sam’s Status Report for 2/20/2021

This week I did some research on a good choice for our analog effect. I concluded that overdrive/distortion would be the most valuable analog effect due to the difficulty in effectively modeling transistor clipping in digital software. From there, I looked at available reference schematics to see what options would be quick to implement, without the need to re-invent the wheel. I was also hoping to find something relatively unique but fully practical. I found a vintage 70’s analog overdrive effect called the Colorsound Overdriver and loved the sound after watching some YouTube demos of the pedal. Not only did it have a great sounding overdrive, but if you boosted the gain high you could get a nice distortion, and even a fuzz effect at the highest gain. It’s a super versatile effect, and it would be a cool bonus to add to BARI given that clones of the effect cost $100+ and the original can sell for over $1000 (according to Reverb).

I narrowed down our MVP digital effects to be EQ, reverb, and chorus. EQ will be useful for guitarists who want to adjust the tone of their Bluetooth speaker, since unlike traditional guitar amps, the speaker won’t have bass/treble dials. Reverb will be great for singers or even instruments who want a fuller sound, and it is a staple effect among musicians. Chorus is a modulation effect that gives the impression you have a “chorus” of guitars playing together, and makes for a good combination with the other effects. The team helped me narrow down some metrics to test the quality of the effects, such as control resolution for adjusting parameters for the effects. We are thinking of using MATLAB to compare spectrograms of the MATLAB simulations of the output of each effect to BARI’s output to determine if we successfully implement the effects on BARI.

I also worked on some miscellaneous tasks such as setting up the website and providing information for the use cases slide for the project proposal. I need to finish writing about the System UI in our system spec. I am behind on this task, but will get it down early next week. Next week I will provide Adam with a file representing voltages from a guitar input so he can simulate the output of his Colorsound Overdriver circuit. I’ll also be available to help with the effect if needed. I will begin writing MATLAB scripts to simulate our digital MVP effects in software, which will be my focus for the next couple of weeks.

Adam’s Status Report for 2/20/2021

The portions of the project for which I am responsible remain on track or ahead of schedule. The objectives I focused on this week include:

PROJECT TEST PLAN: I wrote the BARI Test Procedure document, outlining a set of ten quantitative tests that we will perform at various points throughout our project to verify System Requirements. In my section of the proposal slides (metrics and testability), I linked these tests to the System Requirements they verify. Most tests remain as outlines, but several are fully written out with instructions for recording results.

PRE-AMPLIFIER: I have selected an overall topology as well as specific components for the BARI pre-amplifier functional block. Through the use of a switched gain block and attenuator, the pre-amplifier will achieve tunable gain to within +/- 1 dB across a 70 dB range. See Slide 8 of the Proposal Slides.

ANALOG EFFECT: Sam helped me downselect to the “Colorsound Overdrive” pedal, an analog effect that is only available in expensive pedals and will be an excellent selling point for our product. We have reference schematics from several sources for the Colorsound, but it’s my responsibility to (1) Verify the correctness of these schematics and create a Reference Overdrive Pedal model in SPICE, and (2) redesign the circuit to function at 3V3. (The original circuit runs from 9V.) As of right now, I’ve subdivided the Colorsound Overdrive into three stage (fuzz face, tone stack, and output amplifier), and I’ve created both 9V and 3V3 versions of the fuzz face stage.

REV 1 SCHEMATICS: This weekend I am beginning to work on schematics for our Rev 1 circuit board, which should be a fully functional prototype of the system. I have an aggressive deadline to complete these schematics in time for a schematic review on 3/1.

In the coming week, I plan to focus entirely on finishing my redesign for the Analog Effect and finishing the Rev 1 Schematics. This will also enable me to help the team create power and fiscal budgets, since the Rev 1 (and Rev 2, if necessary) boards will be a large part of those budgets.

Xingran’s Status Report for 2/20/2021

This week I have finalized the trade and component selection of the power module and the microprocessor.

I have drafted the solution approach part of the proposal presentation.

I have combined all our teammates’ documents to make the proposal slides, and prepare for the presentation. (Please refer to proposal slides)

microcontroller comparison Solution Approach


Next week:

I will study the microprocessor and Bluetooth module development resources, and deliver a high-level design (possibly in terms of block diagram) of the software. I will purchase the microcontroller.

Team Status Report for 2/20/2021

This week we got ready for the proposal presentation, which required firming up our requirements and planning out our team schedule. We spent a significant amount of time on the requirements, breaking them down for each subsystem (pre-amp, Bluetooth, power, UI, microcontroller), and also identifying overall system requirements. This process helped to more clearly define the project and our MVP goals.

We accounted for risk management in our master schedule, and so far do not anticipate any challenges that could jeopardize the success of our project. However, PCB production and shipping time is an unknown, but we assumed the worst-case reasonable time in our schedule, and we still have time for 2 iterations of the PCB. Since last week, we decided on specific effects to focus on (analog overdrive, digital EQ/chorus/reverb), certain aspects of the UI to deliver (USB-C charging), and performed a trade study to analyze component options for each subsystem. The next step is to create a budget and start ordering parts, which we look forward to doing next week!