There's a fix pending to the dynamic update stuff I believe, I suggest follow this thread for updates, or to
try the patch directly:
https://forum.pjrc.com/threads/64446-Dynamic-Audio-Connection-Bug-A-new-one!
The MCP23017 datasheet says it supports 100kHz, 400kHz and 1.7MHz I2C, and has a section on timing requirements for each mode - that
probably explains why 1MHz is problematic.
The Teensy 4 chip isn't rated for more than a few mA per pin, I think you are just overloading it.
However I've had a look at the Vishay datasheet for the 6N137 - you should be feeding it between 5mA and
15mA...
Its called MIDI because you just named it as such. MIDI_CREATE_INSTANCE is a macro that defines an instance
with the name you give it (last argument to the macro).
If you are lucky the current was limited enough not to damage the protection diodes on the chip. 10k is
a fairly large value and limits the current to 1.7/10k = 170uA.
Definitely rather noisy, dynamic mics are low impedance and a good mic preamp is needed to get a good
noise figure - otherwise there's little point moving to a professional microphone in the first place. And without...
34 and 35 are on the unpopulated microSD pads (light blue section - they are silk-screened with the light blue names).
MISO1 is not brought out AFAICT - not every pin can be brought out on the T4.0
There should be a definite noise reduction if using a separate, linearly regulated, analog supply on any ADC or DAC for audio -
digital supplies for a high speed CPU are typically attrociously noisy from DC to many...
You will be seeing the battery voltage droop under load - SDcards are very spiky loads as the internal erase cycles are
heavy current users (there's a whole boost converter being run on the silicon to generate the...
I think all you need to do is run the ADC at full tilt and average as many readings as fall within the measurement period
(which is presumably 1s for 1Hz RBW and 10ms for 10Hz RBW?) You are doing a fixed number of...
The way "thru" works in such devices is using software I think, since the use of the output port has to be shared
between local output packets and "thru" packets without mangling either. I think its common to be able...
BJTs are typically slower than MOSFETs if the MOSFET is driven with enough current - however a
large MOSFET can have a lot of capacitance and need quite high currents to switch fast - so it
very much depends on the...
If you do some testing you'll find they are simply not reliable enough, fortunately, as a ceiling fire in a public space is about the
worst-case scenario there is - you do not want to go there, trust me.
Have you...
Then you have no headroom for a regulator. I'd suggest separate supplies for Teensy and amp in that case.
Digital and analog audio don't mix well as even a few mV of digital hash can be highly audible. The...
A low drop out linear regulator capable of the current and with a suitable voltage. There are 1000's - I am not a search engine!
Digikey/Mouser/Farnel - they have search facilities.... What battery voltage though?
As I said use a separate linear regulator for a quiet supply - this means you need enough voltage headroom in the first place.
You may still have the issue that the source isn't clean - do you have a schematic for...
Ah, the TDA2822 has only 24--30dB of PSRR, so it definitely needs a linear voltage regulator all to itself to be "quiet"...
Even the PAM8403 class D chip does a lot better than that (59dB PSRR)
The FFT utilizes a factorization of the DFT matrix and divide-and-conquer to calculate the DFT more efficiently,
its just algebraic simplification at heart.
Its common, but not necessary, to factorize by powers of...
I can't see a reference design - the datasheet does explain about noise-reducing components on the digital signals,
but you seem to have used 100nF for a noise-reducing capacitor value which is far too large. 33pF,...
In the arm_cfft_radix4_q16 call, part of the CMSIS library provided by ARM:
arm_cfft_radix4_q15(&fft_inst, buffer);
You can look up the docs for these arm routines by googling the function names. There's also a...
Or is shorted, or lacks proper pull-up resistor - I suggest using a multimeter and turning the encoder very slowly to check the
voltages are changing as expected on either signal.
First an accelerometer gives acceleration readings, m/s^2, not m/s
Secondly magnitude _is_ amplitude (without the phase).
To calculate totals you have to add magnitude-squared, which is proportional to power,...
The problem is that buffer is actively overwritten everytime there's enough new samples, so you can't
guarantee to read a consistent set of frequency data without taking a snapshot like the code current does.
The...
Are you using physical pull-ups on the encoder lines? internal pullups are weak and wouldn't usually be enough
for a signal that goes off some distance in a cable run. 4k7 is a good general value for a physical...
Have you used AudioMemoryUsage() and AudioMemoryUsageMax()? You have a lot of objects, 20 blocks sounds stingy to me.
You are perhaps hearing every other block being missing due to an inadequate number being...
The IM69D130 has an acoustic overload point of 130dB (hence the 130 in the part number??). Thus for normal levels around 60--70dB you'd
expect it to be 60-70dB down from full-scale, suggesting an amplification factor...
It doesn't currently return complex values. It wouldn't be hard to create a version that produced complex though.
The code uses dual 16 bit operations on the two halves of the complex value for efficiency, which is...
Not a great idea to have long wires with fast logic signals - if you have to run longer
cables, twist each logic signal with a ground wire return to reduce high-speed crosstalk perhaps?
Typical fast processors like the iMXRT1062 you need to keep edges really fast - for instance unless the GPIO
is set to hysteresis mode the datasheet says a max transition time of 25ns is required - that's pretty severe.
see this thread: https://forum.pjrc.com/threads/46866-string-help
Also posting an image of your code makes it impossible to copy and paste the code into an IDE window - few are going
to help you if you force them to...
By far the most likely explanation is the interrupt pin is changing multiple times. How are you driving the
PIN_IN ? If by a mechanical switch or button you will see bouncing.
use delayMicroseconds() or...
I thought I'd do a bit of proof-reading myself and found this, also on the Audioshield page:
Actually isn't 'sub-audible' referring to volume level, not pitch? Infrasonic perhaps?
A few weeks/months ago there was a thread about someone having trouble with this library, you might
want to hunt it down and see if you've addressed the issues from that thread, I suspect so.
Sounds like the clock signal is seen as "active" when the DMA is configured, so it triggers immediately - this might be
due something expecting active-low when the signal's active-high, or vice-versa, so long as the...
Phase accumulators typically have many more bits than used to index the table - the fractional part gives the ability to
interpolate between neighbouring samples and greatly reduce artifacts - have a look at how this...
My guess: you have a file open in write-mode when the SDcard is pulled, so that the close() call hangs trying
to write back the state.
Is the SD library designed to recover from this situation? Normally pulling a...
The discrete wavelet transform (DWT) is one way to improve the frequency resolution at low frequencies without compromising
the timeliness of information at higher frequencies in a spectrogram. However its more...
Yes, unless you have isolated (ie battery powered) speakers do not use the headphone socket, use the line-outs only. A battery powered
speaker with the charging lead connected is not always isolated, note.
100ns for 300kHz is an aperture of 0.2 radians - that might be just small enough?
One technique used for RF amplitude measurements is a simple diode detector followed by table look up
to correct for forward voltage...
For undersampling you'd use an ADC with a short aperture time. It takes effectively instantaneous samples so your
signal aliases down unattenuated into the Nyquist band. You may have to buffer the signal of interest...
For steppers the acceleration and deceleration miss-step thresholds are similar as they depend on the inertial torque
compared to the dynamic torque available. If you add a braking mechanism to a stepper system it may...
Just a thought, it ought to be possible to setup DMA driven SPI between RPi and Teensy...
At 16MHz clocking thats maybe as little as 100µs for 200 bytes. Might be quite complex to
set up though.
A pull request is a your GIT branch taken from the relevant repo, add your fix and submit it for consideration - yes
document it! I think you would take it from here: https://github.com/PaulStoffregen/FreqMeasure ...
S/PDIF voltage is meant to be between 0.2 and 0.6V, you might be blowing away the head end of the S/PDIF->analog converter?
A 240:100 ohm divider will take a 3.3V logic signal down to about 0.5V into a 75 ohm load....
The LTC2315-12 needs 14 clocks to read each sample. You need 40ns
idle between SPI transaction and that leaves 210ns to handle 14 bits, if you want 4MSPS - something like 75MHz SPI
clock is needed for that. You'll...
How many bits? How many samples? That sort of rate suggests using a parallel interface ADC, which will need quite a few pins and some low level
programming to read the pins as a group via DMA I think. You will be...
Ah, at that price I'm not surprized I haven't seen one - the thin plastic ones I have used (I think its basically sandwiched in
a bit of flat-flex pcb - not likely to last forever) These work fast enough epoxied into...
All logic chips and most analog chips require supply decoupling for stable functioning. ADCs and DACs in particular require careful attention
to this and the datasheet should explain whats needed. Values, types and...
All logic chips and most analog chips require supply decoupling for stable functioning. ADCs and DACs in particular require careful attention
to this and the datasheet should explain whats needed.
The convention makes extending the hardware with more units backwards compatible I think - '1's are
only ever written to flags the code knows about, and writting '0's to unimplemented parts of the register
is benign...
If you're not going to paste the full text, you make it hard for us to help.
Alas you are mistaken.
Please copy/paste the full text of the warning(s). >>> As text. <<<
The 10k pullup is usually not an issue for standard logic signals, or if used as an output, but sometimes might
cause issues when bussed to some chip with internal 100k pull-downs or something like that.