GPIO Troubleshooting Guide
Most Common Issue: No Voltage Applied
Problem: GPIO pins not responding or protocols not working
Root Cause: Pin 4 (V PINS IN) does not have voltage applied.
Solution:
Verify Jumper Connection:
- For 5V: Jumper between pins 2 and 4
- For 3.3V: Jumper between pins 4 and 6
- For custom voltage: Apply 1.1V-5.5V directly to pin 4
This is the #1 cause of GPIO problems. Always check voltage first.
Pin Direction Issues
Problem: Pins not responding as expected
Symptoms:
- Output pins not driving signals
- Input pins not reading correctly
- Protocol communication failures
Diagnosis:
- Check pin direction configuration in GPIO panel or settings menu
- Verify directions match your intended usage (input vs output)
- Confirm protocol-specific direction requirements
Solutions:
On the device:
- Open GPIO panel
- Select affected pins
- Set correct direction (input/output)
- Changes take effect immediately
Via Serial Console:
- Navigate to Settings > GPIO Directions
- Configure pin directions
- Critical: Return to main menu for changes to take effect
- Re-test GPIO operation
Protocol Configuration Problems
SPI Issues
Problem: SPI communication not working
Common Causes:
- Incorrect clock polarity/phase settings
- Frequency too high for target device
- Wrong pin directions
Solutions:
- Verify SPI mode (CPOL/CPHA) matches target device
- Reduce frequency to 1 MHz for testing
- Check connections: CS (pin 1), MOSI (pin 13), MISO (pin 12), SCLK (pin 15)
- Ensure target device shares same ground reference
I2C Issues
Problem: I2C devices not detected or responding
Common Causes:
- Pull-up resistors not enabled
- Wrong I2C frequency
- Voltage level mismatch
- Address conflicts
Solutions:
- Enable built-in 10kΩ pull-ups in settings menu
- Reduce frequency to 100 kHz (standard mode)
- Verify device I2C address with scanner function
- Check voltage level compatibility (pin 4 voltage)
UART Issues
Problem: UART data corruption or no communication
Common Causes:
- Baud rate mismatch
- Wrong data format (bits, parity, stop bits)
- Hardware flow control issues
- TX/RX connections swapped
Solutions:
- Verify baud rate matches target device exactly
- Check data format: 8-N-1 is most common
- Disable hardware flow control initially
- Verify TX (pin 9) connects to target RX, RX (pin 5) to target TX
Signal Integrity Problems
Problem: Intermittent communication or data errors
Symptoms:
- Occasional protocol failures
- Data corruption
- Timing-sensitive issues
Diagnosis Tools:
- Use Logic Analyzer to examine signals
- Check for proper rise/fall times
- Verify clock stability and timing
Common Solutions:
Ground Issues:
- Ensure solid ground connection (pins 19/20)
- Use shortest possible ground wires
- Connect target device ground to FREE-WILi ground
Cable Length:
- Keep connections as short as possible
- Use twisted pairs for differential signals
- Add termination for high-speed signals
Voltage Level Matching:
- Verify target device voltage compatibility
- Check that V PINS IN voltage matches target requirements
- Consider voltage dividers for 5V ↔ 3.3V interfacing
Getting Additional Help
Documentation Resources
- Protocol Configuration - Detailed protocol setup
- Pinout Specifications - Electrical characteristics
- Logic Analyzer - Signal analysis tools
- Settings Menu - Configuration interface
Self-Help Debugging
- Start Simple: Test with basic GPIO toggle before complex protocols
- Isolate Variables: Test one protocol/pin at a time
- Use Built-in Tools: GPIO panel, logic analyzer, protocol menus
- Check Connections: Physical wiring is often the issue
- Verify Voltage: Always confirm V PINS IN has proper voltage
Common Debugging Sequence
- Power Check: Verify USB-C connected, voltage on pin 4
- Basic GPIO: Test simple pin toggle with GPIO panel
- Pin Directions: Confirm input/output settings match usage
- Protocol Settings: Verify frequency, mode, format settings
- Signal Quality: Use logic analyzer to examine waveforms
- Load Testing: Check current requirements vs. drive capability
Remember: The most common issue is forgetting to apply voltage to V PINS IN (pin 4). Always check this first when troubleshooting GPIO problems.