Digital Control of Attenuation – Repository for DIY

- the chips are addressed with their chip address pins ADR0 and ADR1, four combinations in total available, perfect for this project :)
I'm not sure about this, but I would have thought that different latch pins are also required to send commands to a specific Muses chip. You may be correct, though that only different addresses are needed.

Not sure I got the question about visual feedback. For starters I'm just using knobs and stuff but I'll need some leds displaying what cue mode (auto, xfade, split mode and so on) that is chosen and so on. The fun part with this mixer is that the physical user interface is not connected to the audio at all, giving room to try different physical UIs. And even to be able to swap out the whole control, it's just a thin cable going to the audio box.
I was referring to an actual screen so that one could set default values on the fly, and save it using "preferences" on the ESP32 (not EEPROM). The reason for asking about it, is that some screens, and specifically the Waveshare TFT LCD that I'm using, also uses SPI, which makes simultaneous use of the SPI bus quite tricky, but doable.

I would think that the ability to set and change default values on a project like yours could be very useful. It would negate the need to make changes to the firmware whenever adjustments to values, timings, etc. are required. It's one of the best features of my own Muses attenuator.
 
I'll find out soon if you are right about the latch hehe.

I've never written anything using two separate SPI buses but I guess that should be possible on the ESP32? A display isn't ruled out but I'm running low on GPIOs so I might look at a RP2040 or some gpio expansion. I have limited experience with the RP2040 so I'd need to check how flexible it is.
 
  • Like
Reactions: 1 user
I could never make that work on the ESP32. I even tried running SPI on different cores for the 2 devices. ESP32 is very particular in which GPIO pins are used for SPI. I've tried many combinations of pins and while some worked, they were unstable. I finally settled on the pins used as standard by die Waveshare LCD display (found in a tutorial), but with a unique LATCH pin for the Muses.

These GPIOs seem to be stable:
Code:
                 LCD    Muses

MOSI (DATA)      23     23
CLK  (CLOCK)     18     18
CS   (LATCH)     15      5
 
- the chips are addressed with their chip address pins ADR0 and ADR1, four combinations in total available, perfect for this project :)

I'm not sure about this, but I would have thought that different latch pins are also required to send commands to a specific Muses chip. You may be correct, though that only different addresses are needed.


I confirm this. Muses chips can be addressed by software. Muses 72323 have 4 address that can be set in the software command string (bit D0/D1) while Muses 73320 have 8 address (bit D0/D3).
Of course one need also to define the hardware address through the relative chip pins (Pin 30/31 for 72323 and pin 29/30/31 for 72320)
This means you can have 4 x 72323 (8 x 72320) chip on the same SPI bus with the same latch pin and these chips can be independently controlled.
 
1000002884.jpg
 
Beautiful boards! It looks very professional with the copper pours.
Thanks, looking good and being the best way is not always the same thing though 😱😅 But sometimes it is 🤷‍♂️ There are a few "keep out" areas for the ground pours on both sides.

Grounding strategies in theory and what is practically possible in some given scenario is also not the same. I wanted to limit the board to two layers which meant neither side would be a proper ground plane, but rather very very far from it. But I did spend thought on how the ground runs through the large pour areas on the top and bottom sides and work together. And it is actually a star ground"ish" layout 😁

Would love positive and negative feedback on my choices but I doubt anyone wants to dig through gerbers or CAD files 🤪


Ps:
If anyone wants a bare board (which I doubt though 😅) for free, PM me👍
 
Last edited:
  • Like
Reactions: 1 user
Damn... this is nice. Running the boards headphone amp into my Denon AH-D5000. Sounds very very good so far! Currently plugged in four NE5532 for RIAA and mixing circuits. 4-5mV offset error from the RIAA running through the MUSES72323 seems to be no problem.

1000003068.jpg
 
  • Like
Reactions: 1 users
Nice work, Magnus! I'm beginning to look at my options for controlling the MUSES 72323 so a query, if you don't mind - is the code you posted in message #238 the final version of your preferred implementation after testing the three options you listed in message #221? Thanks for generously sharing the code and design.
 
Nice work, Magnus! I'm beginning to look at my options for controlling the MUSES 72323 so a query, if you don't mind - is the code you posted in message #238 the final version of your preferred implementation after testing the three options you listed in message #221? Thanks for generously sharing the code and design.
All three work perfectly fine but I decided to use "muses_72323". My code in #238 is not bug free but I can't edit the post to update or remove it :mad:(n)

So I enclose the latest work in progress version here:
 

Attachments

  • musesmixer.zip
    4.2 KB · Views: 35