Dev board for the ATmega1608
I wanted to experiment with the suitability of the ATmega1608 for use with some other projects. Rather than getting a development board from Microsystems, e.g. the ATmega4809 Curiosity board, I believe creating my own board helps me understand what is involved to physically apply the MCU and not just the programming of it.
One of the criteria for selecting the ATmega1608 was the two USARTs. My idea was to have direct access to the additional USART1 via USB as a means to write diagnostics during development. This leaves USART0 free for the application. Taking the example from the Central Command - a former CE project, I added an FT232RQ to the design since I had some in stock. I have a set of Tag-Connect edge connectors and wanted to finally try these out too so I added a castellated edge for the ISP connection.
Assembly and Testing
I am very happy with the reflow and bringing the board up showed there were no shorts etc. and is able to be powered from the USB or the 5V input. There is a small problem when connecting the Tag-Connect to the castellated edge connector - the mechanical aspect is perfect and I think OSH Park did a great job with the castellated edge. However, I fell for the bottom side view on the diagram of the Tag-Connector data sheet and so the connection to the UPDI pin is on pin 6 instead of pin 1. The connector is keyed so connecting upside down without damaging the connector is not possible - I visited Embedded World again this year and had a chat with a Tag-Connect representative. He did say they have some universal connectors [tongue in cheek]. Someone was asked to help with the assembly and filed off the keys on some connectors, thinking they were artifacts left by the manufacture/mold process. So modifying my connector is an option.
Luckily, I had broken out all the pins on the ATmega1608 and I could connect the ICE programmer using the squid connector. With that configuration, I am able to successfully program the MCU when the board is powered from either the USB or the 5V supplies.
ATmega1608 |
ICE AVR |
GND |
2 |
UPDI |
3 |
Vcc |
4 |
Verifying the USART1
Connecting the board to the USB port on the PC, it makes all the positive signs of a successful connection. Inspecting the device manager, all looks good there too. The problem is when writing to the USART1 from the ATmega1608, nothing is appearing on the terminal program on the PC.
Connecting an additional USART-USB adapter to the ATmega1608 Tx pin, I am getting the sent messages and I can see that they are arriving at the Rx line on the FT232RQ but nothing is showing on the USB side.
I am confident I have not mixed up the Rx and Tx. The only thing I am not confident about is the configuration of the FT232QR itself. Unfortunately, I did not break out these pins to make it easy to probe around on them. After studying my schematic I did notice (not sure why) I did not pull up the ~RESET line which is connected directly to the ~RESET line of the ATmega1608. This pin is also broken out so I tied this high as an experiment, but this makes no difference to the behavior.
Conclusion
I am very pleased with how the board turned out irrespective of having the ISP the wrong way around. The only puzzle to solve is why the FT232RQ is not working as hoped or expected. This does not hold me back from continuing to work with this board but it is disappointing that I am unable to directly use this chip at the moment.
I am thinking that in a subsequent experimental board, it would make sense to also break out all the pins on the FT232RQ to make it easier to probe them or add in extra configuration connections.