110 lines
4.0 KiB
Org Mode
110 lines
4.0 KiB
Org Mode
* 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]]
|