Show HN:一个为电脑提供电话线路的 USB-C LTE 调制解调器
Show HN: A USB-C LTE modem that gives my computer a phone line

原始链接: https://github.com/Koppar-AI/koppar-lte-modem

这是一个基于 Quectel EC25-EUX 模块和 RP2040 USB 声卡的 4 层 USB-C LTE 调制解调器/语音板。它通过一根 USB-C 线缆向计算机提供 LTE 数据、短信、语音通话和通话音频,使用 nano-SIM。板上无电池、屏幕或扬声器,带有 NET/RING/CALL LED。电源来自 USB-C:5 V、用于模块突发供电的 3.8 V/3 A 降压电路,以及 3.3 V 逻辑电。制造使用 Gerber 文件、JLCPCB 叠层 JLC04161H-3313、0.45/0.2 mm 过孔和 JLC 组装文件;EC25 模块、天线、SIM 卡和线缆单独采购。KiCad 10 项目包含封装/符号/模型;两个封装缺少 3D 模型。Rev B 修复了先前的天线、降压和 SIM 方向问题,并且 DRC 错误为零。硬件调试、固件、首次通话/短信以及可选 VoLTE 仍待完成。由 Koppar 根据规格设计;采用 CERN OHL v2 宽松许可。

一篇 Hacker News 的 Show HN 帖子介绍了一块 USB-C LTE 调制解调器板,它使用 Quectel EC25-EUX 调制解调器、RP2040 USB 声卡、USB 集线器和 3.8V 降压转换器,为计算机提供真实的电话线路。作者使用 Koppar 工具根据文本规格生成 PCB,随后审计并记录了缺陷(射频阻抗/层间跳转、降压转换器/电感布局、走线宽度、SIM 卡座方向)。板子尚未制作;KiCad 文件、Gerber 文件和物料清单在仓库中。评论质疑 VoLTE 支持、未来 2G/3G 退网、LTE 是否在 6G 时代存活,以及苹果 Mac 缺少内置蜂窝网络。作者表示调制解调器支持 VoLTE,但 VoLTE 注册/运营商 MBN 配置文件仍需测试。讨论还涉及 5G 独立组网核心差异,以及 LTE 在物联网中的长期使用可能性。
相关文章

原文

A 4-layer board that gives a computer its own phone line: LTE data, SMS and voice calls, with the call audio on USB. Plug in a nano-SIM and one USB-C cable, and the computer can answer a call through your headset, hand it to a script or an AI agent, or send a text.

The board, 85 x 65 mm, 4 layers

The board was designed by Koppar from a one-page spec (spec.txt), then reviewed part by part against the datasheets.

One USB-C cable, and the computer sees three ordinary devices through the on-board USB hub:

Device From For
Network adapter Quectel EC25-EUX (U8) LTE data, with 3G and 2G fallback (European bands)
Serial ports EC25-EUX AT commands: caller ID (+CLIP), texts (AT+CMGS), answer (ATA)
USB sound card RP2040 (U5) Call audio: the module's 1.8 V PCM interface, level-shifted, as a USB microphone and speaker

There is no battery, screen or speaker. Three LEDs show NET (green), RING (amber) and CALL (blue). Power is 5 V from USB-C, a 3.8 V / 3 A buck for the module's 2 A transmit bursts, and 3.3 V for the hub, the RP2040 and its flash.

The schematic is also in PDF.

Path What it is
spec.txt The spec the board was designed from.
board/ KiCad 10 project: schematic, board, rules, the module footprint, symbol and 3D model.
board/fab/ Gerbers and drill files (gerbers.zip), IPC-2581, schematic PDF.
board/fab/jlc/ JLCPCB assembly BOM and placement files, with the part choices checked by hand.
REVIEW.md The design review: what passed, what changed and why, ordering notes, what is still open.
firmware/ The RP2040 sound-card firmware (after bring-up).

Board. Upload board/fab/gerbers.zip to JLCPCB: 4 layers, 1.6 mm, stackup JLC04161H-3313 (the antenna feeds are 49 Ω on it). Every via is 0.45 / 0.2 mm and none sits in a pad, so pick Min via hole size 0.2mm/(0.3/0.35mm) and Via covering: Plugged: no via-in-pad, no extra options.

Assembly. Use board/fab/jlc/BOM-JLCPCB.csv and CPL-JLCPCB.csv. Glance at the placement preview before confirming, especially the LEDs and the SIM socket (the card slot is at the board edge). REVIEW.md lists the parts the files correct.

Parts you source yourself. These are not on JLCPCB's assembly line, or are not on the board at all:

Part What to get Where
U8, the LTE module Quectel EC25-EUX, ordering code EC25EUXGR-128-SGNS (EC25EUXGA-128-SGNS is end-of-life; same LGA-144 footprint). It must be the EUX: the North American data-only variants have no voice. Techship, DigiKey, Octopart (stock changes, check the suffix). Deselect U8 at assembly and solder it with hot air or a stencil, or consign it.
2 antennas LTE, 698 to 2690 MHz, U.FL (I-PEX MHF I), 50 Ω: one on MAIN (J3), one on DIV (J4) e.g. Taoglas FXUB63 or Taoglas FXUB62.07.0150C
SIM A nano-SIM with a voice plan Your carrier
Cable and port USB-C on both ends, from a port that offers 3 A at 5 V The 5.1 kΩ CC resistors make the board a sink; they negotiate nothing, so a USB-A port or a 1.5 A source will brown out in a 2G burst

Open board/koppar-lte-modem.kicad_pro in KiCad 10. The module's footprint, symbol and 3D model are in the project (board/footprints, board/custom_syms, board/models), wired in by the project's library tables.

KiCad's library has no 3D model for two of the footprints, so the 3D viewer shows them without a body:

Part Footprint 3D model
J1, USB-C receptacle Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 LCSC C165948 (EasyEDA model)
J2, nano-SIM socket Connector_JAE:JAE_SIM_Card_SF72S006 LCSC C2977286 (EasyEDA model)

easyeda2kicad converts either one to a .wrl you can attach to the footprint. The renders above use them.

There is no BOOTSEL button. A blank RP2040 boots into its USB bootloader anyway, and the back has three labelled pad groups for the rest:

Pads on the back

  • BOOT + GND: short them while plugging in and the RP2040 comes up as a USB drive for a new .uf2, even after a firmware that crashes before USB starts.
  • SWD (CLK, DIO, GND): a Pico Debug Probe or any CMSIS-DAP probe.
  • USB_BOOT + 1V8: short them while plugging in and the EC25 starts in emergency download mode, for a modem update that went wrong.

The modem does not switch itself on: the RP2040 drives its PWRKEY (GPIO22) and RESET_N (GPIO23). Until the firmware runs, the computer sees only the hub and the RP2040.

The first version (rev A) had an antenna feed at 35 Ω that hopped layers, a buck 60 mm from its inductor, and a SIM socket facing the wrong way. All three are fixed here, along with the parts list and the assembly rotations. REVIEW.md has every finding with its numbers.

Rev A and rev B (this repo)

Board Rev B: 0 DRC errors, 0 unconnected, KiCad 10. Being ordered.
Next Once the boards are built: bring-up, AT commands, the sound-card firmware, the first call and text.

VoLTE is optional on the EC25-EUX. Where 2G and 3G are switched off, calls need a module firmware with VoLTE and a carrier that allows it; ask the seller.

This board started as a page of text. Koppar takes a spec like spec.txt to a schematic, a routed board, a BOM at live prices and Gerbers. It also takes a KiCad board you already have, or works from your own agent over MCP.

CERN Open Hardware Licence Version 2, Permissive (LICENSE).

联系我们 contact @ memedata.com