I've got a small circuit I've been troubleshooting all day with no success. By all means it should be working fine, but it's driving me mad and I'm hoping some other minds can chime in with some advice.
Basically, I've got my own PCB with a 328P-AU chip running the arduino bootloader on its 8MHz internal clock. As far as I can tell everything on the chip is functioning normally. The few output pins I'm using do their jobs just fine, and timing seems all correct which leads me to believe the chip is configured correctly.
I've also got an FT231x serial chip connected to the 328's UART pins, PD0 and PD1. The 231x is working fine with the computer and I can read and write the EEPROM with FT_PROG fine. So that leads me to conclude that this chip is also working as intended.
The two chips are connected together directly, FTDI TX -> 328P RX, and 328P TX -> FTDI RX. By all means, unless I'm missing some critical piece of information, this circuit should be working just fine.
But it's not. Using the standard Serial library, I receive no data over the serial monitor with the correct baudrate set in the program and in the monitor. The FTDI RX lights never illuminate either. Similarly, when I write a simple program to wait for serial data and flash an LED, the chip never responds. (The TX LED on the FTDI side of things does light up - meaning that serial data is making it at least to the 231X)
So I've got three speculations on my problems as of now. I'd appreciate some help and some spitballing of ideas.
- My hardware configuration is incorrect.
- The 328P-AU needs some additional setup to use the hardware UART properly with the internal clock
- The FT231x needs some additional pins pulled down/up or additional software configuration.
Thanks for the help! I can attach schematics if necessary, but it's such a simple configuration I don't think that's necessary yet.