“用 TypeScript、React 和 AI 工具構建電子產品。”
tscircuit 讓電子開發如同 Web 開發般便捷。在您熟悉的 IDE 中編寫代碼,實時觀察代碼改動生成電路設計。完成后,直接導出項目并投入生產!
什么是 tscircuit?
tscircuit 是一個由注冊中心、包管理器、命令行工具和 AI 電子設計套件共同支持的開發庫,它能輕松實現電子電路的創建、共享、導出與生產制造。該庫通過React Fiber 引擎將電路設計實時渲染為網頁可視化界面。
你可以將 tscircuit 視為"電子領域的 React"—— 它允許開發者使用 TypeScript 和 React 設計真實世界的電子電路。其開發范式并非創建 "div" 等網頁元素,而是定義 "芯片"、"電阻" 或 "電容" 等電路元件,最終渲染輸出的也不是網站,而是 3D 的電路(可直接下單生產)!
通過 tscircuit,你甚至能設計出具備完整功能的鍵盤電路!完成設計后,可直接將方案導出至合作制造商,訂購真實可用的電路板成品。
樣例
一個 wifi 的測試板。可以點擊以下鏈接直接查看:
https://tscircuit.com/seveibar/wifi-test-board-1#files ts 的代碼:
import{Reg5vTo3v3 }from"@tsci/seveibar.reg-5v-to-3v"import{ useESP32_S3_MINI_1_N8 }from"@tsci/seveibar.esp32-s3-mini-1-n8"import{ useUsbC }from"@tsci/seveibar.smd-usb-c"import{ useResistor }from"@tscircuit/core"exportdefault() => {constUsb=useUsbC("USB")constEsp32=useESP32_S3_MINI_1_N8("U1")constR1=useResistor("R1", {resistance:"5.1k",footprint:"0402"})constR2=useResistor("R2", {resistance:"5.1k",footprint:"0402"}) return()}
對應的原理圖:
對應的 PCB:
渲染的 3D:
如何使用?
可以使用tsci命令行工具完成tscircuit的所有操作。
npminstall -g tscircuittsci dev
打開瀏覽器:http://localhost:3020
從其它EDA工具中導入器件庫
tscircuit 目前支持將立創eda 和 KiCad 的器件庫導入成 tscircuit 的格式:
原理圖/PCB 自動布線
您可以使用schAutoLayoutEnabled和pcbAutoLayoutEnabled兩種工具自動布局原理圖和 PCB。
import{SmdDiode}from"@tsci/seveibar.SmdDiode"import{Key}from"@tsci/seveibar.Key"import{Pico2}from"@tsci/seveibar.pico2"constrowToMicroPin = {0:"GP0",1:"GP1",2:"GP10",}constcolToMicroPin = {0:"GP19",1:"GP17",2:"GP5",}exportdefault() => ()functiongrid(opts: {sizeX:numbersizeY:numberpitch:numberoffset?: { x:number; y:number}}):Array<{?x:?number;?y:?number;?row:?number;?col:?number?}> {const{ sizeX, sizeY, pitch, offset = {x:0,y:0} } = optsconstpoints:Array<{?x:?number;?y:?number;?row:?number;?col:?number?}> = []conststartX = (-(sizeX -1) * pitch) /2conststartY = (-(sizeY -1) * pitch) /2for(letrow =0; row < sizeY; row++) {??for?(let?col =?0; col < sizeX; col++) {? ? points.push({? ? ??x: startX + col * pitch + offset.x,? ? ??y: startY + row * pitch + offset.y,? ? ? row,? ? ? col,? ? })? }}return?points} {grid({ sizeX: 3, sizeY: 3, pitch: 19.05, offset: { x: 20, y: 0 } }).map( ({ x, y, row, col }, index) => { const schOffX = 5 + x/6 const schOffY = -y / 8 return ( ) } )}
-
KiCAD
+關注
關注
5文章
233瀏覽量
9332 -
電路開發
+關注
關注
0文章
4瀏覽量
3700
發布評論請先 登錄
《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第10期:2025.05.6--2025.05.9
《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第11期:2025.05.12--2025.05.16
安信Windows驅動開發教程:適用于 Windows 的 React Native
使用React Native構建OS X桌面應用

詳談 Vue 和 React 的八大區別

React Native for Windows使用React構建原生Windows應用

關于“React和Vue該用哪個”
React正在經歷Angular.js的時刻嗎?

評論