Build a Heltec LoRa clone
An ESP32-S3 + SX1262 LoRa board with USB-C, a Li-ion charger and a 0.96″ OLED, in the spirit of the Heltec WiFi LoRa 32 V3. Blank board to fab files, on iPad.
What you’re building
Pick four chips. PCB Canvas adds each chip’s support parts from datasheets and real boards, wires power by name, and auto-routes the rest.
Parts
Search each name once in Add Part and take the top result.
| Search for | Role | What the app adds |
|---|---|---|
ESP32-S3-MINI-1 | MCU module (U1) | Decoupling, EN pull-up and RC, boot pull-up and button, the 3.3 V regulator (a choice of part) with its caps, and optionally its own native-USB USB-C. Its offer also adds the Heltec V3 display & power block. |
SX1262IMLTRT | LoRa radio | 31 parts from Semtech's reference design: DC-DC inductor, 32 MHz TCXO, RF switch, matching network, U.FL connector |
CP2102N | USB-serial bridge | The board’s USB-C with its CC pull-downs, VBUS cap and ESD diodes, decoupling, reset pull-up |
TP4054 | Li-ion charger | Charge LED, 2-pin JST PH battery connector, USB/battery power path |
| Heltec V3 display & power | From U1’s offer, one tap | 0.96″ SSD1306 128×64 OLED on its 30-pin FPC with its caps and pull-ups, the Vext switch that powers it, and the battery-voltage sense on GPIO1 |
Steps
- New board
Boards ▸ New Board. Tap Width and type 50 on the number pad, tap Height and type 26, then Create Board.
- Use four copper layers
Open Layers in the left rail and set the copper count to 4. The two inner layers become the ground and power planes the router uses.
- Add the MCU
Add Part ▸ search
ESP32-S3-MINI-1and take the top result. In the support offer, turn off Include in Place All on USB Receptacle: a Heltec V3’s one USB-C belongs to the CP2102N. The switch says what that means (“U1 gets no native USB”), and its CC pull-downs and VBUS cap read Left out with it. Leave the Regulator off for now, then tap Place All. - Add the radio
Add Part ▸
SX1262IMLTRT. When the offer asks which antenna, pick U.FL. Turn off its Reset Button (the Heltec has one reset, on the module) and tap Place All. Its 30 parts stay around the radio. - Wire the radio in one tap
In the radio’s support offer, open Connect SX1262 to U1 and choose Heltec V3 pins. All seven lines join by name; one Undo removes them.
- Add the bridge and the charger
Add Part ▸
CP2102N: its USB-C, CC pull-downs and ESD diodes start ticked; turn off its Reset Button and tap Place All. Then Add Part ▸TP4054▸ Place All. - Choose the regulator
Tap U1 ▸ Support Parts. On the Regulator row, the part menu starts on a single-cell LDO now that the charger is on the board (AP2112K-3.3; Heltec fits a CE6260B33M), with how many real boards use each. Turn on Include in Place All; its input and output caps come with it. Tap Place All.
- Choose battery polarity
On the charger’s battery connector, pick BAT+ on pad 2 for Adafruit and SparkFun cells, or BAT+ on pad 1 for stock KiCad JST PH. The menu shows how many real boards use each. A cell plugged into the wrong one is reversed.
- Let power wire itself
Nothing to draw: regulator output, ESP32, radio and bridge join
3V3by name, USB feeds the charger, and USB or battery reach the regulator throughVSYS. Tap any supply pad to see its net. Anything left without a supply is named in Problems. - Wire USB serial
Enter Route. Connect CP2102N TXD (pad 18) to U1 U0RXD (pad 40), and CP2102N RXD (pad 17) to U1 U0TXD (pad 39).
- Add the display & power
In U1’s support offer, tap Add Heltec V3 display & power to U1. It reads Added when the OLED, its Vext switch and the battery sense are on the board and wired to Heltec’s pins; one Undo removes them.
- Auto-route
In Route, tap Auto-route all, then Apply. On this board it works for up to about a minute and a half and routes most of the roughly 220 connections; the line under it counts the ones left, and Problems lists each with its reason. Finish those with Pencil (see Before you order).
- Check and export
Open Problems: anything blocking sits under “to fix” with a plain reason. Then Boards ▸ Export for Manufacturing ▸ Generate for Gerbers, and Export a Copy for the .kicad_pcb. Both work after you close and reopen the app.
Wiring reference
Radio lines follow Heltec’s WiFi LoRa 32 V3.2 schematic; Meshtastic’s heltec_v3 variant agrees. ESP32 pads are for the ESP32-S3-MINI-1.
Radio (joined for you by Connect SX1262 to U1)
| Signal | SX1262 pad | ESP32 GPIO | MINI-1 pad |
|---|---|---|---|
| NSS | 19 | 8 | 12 |
| SCK | 18 | 9 | 13 |
| MOSI | 17 | 10 | 14 |
| MISO | 16 | 11 | 15 |
| RESET | 15 | 12 | 16 |
| BUSY | 14 | 13 | 17 |
| DIO1 | 13 | 14 | 18 |
USB serial (wired by hand) and OLED (joined for you by Add Heltec V3 display & power)
| Signal | ESP32 GPIO | MINI-1 pad |
|---|---|---|
| UART RX ← CP2102N TXD (pad 18) | 44 | 40 |
| UART TX → CP2102N RXD (pad 17) | 43 | 39 |
| OLED SDA | 17 | 21 |
| OLED SCL | 18 | 22 |
| OLED RST | 21 | 25 |
| Vext enable (OLED power, active low) | 36 | 32 |
| Battery sense enable (ADC_CTRL) | 37 | 33 |
| Battery voltage (ADC) | 1 | 5 |
Before you order
Known limits in the current build, with fixes in progress:
- Auto-route doesn’t finish this board. On the full clone it leaves a few dozen connections unrouted, most of them the LoRa bus crossing the module and short links inside the radio’s RF cluster. Each one is listed under Problems; route them with Pencil before ordering. A handful at the USB-C receptacle’s own pads have no way out at the default 0.2 mm clearance where the connector sits, so draw those by hand too.
- Board size. Support parts grow the outline from 50 × 26 mm to about 72 × 48 mm. A real Heltec V3 fits 50 × 26 with parts on both sides; compact two-sided placement is on the way.
- Antenna connector position. The U.FL takes the nearest free spot to the end of the radio’s matching network, about 8–10 mm away on the full clone, because the matching parts fill the gap between the module and the radio. Check the feed is short before routing.
- Exports. Export a KiCad copy saves a project folder with the board’s rules, and KiCad’s own check passes on our reference build.
- Band. Matching values are for 868/915 MHz only.