FTDX-10 Arduino Controller

Troubleshooting Guide

Troubleshooting Guide

Systematic approach to diagnosing and fixing common issues with your FTDX-10 Arduino Controller.

Diagnostic Flowcharts

Problem: Nothing Works, Display is Blank

Display Blank?
│
├─ YES → Check Power
│        │
│        ├─ 5V present at Arduino? → NO → Check power supply
│        │                         → YES ↓
│        │
│        ├─ 5V at Nextion red wire? → NO → Check wiring from Arduino to display
│        │                          → YES ↓
│        │
│        ├─ Display LED on? → NO → Display may be defective
│        │                  → YES ↓
│        │
│        └─ Adjust brightness slider on display edge
│
└─ NO → Display has power, check software →
                        

Problem: Display Works but Shows No Data

Display Shows No Data?
│
├─ Does it show "FTDX-10 Controller" text?
│   │
│   ├─ NO → Nextion firmware not uploaded or wrong .tft file
│   │
│   └─ YES → Display working, check Arduino communication
│       │
│       ├─ Open Arduino Serial Monitor (115200 baud)
│       │   │
│       │   ├─ No output? → Arduino code not uploaded or wrong port
│       │   │
│       │   └─ Seeing "Display initialized"? → YES: Display comms working
│       │                                     → NO: Check TX2/RX2 wiring
│       │
│       └─ Seeing radio responses? → NO → See "Radio Communication" section
│                                  → YES → Should be working - check display events
                        

Problem: Display Works, But Radio Not Responding

Radio Not Responding?
│
├─ Check Arduino Serial Monitor output
│   │
│   ├─ Seeing transmitted commands? (FA;, MD;, etc.)
│   │   │
│   │   ├─ NO → Check FTDX10_CAT library initialization
│   │   │
│   │   └─ YES but no responses → RS232 communication problem
│   │       │
│   │       ├─ Radio powered on? → Check radio
│   │       │
│   │       ├─ CAT enabled on radio? → Check Menu 056 (38400 baud)
│   │       │
│   │       ├─ MAX3232 powered? → Check VCC at 5V
│   │       │
│   │       ├─ TX/RX wired correctly? → Check Pin 18→T1_IN, Pin 19→R1_OUT
│   │       │
│   │       ├─ RS232 cable correct? → Check DB9 wiring (straight, not null-modem)
│   │       │
│   │       └─ Ground connected? → Check GND to radio pin 5
│   │
│   └─ Not seeing any serial output → Arduino USB connection issue
                        

Issue-Specific Solutions

Issue 1: Display Shows Garbage Characters

Symptoms:

  • Random characters on display
  • Unreadable text
  • Flickering display

Causes & Solutions:

1. Wrong Baud Rate

  • Check: Display should be 9600 baud
  • Fix: In NextionDisplay.cpp, verify begin(9600)
  • Fix: In Nextion Editor, check baud rate setting

2. TX/RX Crossed

  • Check: Arduino TX2 (Pin 16) → Nextion RX (Blue)
  • Check: Arduino RX2 (Pin 17) → Nextion TX (Yellow)
  • Fix: Swap if reversed

3. Noise on Serial Lines

  • Check: Are serial wires near power lines?
  • Fix: Separate signal and power wires
  • Fix: Use shielded cable or twisted pair
  • Fix: Add ferrite beads

4. Poor Connections

  • Check: All connections secure?
  • Fix: Re-seat connectors
  • Fix: Solder connections if using prototype board

Issue 2: Radio Commands Not Working

Symptoms:

  • Display shows frequency but won't change
  • Mode buttons don't work
  • Radio doesn't respond to commands

Causes & Solutions:

1. CAT Not Enabled on Radio

  • Check: MENU → 056 CAT RATE = 38400
  • Check: MENU → 058 CAT RTS = DISABLE
  • Fix: Configure radio CAT settings

2. Wrong Baud Rate

  • Check: Code uses 38400 for radio
  • Check: Radio CAT RATE set to 38400
  • Fix: Must match exactly

3. RS232 Level Conversion Problem

  • Check: MAX3232 has power (5V)
  • Check: Capacitors present on MAX3232 module
  • Test: Measure RS232 output with scope (+/- 5-12V)
  • Fix: Replace MAX3232 if defective

4. Cable Wiring

  • Check: Not null-modem cable (straight-through only)
  • Check: Pin 2 = Radio RX, Pin 3 = Radio TX, Pin 5 = GND
  • Fix: Rewire if incorrect

5. TX/RX Reversed at MAX3232

  • Check: Arduino TX1 (Pin 18) goes to T1_IN
  • Check: Arduino RX1 (Pin 19) comes from R1_OUT
  • Fix: Swap if reversed

Issue 3: Touch Events Not Detected

Symptoms:

  • Display shows data but doesn't respond to touch
  • Buttons don't work
  • No response to taps

Causes & Solutions:

1. Touch Not Calibrated

  • Nextion resistive displays usually pre-calibrated
  • Check: Try touching firmly in center of buttons
  • Test: In Nextion Editor, test touch in simulator

2. Component IDs Not Matching

  • Check: Component IDs in Nextion match code expectations
  • Fix: Review NextionHMI_Design.txt and verify IDs
  • Fix: Ensure "Send Component ID" is checked for all interactive components

3. Touch Events Not Enabled

  • Check: In Nextion Editor, verify "Touch Press Event" enabled
  • Check: "Touch Release Event" enabled where needed
  • Fix: Recompile and upload Nextion firmware

4. Arduino Not Processing Events

  • Check: Serial Monitor shows touch events?
  • Should see: "Display event - Page: X Component: Y"
  • Fix: If not, check Nextion TX→Arduino RX2 connection

Issue 4: Frequency Not Updating

Symptoms:

  • Display shows static frequency
  • S-meter not moving
  • Data appears stale

Causes & Solutions:

1. Polling Not Working

  • Check: Serial Monitor shows periodic "FA;" commands?
  • Fix: Verify main loop timing in code
  • Fix: Check freqUpdateInterval value

2. Radio Not Sending Responses

  • Check: CAT timeout setting on radio (MENU 057)
  • Fix: Increase timeout value (1000ms recommended)

3. Serial Buffer Overflow

  • Check: Are responses being read fast enough?
  • Fix: Increase buffer clearing in readResponse()

4. Display Update Failing

  • Check: Correct component names in display code
  • Fix: Verify "txtFreq" component exists in Nextion
  • Fix: Check component is visible (not hidden)

Issue 5: TX Button Causes Issues

Symptoms:

  • Radio transmits but doesn't stop
  • TX indicator stuck
  • PTT not working

Causes & Solutions:

1. Touch Release Not Detected

  • Check: Button configured for both press AND release events
  • Fix: In Nextion Editor, enable both touch events

2. CAT TX Command Issues

  • Check: "TX1;" sent on press, "RX;" sent on release
  • Fix: Verify in handleDisplayEvent() function

3. Radio PTT Settings

  • Check: CAT PTT enabled in radio menu
  • Check: PC KEYING setting (MENU 059)
  • Fix: Set appropriately for CAT control
SAFETY WARNING: Always test TX at LOW POWER into dummy load!

Issue 6: Power/Current Issues

Symptoms:

  • Arduino resets randomly
  • Display dims or flickers
  • Brownout behavior

Causes & Solutions:

1. Insufficient Power Supply Current

  • Check: Power supply rated for at least 500mA
  • Measure: Total current draw (should be <400mA)
  • Fix: Use 1A or higher power supply

2. Voltage Drop

  • Measure: Voltage at Arduino 5V pin under load
  • Should be: 4.75-5.25V
  • Fix: Use thicker power wires or higher voltage input

3. USB Power Limitation

  • USB ports typically limited to 500mA
  • Some ports provide less
  • Fix: Use external 5V supply

4. Bad Power Connection

  • Check: All power connections solid
  • Check: No corrosion or loose wires
  • Fix: Clean and secure connections

Issue 7: Erratic Operation

Symptoms:

  • Works sometimes, not others
  • Random resets or freezes
  • Inconsistent behavior

Causes & Solutions:

1. Poor Ground Connections

  • Check: All grounds connected together
  • Measure: Resistance between all ground points (<1Ω)
  • Fix: Star ground configuration recommended

2. RF Interference

  • Occurs: When transmitting on HF
  • Symptom: Controller stops/resets during TX
  • Fix: Add ferrite beads to all cables
  • Fix: Improve grounding and shielding
  • Fix: Separate controller from antenna/feedline

3. Loose Connections

  • Check: All wires and connectors secure
  • Fix: Solder connections or use proper crimps
  • Fix: Add strain relief

4. Software Bugs

  • Check: Serial Monitor for error messages
  • Check: Are you running latest code version?
  • Fix: Reset Arduino and try again

Diagnostic Tools

Using Serial Monitor

Arduino Serial Monitor is your best debugging tool!

Setup:

  1. Connect Arduino via USB
  2. Open Arduino IDE
  3. Tools → Serial Monitor
  4. Set baud rate: 115200

What to Look For:

Good Output:
FTDX-10 Controller Starting...
Radio CAT interface initialized
Nextion display initialized
Setup complete
Radio: FA014074000;
Radio: MD02;
Display event - Page: 0 Component: 1 Event: 0
Problem Output:
(No output) → Code not running
(Garbage) → Wrong baud rate
(Errors) → Hardware problem

Multimeter Tests

Voltage Checks (Power ON):

Location Expected Tolerance
Arduino 5V pin 5.0V ±0.25V
Arduino 3.3V pin 3.3V ±0.15V
MAX3232 VCC 5.0V ±0.25V
Nextion red wire 5.0V ±0.25V

Continuity Checks (Power OFF):

Between Expected
Arduino GND ↔ MAX3232 GND
Arduino GND ↔ Nextion GND
Arduino GND ↔ Radio GND
Arduino TX1 ↔ MAX3232 T1_IN
Arduino RX1 ↔ MAX3232 R1_OUT
DO NOT Test: RS232 levels without proper equipment (can damage meter)

Oscilloscope Tests (Advanced)

If Available:

TTL Serial (3.3-5V):

  • Check TX1, RX1 for activity (0-5V square waves)
  • Check TX2, RX2 for activity (0-5V square waves)
  • Baud rate: Should see bit timing of 26µs (38400) or 104µs (9600)

RS232 Serial (±12V):

  • Check MAX3232 T1_OUT, R1_IN for activity (±5 to ±12V)
  • Should see voltage swings when transmitting

Step-by-Step Debugging Process

1. Isolate the Problem

Test each subsystem independently:

Test 1: Arduino Only

  • Upload simple blink sketch
  • Does LED blink? → Arduino works

Test 2: Display Only

  • Connect display to Arduino
  • Upload simple Nextion test code
  • Does display respond? → Display works

Test 3: Radio Connection Only

  • Use PC with COM port and terminal program
  • Connect directly to radio RS232
  • Send "FA;" command
  • Get response? → Radio CAT works

Test 4: MAX3232 Only

  • Connect to PC COM port with null-modem cable
  • Send test characters
  • Loopback test (TX to RX)

2. Check the Basics

Before deep debugging:

  • All components powered on?
  • All connections secure?
  • Correct code uploaded to Arduino?
  • Correct firmware on Nextion?
  • Radio CAT configured (38400 baud)?
  • USB cable working?
  • Power supply adequate (>500mA)?

3. Systematic Testing

Work through in order:

  1. Power System
    • Measure all voltages
    • Check current draw
    • Verify stable power
  2. Arduino
    • Upload test code
    • Check Serial Monitor output
    • Verify all serial ports working
  3. Display
    • Verify display shows content
    • Test touch response
    • Check serial communication
  4. Radio Interface
    • Verify MAX3232 operation
    • Check cable continuity
    • Test radio responses
  5. Integration
    • Test each function individually
    • Verify data flow
    • Check for conflicts

Still Having Problems?

Information to Gather

When seeking help, collect:

1. Hardware Details

  • Arduino model and clone info
  • Nextion model (verify NX4832K035)
  • MAX3232 module type/model
  • Power supply specs

2. Software Details

  • Arduino IDE version
  • Code version/date
  • Nextion Editor version
  • Upload date

3. Symptoms

  • Exact behavior observed
  • When problem occurs
  • What works, what doesn't
  • Any error messages

4. Serial Monitor Output

  • Copy full output
  • Note any errors
  • Save to file if long

5. Measurements

  • Voltage readings
  • Continuity tests
  • Current draw

Useful Test Points

Physical locations to check:

Arduino Mega 2560:

  • Pin 18 (TX1): Should have data when transmitting to radio
  • Pin 19 (RX1): Should have data when radio responds
  • Pin 16 (TX2): Should have data when updating display
  • Pin 17 (RX2): Should have data when display sends events
  • 5V pin: Should measure 5.0V ±0.25V
  • GND pin: Reference ground

MAX3232 Module:

  • VCC: Should be 5.0V
  • T1_IN: TTL level (0-5V) from Arduino
  • R1_OUT: TTL level (0-5V) to Arduino
  • T1_OUT: RS232 level (±5-12V) to radio
  • R1_IN: RS232 level (±5-12V) from radio

Nextion Display:

  • Red wire: 5.0V
  • Black wire: Ground (0V)
  • Blue wire (RX): TTL data from Arduino
  • Yellow wire (TX): TTL data to Arduino

Prevention Tips

Avoid Future Problems

1. Document Your Build

  • Take photos of wiring
  • Label all connections
  • Note any modifications

2. Use Quality Components

  • Avoid extremely cheap clones
  • Verify genuine Nextion displays
  • Use good quality wire

3. Proper Assembly

  • Solder connections when possible
  • Use heat shrink on exposed connections
  • Secure all wiring

4. Regular Maintenance

  • Check connections periodically
  • Clean contacts
  • Verify screw terminals tight

5. Backup Everything

  • Save working code versions
  • Keep Nextion .HMI and .TFT files
  • Document radio settings

Quick Reference - Common Fixes

Problem Quick Fix
No display Check power, try brightness slider
Garbage on display Check baud rate (9600), swap TX/RX if needed
Radio no response Check 38400 baud on radio, verify TX/RX to MAX3232
Touch not working Check component IDs, enable touch events
Frequent resets Check power supply (need >500mA)
Works then stops Check grounds all connected together
RF interference Add ferrite beads, improve grounding

Remember: Most problems are simple wiring mistakes!

Double-check connections before assuming component failure.

73!

Need More Help?

Check out other documentation sections for detailed information

Wiring Guide Full Documentation