Also check your 3.3V power connection. The audio shield gets its power from this pin (assuming the unseen wiring underneath from sockets to audio shield is a simple 1-to-1).
Desolder the blank MKL02 chip (purchased from a non-PJRC source) and replace it with a pre-programmed IC_MKL02Z32_T4_QFN16 chip purchased from PJRC.
Assuming your PCB design is correct and nothing terrible has happened (like 5V or 12V...
I'm not a fan of Arduino's architecture names. My general feeling is we need to make the best of a bad situation.
Even though all the Teensy 2 and Teensy 3 hardware is discontinued, we're still publishing software support. So today we're...
Pin 6.
The I2S pins are documented in the design tool (right side panel, scroll down to "Hardware")
https://www.pjrc.com/teensy/gui/?info=AudioInputI2SQuad
https://www.pjrc.com/teensy/gui/?info=AudioInputI2SQuad
The installers are all still on the server. Just right click to copy the download URL, then paste in your browser address bar, but before you press Enter edit the 3 digit number for the version. Likewise for the beta installers, or you could...
If it's Ubuntu 22 or older, everything should work normally. As Defragster explained, use Boards Manager from within Arduino IDE.
It also work on Ubuntu 24, but you might need to change a security setting for Arduino IDE to run at all.
The old...
I can confirm you're on the right path.
The code was not designed or tested for what you're trying to accomplish, so you're almost certainly going to have some errors to resolve. The good news is the code is open source, so you can try to...
Here is my first attempt to build the Windows installer with ZSTD compression.
https://www.pjrc.com/teensy/td_160-beta1/TeensyduinoInstall.zstd.exe
This download is much more reasonably sized. :)
Previously I was using UPX, but it's no longer...
I should also mention, the toolchain change broke some people's programs which depended on the old constexpr behavior for Wire, SPI, and HardwareSerial. If you used any of those within a C++ construtor, there was a good chance your program would...
If you want to continue trying to narrow it down, obviously the next step is to try 1.58.
Then using Arduino 1.8.19, you can try all the beta version between 1.57 and 1.58, or between 1.58 to 1.59. Just look at the list of thread on the...
If you've been using Arduino IDE 2.3.2, just click Boards Manager, search for "Teensy", and then click the version number drop-down list. It should automatically have 0.60.1 now.
The beta tests start with "0" so Arduino IDE won't recommend it...
Pretty sure they're separate, and it's something specific about the forum because emails from the main server go through to Outlook and Hotmail.
The app signing will probably start to be trusted as more people click the button to report it's...
Anyone using MacOS? How about old Macs?
I ran into a lot of problems with the old MacOSX builds. Apple discontinued support for notarization, which newer MacOS requires, to be done from older versions of Xcode. The newer versions only run on...
If you're controlling motors or solenoids or other inductive loads, high speed clamping diodes are critically important to prevent high voltage spikes when the current suddenly switches off. While this is true with all microcontrollers, the pins...
To be honest, I really not sure. I haven't really ever needed to worry about exactly how the ARM core clears the NVIC pending state. It happens automatically somehow, but I can't say from memory exactly how. You'd need to dive into the ARM...
Yes, wires are ok if you keep them reasonably short. Longer than about 4 inches / 10 cm would be risky.
Pins 6, 10, 11, 12, 13, 15 are optional. If you leave those off, try running examples like Synth > Guitar which don't use the SD card.
ARM implemented a nice "tail chaining" optimization in the hardware, because it is a common case where 1 or more other interrupts are already pending (at the same or lower priority) when your interrupt finishes. Rather than restoring the...
Every interrupt has a pending bit and a priority level. The priorities are 0 to 255, where 0 is the highest.
When the hardware event occurs, the interrupt's pending bit is set. The NVIC (Nested Vector Interrupt Controller) looks at all those...
One of the other changes I recall, but the details of when and which specific versions are now pretty distant and hazy memory, involved changes to the device discovery protocol. The protocol specifies a way for additional info about discovered...
Yes. In Boards Manager, 1.57.3 is Teensyduino 1.57.
The ".3" means it's the 4th time it's been packaged for Boards Manager (we started with ".0"). It's still the same 1.57 version.
Over the last year or so Arduino CLI / IDE has made changes...
Easy. Just download the 2 installers (on both sites, scroll down as the newer stuff is at the top of each page). Run Arduino 1.8.19 installer first. Then run the Teensyduino 1.59 installer. If you went with the default location in Arduino's...
In case anyone's wondering about 1.60-beta1, I lost a couple days because an update broke my Yubikey-based code signing for Windows. Things used to be so much simpler when it was just files and I could build inside a virtual machine. Just now...
Normally you can't get exactly 20 MHz because the timers run at 150 MHz and they can only create waveforms that are an integer division of 150 MHz. And to get exactly 50% duty cycle, that integer must be an even number, because you need the same...
First quick look, I don't understand why this?
Normally with DMA usage you would have the ADC or ADC_ETC trigger DMA only, and then DMA generates the interrupt when transfer is complete.
I also tried looking for "teensy-package-1.59.0.tar.zst". In the last 16 hours, looks like 174 downloads. All 174 have status 200 or 206. Not a single 404 status on any download over the last 16 hours.
Here are the logged downloads over the...
I looked at the web server logs. In the last 16 hours the package index has been downloaded 11175 times.
The majority are from 2 IP numbers, and interestingly those 2 are downloading it from the old URL before we officially supported IDE 2...
Here's an example (at line 57):
https://github.com/PaulStoffregen/Audio/blob/83434c797952f550d9e0305a0c14c7832006f061/examples/Synthesis/Wavetable/MidiSynthLarge/bassoon_samples.cpp#L57
Of course it's only possible if they are const data.
I gave FlexSerial a quick try, and indeed it does work with MIDI.h.
#include <FlexIO_t4.h>
#include <FlexSerial.h>
#include <MIDI.h>
// Demonstrate using FlexSerial for MIDI OUT, inspired by:
// https://forum.pjrc.com/index.php?threads/75818/...
Pin 30 is an XBAR pin (see Kurt's awesome pinout diagram) so you can reassign it to be the receive input for any of the 8 normal serial port. Details on the hardware serial page.
Pin 32 is a FlexIO pin. So you could try creating a FlexSerial...
It depends on which library code you use, but usually yes, most libraries using SPI support CS on any digital pin.
Maybe you're asking about a display, perhaps ILI9431 or ILI9488 or ST7789 since you also mentioned "D/C"?
This driver code exists within the audio library.
If you really want only the driver and not the rest of the audio library, you could dive into that code and copy the parts you need.
Yes, and that exactly what happens by placing the I2S node on the design tool, which ultimately causes this line in your program:
AudioInputI2S i2s1; //xy=388,50
This line causes an instance of the AudioInputI2S class to be...
Not for beta1.
Right now just running the script to look for compile errors, because all too often some subtle change in the core library has broken other stuff.
When any library the script builds has examples with errors, they generate a lot...
The script is also finding a different error with MTP_Teensy example CircuitMicroPython.ino.
Maybe it was written before the USB host library had the HID classes?
This 31 page tutorial is the best way to come up to speed on the design tool and basics of the audio library.
https://www.pjrc.com/store/audio_tutorial_kit.html
There is also a 45 minute full walk through video, so if you get stuck on any part...
I'm running the script which checks all library examples for compile errors. It's finding several in MTP_Teensy. :(
LFS_Program_MTP_Simple_Datalogger
LFS_SPI_MTP_Simple_Datalogger
SD_Program_MTP-logger
SD_SPI_QSPI_MTP-logger
simple...
Almost all projects require interrupts, for pretty basic stuff like USB communication and the timing functions like millis(), elapsedMillis, etc.
But if you truly don't need any of that stuff and your code is doing to really tight timing, sure...
Looks good and debug optimize builds. :)
Committed the pure virtual change.
https://github.com/PaulStoffregen/USBHost_t36/commit/f9971d3ddfc0403a369fc5888b45a68f6dbf4d45
That appears to be the issue, if I change the virtual functions in this class to:
virtual hidclaim_t claim_collection(USBHIDParser *driver, Device_t *dev, uint32_t topusage) = 0;
virtual bool hid_process_in_data(const Transfer_t...
Had a quick look, it seems like there are several virtual functions in USBHIDInput that are declared but not defined, intended to be implemented by derived classes. They should be declared as pure virtual (e.g. "virtual void...