Skip to main content

A toolchain bringing the best of software development to the real-world!

Project description

Shows a black logo in light color mode and a white one in dark color mode.

Welcome

atopile is a language, compiler and toolchain to design electronics with code.

Design circuit boards with the same powerful workflows that software developers use - version control, modularity, and automated validation. Instead of point-and-click schematics, use human-readable .ato files that can be version controlled and shared. Capture design intelligence and validation rules in code to ensure your hardware works as intended.

Features

  • 🚀 Auto-select components like resistors and capacitors, based on their attribute's values
  • 🤖 Embed calculations in your code, which are checked on every build
  • 🧱 Build you circuit from reliable configurable modules so you can focus on high level design
  • 💥 Build, release and test your circuit board from the CLI
  • 📦 Embedded package manager to install and manage modules from https://packages.atopile.io, or Github
  • 🔍 Version control line-by-line diffable code w/ git

Jump right in with the quickstart guide

Who's atopile for?

Currently atopile is young - which means we can't do everything yet and we're focussed on being incredible at a few things:

Custom Validation Equipment

"Rome wasn't built in a day, but your HiL should be"

If you're serious about automating the validation of your production hardware, you're in the right place.

Cell-sim is a 16ch, 16-bit, isolated, 0-5V, 0-500mA battery-cell simulator designed from scratch in atopile, from concept to 2-revisions in under 5 days work. Oh, and that time includes the firmware. It is a relatively complex HiL design, and required many new modules that didn't yet exist on our package manager. Simpler HiL designs are frequently just a day's work.

cell-sim

Young companies who need to iterate on hardware

atopile designed hardware is in satellites, humanoid robots and VTOL drones - all from startups within the last year.

Not every young company NEEDs to iterate on it's hardware, but many more should than do.

We're used to this in the software world, but getting the same engine running at even remotely similar speeds for hardware is a huge challenge. atopile let's multiple people work on different features or concepts on the same project in parallel via branches in git. With calculations checked and tests run automatically on every change, you can iterate as an individual - quickly trying out new ideas before committing to a design as a team and only after validating it in the real-world.

Huge nerds 🤓

Welcome the club!

If you like making dope stuff, like these servo drives you're in the right place. Welcome!

spin-showing-off-the-very-goods

❓ Why Atopile?

The objective of atopile is to help push forward paradigms from the software world to hardware design. Describing hardware with code might seem odd at first glance. But once you realize it introduces software development paradigms and toolchains, you'll be hooked, just like we've become.

Intelligent Design Capture: Code can capture the intelligence you put into your work. Define hardware specifications like ratios and tolerances in code, enabling precise control and easy reuse of designs. Imagine configuring not the resistance values of a voltage divider, but its ratio and total resistance, all using physical units and tolerances. You can do this because someone before you described precisely what this module is and described the relationships between the values of the components and the function you care about. Now instead imagine what you can gain from reusing a buck design you can merely configure the target voltage and ripple of. Now imagine installing a servo drive the same way you might numpy.

Version Control Integration: Use git to manage design changes, facilitating collaboration and ensuring each iteration is thoroughly reviewed and validated. Version controlling your designs using git means you can deeply validate and review changes a feature at a time, isolated from impacting others' work. It means you can detangle your organisation and collaborate on an unprecedented scale. We can forgo half-baked "releases" in favor of stamping a simple git-hash on our prototypes, providing an anchor off which to associate test data and expectations.

Continuous Integration (CI): Implement CI to guarantee high-quality, compliant designs with every commit, represented by a green checkmark for assurance. Implementing CI to test our work ensures both high-quality and compliance, all summarised in a green check mark, emboldening teams to target excellence.

🔍 Discover what people build

Browse and submit your modules at packages.atopile.io

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atopile-0.10.10.tar.gz (9.4 MB view details)

Uploaded Source

Built Distributions

atopile-0.10.10-cp313-cp313-win_amd64.whl (992.6 kB view details)

Uploaded CPython 3.13Windows x86-64

atopile-0.10.10-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

atopile-0.10.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (874.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

atopile-0.10.10-cp313-cp313-macosx_11_0_arm64.whl (831.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

atopile-0.10.10-cp313-cp313-macosx_10_13_x86_64.whl (841.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

File details

Details for the file atopile-0.10.10.tar.gz.

File metadata

  • Download URL: atopile-0.10.10.tar.gz
  • Upload date:
  • Size: 9.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for atopile-0.10.10.tar.gz
Algorithm Hash digest
SHA256 2fb0b8c01782f4bc0184ed0d244047a5fdec9d6e6c41a8ce7b33f574ccf3a3d5
MD5 20cc3aa2ea2d83f4f24f15405ef049ec
BLAKE2b-256 c39d0ddfc6bc8406d517494fa7ff5ebf653ae861089173d951442471ef4f7641

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10.tar.gz:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atopile-0.10.10-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: atopile-0.10.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 992.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for atopile-0.10.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d506d7dd489eb0323b98e8fd4c0a78f5ea46d2eccff075644b3ae187e0c6de79
MD5 7543cd8c18482ac864becfd3db76181b
BLAKE2b-256 96fdd519bc1175596c97c7936423bb73ffaa853a829e36de583565cbefadcc1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10-cp313-cp313-win_amd64.whl:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atopile-0.10.10-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.10.10-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 38657fe9b57b76c6729849313f46242ba2051af6e18e9205b280a687a1d2e17f
MD5 22f14fe91c43533c62de60884c24d29d
BLAKE2b-256 8f01f8d310efea59321ebb36f7f6b96894a150cb8d12c49eeab59cb3eefa15b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atopile-0.10.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.10.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d3777864dc58c0eb67222d368604e25f8c00db668e63198569fc7db5c2d2857a
MD5 dbd9afaf00d7b13a4a73e874975eb2da
BLAKE2b-256 9ec716554a188eae54fe474bd4382fb8fe27f5c385652e403ecc4e297c1db324

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atopile-0.10.10-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.10.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bb44823d85ef9b249a34a9820e830c99654c1834743877269512d3c15d0030a
MD5 5a915fd6c80bb4c2a7efe8d6a2ae699d
BLAKE2b-256 b41d312e7df8b95aea63a31a8e02cab60469ae9c02030ec69a5cae60c233eb6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atopile-0.10.10-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.10.10-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f036f91b6b8912cb2e2dcd5faf3f175afde39f504181cedbcde7e7d5620d750e
MD5 2bc8e4e44398acf4d23ec09da6d81b9e
BLAKE2b-256 46e0c9f572134bcc35680c5c164ff4d29026fc97a66eb275837b4c1ffe92132f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.10.10-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page