推荐开源项目:`atopile` —— 用代码构建电子电路板的新工具

推荐开源项目:atopile —— 用代码构建电子电路板的新工具

atopile Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️ atopile 项目地址: https://gitcode.com/gh_mirrors/at/atopile

项目介绍

atopile 是一款创新的工具,它允许开发者使用代码来构建电子电路板。通过将软件开发的范式引入硬件设计领域,atopile 为电子工程师和爱好者提供了一种全新的设计方式。无论是简单的电压分压器还是复杂的微控制器项目,atopile 都能通过代码实现精确的设计和控制。

atopile Logo

项目技术分析

atopile 使用 Python 作为其主要编程语言,支持版本 3.11 及以上。通过编写 .ato 文件,用户可以定义电路的各个组件及其连接关系。以下是一些关键的技术特点:

  • 模块化设计:通过导入和定义模块,用户可以轻松复用已有的电路设计。
  • 物理单位支持:代码中可以直接使用物理单位(如伏特、安培等),确保设计的精确性。
  • 断言和验证:通过断言语句,用户可以验证电路的性能是否符合预期。

示例代码

简单的电压分压器
from "generics/resistors.ato" import Resistor
from "generics/interfaces.ato" import Power, Pair

module VDiv:
    power = new Power
    output = new Pair

    r_top = new Resistor
    r_top.package = "0402"

    r_bottom = new Resistor
    r_bottom.package = "0402"

    power.vcc ~ r_top.p1; r_top.p2 ~ output.io
    output.io ~ r_bottom.p1; r_bottom.p2 ~ power.gnd; power.gnd ~ output.gnd

    v_in: voltage
    v_out: voltage
    i_q: current

    assert v_in * r_bottom.value / (r_top.value + r_bottom.value) within v_out
    assert v_in / (r_bottom.value + r_top.value) within i_q

    v_in = 3.3V +/- 2%
    v_out = 1.8V +/- 5%
    i_q = 1mA +/- 10%
经典的 "Blinky" 电路
import RP2040Kit from "rp2040/RP2040Kit.ato"
import LEDIndicatorRed from "generics/leds.ato"
import LV2842Kit from "lv2842xlvddcr/lv2842kit.ato"
import USBCConn from "usb-connectors/usb-connectors.ato"

module Blinky:
    micro_controller = new RP2040Kit
    led_indicator = new LEDIndicatorRed
    voltage_regulator = new LV2842Kit
    usb_c_connector = new USBCConn

    usb_c_connector.power ~ voltage_regulator.power_in
    voltage_regulator.power_out ~ micro_controller.power
    micro_controller.gpio13 ~ led_indicator.input
    micro_controller.power.gnd ~ led_indicator.gnd

    led_indicator.v_in = 3.3volt +/-10%

项目及技术应用场景

atopile 适用于多种应用场景,包括但不限于:

  • 原型设计:快速构建和验证电路原型,缩短开发周期。
  • 教育用途:帮助学生理解电路设计和编程的融合。
  • 开源硬件项目:通过代码共享和复用,促进开源硬件社区的发展。

项目特点

  • 智能设计捕获:通过代码定义硬件规格,如比例和公差,实现精确控制和设计复用。
  • 版本控制集成:使用 Git 管理设计变更,便于协作和审查。
  • 持续集成(CI):通过 CI 确保每次提交的设计都符合高质量标准。

为什么选择 atopile

atopile 的目标是将从软件世界中的范式推向硬件设计领域,主要包括以下几点:

  • 智能设计捕获:通过代码定义硬件规格,如比例和公差,实现精确控制和设计复用。
  • 版本控制集成:使用 Git 管理设计变更,便于协作和审查。
  • 持续集成(CI):通过 CI 确保每次提交的设计都符合高质量标准。

通过 atopile,你可以像配置软件库一样配置硬件模块,极大地提高了设计的灵活性和可复用性。

开始使用

要开始使用 atopile,请确保你已经安装了 Python 3.11 或更高版本。然后,通过以下命令安装 atopile

pipx install atopile

更多详细信息和入门教程,请访问 atopile 官方文档

探索社区项目

你可以在 packages.atopile.io 浏览和提交你的模块,加入 atopile 的社区,共同推动硬件设计的新范式。

Block Diagram Example

Schematic Example

立即尝试 atopile,开启你的代码构建电子电路板之旅!

atopile Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️ atopile 项目地址: https://gitcode.com/gh_mirrors/at/atopile

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉生纯Royal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值