

Avrbrain
An AVR128DB64 development board
- Size
- 85 × 56 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 94
- Pads
- 338
- Tracks, vias
- 699, 91
- Pours
- 8
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 10 Jan 2024
- Updated
- 20 Jan 2025
Overview
Avrbrain is an open-source printed circuit board by jblang, from the jblang/avrbrain repository on GitHub, published under the MIT licence. It is a 4-layer board of 85 × 56 mm with 64 parts on 94 nets, routed with 699 tracks and 91 vias.
It is built around the CH340C, XKTF-0803-0 and AMS1117-3.3, with the PCF8563T/5, 1N5819WS and BSS138 among its other parts. Its parts include 19 capacitors, 12 connectors, 10 resistors, 4 ICs and 4 diodes. It belongs with the microcontroller boards boards of this library.
Main components
8CH340C
SOP-16-20℃~+70℃ 2Mbps 3.3V、5V 50uA 7mA Transceiver USB 2.0 SOP-16 USB Converters ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersXKTF-0803-0
SMD-25℃~+80℃ 1.5mm Connector and Ejector MicroSD Card (TF Card) Push-Pull SMD SD Card / Memory Card Connector ROHSXKB ConnectionSD Card / Memory Card ConnectorAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsPCF8563T/5
SO-8-40℃~+85℃ 0.25uA 1V~5.5V Battery low-voltage detection、Programmable clock output、Alarm function、Countdown timer I2C Yes SO-8 Real Time Clocks ROHSNXP SemiconductorsReal Time Clocks1N5819WS
SOD-3231 Independent 1A 25A 40V 500uA@40V 600mV@1A SOD-323 Schottky Diodes ROHSGuangdong HottechSchottky DiodesBSS138
SOT-23-55℃~+150℃ 1 N-channel 1.1Ω@10V、1.2Ω@4.5V 1.2V 1.7nC@10V 17.5pF 340mA 350mW 50V 6.5pF N-Channel SOT-23 MOSFETs ROHShongjiachengMOSFETsSM04B-SRSS-TB
Header SR 1.0 SMT side entry, 1mm pitchJSTUncategorisedU254-051T-4BH81-S2S
SMD-40℃~+85℃ 1 1.8A 10,000 cycles 30V 5mm 9P Black Female Micro-B Surface Mount, Right Angle SMD USB Connectors ROHSXKB ConnectionUSB Connectors
README
README.mdAVRBrain
AVRbrain is an AVR128DB64 dev board. The AVR Dx series are modern AVRs with many desireable features over the classic ATmega AVRs, such as multi-voltage I/O, configurable logic, advanced analog features, and a single-wire programming and debug interface.

Arduino Compatibility
AVRbrain is compatible with the DxCore Arduino Core. I have tested the AVR128DB28 on a breadboard with the same programming circuit I intend to use on the finished board, and confirmed that it works.
Once flashed in UPDI programming mode, the Optiboot_Dx bootloader can be used to reprogram the board in serial comms mode, and there is an auto-reset circuit connected to the DTR line (possible to disable with a jumper).
PlatformIO Compatibility
AVRbrain is compatible with PlatformIO using the Atmel megaAVR platform. PlatformIO supports Arduino development using DxCore, or native development using avr-libc.
Here's the platformio.ini that I used to build a simple non-Arduino led blinking example for the AVR128DB64:
[env:AVR128DB28]
platform = atmelmegaavr
platform_packages = platformio/toolchain-atmelavr@^3.70300.220127
board = AVR128DB28
upload_speed = 115200
upload_flags =
--tool
uart
--device
avr128db28
--uart
$UPLOAD_PORT
--clk
$UPLOAD_SPEED
upload_command = pymcuprog write --erase $UPLOAD_FLAGS --filename $SOURCEThe above example can be made to work with DxCore just by adding the line framework = arduino to this file.
Hardware Features
- Onboard CH340C USB-to-serial converter with a micro-USB connector, and a switch to select between USB communication or programming via SerialUPDI.
- Onboard 3.3V regulator for MVIO. The board is configured to have 3.3V on PORTC and 5V on the other ports.
- SD card holder connected to 3.3V SPI Bus, and an I2C RTC (PCF8563T) with battery backup via CR 1612 coin cell.
- UEXT port that exports 3.3V UART, I2C, and SPI buses. Many peripheral modules are available from Olimex.
- Qwiic I2C port to work with the Qwiic and Stemma QT ecosystems. Many peripheral modules are available from Sparkfun and Adafruit.
- Headers breaking out all pins of the 8-bit ports A-G, except pin 7 of port F which is UPDI. Pin sockets can be used for stackable shield-style add-on boards, or pin headers can be used to connect to breadboards or elsewhere using IDC cables.
- Port F is used for UPDI, Reset, the USB UART, SD card chip select (level shifted), and optionally the RTC's interrupt and 32 kHz clock signals.
- The RTC's interrupt and 32 kHz clock signals can be connected to port F by adding a solder bridge on the surface mount jumper. The RTC can be disconnected from the I2C bus by cutting the traces in the SDA and SCL jumper pads in case of a conflict with other RTC devices.
- UPDI header for use with a PicKit and MPLAB X for debugging.
- Same size as a Raspberry Pi Model B, though it is not mechanically or electrically compatible. The right-side mounting holes are on the corners instead of toward the middle of the board, and no attempt has been made to reproduce the GPIO header pinout used on the Pi.
Relationship to z80ctrl NG
z80ctrl NG is the next-generation z80ctrl board I am designing concurrently with AVRbrain. It uses all the same hardware components, including the AVR128DB64, the USB chip, RTC, voltage regulator, sd card slot, etc. The primary difference is the pinout. The z80ctrl NG is intended to interface with the RCBus parallel bus used primarily by Z80-based retrocomputers, whereas AVRbrain is intended as a general-purpose dev board with stacking shield-style modules or IDC cables. z80ctrl also includes a 512K SRAM chip with optional banking that can be initialized by the AVR and then used by the 8-bit processor that z80ctrl shares a bus with.
Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 0.1uf | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3, C4, C5, C8, C9, C10, C11, C14 |
| 4 | 100K | Resistor_SMD:R_0402_1005Metric | R3, R4, R5, R6 |
| 4 | 1uf | Capacitor_SMD:C_0402_1005Metric | C16, C17, C18, C19 |
| 4 | 2.2K | Resistor_SMD:R_0402_1005Metric | R7, R8, R9, R10 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_Pad_Via | H1, H2, H3, H4 |
| 3 | 1N5819WS | Diode_SMD:D_SOD-323 | D1, D3, D4 |
| 2 | 1K | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | 1uf | Capacitor_SMD:C_1206_3216Metric | C7, C12 |
| 2 | 22uf | Capacitor_SMD:C_1206_3216Metric | C6, C15 |
| 1 | 27pf | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 32kHz | Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm | Y1 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | AUTORESET | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP1 |
| 1 | AVR128DB64x-xPT | Package_QFP:TQFP-64_10x10mm_P0.5mm | U1 |
| 1 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | CH340C | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U3 |
| 1 | CR1216 | Battery:BatteryHolder_Keystone_3001_1x12mm | BT1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | NetTie_2 | NetTie:NetTie-2_SMD_Pad0.5mm | NT1 |
| 1 | PCF8563T | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | PORTA | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J2 |
| 1 | PORTB | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J3 |
| 1 | PORTC | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J4 |
| 1 | PORTD | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J5 |
| 1 | PORTE | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J6 |
| 1 | PORTF | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J7 |
| 1 | PORTG | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J10 |
| 1 | PROG_EN | SamacSys_Parts:JS202011CQN | SW3 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | RTC_CLK | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP6 |
| 1 | RTC_INT | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP7 |
| 1 | RTC_SCL | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP2 |
| 1 | RTC_SDA | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP3 |
| 1 | SM04B-SRSS-TB | SamacSys_Parts:SM04B-SRSS-TB_LFSN_ | J12 |
| 1 | U254-051T-4BH81-S2S | SamacSys_Parts:U254051T4BH81S2S | J9 |
| 1 | UEXT | Connector_IDC:IDC-Header_2x05_P2.54mm_Horizontal | J11 |
| 1 | UPDI | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | XKTF-0803-0 | SamacSys_Parts:XKTF08030 | J8 |
More from jblang/avrbrain
3Similar boards
- 4 layers101.6 × 53.3 mm

- 4 layers38 × 64 mm

Ak display 38x64 SPLIT POWER CANDIDATE
LeeSpo/portable-display-epass-EVT1-minboot-r1
当前自研硬件为 38 × 64 mm、四层 split-power 工程候选,尚未放行生产。
147 parts - 4 layers99.5 × 65 mm

- 2 layers290 × 100 mm

ESP32-Wall Clock
SkullKill/ESP32-Wall-Clock-PCB
ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit
207 parts3GPL-3.0 - 2 layers94 × 94 mm

3axis magnetometer
NarodniySputnik/Gladiolus-1
Gladiolus-1 - автономный модуль для приема и передачи изображений в формате SSTV (Slow Scan TeleVision) на малом космическом аппарате (МКА) формата CubeSat
85 parts9GPL-3.0 - 2 layers85 × 65 mm

BLDC Project
yussufadel8/BLDC-Motor-Controller-STM32
Two-layer 3-phase BLDC controller in KiCad — STM32G431 FOC MCU with on-board STM32F103 SWD debugger, IR2104 half-bridges, and 3-shunt current sensing via the G431's internal op-amps.
128 parts1MIT - 2 layers51.5 × 27.9 mm

- 4 layers85.6 × 54 mm

Frank air
rh1tech/frank-lab
FRANK Board Laboratory (work-in-progress board prototopyes)
184 parts4GPL-3.0
Questions
How big is the Avrbrain PCB?
It measures 85 × 56 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Avrbrain use?
64 parts, built around the CH340C, XKTF-0803-0, AMS1117-3.3 and PCF8563T/5. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Avrbrain KiCad files?
From the jblang/avrbrain repository on GitHub, at the commit this page was made from: the board is avrbrain.kicad_pcb and its schematic avrbrain.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Avrbrain design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

