* ESP32 Sequencer A basic step sequencer based on the esp32-s3. ** Features (Current and Future) - 1-8 Selectable Steps - Tap Tempo - Mutate function to change single step of sequence - CV Inputs: - Clock - Mutate - CV Outputs: - Clock - Step Gate - Step 1V/O ** Project Setup Clone the repository #+BEGIN_SRC shell git clone git@gitea.rkcf.me:rkcf/esp32-sequencer.git cd esp32-sequencer #+END_SRC Source idf path. Assumes [[https://docs.espressif.com/projects/esp-idf/en/v5.0/esp32s3/get-started/index.html#installation][ESP-IDF]] properly configured on system. #+BEGIN_SRC shell . $YOUR_PATH_TO_ESP_IDF/export.sh #+END_SRC Set the target chip and configure the project. NOTE: Running menuconfig is not currently necessary for this project. #+BEGIN_SRC shell idf.py set-target esp32s3 idf.py menuconfig #+END_SRC Add the dependencies. They will install upon building the project the first time. #+BEGIN_SRC shell idf.py add-dependency "espressif/esp_lcd_ili9341>=1.0.2" idf.py add-dependency "lvgl/lvgl>=8.3.0" #+END_SRC Building and flashing the project. Where $PORT is the boards serial port system address (e.g. /dev/ttyUSB0). #+BEGIN_SRC shell idf.py build idf.py -p $PORT flash idf.py -p $PORT monitor #+END_SRC Or do all of this in one go with: #+BEGIN_SRC shell idf.py -p $PORT flash monitor #+END_SRC ** Pinout | ESP32 Pin | Function | Peripheral Pin | |-----------+---------------------+----------------| | 1 | Clock LED | | | 2 | Gate LED | | | 7 | Clock CV Out | | | 8 | Gate CV Out | | | 17 | 1V/O CV Out | | |-----------+---------------------+----------------| | CV Inputs | | | |-----------+---------------------+----------------| | 19 | Clock CV In | | | 20 | Mutate CV In | | |-----------+---------------------+----------------| | Controls | | | |-----------+---------------------+----------------| | 10 | Mutate Button In | | | 11 | Tap Tempo Button In | | | 12 | Rotary Encoder 1 | A1 | | 13 | Rotary Encoder 1 | B1 | | 14 | Rotary Encoder 2 | A1 | | 15 | Rotary Encoder 2 | B1 | | 33 | RE1 Red LED | 1 | | 34 | RE1 Green LED | 2 | | 35 | RE1 Blue LED | 4 | | 36 | RE2 Red LED | 1 | | 37 | RE2 Green LED | 2 | | 38 | RE2 Blue LED | 4 | |-----------+---------------------+----------------| | LCD | | | |-----------+---------------------+----------------| | 39 | CS | LCD 3 | | 40 | RESET | LCD 4 | | 41 | DC/RS | LCD 5 | | 42 | SDI/MOSI | LCD 6 | | 4 | SCK | LCD 7 | | 3 | LED | LCD 8 | | 5 | SDO/MISO | LCD 9 | *** TFT LCD Screen | LCD Pin | ESP32 Pin | Function | |---------+-----------+-----------| | 1 | | VCC (3V3) | | 2 | | GND | | 3 | 39 | CS | | 4 | 40 | RESET | | 5 | 41 | DC/RS | | 6 | 42 | SDI/MOSI | | 7 | 4 | SCK | | 8 | 3 | LED | | 9 | 5 | SDO/MISO | * Contributing - Currently this branch is bleeding edge for rapid prototyping. In the future, a design will be homolugated and [[https://semver.org/][Semantic Versioning 2.0.0]] will be used. - Commit messages should follow [[https:www.conventionalcommits.org/en/v1.0.0/][Conventional Commits 1.0.0]] * License This project is licensed under the [[https://choosealicense.com/licenses/mit/][MIT License]]