I'm using 3x MCP23017. Two for the 24 keys and one for seven encoders in the Jeannie.
The circuit diagram is not yet complete. An MCP23017 is still needed for the other buttons (24 in total) and the other 5 encoders.
Here in the Teensy forum, there are several projects that use the MCP23017 for encoder queries. Using the MCP23017 saves a lot of pins, and you can do it with a Teensy.40.
In my synth project, I use a total of 7 encoders and an MCP23017 GPIO expansion module. This works very well.
When the encoders are moved, the MCP23017 sends an interrupt signal to the Teensy MCU. The Teensy then queries the GPIO lines connected...
Audio and Graphics Test
By distributing the audio and graphics functions across two Teensy MCUs, the graphics on the touchscreen are fast enough and run smoothly. The red LED (left) indicates data transmission from the GUI MCU to the audio MCU...
Thank you. I place great importance on a good and attractive GUI. Separating the output onto two MCUs was necessary because the 300KB frame buffer and audio on a Teensy 4.1 consume too many resources, making the display output very slow. I think...
That's an interesting project. I've linked to it on the German sequencer forum :)
Link : https://www.sequencer.de/synthesizer/threads/jeannie-2-polyphonic-synthesizer-sampler.178440/
Seriall Data Port with 6 MHz on the Teensy 4.1 is a bit slow for transmitting real-time audio data for a sample curve on the display. However, I can reduce the 16-bit data to 8 bits and transmit it in blocks. That's sufficient for the graphic...
Hello Teensy Warriors,
@bk40, I can relate to broken devices and code. Hardware is incredibly unforgiving, and requires money, time, and patience. I've been at this for a long time and I've failed to finalize many designs. I'm hoping my momentum...
I'm using every pin on the Teensy 4.0. Perhaps it would be better to switch to a second Teensy 4.1. Then a high-speed SPI connection between the first Teensy (audio engine) and the second Teensy (GUI) would be possible and I would have a few...
I've been messing around with FlexIOSPI to reasonably good effect, though it does have its quirks. I think it may fail to implement anything other than SPI Mode 0, but having raised an issue with the author I got only the response "No idea...
I use Visual Studio Code and PlatformIO for programming. I've connected the two Teensy devices to the PC via USB and combined the two Teensy projects (audio engine & GUI) into a single workspace. I use the TyTools program to program the Teensy...
For communication between the audio engine (Teensy 4.1) and the GUI interface (Teensy 4.0), I established a high-speed serial connection with 6,000,000 baud to smoothly display audio signals and waveforms. Unfortunately, the Teensy 4.0 only has...
A few more details...
Teensy 4.1 handles audio synthesis and MIDI.
Teensy 4.0 takes care of all the graphical aspects, as well as encoder and key input, and touchpad input.
Teensy 4.0 FX engine for 16-bit stereo delay and effects such as Corus...
During the development of Jeannie 2, it became apparent that the graphical user interface and the audio engine required more CPU resources than anticipated, pushing the limits of a Teensy 4.1. To gain more flexibility for developing audio...
Thanks. I always get that mixed up.
Another option. The Teensy 4.0 for the GUI queries the encoders, buttons and touch controllers and controls the parameters for the audio engine and FX via two serial buses. Perhaps this is a better way :unsure:
I also considered using an intelligent HMI TFT multi-touch display with graphics capabilities. However, these displays are somewhat more expensive than regular TFT displays.
Link: https://www.antratek.de/nx4827p043-011c-y
The audio engine requires up to 80% CPU processing time when 8 voices with ladder filters are used simultaneously.
I have concerns about the size of the 300KB framebuffer. The remaining 200KB will not be sufficient for the audio engine. Putting...
Because the audio engine (8-voice polyphonic synthesizer with filter, LFO, wavetable, and samples) requires a lot of resources on Teensy4.1.
I think I'll move the GUI to a second Teensy (Teensy 4.0). I'm working with PlatformIO and Visual Studio...
Above about 30Mbit/s you start to require careful attention to track impedance and routing, for instance don't expect things to work reliably on a breadboard up at 80Mbit/s, even with careful layout and short wiring.
On my prototype, the maximum SPISpeed (60000000) only works. It could be due to the wiring. I used your example and got readings between 1198 and 1260 at a 600MHz CPU clock.
I'm now using your corrected ST7735_t3-dev-big-screen-t4 library with the pinout you suggested and Teensyduino version 1.60 with the original DMA files. Graphics and sound are now working perfectly.
/*
Test mit Display ST7796S FrameBuffer mit...
I'm using the ST7796_t3 library in Teensyduino, Version 1.60 for an ST7796S display (320x480 Pixel). When I set FrameBuffer to true, the image output doesn't work. When I set FrameBuffer to false, the image output works.
/*
Test with Display...
Hallo again..
Okay. Back to the roots. But first, a big thanks on 'h4yn0nnym0u5e' for your great support 🙏
For my touchscreen (ST7796S 480 x 320 pixels), I'm now using the standard ST7796 library from Teensyduino, version 1.60. The display works...
I don't know if this is the right way to go. So many problems with the graphics. And the audio processing for ADSR, filters, LFOs, and other things has to work too.. I'm considering using a second Teensy 4.0 for drawing graphics and menus on the...
Sorry.. I've changed it now. Screen without flickring but no sound :unsure:
/*
Test with Display ST7796S FrameBuffer with DMA and Audio
*/
#include <Arduino.h>
#include <Audio.h>
#include <ST7796_t3.h> // Hardware-specific library
#include...
No screen flickering without audio. ST7796S framebuffer and dma is enabled.
My code
/*
Test with Display ST7796S FrameBuffer with DMA. Audio is disabled
*/
#include <Arduino.h>
#include <Audio.h>
#include <ST7796_t3.h> // Hardware-specific...
Flickering with horizontal bargraph. ST7796S framebuffer and dma is enabled. Audio is on.
Automatic fading without encoder.
My code
/*
Test with Display ST7796S FrameBuffer with DMA and Audio
*/
#include <Arduino.h>
#include <Audio.h>...
:unsure:
Small objects with a black background are flickering. Is that normal
Another thing I've noticed: I can no longer disable the frame buffer by setting it to false.
One more thing. If I turn off (comment out) all audio, then the screen...
Houston, i have a problem!
I'm using Wire.h and the Adafruit_MCP23X17.h library for my key and encoder query. The system crashes after initializing Adafruit_MCP23X17.h.
/*
Test with Display ST7796S FrameBuffer with DMA and Audio
*/
#include...
I copied the files DMAChannel.* and imxrt.h into the Teensy 4 cores folder under Win11 and copied the new library ST7735_t3/tree/dev/big-screen-t4 into the Lib folder of my platformIO project. Unfortunately, I'm not getting any sound.
The cause seems to be the `tft.useIntermediateBuffer(tft.width() * 10 * sizeof(uint16_t));` line. If I disable it, audio playback works with FrameBuffer.
Which line do I need to insert 'setAsyncInterruptPriority(int level)' ?
/*
Test with Display ST7796S FrameBuffer with DMA and Audio
*/
#include <Arduino.h>
#include <Audio.h>
#include <ST7796_t3.h> // Hardware-specific library
#include <SPI.h>...