I built some custom hardware with the Apollo 3 Blue as the central SoC. I used a fab/assembly house that I had never used before and had a miserable experience. I believe they misquoted the board (didn’t look at minimum via size, trace/space, etc.) and then had lots of other issues, like shipping my boards to another customer. So, I don’t 100% trust my boards were fab’d and assembled correctly.
I’m writing software for the board using the SDK and struggling to get things working. I can blink an LED and read/write I2C commands - so clocks are cycling and at least one IOM peripheral is working, and the signals look pretty clean. With some other peripherals like UART and PDM, when I probe the pins I’m not seeing full voltage swing on the pins. On my UART pins I’m seeing 2.9V to 3.3V - the pin can’t pull the line to ground. On my PDM signal, I’m seeing 0 to 1.7V.
I re-configured those peripheral pins as GPIO and toggled them to make sure that pin could pull the signals to both Vcc and GND, and they could. It’s only when configured as UART or PDM that they don’t have a full voltage swing.
I ran the same PDM (the PDM example from the SDK) code on the Edge board (the lines would be loaded slightly differently) and I’m seeing 0 to 1.5V. So maybe it’s not just my custom hardware?
I’ve read through the datasheet and tried to find information about how the power modes or converters may need to be configured. And I’ve gone through a bunch of configuration and status registers trying to find a fault, but haven’t found anything.
I’ve sent a technical request to Ambiq about what I need to check in all the configuration registers, but have received no reply.
I thought that someone here might have some suggestions for where to look?
Sorry for the essay. I’m almost ready to just re-spin the boards, but the fact that I’m seeing something similar on the Edge board has me a little worried.