# The tutorial has been updated. If you need help, please send me a private message. You are also welcome to share your own learning results in the comment area!
# Update record
* **2023-2-27: Initial project release;**
* **2023-3-13: Release tutorial ["Getting Started with ARM High-Speed Circuit Design from Scratch - Chapter 1 - Requirements and Design Considerations"] ( https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_1)**
* What are the project requirements? What do you want it to be like?
* Why did I choose the Allwinner H6 chip? If you want to choose to make other main control chips, what should you consider?
* What are the considerations for the overall design and planning?
* **2023-3-20: Published tutorial ["Getting started with ARM high-speed circuit design from scratch - Chapter 2 - Schematic Design"] (https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_2)**
* Module-level solution design
* The essence of schematic design - copy?
* Precautions in design
* Methods of schematic self-examination
* Going further
* **2023-3-31: Published tutorial ["Getting Started with ARM High-Speed Circuit Design from Scratch - Chapter 3 - PCB Design (Part 1)"] (https ://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_3.1)**
* A mystery
* First encounter with high-speed PCB design
* Densely packed PCB
* It turns out that there are so many concepts in PCB design software, and I have only skimmed them before
* Basic knowledge of high-speed circuits -Impedance and stackup
* Touching process boundaries
* **2023-4-7: Published tutorial ["Getting Started with ARM High-Speed Circuit Design from Scratch - Chapter 3 - PCB Design (Part 2)"] (https://oshwhub.com/ article/high_speed_arm_board_tutorial_chapter_3.2)**
* Modular layout
* BGA routing-it turns out there is a routine
* The mountain of high-speed circuit design-DDR and snake are of equal length
* What is snake routing?
* Why wait?
* Which signals count as a group?
* Same group and same layer
* 2W/3W line spacing constraint
* DDR cable
* Tools in LCEDA
* Cable engineer
* **2023-4-14: Published tutorial ["Getting started with ARM high-speed circuit design from scratch - Chapter 3 - PCB design (Part 2)》](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_3.3)**
* Power supply, decoupling capacitors and division of power planes
* PMU and power supply copper laying
* Main control and DDR decoupling capacitors
* Power supply Plane segmentation
* PDN
* Inspection before board making
* Advantages and disadvantages of LCEDA
* Going further
* Experience flow
* Theoretical simulation flow
* **2023-4-21: Published tutorial ["Getting Started with ARM High-Speed Circuit Design from Scratch - Chapter Chapter Four - Welding and Debugging (Part 1)》](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_4.1)**
* Board making and SMT patching
* If a worker wants to do his job well, he must first sharpen his tools
* Welding Basic knowledge
* The role of flux
* The use of hot air soldering stations
* Imitating SMT machine placement
* **2023-4-27: Update of JLC free boarding requirements & progress on minor power integrity issues**
* **2023-4 -28: Release tutorial ["Getting Started with ARM High-Speed Circuit Design from Scratch - Chapter 4 - Welding and Debugging (Part 2)"] (https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_4.2)**
* Quality of machine welding- Whole board welding
* The first big mountain-QFN welding and debugging
* Slowly exploring in the maze-BGA welding and debugging
* Seeing the light-DragonHD DDR memory test
* **2023-5-6: Release tutorial ["From Scratch" Getting Started with ARM High-Speed Circuit Design - Chapter 5 - Software and Hardware Joint Debugging》](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_5)**
* Goodbye Orange-Enter Ubuntu normally
* WIFI test-smoother than expected
* Audio test -The sound quality is okay
*GPIO test-Compatible with OrangePi, it saves a lot of trouble
*USB power control, USB camera and USB solid state drive
*GPU test-I am still a little excited to see the 3D effect on the small board
*Stability test-Suspected power supply integrity Question
* Go further
* Goodbye Jianghu
# Quanzhi H6 Development Board
## Introduction
The Allwinner H6 development board uses the Allwinner H6 as the main control chip, and has 2GB LPDDR3 memory, 8GB EMMC, AP6212 (WIFI+BT), common USB, HDMI, headphone audio and other interfaces, and an open 26Pin GPIO.
The hardware is compatible with Orange Pi 3 LTS and can be programmed into the Orange Pi system and fully connected to its software. For example, use the GPIO operation tools provided by Orange Pi to operate the IO ports.
## Supported system
* Ubuntu 22.04 - Jammy, etc.
* Debian 11 - Bullseye, etc.
* Android TV 9.0
## Features
* Based on Allwinner H6 chip, 4-core Cortex A53, Mali-T720 GPU
* 2GB LPDDR3 memory (tested by DragonHD, up to 888MHZ) and 8GB eMMC storage, supports TF card expansion
* HDMI supports up to 4K@60HZ, measured at least 2K@60HZ
* Onboard AP6212 (WIFI+BT) (WiFi speed measured download 30Mbps+, upload 20Mbps+)
* 4 USB ports, Includes 1 USB 3.0, 1 USB 2.0, 1 USB OTG, and 1 USB Type C power interface
* Supports HDMI and 3.5mm interface audio output (clear sound quality, no noise)
* Onboard 26 Pin GPIO, supports common interfaces , eg. I2C, SPI, UART, PWM, etc., compatible with the GPIO interface of Orange Pi 3 LTS
* Independent debugging serial port, outputs UBOOT and kernel debugging information at startup, can be used as Console after entering the system
* Paired with AXP805 power supply solution
* Supports eMMC and TF card boot
* Support direct burning of firmware through debugging USB (Android system only)
## Demo video and photo
### Demo video (music playback and 3D test)
see attached video
### Frontal photo
! [Frontal photo]
# ## Network speed test
! [Network speed test]
### GPIO-PWM
! [pwm test]
### Rendering
! [Board front rendering]
### PCB package
! [PCB package]
### Board front ( After SMT patching)
![Unsoldered front]
### Exploration of BGA welding
* The left side is the chip after reballing (a tin bead fell off + the tin bead is too small), and the right side is the main control chip that failed to be welded*
! [BGA ball planting]
### The board being welded
! [The board being welded]
### Main control chip 32.768K crystal oscillator
! [32.768K crystal oscillator test]
### Main control chip 24M crystal oscillator
! [24M crystal oscillator]
## # LPDDR3 memory test
! [LPDDR3 memory test]
### Load linux kernel
! [Load kernel]
### Load Ubuntu desktop
! [Enter desktop]
### Run stably for 30 days continuously
! [days_30.png]
## Resource link
* Allwinner H6 hardware development information: from [Wu Chuanbin's blog](https://www.mr-wu.cn/allwinner-h6-soc-reference-design/)
* DragonHD (DDR memory test tool) V1.7.7 Version: [See attachment](https://oshwhub.com/attachments/2023/2/SIV1i7lcm2Kv2p0Pk5JsruEk0YuNW6WsJLdlQTu2.rar?operation=download)
* PhoenixSuit (Android one-click flash tool) V1.10: [See attachment](https:/ /oshwhub.com/attachments/2023/2/yJyXOAeuuNuj5hpE0eTlgmZ7VlksTQiEzD6rNcXA.zip?operation=download)
* System, software and usage guide: [Same as Orange-Pi-3-LTS]( http://www.orangepi.cn/html/ hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3-LTS.html)
## Others
### Board making
* This development board basically complies with [JLC 6-layer board free board making requirements] (https:// www.jlc.com/portal/t7i39247.html), using JLC06161H-3313 impedance.
* Since the JLC free rules are changing, the following are the differences from the latest requirements (2023.04.27):
* The vias in this development board use the minimum free specification of 0.2mm/0.45mm when the board was drawn (2022.12). **The current (2023.04.27) JLC free rule has been modified to 0.3mm/0.4mm**. The outer diameter of the via hole becomes smaller, so the board is easier to draw, but it still needs to be modified accordingly to comply with the free board making rules.
### BOM
* The component model in the BOM table exported by LCEDA is the final model, and it has already been corresponding when drawing the schematic diagram.
### Cost
* Board making: 0 yuan;
* SMT chip: 0 yuan (I got a 300 yuan coupon on Double Eleven);
* BOM: 208.66 yuan
* H6+AXP805 set: 68 yuan {TB}
* LPDDR3 : 45 yuan {TB}
* eMMC 8G: 22 yuan {JLC}
* AP6212: 28.66 yuan {JLC}
* Resistor, capacitor, inductor, crystal oscillator interface, etc.: 45 yuan {JLC}
* Orange Pi 3 LTS single motherboard: 229 yuan (2023.02.24, Taobao)
* PS: In fact, the cost of making your own single board is much higher than what is written above. For example: for redundancy, just buy the H6+AXP805 set I bought 4 sets and bought various tools for welding. The total cost is estimated to be about 1,000 yuan (700 yuan for materials + 300 yuan for tools).
*Update: @frostcc found a solution to reduce material costs - Taichi cat TV box, the salted fish price is about 60. I took a look and it’s quite complete, including H6, AXP805, LPDDR3 (1GB), eMMC, and AP6212. You can refer to it.
* [https://whycan.com/t_7142.html](https://whycan.com/t_7142.html)
* [https://github.com/yjun123/e-waste/tree/master/tqc-a01 ](https://github.com/yjun123/e-waste/tree/master/tqc-a01)
## Legacy issues
* There is a problem with the schematic library of LPDDR3, where the G6 pin is actually VSS, which is wrong in the schematic Think it's VDD. (The correctness of the devices found in EDA was not carefully confirmed at that time)
* AP6212 Bluetooth failed to be adjusted. It is speculated that the software configuration is incorrect.
*~~It is speculated that there is a slight power integrity problem. It may be because I use 0603 package capacitors instead of 0402 packages, so that all capacitors cannot be placed closer to the main control chip. ~~
* **Changed the power supply of the development board from an adjustable power supply to a mobile phone charger, and the problems caused by power integrity are no longer visible**. It has been running stably for 30 days.
* My guess is that the power quality of a mobile phone charger is better than an adjustable power supply costing 100 yuan+.
# ARM High-speed Circuit Design from Scratch
## Origin
Every time I see the densely packed components in mobile phones, computers, and XX-style PCBs, I always think about how I can make something similar. But when I really want to do it and learn it, I feel like I have no way to start. There are many talks on the Internet about circuit hardware design and software development of STM32, ESP32 and other MCUs, and LCEDA has held many such activities. But I have never seen anyone talk about how to design a development board/application similar to the Raspberry Pi. They basically talk about how to configure the software and environment on the Pi and play with various creative ideas. There are many open source factions, but they only provide the final results (schematic diagram + PCB + Demo video), lacking the intermediate process, and I don’t know how to learn to make such a thing independently. **After seeing other people’s pies, I feel envious, but I can’t do anything except envy**.
Later, in the process of learning hardware, I have been looking for relevant information. Until one day I found a software and hardware development document for Quanzhi H6 (from Wu Chuanbin’s blog). The document contained very detailed information, schematics, PCB, debugging manual, IC datasheet, and even production guides. . The blog also specifically said that you can use H6 to get started with ARM high-speed circuit design. **I feel that the time is almost ripe. Although it is still not clear how to do it, I will take a look first. **
It took 5 months from the initial learning to the final adjustment of various functions on the board. The effective working time is 2.5 months of spare time in the evening (2-3 hours). One month for study, two weeks for schematics, two weeks for PCB, and two weeks for debugging. This process is also full of exploration and pitfalls.
## The purpose of the tutorial is that
besides me, there will definitely be other friends who have similar ideas and want to learn about high-speed circuit design, but they suffer from too little information. Since I couldn't find such a learning tutorial at the beginning, why not make one myself now. **This tutorial will give a feasible learning path, share some of my own experiences in the process (it seems easy to others, but why is it so difficult to do it myself, eg. BGA welding), as well as the design process some considerations. ** I am also an amateur, let’s learn together! I hope everyone can become the person they once envied!
## Prerequisites
* **Be able to independently complete a small project based on MCU**, including schematic design, PCB design and embedded software development, similar to the projects of Lichuang EDA training camp, such as: USB current and voltage meter, Small clock, RGB light strip control, Nixie tube clock, etc. I believe that students who play Lichuang Kaiyuan Plaza will find it easier to meet this condition.
* What? If you are not satisfied, you have to start from not understanding the circuit at all. This tutorial is also available. After all, I didn’t understand it at all 16 months ago (if high school physics circuit knowledge is not counted). But there are actually quite a lot of similar tutorials and projects. For example, Lichuang EDA has many training camp projects. If anyone is really interested, I can write about it later.
## Tutorial Outline
* Requirements and Design Considerations: [Tutorial-Chapter 1](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_1)
* What are the project requirements? What do you want it to be like?
* Why did I choose the Allwinner H6 chip? If you want to choose to make other main control chips, what should you consider?
* What are the considerations for the overall design and planning?
* Schematic design: [Tutorial - Chapter 2](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_2)
* Module-level scheme design
* The essence of schematic design - copy?
* Precautions in design
* Methods of schematic self-examination
* Going further
* PCB design:
* Part one: [Tutorial-Chapter 3 (Part 1)](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_3.1)
* A mystery
* First encounter with high-speed PCB design
* Densely packed PCB
* It turns out that there are so many concepts in PCB design software, and I had just glanced at them before
* Basic knowledge of high-speed circuits-impedance and stacking
* Touching the boundaries of the process
* Middle part: [Tutorial- Chapter 3 (Part 2)](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_3.2)
* Modular layout
* BGA outlet-it turns out there is a routine
* The big mountain of high-speed circuit design-DDR and snake-shaped wiring are equal in length
* What is snake-shaped wiring?
* Why wait?
* Which signals count as a group?
* Same group and same layer
* 2W/3W line spacing constraint
* DDR cable puller
* Tools in LCEDA
* Cable puller engineer
* Next part: [Tutorial - Chapter 3 (Part 2)](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_3. 3)
* Power supply, decoupling capacitors and power plane segmentation
* PMU and power supply copper laying
* Decoupling capacitors for main control and DDR
* Power plane segmentation
* PDN
* Inspection before board making
* Advantages and disadvantages of LCEDA
* More Further
* Experience flow
* Theoretical simulation flow
* Welding and debugging:
* Upper part: [Tutorial-Chapter 4 (Part 1)](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_4.1)
* Board making and SMT patching
* If a worker wants to do his job well, he must first sharpen his tools
* Basic knowledge of welding
* The role of flux
* The use of hot air soldering stations
* Imitating SMT machine placement
* The next part: [Tutorial-Chapter 4 (Part 2)] (https: //oshwhub.com/article/high_speed_arm_board_tutorial_chapter_4.2)
* Quality of machine welding - whole board welding
* The first big mountain - QFN welding and debugging
* Slowly exploring in the maze - BGA welding and debugging
* Seeing the light - DragonHD DDR memory test
* Software and hardware joint debugging: [Tutorial-Chapter 5](https://oshwhub.com/article/high_speed_arm_board_tutorial_chapter_5)
* Goodbye Orange-enter Ubuntu normally
* WIFI test-smoother than expected
* Audio test-sound quality Also
* GPIO test - compatible with OrangePi, it saves a lot of trouble
* USB power control, USB camera and USB solid state drive
* GPU test - I am still a little excited to see the 3D effect on the small board
* Stability test - suspected power integrity issue
* Going further
* Goodbye Jianghu
# Demo video (music playback and 3D testing)