Banana Pro

Summary
Banana Pro is an ARM single-board computer featuring the Allwinner A20 dual-core processor, 1 GB DDR3 RAM, Gigabit Ethernet, SATA interface, and integrated WiFi/Bluetooth. It extends the original Banana Pi design with wireless connectivity, making it suitable for mobile applications, headless servers with WiFi management, and projects requiring Bluetooth peripheral support. This guide covers first-boot procedures, common use cases, and verification steps to ensure a stable system.
What is Banana Pro?
Banana Pro is the second-generation board in the LeMaker Banana Pi family, adding WiFi 802.11 b/g/n and Bluetooth 4.0 to the core feature set:
- Processor: Allwinner A20 dual-core ARM Cortex-A7 at 1 GHz with Mali-400 MP2 GPU
- Memory: 1 GB DDR3 RAM (shared with GPU)
- Storage: microSD slot and on-board SATA interface for 2.5-inch drives
- Network: Gigabit Ethernet (Realtek RTL8211E), WiFi 802.11 b/g/n (AP6210), and Bluetooth 4.0
- I/O: 40-pin GPIO header compatible with RPi accessories, 2x USB 2.0 host, 1x USB OTG, IR receiver
- Video: HDMI 1.4 (1080p), LVDS connector, composite video
- Audio: HDMI audio, 3.5mm stereo jack, on-board microphone
- Power: 5V via barrel jack (2 A minimum, 2.5 A recommended for WiFi + peripherals)
Common use cases
1. WiFi access point or router: The integrated WiFi adapter can function as an access point (hostapd) or client. Combined with Gigabit Ethernet, Banana Pro can act as a small router, VPN gateway, or network bridge.
2. Bluetooth IoT gateway: Bluetooth 4.0 LE support allows the board to communicate with sensors, smart home devices, and wearables. Use cases include home automation hubs, environmental monitoring, and data logging.
3. Headless server with WiFi fallback: Primary connectivity via Ethernet, with WiFi configured as a management interface or emergency access path when physical access is limited.
4. Media centre with remote control: The on-board IR receiver supports remote controls for Kodi/LibreELEC setups. WiFi eliminates the need for Ethernet cabling in living room deployments.
5. Portable development platform: Battery-powered projects can use WiFi for SSH access and code deployment without tethering to Ethernet. Useful for robotics, mobile data collection, and field testing.
Prerequisites
Before first boot, gather:
- Power supply: 5V DC, 2.5 A recommended (2 A minimum). WiFi and Bluetooth add 300500 mA to base consumption; under-spec supplies cause random reboots.
- MicroSD card: 8 GB minimum, 16 GB or 32 GB recommended. Use a reputable brand (SanDisk, Samsung, Kingston).
- Ethernet cable (for initial setup): Configure WiFi via wired SSH first to avoid connectivity surprises.
- WiFi credentials: SSID and WPA2 passphrase if you plan to enable wireless.
- Serial console adapter (optional but recommended): 3.3V USB-to-UART for troubleshooting when both Ethernet and WiFi fail.
Step-by-step quick start
Step 1: Download and verify an image
Visit the downloads hub and choose an image (Armbian, Debian, Ubuntu, etc.). Verify the SHA256 checksum before flashing:
# Linux/macOS:
sha256sum BananaPro_Armbian_23.02.1.img.xz
# Windows PowerShell:
Get-FileHash -Algorithm SHA256 BananaPro_Armbian_23.02.1.img.xz
Step 2: Flash the image to microSD
Use Etcher, Raspberry Pi Imager, or dd. After flashing, eject the card cleanly (do not just pull it out).
Step 3: First boot with Ethernet
Insert the microSD card, connect Ethernet, HDMI/serial console, and power. First boot takes 6090 seconds (filesystem expansion and initial setup). Confirm:
ip a
# Confirm eth0 has an IPv4 address.
df -h
# Confirm root partition expanded to full microSD capacity.
systemctl --failed
# Confirm no critical services failed at boot.
Step 4: Update packages
sudo apt update && sudo apt upgrade -y
sudo reboot
Step 5: Configure WiFi (optional)
If your image uses NetworkManager:
nmcli device wifi list
nmcli device wifi connect "YourSSID" password "YourPassword"
ip a show wlan0
If your image uses wpa_supplicant, edit /etc/wpa_supplicant/wpa_supplicant.conf:
network={
ssid="YourSSID"
psk="YourPassword"
}
Then restart networking:
sudo systemctl restart dhcpcd
ip a show wlan0
Post-boot verification checklist
- WiFi firmware loaded: dmesg | grep -i brcm to confirm the AP6210 driver initialized.
- Bluetooth functional: sudo hciconfig hci0 up && sudo hcitool scan to test Bluetooth.
- SATA detected (if connected): lsblk to confirm /dev/sda appears.
- GPIO accessible: ls /sys/class/gpio to verify the sysfs interface is present.
- Temperature within range: cat /sys/class/thermal/thermal_zone0/temp (value in millidegrees; should be below 70000 at idle).
- No kernel errors: journalctl -b -p err to list boot-time errors. A few informational warnings are normal; emergency or critical messages require investigation.
Troubleshooting common issues
WiFi adapter not detected:
- Check dmesg | grep -i brcm or dmesg | grep -i ap6210 for driver messages.
- Confirm the firmware package is installed (linux-firmware or armbian-firmware).
- Some older kernels lack AP6210 support; upgrade to a recent mainline or Armbian kernel.
WiFi connects but drops frequently:
- Check signal strength: iw dev wlan0 link. Values below -70 dBm are marginal.
- Disable power saving: sudo iw dev wlan0 set power_save off.
- Confirm the power supply can deliver sustained current (cheap supplies sag when WiFi transmits).
- Check for interference: iw dev wlan0 scan to see channel congestion. Switch your router to a less crowded channel.
Bluetooth scan fails:
- Confirm hciconfig hci0 shows the interface is UP and RUNNING.
- Restart the Bluetooth service: sudo systemctl restart bluetooth.
- Check dmesg for firmware loading errors.
System reboots randomly when WiFi is active:
- Classic under-voltage symptom. Measure power supply voltage under load or replace with a 2.5 A+ supply.
- Check dmesg for "under-voltage detected" messages.
SATA drive not detected:
- Confirm the drive is powered (2.5-inch SATA drives draw power from the board; 3.5-inch drives require external power).
- Run dmesg | grep -i ata to see if the kernel detects the controller and drive.
- Some images disable SATA to save power; enable it in device tree or kernel config.
Frequently asked questions
Q: What is the difference between Banana Pi and Banana Pro?
A: Banana Pro adds WiFi 802.11 b/g/n, Bluetooth 4.0, an on-board microphone, and an IR receiver. All other specifications (CPU, RAM, Ethernet, GPIO) are identical.
Q: Can I use Banana Pro as a WiFi access point?
A: Yes. Install hostapd and dnsmasq to create an access point. The AP6210 chipset supports AP mode. See Armbian or Debian documentation for hostapd configuration.
Q: Does Banana Pro support 5 GHz WiFi?
A: No. The AP6210 module supports only 2.4 GHz 802.11 b/g/n. For 5 GHz, use a USB WiFi adapter with a compatible chipset.
Q: How do I enable Bluetooth LE (Low Energy)?
A: Bluetooth 4.0 includes LE support. Use BlueZ tools (bluetoothctl, hcitool lescan) or libraries like bluepy (Python) or noble (Node.js).
Q: Can I boot from SATA instead of microSD?
A: The bootloader (U-Boot) must still reside on microSD, but you can move the root filesystem to SATA for better I/O performance. See the Banana Pi resource page for SATA boot procedures (the process is identical for Banana Pro).
Q: What is the GPIO pinout?
A: The 40-pin header is largely compatible with Raspberry Pi Model B+ pinouts. See the specification page for detailed pinouts and voltage levels.
Q: How do I use the IR receiver?
A: Install lirc and configure it for the CIR (Consumer IR) device. Most distributions include lirc packages and sample configurations for common remotes.
Q: What operating systems are supported?
A: Armbian (recommended), Debian, Ubuntu, Android, OpenWrt, LibreELEC/Kodi. See the downloads hub for available images.
Q: Can I run Docker on Banana Pro?
A: Yes, but the 1 GB RAM limits container density. Small services (Pi-hole, lightweight web apps) work well. Heavy workloads (databases, multi-container stacks) may require swap or memory tuning.
Next steps
Once the board is stable and network-accessible:
- Review SBC Maintenance Routine to establish weekly/monthly checks.
- Consult Basic Security Defaults to harden SSH and firewall settings.
- Explore WiringPi for GPIO control in C/Python.
Related guides
- Banana Pro specifications
- Resources and downloads
- Quick start guide
- Network setup notes
- Boot and storage notes
Author: LeMaker Documentation Team
Last updated: 2026-01-10