Skip to the content
2 layers47.5 × 50.3 mmEsp32-lora, the printed circuit board in 3D

esp32 with lora rfm95 and nunchuck connector

Size
47.5 × 50.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
58
Pads
176
Tracks, vias
315, 77
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
18 Mar 2025
Updated
8 Apr 2025

Overview

Esp32-lora is an open-source printed circuit board by rmingon, from the rmingon/esp32-lora repository on GitHub. It is a 2-layer board of 47.5 × 50.3 mm with 28 parts on 58 nets, routed with 315 tracks and 77 vias.

It is built around the CH340C, ESP32-WROOM-32 and AMS1117-3.3, with the RFM95W-868S2 and BSS138 among its other parts. Its parts include 6 capacitors, 6 resistors, 6 ICs, 4 connectors and 2 diodes. It belongs with the radio and wireless boards and the ESP32 boards of this library.

Main components

5

README

readme.md

ESP32 LoRa Nunchuck System

real

Overview

This project integrates an ESP32 microcontroller with LoRa communication and two Nunchuck connectors, enabling remote control and data transmission applications. The system is designed for long-range communication while leveraging the Wii Nunchuck controllers for user input.

Features

  • ESP32: Wi-Fi and Bluetooth-enabled microcontroller
  • LoRa Module: Long-range communication support
  • Dual Nunchuck Connectors on Separate I²C Buses
  • Powered via USB: No LiPo battery required

Hardware Requirements

  • ESP32 development board
  • LoRa module (RFM95W-868S2)
  • Two Wii Nunchuck controllers
  • Nunchuck connectors
  • USB power source
  • Jumper wires & breadboard (or custom PCB)

Wiring Diagram (Based on Schematic)

ESP32 PinLoRa PinNunchuck 1 PinNunchuck 2 Pin
3.3VVCCVCCVCC
GNDGNDGNDGND
GPIO5NSS--
GPIO18SCK--
GPIO19MISO--
GPIO23MOSI--
GPIO26DIO0--
GPIO21-SDA (I²C 1)-
GPIO22-SCL (I²C 1)-
GPIO25--SDA (I²C 2)
GPIO33--SCL (I²C 2)

Software Requirements

  • Arduino IDE / PlatformIO
  • ESP32 board package
  • LoRa library (e.g., RadioHead or LoRa.h)
  • Nunchuck library (e.g., Wire.h, ArduinoNunchuk.h)

Usage

  1. Connect the hardware components as per the wiring diagram.
  2. Power up the ESP32 via USB.
  3. Use the Nunchuck controllers to send data via LoRa.
  4. Monitor data via serial output.

Example Code

cpp
#include <Wire.h>
#include <ArduinoNunchuk.h>
#include <LoRa.h>

TwoWire I2C_1 = TwoWire(0);
TwoWire I2C_2 = TwoWire(1);

ArduinoNunchuk nunchuk1;
ArduinoNunchuk nunchuk2;

void setup() {
    Serial.begin(115200);
    I2C_1.begin(21, 22); // SDA1 = GPIO21, SCL1 = GPIO22
    I2C_2.begin(25, 33); // SDA2 = GPIO25, SCL2 = GPIO33
    
    nunchuk1.init(I2C_1);
    nunchuk2.init(I2C_2);
    
    LoRa.begin(915E6);
}

void loop() {
    nunchuk1.update();
    nunchuk2.update();

Contributing

Feel free to submit issues or pull requests for improvements and bug fixes.


Happy coding! 🚀

Parts

28
QtyValueFootprintReferences
6CCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6
6R_SmallResistor_SMD:R_0603_1608MetricR1, R2, R3, R4, R5, R6
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q2
2LEDLED_SMD:LED_0603_1608MetricD1, D2
2SW_PushButton_Switch_SMD:SW_SPST_FSMSMBOOT1, EN1
2~nunchcuk:nunchuckU3, U6
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU4
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ4
1Conn_CoaxialConnector_Coaxial:SMA_Samtec_SMA-J-P-H-ST-EM1_EdgeMountJ2
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U1
1RFM95W-868S2RF_Module:HOPERF_RFM9XW_SMDU5
1USB_B_MicroConnector_USB:USB_Micro-B_Amphenol_10118194_HorizontalJ1

Similar boards

  • 4 layers82 × 100 mmFalcon Edge, the printed circuit board in 3D

    Falcon Edge

    rmingon/Falcon-Edge

    A 3D-printable flying-wing airframe with a custom ESP32 flight computer—open hardware you can solder, screw together, and fly.

    48 parts11
  • 2 layers85 × 40 mmThings 02, the printed circuit board in 3D

    Things 02

    jordibinefa/IoT-02

    Codes and schematics of IoT-02 board

    62 parts3
  • 2 layers50 × 50 mmRfid uhf wifi reader, the printed circuit board in 3D

    Rfid uhf wifi reader

    OpenLaundry/wifi-rfid-uhf-reader

    Portable long range RFID uhf reader with WIFI based on esp32

    23 parts8
  • 2 layers92 × 51 mmRs485-spy injector, the printed circuit board in 3D

    Rs485-spy injector

    rmingon/rs485-spy-injector

    RS485 Spy is an open-source hardware tool for real-time monitoring, logging, and testing of RS-485 networks

    44 parts7CERN-OHL-S-2.0
  • 2 layers72 × 25 mmOverWire, the printed circuit board in 3D

    OverWire

    rmingon/OverWire

    Flash and debug STM32 microcontrollers over Wi-Fi. Enterprise-ready ESP32 SWD programming hardware and toolchain integration.

    30 parts2
  • 2 layers100 × 100 mmDesktop light, the printed circuit board in 3D

    Desktop light

    rmingon/desktop-light

    Desktop light ws2812b with warm setting and text writing

    95 parts
  • 2 layers68.8 × 40 mmEsp32-car, the printed circuit board in 3D

    Esp32-car

    rmingon/esp32-car

    little car connected in wifi or bluetooth

    28 parts
  • 2 layers48 × 25 mmEsp32-stick, the printed circuit board in 3D

    Esp32-stick

    rmingon/esp32-on-usb

    Board with esp32 on usb stick

    19 parts

Questions

How big is the Esp32-lora PCB?

It measures 47.5 × 50.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Esp32-lora use?

28 parts, built around the CH340C, ESP32-WROOM-32, AMS1117-3.3 and RFM95W-868S2. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Esp32-lora KiCad files?

From the rmingon/esp32-lora repository on GitHub, at the commit this page was made from: the board is hardware/hardware.kicad_pcb and its schematic hardware/hardware.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esp32-lora design in my own project?

Its repository states no licence, so its author keeps all rights: ask rmingon before reusing the design.