What Sakura
can do now
Sakura is the AI PCB design agent inside Cherry Blossom. It reads datasheets, looks at its own board, places and routes parts, and checks the circuit. Here is each ability, the tool behind it, and where it stops.
What is an AI PCB design agent?
An AI PCB design agent is a model that works in your editor through tools, not in a chat window beside it. Sakura has tools for the same things you do by hand: add a part, wire two pins, place a footprint, route the board, run the checks. It calls them one at a time and reads what comes back.
Every tool call is applied to the project you have open and can be undone, so the work is on screen as it happens and you can step back from any of it. It is the same editor you use yourself, with the same shortcuts. Sakura is included from the Pro plan up (the Free plan is the editor without the AI). The v2 announcement has the wider picture.
What Sakura can do, and the tool behind each
Names are the real tool names, so what you see in a session matches this table.
| Ability | Tool | What it does |
|---|---|---|
| Read a datasheet | read_datasheet | Pin table, ratings or typical application, as text with page numbers. |
| Look at its own work | look | A picture of the schematic, the PCB or the 3D board, plus measured numbers. |
| Move, turn, flip and lock parts | place_parts | By coordinates, by offset, or beside a named pin such as U1.VIN. |
| Place a whole board | layout_pcb | Puts decoupling capacitors at their pins and power stages by rule. |
| Widen a net | set_net_width | Sets a trace width for one net, within the fab rules. |
| Clear copper | clear_routing | Deletes traces and vias by net, by part or all, and keeps locked copper. |
| Route, fine-pitch pads included | route_pcb | Adds escape stubs at tight pads and retries what stayed open. |
| Build a part from supplier data | find_part, get_part_data, create_part | Pins and land pattern come from a supplier record, not from memory. |
| Check the circuit | run_checks | LED with no resistor, parts that do nothing, pins on a lone label. |
| Wire pins without side effects | connect | Refuses a wire that would join a net nobody asked it to join. |
Can an AI read a datasheet and use what it says?
Yes. When Sakura needs the recommended capacitor values, the typical application or the pin table, it calls read_datasheet and gets those pages back as text, with page numbers. A whole datasheet runs 20k to 50k tokens, and the PDF never goes to the model: a server reads it and returns only the section asked for, or says it could not find one.
It uses this when supplier data is missing or contradicts itself, when it builds a chip’s support circuit from the recommended values, and when a rating sits near its limit. It cites the page. The datasheet text is handed over as quoted data, never as instructions, so a PDF cannot tell the agent what to do.
Parts themselves start from supplier records. Sakura uses find_part and get_part_data, and create_part takes pins and the land pattern from the record. That change came from measuring: in three days of real use, parts the model wrote from memory included three pin maps that would have killed the board and eight wrong footprints. Pins or a footprint that disagree with the record are refused, with the numbers.
The limit: datasheets are fetched only from a short list of hosts (LCSC’s datasheet host and TI’s), and Sakura never turns datasheet text into pins on its own. A part whose pins it only compared with the datasheet stays flagged as not verified by a supplier.
Can AI do PCB layout, and can it see what it did?
Yes, in steps you can follow. layout_pcb places the board, and the placer now knows which capacitor serves which chip. On the five example boards, decoupling capacitors sat a median 1.10 mm from their supply pin after a re-pack, against 13.60 mm with the old packer. For a switching regulator it places the inductor at the SW pin, input capacitors at VIN, the bootstrap capacitor between BST and SW, and the feedback divider away from SW.
After that, place_parts fixes single parts: put C3 beside U1.VIN, turn it, flip it to the other side, lock it. set_net_width widens a power net, and clear_routing removes stale copper before a re-route. Before this, Sakura could only move a part in the schematic, and said so itself after laying out a buck converter.
To check itself, it calls look. That renders the schematic, the PCB or the 3D board off screen (your tab and camera do not move) and returns the picture with numbers: overlapping symbols, parts off the board, courtyard overlaps, unrouted connections. It reads the numbers first, fixes what they show, and is allowed three looks per request.
Routing handles tight pads too. On a USB-C connector with 0.3 mm pads at 0.5 mm pitch, the router now draws a short escape stub from each pad and retries what stayed open. A real session board went from 7 open connections to 0, and a 56-pin QFN at 0.5 mm pitch from 48 to 0. A 0.4 mm pitch QFN still ends with 8 of 48 open, and Sakura says so instead of calling it done.
Does it catch circuit mistakes, not just layout ones?
Some. Three electrical checks run on the schematic. They flag an LED with nothing in series to limit its current, a two-pin part with both legs on one net (which does nothing), and a pin whose only connection is a label that no other pin shares. An LED with nothing in series was the commonest of these in real boards we looked at, which is why the first rule exists. The findings show in the Checks panel and in run_checks. They are warnings, you can ignore one, and Sakura then leaves it alone.
There is also a guard on wiring. In a test with random parts and random connections, 51 of 150 designs ended up with a net nobody asked for. connect now compares the nets before and after, and refuses a wire that would join one it was not asked to join. After the fix, the same test produced none. A move or turn that would join nets is refused the same way, and nothing changes.
These checks find some wrong circuits, not all of them. They do not check a trace’s current rating, or whether two outputs share a net. Read the board before you order it.
What it does not do yet
It cannot yet add a no-connect flag to a pin.
Hand-drawn traces (draw_trace) must start on copper of their own net and are refused if they would short or leave the board, so tight spots may still need your hands.
The picture it gets of a PCB is the top view, and the 3D view needs WebGL. Without it, Sakura gets the numbers and a sentence saying so.
A datasheet has to be on a host the server reads. Links to other manufacturers return no result.
Fine-pitch routing can still leave a very tight chip partly open.
To see it work, describe a board in the editor and watch the tool calls. Plans and limits are on pricing, and when a Pro account runs out of AI the notice offers Ultra or pay-as-you-go. If you want to drive it from your own agent instead, see the MCP server.
Questions
An AI PCB design agent is a language model that does the work in your editor through tools instead of describing it in chat. Sakura, the agent in Cherry Blossom, adds parts, wires pins, places and routes the board, reads datasheets, and runs checks by calling the same kinds of actions you would. Each tool call is applied to your open project right away and can be undone, so you can see what it did and step back from any of it.
Yes. Sakura has a read_datasheet tool that returns the pin table, the absolute maximum and recommended operating ratings, the typical application, or the first page and contents of a part's datasheet, with page numbers. The PDF itself never goes to the model: a server reads it and sends back only the relevant pages as text. Sakura uses this when supplier data is missing or contradicts itself, to build a chip's support circuit from recommended values, and to check ratings that sit near a limit.
Yes, with limits. Sakura places the whole board, then moves, turns, flips and locks single parts, puts decoupling capacitors beside the pins they serve, places a switching regulator's inductor and capacitors around the chip, sets trace widths per net, and routes the board, including fine-pitch pads. It looks at its own result and runs the checks. A very tight 0.4 mm pitch chip can still leave connections open.
It is built not to. When Sakura makes a part it looks up a supplier record and takes the pins and land pattern from there. If it passes pins or a footprint of its own, they are compared with the record and refused if they disagree, with the pins and pad measurements that differ. A part made from memory is marked as not verified in the Checks panel. A part whose pins Sakura only compared with the datasheet stays flagged as not verified by a supplier.
Yes. Sakura changes your project only through tools, and every tool call can be undone, with undo and redo working as they do for your own edits. A call that would do something wrong, such as a wire that joins two nets nobody asked to join, is refused and changes nothing, with a message naming the pins and nets.
Sakura is included from the Pro plan up. Free is the editor without Sakura, and on every plan, Free included, you can connect an AI assistant you already pay for through the MCP server, which gets Sakura's tools and runs on your own subscription. Ultra adds Sakura 2 High, and the plans' prices and limits are on the pricing page. When a Pro account runs out of its AI allowance, the notice offers Ultra or pay-as-you-go instead of only telling you to wait.
Describe a board and watch Sakura work.
Every step is a tool call you can see and undo. In the browser, with exports to Gerbers and KiCad.
By signing up, you agree to our Terms of Service and Privacy Policy.
