SmittyHalibut/EleksTubeHAX

How to check out pinouts?

rsj001 opened this issue · 9 comments

Hello! I've got a new IPS Clock which seems like a fake one
and with chip ESP32-S2-WROOM
I tried to upload firmware pre-built but IPS won't display and repeatedly reboots
I'm a beginner, how to check pinouts?
Also, I tried to upload a code to interact only with buttons, but no response
Is there any advice? Thank you!

Hi, use Termite (https://www.compuphase.com/software_termite.htm) or similar terminal to capture output of the clock when running.
To check pinouts, you have to disassemble the clock to get to the PCB and trace each line from ESP32 to the destination.
Also try to compile the clock with different pinout variants, maybe one will work.
Important: make sure you have libraries of correct version installed. Newer libraries can cause problems.
Make sure you use Arduino IDE version 1, not 2.

The code in this repo seems incompatiable with ESP32-S2
I used the code in the PR
however it still crashed

ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x8 (TG1WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x4002d072
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe6100,len:0x524
load:0x4004c000,len:0xa70
load:0x40050000,len:0x298c
entry 0x4004c18c
E (212) esp_core_dump_flash: Incorrect
IPS clock v0.4
In setup().
Config size: 88
Loaded Backlights config is invalid, using default.  This is normal on first boot.
backlights OK.
PIN SETTING.
33
PIN SET SUCCESSFULLY.
PIN SETTING.
32
ESP-ROM:esp32s2-rc4-20191025

I added some comment to the Serial, it crashed when setting pin 32

And I wonder if this is a proper way to test buttons?

const int s[]={33};

void setup() {
  Serial.begin(115200);
  // put your setup code here, to run once:
  for(int i=0;i<1;i++)
    pinMode(s[i], INPUT_PULLUP);
}

void loop() {
  // put your main code here, to run repeatedly:
  for(int i=0;i<1;i++)
    if(digitalRead(s[i]) == LOW) {
      Serial.print(s[i]);
      Serial.println("activated");
    }
  delay(200);
}

However the digit won't change when i set s[0] to 33 34 or 35 and it crashed at 32

It was never tested with -S2 chip.

Hello I've tried to analyze it and TFTs are working now
but RTC, backlights and 74HC595D are not
(The 6 displays are showing the same digit, and RTC time is 0)
I thought I've put everything in place.
Can you do me a favor?

My DEFINES:

  // WS2812 (or compatible) LEDs on the back of the display modules.
  #define BACKLIGHTS_PIN (-1)

  // Buttons, active low, externally pulled up (with actual resistors!)
  #define BUTTON_LEFT_PIN (7) //correct
  #define BUTTON_MODE_PIN (6) //correct
  #define BUTTON_RIGHT_PIN (5) //correct
  #define BUTTON_POWER_PIN (4) //correct

  // I2C to DS3231 RTC.
  #define RTC_SCL_PIN (33)
  #define RTC_SDA_PIN (34)

  // Chip Select shift register, to select the display
  #define CSSR_DATA_PIN (13)
  #define CSSR_CLOCK_PIN (16)
  #define CSSR_LATCH_PIN (15)

  // SPI to displays
  // DEFINED IN User_Setup.h
  // Look for: TFT_MOSI, TFT_SCLK, TFT_CS, TFT_DC, and TFT_RST

  // Power for all TFT displays are grounded through a MOSFET so they can all be turned off.
  // Active HIGH.
  #define TFT_ENABLE_PIN (21) //correct

datasheet
2
3

My ELEKSTUBE has no connection on pin 10 74HC595, and GND to pin 13 74HC595.
So yours IO14 must hardcode this pin LOW.

thanks! 74hc595 works when I set io17 to high and io14 to low

Do you have a particular pin for LEDs on back of the displays? There isn't one for me

my ips module is identical to yours
but i don't have a RGB pin on esp32-s2, I've tried all pins brutely but none of them is connected to backlights