Generally speaking, 12V addressable LEDs need normal 5V digital signals. So far we've not been given a link or datasheet or other solid tech info about the particular LEDs being used in this project, so of course any...
Like Teensy 3.5 & 3.6, which were about a 2X step up from Teensy 3.1 & 3.2 but still essentially the same chip architecture, any Teensy using the IMXRT1170 chip will be a 4.x model number. Even though it's a higher...
Ok, it's official, here is the T4 bootloader chip soft release!
https://www.pjrc.com/store/ic_mkl02_t4.html
The web page is currently blank. I will begin filling in the tech info later today.
The T4 bootloader chip will be a completely separate part from T3. Much as I'd like to make "one chip to rule them all", the IMXRT vs Kinetis differences are just too much to support with a single chip.
Whether I...
I programmed a few more chips and put them onto virgin Teensy 4.0 & 4.1 boards. Now I have these 8 boards which I'm using for "final" testing.
1 of these 8 is the Teensy 4.0 which had crystal startup problems. ...
Still another update. I'm back on the T4 bootloader chip after the weekend. We had a large special order come in and of course we've been running short-staffed due to Covid social distancing, so Robin & I spent all...
Seem unlikely...
There are 2 irreconcilable forces here:
1: We can not offer a boards package (until Arduino's software improves)
2: He will not accept any other way (and we do offer a headless option meant for...
Sloeber on Eclipse supports Teensy
https://eclipse.baeyens.it/how_to.shtml#/i
So do Visual Micro and PlatformIO, which today are the most popular non-Arduino software.
The only thing not yet supported is...
Unless using that USB-RS485 adaptor is a hard requirement, I believe you should consider connecting a RS485 adaptor directly to one of the hardware serial ports. Many RS-485 protocols can be sensitive to latency. ...
This looks like a case of believing nobody has given you an answer because you simply don't like the answer you did get. So maybe you're unable to see that answer, like it is invisible or something?
To repeat the...
Isn't turning a square to a pure enough sine pretty difficult, analog filter wise?
A chip like AD9833 could give a nice sine with harmonics all above 20 MHz, which ought to be pretty easy to filter away.
Doing it...
I should mention I've only built 1 of that board and so far only tested the 8 outputs. Inputs are so far untested. Been too busy with so many other things to get more time to play with fun hardware. :(
If using Teensy 4.x and you want the math done entire with fast 32 bit float, then:
exp10f(((float)dB - 6.0f) / 20.0f)
If you're not careful, it's easy to accidentally promote to 64 bit double precision, which is...
One final comment... this control algorithm for the proportional term isn't ideal, because IntervalTimer update() effect isn't felt on the next error calculation, but on the timer's following cycle. When update() is...
Here's a little program to automatically adjust the IntervalTimer period.
IntervalTimer mytimer;
volatile uint32_t cyclesRisingEdge;
volatile uint32_t cyclesPulse;
volatile bool gotRisingEdge=false;
volatile...
Having run this test for a while now... I'm ready to conclude this isn't a bug, just the normal error of the crystal.
With the Teensy 4.1 on my desk right now, "mytimer.begin(pulse, 1000000.0 - 14.3);" has kept the...
Ok, I tried it here, and indeed I'm seeing the problem with this simple program. Maybe we have a bug in IntervalTimer?
IntervalTimer mytimer;
void setup() {
pinMode(2, INPUT);
pinMode(4, OUTPUT);
while...
This sort of error usually means poor quality USB signals. Circuitry connected to Teensy which draws too much power can also cause trouble.
Try a different USB cable / hub / port / computer. If possible, disconnect...
Personally, I don't tend to think of the microcontroller market and dev boards as a war or conflict.
And yeah, since the beginning with Teensy 1.0 in 2008, the situation has always been that you could get cheaper...
You can't use a function that takes inputs with IntervalTimer.
Well, yes, you can if you use that approach to rewrite IntervalTimer. It is indeed possible to create something like IntervalTimer, but more...
Except for the harmless case of trying to access the IMXRT chip too early and just retrying moments later, every problem has been a case of the bootloader was relying on the many things the Teensy 4.0 & 4.1 test...
In theory, you could connect resistors in a R-2R ladder or just binary weighted to several pins and write 8 bit numbers to a native port. You'd probably set up a timer to trigger a DMA channel to copy bytes from a...
After uploading, the bootloader chip uses the hardware reset signal to fully reset the main processor. The serial port hardware is supposed to be fully reset.
Let me answer now with another question. How could you...
Fixed 1 more very minor issue. Sometimes after loading a very small program, the bootloader would attempt to talk to the IMXRT chip before it was really ready. This is really a non-issue, since it will just retry and...
Yup. These are all the boards I've tested in one way or another over the last several days. All are in working condition for reuse in projects, but once the fuses are altered, they're no longer a valid test for the...
Starting another round of (hopefully final) late night testing.
For a visual idea of how it's going... here's an untested virgin Teensy 4.1 with its MKL02 chip removed and a freshly programmed MKL02 about to be...
Still yet another update...
For the last couple days I've been searching for the cause of a strange startup bug, going over everything in the bootloader. But it turned out to not be a booloader problem at all. ...
Looks like it's working but you're printing the wrong thing in loop().
Run this...
#include <DMAChannel.h>
#define SAMPLES 128
__attribute__((aligned(32))) static uint32_t fm_tx_buffer;
According to the data sheet on page 14, this is a 20ns access time part. A slower (presumably cheaper) version exists with 30ns access time, which is probably a sign whatever you're trying to reverse engineer is using...
It is indeed headless, but only if you run it with the "--dir=" option as documented on the web page under "Command Line Install". If you omit that command line arg, it will run with the GUI.
...
Maybe this should be a new thread, but I'll just briefly mention my hope for WebHID to become officially supported by Chrome and hopefully other browsers.
https://web.dev/hid/
Then it will become possible to make...
Wow, that's quite a statement to make!
The Teensyduino installer provides that "headless" non-GUI install option specifically so you can automate adding Teensy's files to a copy of the Arduino IDE.
Your...
Check out the "Command Line Install" info on the Teensyduino download page (scroll down... it's after the GUI installer screenshots)
https://www.pjrc.com/teensy/td_download.html
We currently do not support...
Officially, no. The 2nd USB port is only supported in USB host mode.
Unofficially, I believe WMXZ published a library with the normal device mode code converted to use the 2nd USB port. As I recall, it was only USB...
Can you give me a small self-contained program (using only libs Teensyduino installs) which I can copy into Arduino (not PlatformIO) to reproduce the problem?
To specifically answer your question:
...
Windows doesn't allow programs to write to the folders where the APP software are stored, even if run with admin privilege.
As Defragster explained, Teensyduino needs to install patches to the Java code.
With...
Yes, but you need to use these longer pins and these sockets (2 of each):
https://www.pjrc.com/store/header_14x1_d.html
https://www.pjrc.com/store/socket_14x1.html
These allow the longer board to mount higher...
Usually this error happens on Linux when attempting to install into a distro-provided copy of Arduino.
Only the original Arduino IDE from Arduino.cc website is supported. The many modified copies from Linux distros...
Looks like this should be fairly straightforward.
I've learned the hard way (many more times than I'd like to admit) about putting too much work into supporting a new platform or new tech before it really offers...
Did you create a "portable" Arduino IDE and try installing Teensyduino into that copy? That ought to be the simplest way to get Teensy working.
To fix this problem affecting all Arduino copies with any board, you'll...
Linux on Teensy would be somewhere between "not worth the incredible effort" to "pretty much impossible".
There is no MMU, so you're immediately resigned to not-so-useful ucLinux. The best case (but unlikely)...
Yet another update - programmed 3 chips today and soldered them to virgin boards. The bootloader comes up and works with Teensy Loader, but still some issues remain with booting up in certain cases. Still more work to...
Follow these instructions:
https://www.arduino.cc/en/Guide/PortableIDE
The very first step says "a compressed version of the Arduino IDE according to your OS", which for Windows means you download the ZIP version...
Click Tools > Boards. Whatever it shows, select a non-Teensy board like Arduino Uno. Wait just a moment while Arduino updates itself. Then click the menu again and select Teensy 3.6.
Arduino also has a special...
On the serial device raw mode, the Linux native functions are tcgetattr() to fetch the serial port parameters, cfmakeraw() to change the setting in the "struct termios" data, and tcsetattr() to write it back to the...
To check a digital signature, you need the public key associated with the private key which was used to generate the signature. The public key isn't secret. You can put a copy of it into the firmware image. The...
Just a blind guess, since we can't see this C++ code, but a problem which has come up many times before on all Linux system is "unix line discipline". Basically, you need to configure the serial device to use "raw...
Did you install the udev rules? Is ModemManager interfering? Those are the 2 most common problems on Linux systems.
I personally use Ubuntu 18.04 and it works great. I don't have any systems yet running 20.04.
...
Didn't see any mention of config fuses or internal flash. Maybe there's some way to do security without internal storage of a secret key or hash of a public key?
I didn't see any mention of flash encryption, firmware authentication, or other code security features. Kinda makes me wonder if they'll be able to sell these microcontrollers to traditional commercial users, or if...
I don't understand what this means? Didn't see anything like that in the datasheet.
The SWD does have a feature to allow more than 1 (perhaps up to 7) of these chips to be accessed on the same SWD signals.
I spent a couple hours reading parts of the datasheet. It's refreshing how well written it is, much nicer that what we get from NXP, Atmel/Microchip and ST. I probably read & skimmed less than 100 of the 636 pages.
...
Pico does indeed look really interesting. I've only just learned about it minutes ago. So far I don't know much about it. At only $4, it certainly is much cheaper! It's said to be Cortex-M0 at 133 MHz, so you can...
Yes, on Teensy 4.0 & 4.1, you can remap to any digital pins, even less than or more than 8 pins if you like.
In Arduino, click File > Examples > OctoWS2811 > Teensy4_PinList to see how.
On Teensy LC & 3.x,...
FWIW, the Teensy 4 experimental ADC code uses 4X oversampling and a FIR filter, but still lacks (useful) DC removal and the resampling to 44.1 kHz is crude rather than proper interpolation. The FIR coefficients...
AltSoftSerial does not work on Teensy 4.1. The main reason is a belief that 8 serial ports are enough for anyone (kinda like 640K on old PCs....) Likewise, SoftwareSerial when used with non-serial pins has limited...
Here are the 2 OSH Park links for CS42448 hardware.
Teensy 3: https://oshpark.com/shared_projects/2Yj6rFaW
Teensy 4: https://oshpark.com/shared_projects/gVFy0fWQ
ADAU1966A works with TDM output. So far only tested with Teensy 4.0 & 4.1, but almost certainly works with Teensy 3.x.
https://oshpark.com/shared_projects/O7iqdcLr
SPH0645 works, but requires a software filter to remove DC. I put an example in the library some time ago. File > Examples > Audio > HardwareTesting > Microphones > SPH0645
Edit: MP34DT01-M (PDM) definitely...
ADC input on Teensy 4.0 is still experimental and currently only supports mono. It sort-of works, but probably not well enough to be useful for most projects.
If you or anyone else wants to dive into the ADC code, I...
PCM1802 should probably link to this page.
https://www.pjrc.com/pcm1802-breakout-board-needs-hack/
In addition to the PCB error on the most common breakout board, the FSYNC signal has been a confusing point.
Yet another update... doing more testing. This morning I found (and fixed) a timing issue with initializing the flash chip's non-volatile status2 register. This is another place where the Teensy test fixture...
Any use of pinMode will do this. It completely reconfigures the pin, overwriting the previously set interrupt config.
Maybe pinMode should check for this case? I'm also considering adding a pinModeFast function,...
I copied your code into Arduino, but it doesn't compile. Stuff is missing. See below....
Since you already have the hardware wired up, try opening File > Examples > Encoder > Basic and just change the pin...
Another quick update - all the new code is in. On a virgin board, the fuses IMXRT fuses are set the first time the MKL02 talks to it. The initialization delivers a unique ethernet mac address as well. The flash chip...
Maybe move stuff like this back to setup?
AudioMemory(20);
sgtl5000_1.enable();
sgtl5000_1.volume(defaultVolume);
If that doesn't fix the problem, just keep moving more stuff back to the main...
Maybe you're using the Wire library? (can't tell from only a quick look)
Wire uses pin 18 & 19.
Again, details here:
https://www.pjrc.com/store/teensy3_audio.html
If using Teensy 3.x, use of pin 22 would also conflict. AudioOutputI2S uses pin 22 for data output on those boards.
Just move those encoder signals to unused pins and odds are good everything will start working.
...