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.11.6.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

atopile-0.11.6-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

atopile-0.11.6-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

atopile-0.11.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (912.0 kB view details)

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

atopile-0.11.6-cp313-cp313-macosx_11_0_arm64.whl (869.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

atopile-0.11.6-cp313-cp313-macosx_10_13_x86_64.whl (879.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

File details

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

File metadata

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

File hashes

Hashes for atopile-0.11.6.tar.gz
Algorithm Hash digest
SHA256 44e9fd56f95883b5c57e8d151ca0002d2d04a5b9a0ce83001ab054c77d8354ff
MD5 7f61b211c3fa252a0f88bc0395987fe2
BLAKE2b-256 0326f06afa137cf0ce57dc1e8c3eb244bc21492aea44c3b34b90d85397f82d78

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6.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.11.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: atopile-0.11.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.11.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 10cf31bcf70079d3db938a5a7b2c9ac69b0103a1948872573c871e789a902f5e
MD5 8fa45008653654a0a6cf0480513bb04a
BLAKE2b-256 9d50781c30b992d5a65b5393142b57d9159c4011cf7ea0cbf71e8613cccfc853

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6-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.11.6-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.11.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c69540390d9ea42c6d590f4b2711d36bc0c051f59f9366034b65d47d83aa62f9
MD5 932ca017667a98e194ed29aa726922eb
BLAKE2b-256 c6f1dee1c1496ba7f26324ebb3c8638a24bd602ade68cf3e17b62048ad829841

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6-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.11.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.11.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 519d6e8627e53580070d424be4b41d7408f34cde75c5d81f4aa98d841ad8a203
MD5 e4c1a513f93057d20b6f1d7b418439d7
BLAKE2b-256 03056e68ffcfd3227d475c74ff3316eb7a635e34acc92860db19e860a2fee000

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6-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.11.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.11.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74e823a915015db60413b0f4af033febe507c5af554aa719bda836ac3078d793
MD5 97e18420972ede9b19fc80c9e1850e64
BLAKE2b-256 31218bf39d4d9c575c5cf1eb7a5cf33def6e7a9a94921853684d498d999ff9eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6-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.11.6-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.11.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 854a7c4f1adca715c76cd9f0ec0e2de5afff1b6d02197035102d80f02935a2f3
MD5 64694c428b0ee50aa4e89d7e23c8bf85
BLAKE2b-256 55b6e0ce42dd8377660d161e2a109092bd5f311a28f0baac73cf44541c60b4c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.11.6-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