ES8388 I2S pins wrong on A247 revision (plus addtional mods for larger screen and rotary encoder) #37
Replies: 6 comments 9 replies
-
Thank you very much for sharing. Did you get audio input and output successfully working? I've prepared the change in a branch: https://github.com/marcel-licence/ML_SynthTools/blob/Branch_discussion_37_I2S_A247/src/boards/board_audio_kit_es8388.h |
Beta Was this translation helpful? Give feedback.
-
I have also done the analog button mod, so running an ILI9341 240x320 screen on it now (modded the display code to support it) and also have a PCF8574 running on pins 19/22 to give me 8 more I/O as I am going to convert the menus to use a rotary encoder or two. This is because I want to mount the board into an AE Modular synth and the buttons are too fiddly. Also, as a bonus I am running an FTP server as well so I can upload samples directly to a 32GB sd card - works nicely (uses code from here https://github.com/fa1ke5/ESP32_FTPServer_SD_MMC) |
Beta Was this translation helpful? Give feedback.
-
TFT (this one http://www.lcdwiki.com/2.8inch_SPI_Module_ILI9341_SKU:MSP2807) #define TFT_MOSI 23 // this frees up IO 19 and 22 for additional I2C Code mods include : And referenced like this: static Adafruit_ILI9341 tft = Adafruit_ILI9341(&DispSpi, TFT_DC, TFT_CS, TFT_RST); And switched the colour names to the equivalent such as ILI9341_BLACK I also inverted the colours so white text on a black background, as easier to read. For the IO Expander: PCF8574 SPI (using library here https://github.com/RobTillaart/rotaryDecoderSwitch) // had to remove LED refs that use these pins Had to modify the example code slightly to use Wire1 (instead of Wire) else it conflicts with the ES8388 I2C |
Beta Was this translation helpful? Give feedback.
-
I have updated the title of this item to reflect the other mods above. (for anyone else interested in adding more hardware) |
Beta Was this translation helpful? Give feedback.
-
Hi that looks nice! |
Beta Was this translation helpful? Give feedback.
-
Ok after some troubleshooting with the oscilloscope, I have the level converter and ADC set up and hooked the esp32 etc into the 5v power rail on the modular system. esp32 sees both i2c devices fine now (io expander and adc) A quick test of one of the ADC channels is reading fine from the output of the envelope generator in the modular. I am currently running in the Core 1 100hz loop, may experiment in the Core 0 task though - depends on how smooth i need the ADC values (once I work out what I am going to do with them :) ) - initial thought are to get the pitch/gate voltages to control sampler/synth engines in the ESP32. Pitch is 1V/Octave. void loop_100Hz(void) { loop_cnt += 1; /* |
Beta Was this translation helpful? Give feedback.
-
Been trying to get basic sounds out for a few days and tried the different config options in board_audio_kit_es388.h
Found another github page with definitions and it appears the DOUT and DIN pins are backwards
https://github.com/pschatzmann/arduino-audiokit/wiki/GPIO-Overview-by-Selected-Board
was previously
#define ES8388_PIN_DOUT 35
#define ES8388_PIN_DIN 26
Made a new option num 6 and now getting sound with them switched around.
/* reversed dout/din */
#define ES8388_PIN_DOUT 26
#define ES8388_PIN_DIN 35
#define ES8388_PIN_LRCK 25
#define ES8388_PIN_SCLK 27
#define ES8388_PIN_MCLK 0
Beta Was this translation helpful? Give feedback.
All reactions