p9s43lL

Creative collection terminal based on RK3399

 
Overview
【RK3399】 Creative Collection Terminal Server












Bilibili Demo Video:

https://www.bilibili.com/video/BV1QesEefEDk/
Thanks for your likes and support!

Open Source License:
This project is licensed under the GNU General Public License (GPL). The GPL is a free software license that ensures all users enjoy the following fundamental freedoms:
1. Free to run: Use it for any purpose.
2. Free to research: Study how it works and modify it as needed.
3. Free to share: Distribute original copies to help others.
4. Free to improve: Release your modified versions and share your improvements.
Notes:
a. If you distribute a modified version of this project, you must provide the source files with your release.
b. Any derivative works based on this project must also be released under the GPL license to ensure continued open source freedom.
c. This license does not apply to the software program, only to the hardware.
Thank you for your support and contributions to the open source community!
Project Attributes:
This project is being publicly released for the first time and is my original work. This project has not won any awards in other competitions.
Project Timeline



2024-07 Component Selection
2024-07 Hardware Design 2024-07 Mini Program and Backend Server Development 2024-07 First Version PCB Prototyping and Verification 2024-07 Bug Summary 2024-08 Second Version SMT 2024-08 3D Shell Design/Prototyping 2024-08 RK Driver Adaptation and Debugging 2024-08 Footage Shooting 2024-08 Writing Open Source Documentation and Organizing Materials 2024-08 END 1. Requirements Analysis: This project is a Spark Program bounty project. The original requirements were: participants can purchase and select a suitable core board, design their own baseboard for development, and discuss the selected core board solution with us. Third-party APIs and online AI image generation services can be used. A touchscreen of at least 7 inches should be used as the creative collection terminal server. The system should use a Type-C interface for charging and be powered by a built-in lithium battery. A creative collection mini-program should be developed, allowing participants to scan a QR code to access the mini-program, fill in and upload their creative ideas. Ideas entered in the mini-program will be simultaneously sent to the creative collection terminal . The client will automatically retrieve and generate creative images based on the uploaded creative title and content, and send them back to the mini-program for the uploader to choose from. The mini-program homepage displays the creative title and images, and must support displaying the number of likes and votes. Creatives with higher popularity will be prioritized. The creative details page must support likes and votes, as well as allowing others to create topic blocks and submit their suggestions for improvement. The topic blocks support free discussion and likes, with topics with higher popularity being prioritized. After the creative author adopts and improves the creative, the topic block turns green, ending the discussion on that suggestion topic. It has version management functions, allowing users to track the creative improvement process and milestones. 2. Functionality 2.1 Hardware The system uses a 7-inch MIPI display with touch, and the screen is compatible with the Taishanpai base. It features a power-on/off design, allowing users to power on by long-pressing and power off by pressing and holding. It features a TF card slot, two USB 2.0 HOST ports , one Type-C 24-pin full-function port for OTG firmware download, high-speed Type-C 3.2 data transfer with a theoretical maximum transmission rate of 5Gbps (untested), PD power supply for charging and discharging, one Gigabit Ethernet port , and WIFI + Bluetooth: Wi-Fi (2.4GHz and 5GHz IEEE 802.11 a/b/g/n/ac) + Bluetooth (BT5.0). It also includes a simple 12V cooling fan interface with PWM speed control and a feedback-free serial port debug interface . Debug buttons include a reset button and a restore button. A 3-pin battery holder supports a single 3.7V lithium battery with NTC thermal protection. There are two system work indicator lights and one charging and abnormal status indicator light. The core board uses the Firefly Core-3399J 2.2. A simplified power domain distribution diagram is shown . 2.2 Software Development: The software functions are developed according to the above requirements. 2.2.1 WeChat Mini Program : A demonstration of the mini program developed using uni-app + Vue3 is shown in the video at the bottom . 2.2.2 Backend server language: JAVA core framework JDK17+SpringBoot3+MyBatis Database: Embedded lightweight database H2 Cache: Redis Deployment method see the attached PDF document at the bottom 2.2.3 Online image generation AI service provider: https://www.fromston.com/?from=6pen Paid service, free quota available Calling method: HTTP asynchronous 2.2.4 Operating system Ubuntu 22.04 + GNOME Minimal desktop environment Refer to Ubuntu 22.04 build tutorial: URL compilation introductory tutorial: URL 2.2.5 Software architecture diagram 2.2.6 Database relationship diagram 3. Function description Introductory instructions: After ensuring all connections are complete, press and hold the power button to automatically power on and wait for boot. Possible problems Infinite rebooting and inability to enter the desktop: Cause The battery discharge capacity is too weak. You can connect a battery in parallel or provide 12V power to the USB-C port to increase the current.

















































































































The above problem reappeared after a normal initial system boot and subsequent restart. The DC-DC chip was overheating, and adding a heatsink was an option.

The power consumption at startup was extremely high, reaching approximately 11W, making heat dissipation crucial.
After booting, the current returned to a stable level of 5W.
The core board is Firefly's Core3399J core board. Click to view the official PDF document.
4. The material
project has already included JLCPCB's SMT components, and the materials in the project have been set up and matched. Below are the specifications and purchase links for special



materials
: M3 5 5+1.5 * 3.5 Soldering copper pillar AS0B821-S78B-7H ( URL); M3 2.5 5 Soldering copper pillar AS0B821-S55B-7H ( URL) ; AS0B821-S78B-7H Foxconn/Foxconn MXM core motherboard slot 314PIN H=7.8mm (select one); AS0B821-S55B-7H Foxconn/Foxconn MXM core motherboard slot 314PIN H=5.5mm (select one); 3V rechargeable battery 5.5mAh MS621FE-FL11E button lithium battery RTC battery (select URL). 1% accuracy thermistor NTC-MF52-103/3435 10K 3435±1 URL; 7-inch TFT touchscreen portrait mode, 800 * 1280 MIPI, touch URL > Other notes: I bought AP6256 on Taobao, but it was still faulty after being disassembled. Materials from LCSC Mall were successfully soldered on the first try. TYPE-C 24P manual soldering technique: remove the tail shield, and the subsequent soldering is no different from regular 16P soldering. For the gigabit RJ45 socket, you need to purchase HR911131A; the model number in the project materials is incorrect and cannot be used for soldering. Items starting with NC in the project materials do not need to be soldered unless you have special circumstances. Refer to the notes for any items with annotations. Manual soldering can eliminate all ESD devices, reducing workload. Core3399J core boards can be purchased at a very low price by contacting the group owner; limited quantity. {Benefits for Bilibili fans who like, comment, and subscribe} 5. Peripheral Adaptation and Porting, Resource Description Most people probably aren't very interested in the system and software of this project, so I'll only discuss the system porting part. Those who have followed or participated in the Taishanpai small phone event should have experience debugging the screen, so I won't go into detail here. This screen interface can be used directly with Taishanpai, one-to-one. Note that the backlight current needs to be modified; this screen's backlight is 66mA. The touch definition is different from Taishanpai and needs to be modified. For PD controller + charging IC + power supply adaptation, please refer to my other open-source project: URL Firefly official SDK and Ubuntu, Android image are available for direct download. After burning the official image, gigabit network and WIFI are directly usable, except for the charging part and screen, which require self-adaptation and modification of the device tree. I won't provide a downloadable finished image here; it's actually very similar, and you can do it yourself. In the materials, I will provide the entire DTS device tree folder and the compiled kernel boot image. You only need to burn the official Ubuntu system successfully in the first step, and then burn the boot image separately. For more technical questions about the driver porting process, you can join the group to discuss. I will reply and answer when I have time. [QQ Technical Exchange: 676436122] For porting the charging part, see my other open source article for tutorials. Also, for touch, you need to modify the source code: 700450GT911(1).cfg is the touch configuration cfg code. Just copy it over. For touch flipping, see the development notes for details. Currently known issues: When the IC temperature of the charging part is too high, it will not be able to discharge to the outside, so it can only charge. Inserting USB flash drives or other devices will not discharge to the outside. It is okay when the temperature drops. When you are replicating, you can choose to remove the charging part and change to a direct 12V power supply battery solution. It feels a bit useless, mainly because the 3399 has a relatively high power consumption and generates a lot of heat. The heat dissipation in my picture below is obviously not enough. Here, you can directly order a fan to use with it (select 12V PH2.0): URL link to 3D printing file. The inner wall design is a bit thin, and the effect is not very good. Some places need to be glued. You can modify it yourself for printing. In the attachment, I will upload third-party materials from my design process, along with a summary of my development notes. Hardware development materials download link: File shared via Baidu Cloud: Development Materials.7z Link: https://pan.baidu.com/s/1EhW-T_0IuV9SIIH_8fxjqw?pwd=vefk Extraction code: vefk Software part: Mainly divided into two projects: SpringBoot server-side and WeChat Mini Program-side . In the repository, I will remove the key for the AI ​​image service and the ak and sk for WeChat Mini Program development. Please replace them with your own server-side: https://github.com/ccy-studio/syswa-idea-collector-server Mini Program-side: https://github.com/ccy-studio/syswa-idea-collector-wx Material directory tree: │ Creative Terminal Baseboard Development Notes.pdf │ ├─3D&2DModel │ └─AIO-3399J-V1.0 │ ├─AIO-3399J_3D_Model │ │ AIO-3399J-hdmi_3D_Model.stp │ │ AIO-3399J-USB_3D_Model.stp │ │ AIO_3399J_bottom.jpg │ │ AIO_3399J_side1.jpg │ │ AIO_3399J_top.jpg │ │ │ └─AIO-3399J_CAD │ AIO-3399J_CAD_v1.0.dwg




















































































│ AIO-3399J_CAD_v1.0.pdf

├─Development
│ AIO-3399J_V1.3 Interface Definition 0716.docx
│ AP6256 WIFI BT MODULE_REL_200207.pdf
│ AP6256_Specification_AMPAK (Zhengji Technology) WIFI Module Specification.PDF
│ C90735_Ethernet Transceiver_RTL8211E-VB-CG_Specification_WJ1177088.PDF
│ Core-3399J_Core Board_Product Specification.pdf
│ Firefly-RK3399_V10_POS.pdf
│ Firefly-RK3399_V10_SCH_(2017-2-8).pdf
│ Firefly-RK3399_Product Specification.pdf
│ NanoPC-T4-1802-Schematic.pdf
│ OrangePi_4_LTS_Schematic_v1.2.pdf
│ RK3399 Charging Management.pdf
│ RK3588S_TABLET_REF_V11_20220218.pdf
│ TPS63070RNMR_CN.pdf
│ TPS63070RNMR_zh-cn.pdf

├─RK3399 Development Materials
│ │ Component_datasheet.rar
│ │ RK3399_Design_Guide_V1.0_20170420.pdf
│ │ RK3399_EVB_User_Guide-20160920.pdf
│ │ RK3399_Linux_Debian_V1.1_Development_Guide170620.pdf
│ │ RK3399_Linux_Debian_v1.1 Development Notes 170620.pdf
│ │ Rockchip_RK3399_Datasheet_V1.6-20170301.pdf
│ │
│ ├─PCB Reference Design
│ │ │ RK_Excavator_ExtBoard_MipiDisplay.rar
│ │ │ RK_Excavator_MainBoard.rar
│ │ │ RK_Sapphire_RK3399.rar
│ │ │ │
│ └─RK_Excavator_MainBoard
│ │ ├─Gerber_BOM_SMT_PIK
│ │ │ │ BOM_RK_EXCAVATOR_MAIN_V12_20161111HXS.xlsx
│ │ │ │ RK_EXCAVATOR_MAIN_V12_2016-11-11 Plate Making Instructions.doc
│ │ │ │ RK_EXCAVATOR_MAIN_V12_20161114.pdf
│ │ │
│ │ │ │ └─gerber
│ │ │ L1.art
│ │ │ L2.art
│ │ │ L3.art
│ │ │ L4.art
│ │ │ L5.art
│ │ │ L6.art
│ │ │ nc_drill.art
│ │ │ past_bot.art
│ │ │ past_top.art
│ │ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL-1-6.drl
│ │ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL.rou
│ │ │ silk_bot.art
│ │ │ silk_top.art
│ │ │ solde_bot.art
│ │ │ solde_top.art
│ │ │
│ │ └─Sch_PCB
│ │ RK_EXCAVATOR_MAIN_V12_20161109HXS.DSN
│ │ RK_EXCAVATOR_MAIN_V12_20161114_FZBFINAL.brd
│ │
│ ├─Related Materials Datasheet
│ │ └─Datasheet
│ │ 8Gb 178-D3 H9CCNNN8GTMLAR_Rev1.0.pdf
│ │ AK8963C.pdf
│ │ ALC5651 Codec Layout Guide ver 0.1_20121001.pdf
│ │ ALC5651 DataSheet_V0.9.pdf
│ │ AN_SYR837_8_Rockchip.pdf
│ │ AP6354 datasheet_V1.1_06062014.pdf
│ │ CM32181A3OP.pdf
│ │ GL850G.pdf
│ │ GSL1680.pdf
│ │ HS0038B.pdf
│ │ KLMxGxGEND-B031 (4GB moviNAND_16Gb MLC Based)_Rev1 1 16nm.pdf
│ │ Lpddr3_178ball_Samsung_K4E6E304EE-EGCE.pdf
│ │ LSM330.pdf
│ │ MP2143.pdf
│ │ NB680_r1.02.pdf
│ │ NS4160.pdf
│ │ PT5108.pdf
│ │ RK3399 Design Specification 20151018.pdf
│ │ RK3399 SoC Feature.doc
│ │ RK808 datasheet V0.8.pdf
│ │ RK818_datasheet_CH_V0.1.pdf
│ │ RT9013.pdf
│ │ RTL8211E.pdf
│ │ SGM2019.pdf
│ │ SP3232.pdf
│ │ SY6280 Rev0.3_Datasheet.pdf
│ │ SY8088AAC-Silergy.pdf
│ │ THGBMBG6D1KBAIL.pdf
│ │ TT2102.pdf
│ │
│ └─Design document│
Layout Design Guide_V0.4.pdf
│ RK3399 layout requirements of interfaces.xlsx
│ RK3399_conductor_length_v1.0.xls
│ RK3399_IO_LIST_V12_for EVB&REF&Excavator-20170111.pdf
│ RK3399_SOC-package_PIN_DELAY_0V2.pdf
│ RK3399 Hardware Design Guide_V1.1_20170112.pdf
│ Rock-chips_PDN_Design_Guide_V0.2 .pdf

├─SCH
│ aio_3399j_v1.3_20181030.pdf
│ AIO_3399J_v11_Schematic_20171122.pdf
│ AIO_3399J_V11_Surface Mount Diagram_20171122_A.pdf
│ aio_3399j_v12_20180126.pdf
│ AIO_3399J_V12_20180126 Surface Mount Diagram.pdf
│ aio_3399j_v13_20181030 Surface Mount Diagram.pdf

├─Specification
│ ├─CN
│ │ AIO-3399J_Integrated Board Product Specifications V1.1.pdf
│ │
│ └─EN
│ AIO-3399J_Product Specifications V1.1.pdf

├─Test-Report
│ ├─V1.3
│ │ AIO-3399J-V1.3 Electrostatic Discharge Test Report.docx
│ │ AIO-3399J-V1.3 Aging Test Report.docx
│ │
│ └─V2.1
│ AIO-3399J -V2.1(MB-3399J-V1.0) High and Low Temperature Test Report.docx
│ AIO-3399J-V2.1 (MB-3399J-V1.0) ESD Test Report.docx
│ AIO-3399J-V2.1 Shipment Inspection Report.xls
│ AIO-3399J-V2.1-8.2PF(20221025 OK).pdf
│ MB-3399J-V1.0 Production Reference Voltage.xlsx
│ Rockchip_AP6398SVRF?Test?Report(10pF+18pF).pdf

└─Screen Data
│ 700450GT911(1).cfg
│ GT9xx_Driver_for_Android_V2.4_2014112801.rar
│ mipi.py
│ QT700450TP-Engineering Drawing.dwg
│ QT70056W20 Module Specification 8001280.pdf
│ TEST_ILI9881C_BOE_7WXGA_T01_20201104.txt
│ Capacitive Touch Chip GT9110 (Chinese)(1).pdf

└─GT9xx_Driver_for_Android_V2.4_2014112801
├─documents
│ GT9XX Driver Porting Manual_for_Android_2014011401.pdf
│ ReleaseNote.txt

├─dtsi
│ goodix-gt9xx.dtsi
│ gt9xx_dts.txt

└─reference driver
goodix_tool.c
gt9xx.c
gt9xx.h
gt9xx_firmware.h
gt9xx_update.c


6. Illustrated Guide

















7. In summary,
initially, the requirement to use a core board, specifically a clean and simple one (emMC+DDR+PMIC+SOC), seemed quite challenging, as all peripherals needed to be implemented manually. After some research and reviewing other design references, it felt relatively straightforward. It went much smoother than my first time building the Taishanpai NAS; I only had to build the PCB once for verification and bug analysis, and the second time I went straight to SMT and it was successful.
The Firefly SDK has many references available, and it's quite easy to get started. Building the rootfs did take some time, but I'm focused on making it usable, and I won't be really dedicated to it later. I'll still be researching porting Armbian, which is what I feel is worth the time.
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2026-03-25 07:14:43

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号