Introducing Custom Boards #387
ohmtech-rdi
announced in
Announcements
Replies: 1 comment 1 reply
|
Trying it myself, you really need to plan your routing proper before you start to route. Since the entire board is regenerated, it's not very good at diffing. Also, since it's regenerated, it's extremely important to save your work. For this, since $ git add -f artifacts/hardware/mymodule.kicad_pcbThe most annoying part of diffing is probably not being able to do pin swapping from a Apart from that, works like a charm from my (maintainer) perspective 🙂 |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Today, Eurorack-blocks is built around the concept of
board. Aboardmediates between the UI and the Daisy Patch Submodule, by expanding the features of the latter. Technically aboardlikekivu12is just a set of pin headers, which forward or retrieve signals from a back board. The back board stuffs as many features as possible, to match all potential features of any digital module for a given HP width, at least conforming to what ModularGrid returns about digital modules for a specific width.Today a Eurorack-block module is composed of 3 parts, the front PCB holding the user interface, the back board like
kivu12and finally the Daisy Patch Submodule.While the
kivu12is OK for prototyping quickly, and is reusable, it has some limitations:In addition, some companies express their need to use Eurorack-blocks, but suitable for mass production.
For this we are introducing "custom boards" which allows, in a nutshell, to "merge" the UI component PCB that Eurorack-blocks was already producing, with the back board, which typically contains multiplexers and demultiplexers.
We've just merged part of this feature so companies could use it now, but there is still no documentation for it. What it does is add a syntax in
erbuito add inlineboards, where the fields are the same in theboarddefinition.pyfile, but in theerbuistyle rather thanpythonstyle.Here is what it looks like:
This is exactly like kivu12 python definition except you have it inline in the code.
Also you can notice the syntactic sugar
pins P1..14 Pot, Trim { bind "p({index-1})" }: it expands fromP1toP14, whichaccept(in the original definition) controls of kindPotandTrimandbindto an expression"p({index-1})". What is in those{}is evaluated when parsing the board.indexhere is the index of the pin, so here ranging from 1 to 14 (that we map back to a 0-based indexes).This feature was quite made on a rush, but seems to fit the need.
Any opinion on it? Ways to improve it? Please comment below!
All reactions