mobile-buttonMicro_Ledger

Detailed Device Support

Here, we break down troubleshooting by device, starting with common hardware and software pitfalls. If you're still stuck, join our community channels for support we're here to help!

For initial setup and installation guidance, we recommend checking out our Quickstart Guides for your device to get your environment up and running before diving into the troubleshooting steps below.


Micro_Ledger

The Micro_Ledger is a self-contained, portable wearable designed for real-time XRPL/Xahau monitoring with audio, visual, and haptic feedback. Since it’s a pre-assembled device, there’s no need to open it, making it beginner-friendly.

Below are connection and Wi-Fi tests to ensure all internal components are functioning correctly and to help you establish a stable network connection.


Connection Test

This test verifies the internal connections of the Micro_Ledger, including the button, haptic motor, speaker, and OLED display. Use the following code to check functionality:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Pin definitions
#define BUTTON_PIN 9
#define HAPTIC_PIN 8
#define SPEAKER_PIN 7
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

// I2C pins (SCL = GPIO 4, SDA = GPIO 5 by default)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// Alert class definition
class Alert {
  private:
    const int hapticPin;
    const int speakerPin;

  public:
    Alert() : hapticPin(HAPTIC_PIN), speakerPin(SPEAKER_PIN) {
      pinMode(hapticPin, OUTPUT);
      pinMode(speakerPin, OUTPUT);
    }
    
    void triggerAlert(int duration, int frequency) {
      digitalWrite(hapticPin, HIGH);      // Turn on haptic motor
      tone(speakerPin, frequency, duration); // Play tone on speaker
      delay(duration);                    // Wait for the duration
      digitalWrite(hapticPin, LOW);       // Turn off haptic motor
    }
};

// Create Alert object
Alert alert;

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  
  Serial.begin(9600);

  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 allocation failed"));
    for (;;);
  }
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("ESP32-S3 Ready");
  display.display();
}

void loop() {
  if (digitalRead(BUTTON_PIN) == LOW) { // Button pressed
    alert.triggerAlert(200, 500);       // 200ms, 500Hz alert
    
    display.clearDisplay();
    display.setCursor(0, 0);
    display.println("Button Pressed!");
    display.display();
    
    delay(200); // Debounce
  } else {
    display.clearDisplay();
    display.setCursor(0, 0);
    display.println("Waiting...");
    display.display();
  }
  delay(10); // Stability
}
  • Steps:

    1. Connect the Micro_Ledger to your computer via USB.

    2. Open the Arduino IDE, select the "Seeed Xiao ESP32S3" board, and choose the correct port.

    3. Upload the code and open the Serial Monitor (set to 9600 baud).

    4. Press the button on the device. You should feel a vibration (haptic), hear a 500Hz tone for 200ms, and see "Button Pressed!" on the OLED display. If idle, it should show "Waiting...".

  • Troubleshooting:

    • No Display: Ensure the I2C address (0x3C) matches your OLED. Use an I2C scanner sketch if needed.

    • No Haptic/Sound: Check if GPIO 8 (haptic) and GPIO 7 (speaker) are correctly defined and powered. Verify the components are operational.

    • Button Unresponsive: Confirm GPIO 9 is correctly wired and the button is active-low with a pull-up resistor.


Wi-Fi Connection Test

This test ensures the Micro_Ledger can connect to your Wi-Fi network, a critical feature for real-time monitoring. Update the code with your network SSID and Password before uploading:

  • Steps:

    1. Update ssid and password with your Wi-Fi details.

    2. Upload the code to the Micro_Ledger using the Arduino IDE.

    3. Open the Serial Monitor (9600 baud) to watch the connection process.

    4. The device should connect within a few seconds and print "Connected to WiFi." It will check every 10 seconds and attempt to reconnect if disconnected.

  • Troubleshooting:

    • No Connection: Verify the SSID and password are correct. Ensure the device is within Wi-Fi range. Check if the network uses WPA2/WPA3 (supported by ESP32).

    • Intermittent Disconnects: Reduce the delay to 5000ms or test with a stronger signal. Ensure the 900mAh battery is charged.

    • Serial Output Missing: Confirm the USB connection and correct port selection in the IDE.

If issues persist, refer to our Quickstart Guide for the Micro_Ledger for setup details or join our community channels for further assistance.


SeedStudio XIAO ESP32 S3

The SeedStudio XIAO ESP32 S3 is a compact microcontroller unit that leverages the powerful ESP32-S3 chip.

It's designed for high-performance applications requiring significant processing power and wireless connectivity, boasting integrated Wi-Fi and Bluetooth capabilities. Suitable for both professional engineers and hobbyists, it's commonly utilized in IoT projects, wearable technology, and rapid prototyping.

For help getting started, visit the official guidearrow-up-right.

Last updated