ATmega32U4 Development Board
This is a simple, yet beautiful little development board based on the ATmega32u4 microcontroller. The ATmega32U4 chip is famous among people who build custom keyboards. Since this chip supports native USB, it is easy to use it for projects such as keyboards.
Even though this is a relatively old chip and it has cheaper and more powerful alternatives from other manufacturers, it is still very popular because its software support is still very strong. Since several popular board manufacturers use this chip on their boards, there are plenty of resources available for it.
I wanted to design my own microcontroller board, so I decided to establish it around this chip.
The board is equipped with a modern USB-C connector. Although the chip itself only supports USB 2.0, and the board does not have any PD (Power Delivery) features, the choice still makes sense because USB-C is a much sturdier connector than its predecessors.
I also tried to add some personal touch to the board. First, and foremost, I picked purple as the board colour because it looks great, especially with the contrast between the board and the traces. Furthermore, the traces are curved which gives a little “aesthetic retro vibe” to the board.
I also marked the pins on both sides of the board, so it is easy to identify them regardless of how it is mounted. I even added a special marking to the main peripheral pins. A solid line indicates the SPI pins (SCK, MOSI and MISO), dots indicate the i2c pins (SDA - D2, SCL - D3) and the two dashes indicate the UART pins (TX - D1, RX - D0).
The board has 3 LEDs: A power LED (D1), an RX LED (D2) and a TX LED (D3).
The circuit is protected by a 500 mA fuse directly connected to the power pin coming from the USB connector.
The board has 2x13 pins out of which 2 pins are power pins (5 V and GND), one is a reset pin (RST) and the other 23 pins are GPIO pins. Apart from the previously mentioned peripherals (SPI, i2c and UART), other timers, interrupts, analogue input pins and digital input and output pins can be accessed on the board.
The board’s width is designed to match the pitch of a typical breadboard, although it occupies the whole width (from row A to row J) of the board. However, when two breadboards are joined side-by-side, the pins become accessible.
Upon the first time of use, the user must burn a bootloader on the chip using another Arduino microcontroller (Arduino ISP). Then the board can be used and programmed via USB as usual. Alternatively, one can skip this step and burn the program on the chip directly using an AVR programmer, without using the USB. This might be sometimes a good option because the bootloader takes up an extra place in the chip’s flash memory.
Further resources:
- Comments(0)