RAK3112 AS923 Dev Board — PCB Spec (v1)
This document is the implementation-ready PCB specification for a RAK3112 (AS923) development board.
Design intent:
- external USB-UART dongle flashing (no onboard USB-UART)
- power flexibility: 9–12V DC, Li-ion 1S + charging, regulated 5V + 3V3
- connectors mostly Qwiic (JST-SH) and screw terminals
- deterministic bring-up with gate checks
0) Core decisions (locked)
- Module: RAK3112 AS923
- Programming: USB-UART bootloader
- On-board programming: pin header only
- Qwiic: 3V3 only
1) Power subsystem
Inputs
- J_DC_IN (screw terminal): 9–12V DC input
- J_BAT (JST-PH2): Li-ion 1S battery input
- (optional) pads/testpoints for 5V bench input
Rails
- VIN → 5V buck (≥2A)
- 5V → 3V3 buck (≥1A recommended; Wi-Fi peak current margin)
Charging
- Li-ion 1S charger (linear charger IC) with:
- charge current set resistor
- CHG/DONE status LEDs
Power-path / selection (choose one)
- Preferred: power-path / ideal diode ORing so board can run while charging
- Acceptable v1: diode ORing + source-select jumper
Jumpers
- JP_3V3_EN: enable/cut 3V3 to module (debug + current measurement)
- JP_VBAT_SENSE: enable VBAT divider to ADC (avoid battery drain)
Test points
- TP_VIN, TP_5V, TP_3V3, TP_VBAT, TP_GND
2) Programming + boot header (external USB-UART dongle)
J_PROG (1×6, 2.54mm)
| Pin | Signal | Notes |
|---|---|---|
| 1 | GND | Common ground |
| 2 | 3V3 | Reference / optional power-out |
| 3 | UART0_RX | Module UART0_RX (to dongle TX) |
| 4 | UART0_TX | Module UART0_TX (to dongle RX) |
| 5 | BOOT_SEL | Boot strap input (see SJ_BOOT_SRC) |
| 6 | RESET | Active-low reset |
Boot selection
The docs show GPIO0/Boot and also a GPIO46 pin. To be safe, support both:
- SJ_BOOT_SRC solder jumper:
- position A: BOOT_SEL → GPIO0/Boot
- position B: BOOT_SEL → GPIO46
Boot strap components:
- BOOT default: 10k pulldown
- BOOT button or 2-pin jumper to 3V3 for flashing
Reset components:
- RESET: 10k pull-up to 3V3
- RESET button to GND
3) I2C (Qwiic)
I2C2 (default sensor bus)
Locked from pin tables:
- SCL = GPIO18 (I2C2_SCL)
- SDA = GPIO17 (I2C2_SDA)
Provide:
- J_QWIIC_1, J_QWIIC_2 (JST-SH 4-pin) in parallel
- GND / 3V3 / SDA(GPIO17) / SCL(GPIO18)
Pullups:
- JP_I2C2_PU: enable pullups (4.7k to 3V3)
I2C1 (optional secondary bus)
From pin tables:
- SDA = GPIO09 (I2C1_SDA)
- SCL = GPIO40 (I2C1_SCL)
If included:
- 1× Qwiic or JST-GH header
- JP_I2C1_PU pullups
4) SPI
From pin tables:
- MISO = GPIO10
- MOSI = GPIO11
- CS = GPIO12
- SCK = GPIO13
Connector:
- J_SPI (1×7 pin header or JST-GH): GND, 3V3, MISO, MOSI, SCK, CS, GPIO8(optional IRQ)
5) Analog inputs
From pin tables/module map:
- AIN0 = GPIO21
- AIN1 = GPIO14
Connector:
- J_AIN (screw terminal): 3V3, GND, AIN0(GPIO21), AIN1(GPIO14)
Per-channel protection footprint:
- series resistor (1k)
- optional RC filter
- optional clamp diode footprint
6) GPIO breakouts
Always-available GPIOs (recommended)
Provide 2–3 JST-GH headers:
- J_GPIO_A: GND, 3V3, GPIO1, GPIO2, GPIO3, GPIO8
- J_GPIO_B: GND, 3V3, GPIO38, GPIO39, GPIO41, GPIO42
- J_GPIO_C (optional): GND, 3V3, GPIO45, GPIO46, GPIO21, GPIO14
Add series resistor footprints (0–100Ω) for each GPIO.
Optional / 16MB flash dependent GPIOs (NC*)
The docs indicate some GPIOs may be unavailable (marked NC* in pin tables) with 16MB flash variants:
- GPIO33, GPIO34, GPIO35, GPIO36, GPIO37
If exposed, put them on a separate header clearly labeled:
- J_GPIO_OPT: GND, 3V3, GPIO33, GPIO34, GPIO35, GPIO36/37
7) Indicators
- RGB LED (discrete, 3 channels + resistors)
- PWR LED (3V3)
- STATUS LED (GPIO)
8) RF/layout notes
- Follow RAK reference design keepouts.
- Keep DC-DC switching nodes away from RF.
- If adding u.FL/SMA, place close to RF pins; controlled impedance.
9) Bring-up gates
- Gate 0: Schematic ERC clean; pin map verified vs datasheet
- Gate 1: VIN→5V→3V3 stable under load; battery charging verified
- Gate 2: Bootloader entry (BOOT + RESET) + flash via external USB-UART
- Gate 3: UART logs stable
- Gate 4: I2C2 scan on Qwiic (GPIO17/18)
- Gate 5: SPI peripheral or loopback (GPIO10/11/12/13)
- Gate 6: ADC validation (GPIO21/14)
- Gate 7: LoRa AS923 join + uplink; Wi-Fi join test