User Tools

Site Tools


tamiwiki:users:6r1d:diymall_esp32_s3_fixture

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tamiwiki:users:6r1d:diymall_esp32_s3_fixture [2025/10/18 20:43] 6r1dtamiwiki:users:6r1d:diymall_esp32_s3_fixture [2025/10/20 05:43] (current) – [ESP-IDF (+ history and PWM debug)] 6r1d
Line 1: Line 1:
-There's something very nice about ESP32 Wroom modules: you can use fixtures to quickly debug thingsremove a module, solder it and viola, you have something working. +Theres something great about [[https://www.espressif.com/en/products/socs/esp32-s3|ESP32-WROOM]] modules: you can prototype fast, use test fixtures to debug, then pop a module off, solder it onto a board, and voilà, you’ve got a working device
-Or a bad boardMostly those options.+Or a non-working one. 
 +//Usually// it's one of those two.
  
 ====== Introduction ====== ====== Introduction ======
Line 8: Line 9:
 {{:tamiwiki:users:6r1d:signal-2025-10-18-123252_002.jpeg?400|}} {{:tamiwiki:users:6r1d:signal-2025-10-18-123334_002.jpeg?400|}} {{:tamiwiki:users:6r1d:signal-2025-10-18-123252_002.jpeg?400|}} {{:tamiwiki:users:6r1d:signal-2025-10-18-123334_002.jpeg?400|}}
  
-It is very helpful as a fixture. It is not helpful whatsoever in terms of having a proper documentation. If you open the DIYMalls site, it shows 403 and doesn't give you anything.+It is very helpful as a fixture. It is not helpful whatsoever when it comes to proper documentation. If you open the [[http://diymalls.com/|DIYMalls site]], it shows 403 and gives you nothing.
  
 So, the fixture is easy to buy on AliExpress, for example, [[https://aliexpress.com/item/1005008525778779.html|here]], it works without hassle, and it will also require you trace all pins unless you have a reference. So, the fixture is easy to buy on AliExpress, for example, [[https://aliexpress.com/item/1005008525778779.html|here]], it works without hassle, and it will also require you trace all pins unless you have a reference.
Line 45: Line 46:
 | 37                         | TXD0                | 37          | D34       | | 37                         | TXD0                | 37          | D34       |
  
-====== Tracing code: Arduino ======+===== Notes ===== 
 + 
 +  * GPIO pin 48 is the onboard LED, usually blue. 
 +  * Initially, I thought that onboard USB-UART is connected to something else than RXD0 / TXD0. It was not. It is the main UART. 
 +  
 +====== Tracing code ====== 
 + 
 +You might disagree with me and want to double-check. Excellent! More eyes (and feedback) mean better information. 
 + 
 +Grab your trusty 30-year-old LED soldered to a pair of DuPont sockets and start tracing. If you don’t have one handy (like me), grab your scope instead.((Marie Antoinette reference unintended.)) 
 + 
 +For convenience, here’s the code to do the job. I didn’t bother writing it from scratch, but I tested it, and it worked just fine for me. 
 +===== ESP-IDF (+ history and PWM debug) ===== 
 + 
 +This code gives you a predictable interactive workflow with history. 
 + 
 +<code> 
 +> help 
 +Commands: 
 +  list                          -> show test-safe GPIOs 
 +  status                        -> show current pin/mode 
 +  pin <gpio>                    -> start blinking GPIO 
 +  <gpio>                        -> same as 'pin <gpio>' 
 +  delay <ms>                    -> set blink delay 
 +  pwm <pin> [brightness]        -> start PWM (0-99, current: 50%) 
 +  brightness <level>            -> set PWM brightness (0-99) 
 +  freq <frequency>              -> set PWM frequency (Hz) 
 +  stop                          -> stop and release pin 
 + 
 +> 48 
 +Stopped. Pin released to INPUT. 
 +Blinking GPIO 48 at 100 ms. 
 + 
 +> 42 
 +Stopped. Pin released to INPUT. 
 +Blinking GPIO 42 at 100 ms. 
 + 
 +> 47 
 +Stopped. Pin released to INPUT. 
 +Blinking GPIO 47 at 100 ms. 
 + 
 +> 46 
 +Restricted: GPIO 46 is not in the test-safe set. 
 + 
 +> delay 40 
 +Set blink delay to 40 ms. 
 + 
 +> delay 10 
 +Set blink delay to 10 ms. 
 +</code> 
 + 
 +As for using it, you should know the gist at this point. 
 + 
 +<code bash> 
 +mkdir pin_tracer && cd pin_tracer 
 +idf.py create-project . && idf.py reconfigure && idf.py set-target esp32s3 
 +# fill the code 
 +# update the CMake configs 
 +idf.py build 
 +idf.py flash monitor 
 +</code> 
 + 
 +For your convenience, I have shared the whole [[https://git.telavivmakers.space/6r1d/esp32_s3_pin_tracer_espidf|repository]] at TAMI Gitea. 
 + 
 +Clone it like that: 
 + 
 +<code bash> 
 +git clone https://git.telavivmakers.space/6r1d/esp32_s3_pin_tracer_espidf.git esp32_s3_pin_tracer 
 +</code> 
 + 
 +Also, you can use Minicom to interact with the tracing code if you'd like. It's just one of the default baudrates, 115200.
  
-You may disagree with me and want to run a quick check. For your convenience, there's a code to do so. I didn't bother to write it manually, but I have tested it and it worked for me.+<code bash> 
 +minicom -D /dev/ttyUSB0 -b 115200 -o 
 +</code> 
 +===== Arduino (basic version) =====
  
 Flash from Arduino IDE. Use the ESP32 board package by Espressif, pick ESP32S3 Dev Module, pick 115200 baud in Serial Monitor. Flash from Arduino IDE. Use the ESP32 board package by Espressif, pick ESP32S3 Dev Module, pick 115200 baud in Serial Monitor.
Line 230: Line 304:
 } }
 </file> </file>
- 
- 
-===== Notes ===== 
- 
-GPIO pin 48 is the onboard LED, usually blue. 
  
  
tamiwiki/users/6r1d/diymall_esp32_s3_fixture.1760820224.txt.gz · Last modified: by 6r1d