Search results

  1. J_Sanders

    MicroMod Teensy - Theoretical pin+socket longevity

    OK, I did some homework on M.2 (which I probably should have done before posting!). It's a larger industry standard than I realized - and fair to assume it would have been axed by now if reliability were an issue.
  2. J_Sanders

    MicroMod Teensy - Theoretical pin+socket longevity

    Hi all, I have a naïve question. I have never developed a board with a socket that directly interfaces with PCB pads. I grew up blowing into Nintendo cartridges to make games run, so I have an irrational fear of sockets for applications that require long term performance (10y+). Of course, in...
  3. J_Sanders

    Teensy 4 + HiFiBerry DAC

    IMPORTANT: Please use the updated OSHPark links in the PCB Readme, here.
  4. J_Sanders

    Teensy 4 + HiFiBerry DAC

    I just posted v1.1 of this board in the repository, solving the previous stability issue with DAC2 HD. The fix was to add a 4-component USB power supply filter borrowed from an FTDI circuit note, figure 2.5 here. As of now, there are no known issues with the interface - and the audio quality is +++
  5. J_Sanders

    Need a higher speed data link to MATLAB

    For the record, I started a thread on this topic here. I'm currently using a workaround on the MATLAB side that loops the serial read and write functions with no more than 200 bytes per read or write. The effective data transmission rate is ~20Mbps using PsychToolbox IOPort instead of MATLAB's...
  6. J_Sanders

    Teensy 4 + HiFiBerry DAC

    Awesome, thanks Frank! A small update - I discovered that the crackling issue on the top-mount version of the board only affects DAC2 HD - not DAC2 Pro or DAC+. I've updated OSHpark and Github notes to reflect this. The solution turned out to be power supply decoupling - a 10uf ceramic...
  7. J_Sanders

    T4 Pin Drive Strength

    Hi all, I'm hoping to learn whether someone has already developed a function to set the drive strength, speed and other configurable parameters of Teensy digital pins (esp. T4.0 and 4.1) Something like setDriveStrength(Pin, Level) If not, is there a thread or resource explaining how to do it...
  8. J_Sanders

    Teensy 4 + HiFiBerry DAC

    I added example USB Passthrough sketches for DAC2 Pro and DAC2 HD. This effectively turns either HiFiBerry board into a 44.1kHz 16-bit USB sound card for the PC. To load these example sketches, you must select 'Audio' from Tools > USB Type in Arduino IDE...
  9. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    And I'll be darned. It WAS a ground loop. The glitches are gone if I record with the NI board on my laptop while the Teensy is powered from a different PC. Thanks Paul!!
  10. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    I had assumed that the spikes were driven by digital noise in the I2S signal - but you do make a good point about my sanity check - the NI USB card and the ASUS Xonar U7 were both grounded to the same USB hub as the Teensy board. It would be really strange if toggling pin 44 but not others...
  11. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    I don't suspect a current issue - why would pin44 cause more current to be drawn by an audio board than the other built-in SD pins? If the line out has digital filtering enabled somewhere by default, it could suppress the spikes...
  12. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Oddly enough, no! At first pass, the line out pins don't seem to have the issue. I expected to see it, since I saw them on the headphone channel and two separate PCM series audio DACs. Does the line out have any filtering enabled by default? I didn't realize that volume() controls a headphone...
  13. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    I found a reason why it may have evaded detection: At full volume on the SGTL (sgtl5000_1.volume(0.8);), the glitch is masked almost entirely by the noise floor: It's more salient at sgtl5000_1.volume(0.7): And at sgtl5000_1.volume(0.5): So the interference really only manifests if you...
  14. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    OK, maybe it's a typo in the pinout diagram. I was hoping not! I should add - this glitch is practically inaudible to me with headphones at standard listening levels. The glitches are only 2-3x the noise floor in amplitude. To hear them, you'll need to amplify. I discovered the SD interference...
  15. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Hi Frank, For all tests except for I2S2, I plugged the Teensy 4.1 board directly into the Teensy audio board using pin headers. From the pinout diagram, it looks like pin 44 is a clock pin for SDIO mode (light blue) and a chip select pin for SPI2 bus (green). The CS line toggles far slower...
  16. J_Sanders

    What is the current state of Audio Library support for the Teensy 4.0?

    Thanks Paul! I had in mind to use I2S2 by itself, to get around this issue - but I ran an SD test this morning using I2S2 (with some comical prototyping wire remapping) and got the same result.
  17. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Looks like the same interference from pin 44 affects audio on I2S2: The noise floor is higher (prototyping wires) but the glitch amplitude is the same (compare to plot from my first post, using the microSD card). If it were noise coupling onto an I2S bus line, I'd have expected to see at...
  18. J_Sanders

    What is the current state of Audio Library support for the Teensy 4.0?

    I noticed that slave mode on I2S2 is commented out in output_I2S2.cpp: // void AudioOutputI2S2slave::begin(void) Is there a known reason why it won't be able to work in a future update? Or is it possibly working and not fully tested? Thanks! -J
  19. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Thanks, Defragster! I configured each pin as OUTPUT, and set PWM frequency to 1MHz. Then, while a zero-amplitude sine wave was playing, I set each builtin-SD pin to 50% duty cycle for a 3ms interval every 100ms. I captured the Teensy Audio Board output with my NI USB-6211. Here's the result...
  20. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    I ran one more test, to rule out my acquisition hardware. Until now, all of the data was captured with an NI USB-6211 DAQ board sampling at 200kHz, but for some reason the distortion was difficult to see on my oscilloscope (high frequency noise drowning the longer disruptions?) so I captured...
  21. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    I ran a few more tests to constrain the possible causes of the interference. Here's what I found: -File reading does not interrupt PWM signals from T4.1 pins -File reading does not interrupt an IntervalTimer callbacks that toggle a pin (even at default priority) -The issue exists with the...
  22. J_Sanders

    Teensy 4 + HiFiBerry DAC

    My ten cents: you're paying for the peripherals and proprietary board layout, not the DAC IC. There are plenty of breakout boards for audio DACs, but they don't do high end power supply filtering, analog output filtering, precision clocking, etc. Implementing that stuff properly is art. In my...
  23. J_Sanders

    Teensy 4 + HiFiBerry DAC

    I'm not sure that a 100-ohm resistor could account for the difference - the two (working and buggy) boards have identical wiring, with the only difference being trace length. I used thick traces, so I expect the difference to be very minor - but I'll definitely have to measure it. It's...
  24. J_Sanders

    Teensy 4 + HiFiBerry DAC

    Hi Frank B, You were correct - it was a hardware issue! The last code I posted was a stab at adapting the problematic code from the HiFiBerry to the SGLT, albeit in Teensy-as-I2S-master mode. Using your code, I was able to run the code in Teensy-as-slave mode with no issue. I also discovered...
  25. J_Sanders

    Teensy 4 + HiFiBerry DAC

    Hi Paul! The overtone was fixed by increasing AudioMemory to 50. With AudioMemory as high as 250, I'm still getting crackling on the right audio channel on the HiFiBerry boards. The original sketch was the example code, here. This is the same sketch with the HiFiBerry code stripped out, and set...
  26. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Hi WMXZ, With the sketch I posted, AudioMemoryUsageMax() returns 2. I set AudioMemory(50) and reduced the SD write buffer from 64k to 1k - same interruption every 100ms (though its duration was shorter, since less data was being read). Here's the updated sketch: #include <Audio.h> #include...
  27. J_Sanders

    Teensyduino 1.54 Beta #6

    I posted a thread in the audio forums, but since it concerns 1.54 beta 6 and the new integration with SDFat, I'm linking to it here. The 5 second version is that calling SDCard.read() in SDIO mode with T4.1's built-in card seems to cause audio glitches, even if the data read is not used for...
  28. J_Sanders

    Interference between SDFat/SDIO and I2S on T4.1

    Hello, I'm seeing audio DAC output glitches when reading from Teensy 4.1's onboard microSD card using SDIO. I'm using Teensyduino 1.54 beta#6. Here's a sketch that reproduces the issue: #include <Audio.h> #include <Wire.h> #include <SPI.h> #include "SdFat.h" #define FILE_TRANSFER_BUFFER_SIZE...
  29. J_Sanders

    Teensy 4 + HiFiBerry DAC

    Good news - the board now works with HiFiBerry DAC2 HD! I also worked out the remaining issues with I2S slave mode on DAC2 Pro. The updated code is on Github, here. The signal quality looks great if both channels have the same sine waveform generated by the audio library. Unfortunately I'm...
  30. J_Sanders

    Teensy 4 + HiFiBerry DAC

    Hi all, Like many Teensy 4 users, I've been eager to funnel all of that computing power into some slick HD audio. This past year, HiFiBerry released two next-gen audio cards for Raspberry Pi - DAC2 Pro and DAC2 HD. DAC2 Pro builds on their PCM-5122 powered DAC+ Pro board. It can play 192kHz...
  31. J_Sanders

    Dropped data from T4.X but not T3.X using MATLAB to read output of serial.write()

    Hi, I'm trying to nail down a USB data transmission issue I'm seeing with Teensy 4.0 and 4.1. It has been a heck of a bug to chase. Here's some background info: -I'm using Windows 10 OS, Arduino 1.8.13 and Teensyduino 1.53 (I also tried 1.54 beta 5) -The bug exists when receiving data from...
  32. J_Sanders

    Writing Directly to SGTL5000 CODEC DACs

    I figured it out. In the end, I had to add the set_audioClock() function and 1-2 other minor mods. Here's my complete sketch, tested on T4.1. I changed the sound to a square wave sweep, which is generated inside the ISR. #include <Audio.h> #include <Wire.h> // Set up codec and DMA channel...
  33. J_Sanders

    Writing Directly to SGTL5000 CODEC DACs

    Hi Neal, Is your full code available somewhere? I'm familiarizing myself with with this level of T4's audio interface to achieve low latency i2s writes, and this looks like just the thing to start with. Thanks!! -Josh
Back
Top