
Banana Pi BPI-Forge1 desing with Rockchip RK3506J,The RK3506J is a high-performance triple-core Cortex-A7 application processor designed for intelligent voice interaction, audio input/output processing, image output processing, and other digital multimedia applications. It features an embedded 2D hardware engine and display output engine to minimize CPU overhead and meet image display requirements. The processor integrates rich peripheral interfaces such as SAI, PDM, SPDIF, Audio DSM, Audio ADC, USB2 OTG, RMII, CAN, etc., enabling diverse application development while reducing hardware complexity and development costs.
HardWare Specification of Banana Pi BPI-Forge1 | |
---|---|
SOC |
RockChip RK3506J |
CPU |
RK3506 Triple-core Cortex-A7 Processor |
GPU |
2D Graphic Engine |
Embedded high-performance 2D acceleration hardware |
|
Memory |
512MB DDR3L |
Storage |
512MB NAND |
Supports MicroSD card expansion |
|
Networking |
2 × 100M Ethernet |
Video Output |
1 x MIPI DSI (2Lane 1.5Gbps) |
Audio |
1 × Speaker |
1 × MIC |
|
USB Interfaces |
1 × Type C (PD & Programming only) |
1 × USB2.0 HOST |
|
40-PIN |
Partially compatible with Raspberry Pi 40-pin for peripheral connectivity |
Supports UART/SPI/I2C/I2S/PWM/5V Power/3.3V Power |
|
Power Supply |
12V/2A |
Buttons |
1x Maskrom Key (enters maskrom flashing mode) |
OS |
Officially supported by Rockchip: Buildroot |
Dimensions |
92 mm x 62mm |
Operating Temperature |
-40℃ ~ 85℃ |
40 GPIO define of Banana Pi BPI-Forge1 | |||||
---|---|---|---|---|---|
GPIO Number |
Function |
Pin |
Pin |
Function |
GPIO Number |
+3.3V |
1 |
2 |
+5.0V |
||
130 |
I2C1_SDA_M0 / UART3_RTSN / I2S1_SDI3 / GPIO4_A2_d |
3 |
4 |
+5.0V |
|
131 |
I2C1_SCL_M0 / UART3_CTSN / I2S1_SDI2 / GPIO4_A3_d |
5 |
6 |
GND |
|
1 |
REF_CLK_OUT_M0 / GPIO0_A1 |
7 |
8 |
UART0_TX_M0 / JTAG_MCU_TCK_M1 / JTAG_CPU_TCK_M1 / GPIO4_D0_d |
152 |
GND |
9 |
10 |
UART0_RX_M0 / JTAG_MCU_TMS_M1 / JTAG_CPU_TMS_M1 / GPIO4_C7_u |
151 |
|
0 |
GPIO0_A0 |
11 |
12 |
I2S1_SCLK / UART1_RTSN / GPIO4_A5_d |
133 |
13 |
14 |
GND |
|||
15 |
16 |
||||
+3.3V |
17 |
18 |
|||
138 |
SPI0_MOSI / PDM_SDI0 / I2S1_SDO3 / GPIO4_B2_d |
19 |
20 |
GND |
|
139 |
SPI0_MISO / PDM_SDI2 / I2S1_SDI1 / GPIO4_B3_d |
21 |
22 |
||
140 |
SPI0_CLK / I2S1_SDI0 / GPIO4_B4_d |
23 |
24 |
SPI0_CSN0 / PWR_CTRL1 / GPIO4_B6_u |
142 |
GND |
25 |
26 |
PWM6_M0 / SPI0_CSN1 / PDM_SDI3 / GPIO4_C1_d |
145 |
|
147 |
I2C0_SDA_M0 / PWM0_M0 / GPU_AVS / GPIO4_C3_d |
27 |
28 |
ARM_AVS / PWM1_M0 / I2C0_SCL_M0 / GPIO4_C4_d |
148 |
29 |
30 |
GND |
|||
31 |
32 |
GPIO4_C0 / PWM5_M0 / FEPHY_LED_LINK_M0 / UART3_TX_M1 |
144 |
||
143 |
GPIO4_B7 / PWM4_M0 / FEPHY_LED_SPD_M0 / UART3_RX_M1 |
33 |
34 |
GND |
|
134 |
UART1_TX_M0 / I2S1_LRCK / GPIO4_A6_d |
35 |
36 |
||
37 |
38 |
GPIO3_B2 / SPI0_CLK / I2S1_SDI0 |
106 |
||
GND |
39 |
40 |
GPIO4_A7_d / UART1_RX_M0 / I2S1_SDO0 |
135 |
SDK Source Code: https://github.com/ArmSoM/rk3506-rkr4.2-sdk
BPI-Forge1 2D filel: https://drive.google.com/drive/folders/15uvc2lcOAKP0enXezASUhVFLuzkq3IEX
BPI-Forge1 uses buildroot as the official operating system .
How to Flash Image: https://docs.armsom.org/getting-start/flash-img
buildroot for Forge1:
Linux Kernel 6.1, support RT-Thread 4.1,
support bare metal programs, support multi-core heterogeneous AMP,
Preempt-RT/Xenomai real-time patches,
lightweight UI framework LVGL.
The following systems have been tested and verified by official:
Tools Required:
12V/2A power supply.
USB Type-C cable (for eMMC flashing) or MicroSD card (≥8GB, Class 10).
Optional: Debug serial port, Ethernet cable.
Flashing Methods:
eMMC Boot: Use USB Type-C for direct flashing.
MicroSD Boot: Write OS image to SD card via reader.
If this is your first time using the ArmSoM-Forge1 product, please familiarize yourself with its hardware interfaces to better understand subsequent content.
Hardware Interface Forge1 Debug Serial Port Connect the USB-to-TTL serial cable as shown below:
Connect the USB-to-TTL serial cable as shown below:
BPI-Forge1 | Connect | Serial Module |
---|---|---|
GND (pin 6) |
←-→ |
GND |
TX (pin 8) |
←-→ |
RX |
RX (pin 10) |
←-→ |
TX |
1.Connect one end of an Ethernet cable to the Forge1’s Ethernet port and the other end to a router. Ensure the network is available.
2.The system will automatically assign an IP address to the Ethernet interface via DHCP on startup.
3.To view the IP address in Forge1’s Linux system:
root@armsom:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 9e:06:ad:d5:e3:91 brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 7e:09:de:1d:0c:46 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.150/24 brd 192.168.1.255 scope global dynamic noprefixroute eth1
valid_lft 43173sec preferred_lft 37773sec
4.Use the ping command to verify network connectivity (press Ctrl+C to exit):
root@armsom:/# ping www.baidu.com
PING www.baidu.com (183.2.172.17): 56 data bytes
64 bytes from 183.2.172.17: seq=0 ttl=52 time=10.838 ms
...
^C
--- www.baidu.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss
Model | Forge1 |
---|---|
USB |
1× Type-C (PD & Programming), 1× USB 2.0 HOST |
Testing USB Storage Devices
1.Insert a USB flash drive or external HDD into the Forge1’s USB port.
2.Verify detection with:
root@armsom:/# cat /proc/partitions | grep "sd*"
major minor #blocks name
8 0 122880000 sda
```
* 3.Mount the USB drive:
```sh
root@armsom:/# sudo mount /dev/sda1 /test/
4.Check usage and mount point:
root@armsom:/test# df -h | grep "sd"
/dev/sda 4.7G 4.7G 0 100% /test
List Audio Devices
root@armsom:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiprk730 [rockchip-rk730], device 0: dailink-multicodecs HiFi-0
Recording
arecord -D hw:0,0 -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
Playback
aplay t.wav
Forge1 includes an LK8563S RTC IC.
Insert a 2-pin RTC battery to power the RTC.
Verify RTC Device
root@armsom:/# dmesg | grep rtc
[ 6.407133] rtc-hym8563 6-0051: registered as rtc0
Sync System Time to RTC
root@armsom:/# hwclock -r # Read RTC time
root@armsom:/# hwclock -w # Write system time to RTC
root@armsom:/# poweroff
Post-Reconnection Check
After reconnecting the RTC battery:
root@armsom:/# hwclock -r
2023-11-03 10:35:40.461910+00:00
root@armsom:/# date
Fri Nov 3 10:36:01 UTC 2023
Maximum Resolution: 1280x1280@60fps.
List Network Interfaces
root@armsom:/# ifconfig -a
can0: <NOARP,MTU=16> ...
CAN Configuration
ip link set can0 down
ip link set can0 type can bitrate 1000000 dbitrate 3000000 fd on
ip -details link show can0
ip link set can0 up
CAN FD Testing
Send Standard Frame:
cansend can0 123##1DEADBEEF
Send Extended Frame:
cansend can0 00000123##1DEADBEEF
Monitor CAN Messages:
candump can0 &
SINOVOIP Aliexpress Shop: https://es.aliexpress.com/item/3256808855182503.html?gatewayAdapt=glo2esp4itemAdapt |
Bipai Aliexpress Shop: https://es.aliexpress.com/item/3256808855138002.html?gatewayAdapt=glo2esp4itemAdapt |
Taobao Shop: https://item.taobao.com/item.htm?id=923682102914 |
OEM&ODM, please contact: [email protected] |