Two months to four-layer boards with parts on both sides
Top (left) and bottom (right) of a four-layer board made by Rocky, siliXon's assistant, on a pre-release copy of siliXon: 22 parts, seven of them underneath. Raytraced in KiCad from siliXon's own KiCad export; the black mask and ENIG finish were chosen for these images and are not part of the design.
siliXon turns a plain-English description of an electronic device into an editable printed circuit board design. You can now ask it for boards with four copper layers and with components on the bottom side. The board above uses both. Rocky, siliXon's assistant, made it on 21 October 2026 from one request and two follow-ups, all sent by an automated test that plays the part of a user, and it passed every manufacturing check siliXon runs.
It took two months to get here, and the first attempt was pulled after four days.
Where we started
Before late August, siliXon designed only two-layer boards, and its automatic placer put every part on top. For plenty of designs that is enough. When it isn't, the board runs out of room: a connector has to meet the edge of the enclosure, a button has to stay reachable, and everything else has to fit around them.
A bigger outline is one answer, and we wanted two more. Four copper layers move ground, and optionally one power rail, off the outer surfaces and onto planes inside the board, which frees the outside for signals. Bottom placement gives small supporting parts a second surface to sit on. They address different parts of the same space problem, and you can use them together.
A four-layer PCB is one laminated board with four copper layers. Insulating material separates the layers, and components still mount only on the two outer surfaces. In siliXon's current stackup, signals route on the outer layers and the two inner layers are copper planes:
| Position | Layer | Default role |
|---|---|---|
| Top surface | F.Cu | Signal routing |
| First inner layer | In1.Cu | Ground plane |
| Second inner layer | In2.Cu | Ground plane |
| Bottom surface | B.Cu | Signal routing |
A first attempt
We added the first four-layer support on 24 August 2026. A board could be set to four copper layers, with ground on the first inner layer and a power rail on the second, and the router treated both inner layers as planes. It reached the live siliXon app the next day, switched off unless we turned it on.
On 28 August we took it back out and moved the work onto a branch of its own to rebuild it. While it sat there, the fabrication export changed. On 1 September we started producing fabrication files with our own exporter instead of KiCad's command-line tool. Any part already on the bottom side now exported properly flipped, with mirrored pads; until then such parts had gone out as top-side footprints relabelled for the back. The automatic placer itself would not put parts underneath until late September.
Two planes inside the board
Four-layer support returned on 15 September and reached the live app on 18 September, still off until we switched it on. The fabrication export had been rebuilt to match, and it now refuses to produce four-layer files whose inner layers come out blank. Traces Rocky draws itself, rather than leaving them to the autorouter, stay on the two outer layers, because the inner layers are solid planes.
On 17 September Rocky learned to convert a saved two-layer board to four layers in place. It keeps the parts, their placement and the nets and drops all of the routed copper, so the board has to be routed again.
Until 30 September a four-layer board needed a power rail on its second inner layer. From that day both inner planes carry ground by default. In2.Cu can also serve as a power plane, for example for an existing 3.3 V or 5 V rail. Ask Rocky for an inner power plane on a supply rail your board already has, and In2.Cu becomes that rail's plane while In1.Cu stays on ground. It has to be a real supply; siliXon won't hand the plane to a status or control signal such as a power-good line.
A second surface
Bottom placement started on 24 September, with an on/off switch of its own, and at first only on our pre-release copy of siliXon, a separate copy that runs our newest code before it reaches the live app. The automatic placer could now put small surface-mount parts underneath and pack the board smaller. Rey Neill, one of siliXon's founding engineers, was entering PCBGolf at the time, a comma.ai contest that scored boards built from a set parts list on their size, vias and copper layers. His entry used bottom placement before it was available to everyone, and his board from 30 September put the MCU underneath:
Top (left) and bottom (right) of Rey's 30 September PCBGolf board, from his article: a competition entry, built with an early version of bottom placement.
The automatic placer we ship today won't put an MCU underneath. Deciding what it should move took the next few weeks.
From 2 October you could ask Rocky to move or flip individual parts to either side, instead of leaving them to the placer. Ten days later, on 12 October, four-layer boards on accounts with bottom placement switched on started being placed on both sides by default, fitted to the smallest outline that held their parts. The next day a two-layer board the autorouter couldn't finish started converting itself to four layers and routing again, unless you had asked for two. Rocky says when it does this, and that four layers cost more.
On 17 October a new automatic placer replaced the old one. It decides what goes underneath now. On a four-layer board, only resistors, capacitors, ferrites and test points can move to the bottom; chips and the parts people plug in, look at or press stay on top. You can still ask Rocky to put a specific part on the bottom side.
Some boards still end up with nothing underneath: there may be nothing suitable to move, or connector positions, routing or the enclosure keep parts on top. Copper layers and component sides are separate choices, with one link: automatic placement uses the bottom only on four-layer boards. A four-layer board can still keep every part on top, and you only need two-sided assembly when something actually sits underneath.
Switched on for everyone
Then we took the on/off switches out of the code: the one for bottom placement on the 17th, and the one for four-layer boards on the 19th, by which time four-layer boards were already on for every user. That same day, Rocky's replies began naming the parts it puts underneath and saying the board needs two-sided assembly. All three changes reached the live app on 20 October, and since then every user gets both features.
Testing it end to end
Running through all of this was testing, which started with the first attempt. On 27 August a four-layer test board joined the automated tests that decide whether new code goes to the live app: a test routes a ready-made four-layer board on the pre-release copy. That test was removed with the first attempt the next day and returned on 16 September. A day later we added a resistor to the underside of that ready-made board.
A test like that routes a board we prepared; it never asks Rocky for one. So on 30 September we added a second automated test that plays the part of a user. It sends Rocky a batch of board requests and checks each board that comes back. Its first batch held 30 four-layer requests. Every one has to come back with four layers, and for four of them the test also checks which net ended up on the second inner plane. Within two weeks it was also answering Rocky's questions and picking among its suggestions the way the person asking would.
One board, start to finish
For this post we wanted a board Rocky made from an ordinary request on the newest version of siliXon, not a render of an older board. On 21 October we sent four requests through that same automated test on the pre-release copy. Three of the four passed siliXon's manufacturing checks, two of them with a warning, and the fourth left one check inconclusive. The board at the top of this post is the only one to pass every check with no warning. Its request was:
Design a 4-layer STM32L476 data logger with a microSD card, a battery-backed RTC and a 5 V to 3.3 V regulator fed from a 2-pin 5 V input header. Put 5 V on In2 and GND on In1. Place and route it.
Its first message was that request with a reminder added at the end: "Keep it 4-layer. Put 5 V on In2 and GND on In1." In1 and In2 are the two inner layers, In1.Cu and In2.Cu in the table above. Two follow-ups came after, each restating the request: one asked for an SWD header so the board can be programmed, and the other asked Rocky to rearrange placement around the MCU so the 3.3 V routing could finish.
In the end, Rocky had placed all 22 parts, put seven small passives underneath and routed every connection. The saved board passed every manufacturing check siliXon runs, with no check overridden. One limit: the continuity check, which traces the power and ground rails through an electrical model of each part, used simplified models for the MCU and the battery holder.
Its two sides are at the top of this post. Here are its four copper layers:
Its four copper layers, drawn flat from the same export and seen from the top, with KiCad filling the planes. Top row: F.Cu (top copper) and In1.Cu (GND plane). Bottom row: In2.Cu (5 V plane) and B.Cu (bottom copper).
| Detail | This board |
|---|---|
| Outline | 30 × 44 mm |
| Copper | 4 layers: F.Cu, In1.Cu, In2.Cu, B.Cu |
| Inner planes | In1.Cu on net GND, In2.Cu on net 5V |
| Parts | 22 placed: 15 on top, 7 underneath |
| Underneath | C2, C3, C8, R1, R2, R3, R4 |
| Routing | Every connection routed, 44 vias |
| Component size | Standard (0603, 1.6 × 0.8 mm) |
| Manufacturing checks | All pass: parts and placement, connections and routing, fabrication rules and files, electrical continuity, datasheet review (chips checked against their datasheets) |
What this shows is narrow: from an ordinary request and two follow-ups sent by our test, Rocky made a four-layer board with parts on both sides and a 5 V plane where we asked for it, and our own checks passed it. It is not a tested prototype. We have not fabricated, assembled or powered this board.
Before you order
Converting an existing board from two layers to four keeps its placement. Rocky can offer to rearrange the whole board across both sides, but only does it when you ask. The exception is a board Rocky built in the same request, before you placed any part by hand: converting that one places the parts again on both sides, inside any outline you set. If the board has to fit an enclosure, put its dimensions in the request.
Converting the stackup clears the routed copper, and so does changing the net on In2.Cu. Either way the board has to be routed again. Afterwards, check the layer assignments and any unresolved connections: a ground plane being present doesn't prove everything is connected, and picking a stackup doesn't prove the board performs electrically.
When Rocky moves parts underneath, its reply names them (if there are more than eight, it names seven and counts the rest) and says the board needs two-sided assembly, and the exported pick-and-place file records each part's side. Before you send a board to be made, review both sides, check the copper layers and their artwork, clear any outstanding routing and manufacturing issues, and confirm the assembly with your supplier. The fabrication export checks every inner layer for missing copper, but that is not a manufacturing review or supplier acceptance.
Try it now
Four-layer boards and bottom placement are now on for every siliXon user. Open app.silixon.io, start with a design whose constraints you understand, and ask Rocky. Once you have a two-layer board in siliXon, a request can be this direct:
Convert this board to four layers with ground on both inner planes. Keep my current placements and board dimensions, then route it again.
If you want Rocky to rearrange parts across both sides, ask for that separately, and check which parts actually moved underneath.