WM8731 Board Ideas

Not sure.. I'll try to compare the versions before and after t4..
I don't have hardware for slave-mode. Maybe a T3.2 as master, connected to a second 3.2 or 3.6 as slave? If that works, I can test the T4, too.
 
Hm, I think I have an Idea what the problem is..
I think, I can repair it tomorrow or on wednesday.

In addition, for T4, the I2S Slave-code is still a TODO.
Unfortunately, next week, I'm on a short vacation, and I don't think that I can add the T4 Code this week because I have other TODOs..
 
@Bob, DD4WH's Software can do FM (80-108 MHz), the SGTL5000 gets overclocked to 234KHz in this mode - have you tried to overclock the WM8731?
 
Frank, this is all great news. I am available to test changes with T3.6 as slave (or master). I have independent directories for the old and new Teensyduino versions. This makes it easy.

I will put the overclocking onto the list of tests. With the external MCLK input to the 8731, it is easy to play with that. Bob
 
Got it working with two Teensy 3.6, and TD 1.45, but did not find the bug in the new version so far.
Well, at least I can say I have a way to test it, and can confirm, the T3.x does not need MCLK in slave mode and works perfectly with another Teensy as Master.

Going to drink a beer now.
... was too hot today.. >40°C, (104°F)... official all time temperature record here. For tomorrow, even higher temperatures are announced.

Edit: Tomorrow, I'll give it another try :)
 
Last edited:
This fix should work for TD 1.47-beta4;
https://github.com/PaulStoffregen/Audio/pull/306/commits/508ce65aca0776cbb26d11ad3e72dfa4b8418b20

Fix is for T3 only.

File is attached.


New official all time temperature record here... 42,6°C
we are not used to these temperatures here - privately almost nobody has air conditioning. So far it was simply not necessary.

Recompiled the PT8211 sketch that still works on T4 - and it is silent on T_3.5?

That is hot 108.68°F, we have no AC either - but only a normal 22.222222°C here at 72°F - which looks like the Normal for there too.
 
Thanks, Frank. I just got home and tested this out. But, it did not work for me without adding a
#if defined(KINETISK)
at the start of void AudioOutputI2Sslave::config_i2s(void). That seemed to be needed for both your file and the gitHub library and the PR.

Also, I did not look, but is AudioInputI2Sslave similar as far as a fix?

Feel free to wait for a break in the weather!! We are thankful that the NW of the US is not seeing your temperatures.
 
Now that I have looked, AudioOutputI2S::config_i2s(); is called from AudioInputI2S::begin() and so fixing the former fixes both input and output with the Teensy as I2S slave.

Also, with the #if defined(KINETISK) of post 36 I am seeing proper compile and run using Teensyduino 1.46 and Arduino 1.8.9.
 
@bob, very interesting project.
I checked the Audio Library and this seems supported in Master Mode.
Is this fully working now? I'd be very interested in trying this Codec with T4.1
Thanks much!
 
Yes, both I2S master & slave modes work fine with Teensy 4.x.

And just to keep things in perspective, this old thread was last updated (before today) in July 2019. Back then Teensy 4.0 was not yet released and only a couple dozen beta test boards existed. Teensy 4.0 was released August 2019 and Teensy 4.1 came out in May 2020.

Also since 2019, the audio design tool has been updated with specific documentation about which hardware is supported by which boards. Click each input or output and look at the right-side documentation to see if Teensy 4.1 is supported. Also scroll down to check if the documentation gives the specific pins to use on Teensy 4 boards.

The design tool was also updated to understand which inputs & output have conflicting demands for specific hardware resources. If you drag 2 or more onto the canvas you'll see a little yellow error icon if they aren't compatible. For example, the scenario mentioned above where you can't mix input with slave mode and output with master mode is now flagged as an error by the design tool, so you shouldn't need to dive into the code (as was done nearly 2 years ago) or carefully read and compare the notes in each input/output documentation to discover these sorts of hardware conflicts.
 
@Paul, you rock! Thank you!
I will go ahead with the design, I could not determine whether @boblarkin shared his kicad files in github.
 
Thanks, Paul, for the good info.

The WM8731 board was tested in both master and slave on the T3.6. I have not used it with the T4.x, but with proper wiring changes, it should be fine.
 
Hi Bob, would you be open to sharing your KiCad project? There is no wrong answer of course!
Thank you for initiating this thread - lots of good work here!
 
Back
Top