Rolfdegen
Reaction score
108

Latest activity Postings About

    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Houston, we have a problem! The ST7796S frame buffer is blocking Teensy audio. If I disable the frame buffer, the audio works perfectly.
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      This is my first version of Jeannie - Polyphonic DIY Synthsizer. The case for Jeannie are made by Erica Synths Link : https://github.com/rolfdegen/Jeannie-Open-source-Synthesizer
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      The trick with my encoder query is that I trigger a hardware interrupt on the Teensy4.1 with every change and then read the 16-bit GPIO data register from the MCP23017 only once. From this, I can extract the encoder number and direction of...
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      The 3.5-inch Touch Display is a Waveshare ST7796S. It's high quality and has a built-in frame with a protective glass cover. This makes it very suitable for installation in devices. Link ...
      • Screenshot 2026-03-09 185742.png
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Sorry. It's my mistake. This is the correct library https://github.com/h4yn0nnym0u5e/ST7735_t3/tree/dev/big-screen-t4
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      This is an lib for ST7796S Display https://github.com/h4yn0nnym0u5e/ST7735_t3.git
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Small update to the envelope menu. You can now set the curve of each envelope to linear or exponential. The Init button resets the envelope to a default value. Video
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Hello everyone... I've had some time again and have continued programming the encoder query and graphics. With such a large display of 480 x 320 pixels, the graphics transmission time is a significant issue. A single-core processor like the...
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      The encoders and graphics are now working very well. I've structured the image layout into sections. For each encoder, only specific graphic areas need to be updated. This reduces transmission time and improves encoder querying. Video
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Thanks for the tip. The <avr/interrupt/h> is no longer necessary.
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Small resistors of 10 - 470 ohms in series with the signal lines prevent reflections of the signal at the cable end by acting as a termination resistor and matching the impedance.
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Yes. That's a good idea. I'll try it with 50-100 ohms. 68 ohms to MOSI and CLK works well with an SPI clock of 60MHz :) Max SPI speed is 75MHz. 80MHz is too high. The display no longer works.
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      It seems to be a problem with the connecting ore cables. It works when I press the cables. I connected cables that were 15 cm long. The plug connection is the problem!
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      "Houston, We Have a Problem!" 🫣 I'm using `useIntermediateBuffer()` and `updateScreenAsync(false, true, true)` for `fillRec()` and `fillScreen()`. The problem is: Sometimes errors occur immediately, and sometimes only after a few minutes. I...
      • 20260403_201936.jpg
      • 20260403_201924.jpg
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Sorry. Wrong post 🫣
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Thank you for your excellent development work. You're on my thank-you list and PCB sample :)
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Unfortunately, without success. Still a mistake :rolleyes:
      • Pio1.png
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Sorry, I misspelled it here.. This is an error in PlotformIO Error
      • Screenshot 2026-04-02 202108.png
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      I received an error message: getChangeArea() identifier is undefined :oops:
    • Rolfdegen
      Rolfdegen reacted to h4yn0nnym0u5e's post in the thread ST7796 Teensyduino support with Like Like.
      You're right, that branch seems to be very broken at the moment - sorry about that. I've added that method to the dev/big-screen-t4 branch - still untested, but the display does at least work now!
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      I installed your current library https://github.com/h4yn0nnym0u5e/ST7735_t3/tree/dev/big-screen-t4-muxedCS. Unfortunately, my ST7796S only draw a black screen. I've tested it with and without framebuffering. I think it's an initialization problem...
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      I tried to install the modified library in PlatformIO https://github.com/h4yn0nnym0u5e/ST7735_t3/tree/dev/big-screen-t4-muxedCS. But i have an include error #include <ST7796_t3.h> My mistake. It was the two-folder problem when unpacking via zip...
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Sorry, incorrect function call. 🫣
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      I can't draw a drawFastHLine() and drawFastVLine() with updateScreenAsync(false, true, true). Is that correct ? // Draw envelope grid ------------------------------------------ void draw_env_grid() { uint8_t count = 4; for (size_t i =...
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Thanks. That's a good idea. I'll give it a try in the next few days. :)
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Sorry.. I mean tft.updateScreenAsync(false,true,true) Thank you for the detailed description. You mentioned that the buffer area is always rectangular. That's a very large area for the envelope line. It also doesn't matter whether I draw a...
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Hallo h4yn0nnym0u5e Thank you very much. Your suggestion works. But I'm still getting jumps in the encoder readings. I reduce the time it takes to display the image, I tried skipping the redraw of the black background. I draw the old envelope...
      • 20260330_205803.jpg
      • RigolDS0.png
      • RigolDS1.png
    • Rolfdegen
      Hello I used the Library https://github.com/h4yn0nnym0u5e/ST7735_t3.git I suspect a bug in the framebuffer library with ST7796S and DMA. When I draw a small filled rectangle of 100x100 pixels with updateScreenAsyncT4(true) and DMA, it takes...
    • Rolfdegen
      Hello... I'm having a problem when I'm transferring graphic data to the ST7796S display using framebuffer and DMA, while simultaneously querying the encoder via an MCP23017 with an 400KHz clock I2C bus. The encoder query is briefly interrupted...
      • Jeannie2_KEY_Panel.jpg
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Thanks for the tips. I'll keep working on improving the encoder routines in my Jeannie_2 project :)
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Programming Encoder acceleration.. // MCP23017 Encoder query with acceleration // #include <Arduino.h> #include <Wire.h> #include <avr/interrupt.h> #include <Adafruit_MCP23X17.h> Adafruit_MCP23X17 mcp0; // Tasten 1-16 Adafruit_MCP23X17 mcp1...
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Video.. Encoder test
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Thanks for the correction. To keep things clear, I didn't copy the entire code from my Jeannie_2 project. I just wanted to show a simple example of how to quickly and easily read encoders using an MCP23017.
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Hello friends :) The Jeannie 2 is equipped with a total of seven high-quality encoders. These encoders are used for parameter input via the menu and for modulation. The Jeannie 2 is equipped with a total of seven high-quality encoders. These...
      • Screenshot 2026-02-27 233929.png
      • Jeannie2_KEY_Panel.jpg
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Jeannie 2 Key function.. Boost = Bass boost on/off Level = Master volume HP Filter = High-pass filter on/off HP CUT = High-pass filter cutoff setting HP RES = High-pass filter resonance setting Panic = All notes off Shift = Toggles parameter or...
      • Jeannie 2 Keys.jpg
    • Rolfdegen
      Rolfdegen replied to the thread New Teensy 4.1 DIY Synthesizer.
      Small update... I've now integrated the touchscreen function into the Jeannie 2
    • Rolfdegen
      This is just one example. While the display is drawing data, I can process buttons, potentiometers, encoders, MIDI commands, and audio data. Look at my Video with old TouchDisplay.
    • Rolfdegen
      Rolfdegen replied to the thread ST7796 Teensyduino support.
      Hallo I used Teensy 4.1 and ST7796S 3.5inch ISP TouchDisplay from WaveShare. For the TFT Display i used ST7735_t3-dev-big-screen-t4 Library and bitbank2/JPEGDEC@^1.8.4 with DMA. CPU speed is 720Mhz and SPI speed 60MHz. Display cable length is 9cm.
      • Screenshot 2026-03-09 185742.png
    • Rolfdegen
      There's still a small bug in my code! I used PlatformIO and VS Code in der Zeile 385 if (jpeg.open((const char *)name, myOpen, myClose, myRead, mySeek, JPEGDraw)) { jpeg.decode(0, 0, 0)...
      • Unbenannt.jpg
    • Rolfdegen
      Thank you so much for your fantastic support. I can now draw JPEG images on the ST7796S at DMA speed. The example "ILI9431_t3_slideshow" from Bitbank2, with a few modifications, works very well (see video). ST7796_t3 Lib with DMA. SPI speed is...
    • Rolfdegen
      Thanks for the help. I'll test it tomorrow. Good night :)
    • Rolfdegen
      Does the JPEG encoder support the ST7796 library with DMA ?
    • Rolfdegen
      This the TJpg_Decoder lib https://github.com/Bodmer/TJpg_Decoder.git
    • Rolfdegen
      Hallo. Good news :) I'm currently using the TJpg_Decoder.h library to draw JPEG images on my ST7796S. It works with DMA, but the image format doesn't seem to be correct yet. The image is distorted and only black and white.
      • 20260314_182934.jpg
      • StarTrek2.jpg
    • Rolfdegen
      The TFT_eSPI library also includes the JPEGDecoder.h library. The renderJPEG() function works and draw an jpg image. I would like to use the TFT_eSPI library, but it does not support DMA with ST7796 displays. SPI speed on Teensy4.1 is 60MHz Test...
    • Rolfdegen
      I think the problem is in the renderJPEG() function.. if ((mcu_x + win_w) <= tft.width() && (mcu_y + win_h) <= tft.height()) { // open a window onto the screen to paint the pixels into tft.setAddrWindow(mcu_y...
    • Rolfdegen
      Hallo Hello again ;) I want to draw a 480x320 pixel JPG image onto my TFT monitor and I'm using the JPEGDecoder.h library for this. The image information is displayed correctly with jpegInfo(). But with renderJPEG(0, 0) no image is displayed. I...
      • 20260313_171709.jpg
      • StarTrek.jpg
      • Pic2.jpg
    • Rolfdegen
      Great that it worked. Please share in the forum some pictures of your TFT working, for me it is feedback, since I can indirectly see how the library works in other variants of EVEx and it allows me to improve the library. A while ago I tried to...
    • Rolfdegen
      Thanks :)
    • Rolfdegen
      Hello. Thank you so much for your great help :) I tried your new fix. It works with Arduino IDE 2.3.8 (including Teensyduino 1.6 ?) and PlatformIO 6.1.19 (Visual Studio Code). For my project I'm using this 3.5inch Capacitive Touch Display from...
      • Screenshot 2026-03-09 185742.png
  • Loading…
  • Loading…
Back
Top