Using pins on a LyraT? #2213
-
| 
         Sorry for the slightly off-topic query but I hope that you have tried this and can help. The LyraT works great with your libraries - many thanks! My internet radio previously had an ESP32, a VS1053 and a MAX9744, rotary encoders for volume and station, and an I2C LED display. As you say, lots of wires! So the LyraT has great potential. I can't get any pins to work though... have you managed to? At the very least I would like to use a single pin for an IR receiver (for volume and station). It would be good to use the I2C LED display... There are I2C pins on the LyraT board but I can't get them to work, even with an I2C scanner. Lastly, you say that minimal interruption is necessary for good streaming, what would be the best way to interface an IR receive with your libraries?  | 
  
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 1 reply
-
| 
         My bad... partly anyway. On the LyraT 4.3 Pin 12 (MTDI on the JTAG header) does work, whether DIP switches 3, 4, 5 and 6 are all ON (enabling JTAG), or just DIP switch 5 (IO12 on the schematic at https://dl.espressif.com/dl/schematics/ESP32-LYRAT_V4.3-20220119.pdf). I can run a simple program using the IRremote library and get codes back fine from a simple IR receiver on pin 12. This is compiled with exactly the same settings as the audio program - Huge app partition scheme, and PSRAM enabled. I can also run the hls-buffer-i2s.ino example fine using Huge app partition scheme, and PSRAM enabled But if I put the two together I get Any idea why this would be happening, or how to fix it?  | 
  
Beta Was this translation helpful? Give feedback.
-
| 
         Thanks Phil for the reply. The board is a LyraT 4.3 which uses the ESP32-WROVER-E, so PSRAM is definitely present. The funny thing is that I can compile and run either program (hls-buffer-i2s.ino or an IRreceiver) on the board using those settings without any problem. A program combining them also runs fine (sound from speakers) if the IR board isn't connected to power. If I connect the IR board to power and reboot then I get the error quoted above. I've googled a lot too, one thing I have read is that it has interfered with a flash control pin, but nothing in the Espressif document says that Pin 12 has this role. The hardware ref says that Pin 12 is (depending on the DIP switch settings) 'JTAG MTDI, MicroSD D2 or Aux signal detect', and 'If JTAG is not used and MicroSD Card is operated in the one-line mode, then GPIO12 and GPIO13 may be assigned to other functions.' I'm wondering if using the MicroSD wires (using an extender) would work but I think your libraries are interfacing with the SD card reader?  | 
  
Beta Was this translation helpful? Give feedback.
-
| 
         You can switch the sd integration off by setting sd_active = false; This avoids any pin conflits e.g with the buttons... Maybe it would be also a good idea to log the available RAM and PSRAM.  | 
  
Beta Was this translation helpful? Give feedback.
-
| 
         Thanks for the tips Phil. The plot thickens a little - if I boot my combined program (hls-buffer-i2s.ino with an IRreceiver) still using Pin 12 but without the power connected to the IR receiver the board boots fine. If I then connect power to the IR receiver it works, and I can get the IR codes! Not much good of course for a board in a box... an external switch could work of course I think this is probably another example of the LyraT documentation being incorrect (I read your blog article on the LyraT Challenge!) or, at best, ambiguous. The Espressif Hardware Ref says (under 'Enable MicroSD Card in 1-wire Mode') - 'AUX Input detection may be enabled by toggling the DIP SW 7 ON. Note that the AUX Input signal pin should not be be plugged in when the system powers up. Otherwise the ESP32 may not be able to boot correctly.' So even though I only have DIP switch 5 ON (to connect Pin12 through to the JTAG header) it seems to still see this as the AUX Input signal pin at boot. As mentioned, the other pin that is a possibility is Pin 13. If I boot with that though I get whether the IR hardware is powered up or not (hls feed still works okay). I think that on some boards Pin 13 is a built-in LED? I'm using ESP32 Dev Module as the board for the LyraT in the Arduino IDE, there doesn't seem to be a better option. I'll try the SD interface tomorrow. Thanks again for your help and advice.  | 
  
Beta Was this translation helpful? Give feedback.
-
| 
         Having slept on it I've decided to stick with the JTAG header Pin 12 and try a 5V time delay relay on the power rail to fire up the IR receiver after the board has booted (I have an external on/off master switch on the back of the case). Thanks very much for your help and suggestions Phil, much appreciated. I2C LED display is next!  | 
  
Beta Was this translation helpful? Give feedback.
I am usually using Huge app partition scheme and PSRAM enabled and I have never seen this message.
Did you eventually mess around with the pins used by PSRAM ?
Google gives the following: This error means the system cannot communicate with the PSRAM (Pseudo-Static RAM) chip, likely because it's physically not present, there's a wiring issue, the software is trying to use PSRAM when it shouldn't, or the PSRAM chip is faulty. To fix it, verify your board actually has PSRAM, check for loose connections or bad solder joints, and ensure your project settings in the IDE or configuration files match your hardware, such as disabling PSRAM if your board lacks it.