Import

View and simulate a KiCad schematic online, .kicad_sch to breadboard

Drop a KiCad schematic, a .kicad_sch from KiCad 6 or later or the .sch of KiCad 4 and 5 with its library, and Mokxi reads it online as a live circuit.

Import your own projectEvery tool Mokxi imports from
The box

Drop it here, or paste it

Every symbol where it stood, the wires, junctions, labels and power symbols joined into nets the way KiCad joins them, and an Arduino in the schematic ready to simulate the sketch you add. The schematic becomes a breadboard circuit you can run, not a picture.

An Arduino Uno R3, an LED and its resistor, drawn in KiCad with a GND power symbol. It opens as a wired circuit; add a Blink sketch to the Uno and run it.

Paste from ChatGPT or ClaudeCopy a prompt, say what to build, paste the answer.
  1. 1Copy the promptIt teaches your AI how to write a Mokxi project.
  2. 2Say what to buildPaste the prompt into ChatGPT, Claude, Gemini or Cursor and add what you want, like "a night light with a light sensor".
  3. 3Paste its answer hereThe whole reply is fine. It opens wired and ready to run.

Only have a photo or a screenshot of the circuit? Give your AI the picture with this prompt instead.

Your AI app supports MCP? Add the Mokxi server and it builds the link for you. How

From Tinkercad? Three stepsBring a circuit across wired, with its code.
  1. 1Export the circuitIn Tinkercad, open the circuit, press Export and download the .brd file. It has every part and wire.
  2. 2Download the codeOpen Code, switch to Text and press the download button for the .ino.
  3. 3Drop both hereChoose or drop the .brd and the .ino together: it opens wired, with the code on the board. No .brd? Paste the Component List with the code under it.
Files and links

What Mokxi reads from KiCad

A .kicad_sch, KiCad 6 and later, recognized by its opening (kicad_sch. The symbol libraries it carries inside are used for the pins.

A .kicad_pro, or a zip or folder of the project; Mokxi opens the root schematic the .kicad_pro names, else the sheet no other sheet names.

A legacy .sch from KiCad 4 or 5 (EESchema Schematic File Version) together with its -cache.lib or the .lib files it uses.

The file’s text pasted into the box.

An .ino beside the schematic, which goes onto the board. A GitHub link to a .kicad_sch is not fetched; download the file and drop it.

Converted

What comes across

Symbols, placed as drawn

Each symbol keeps its position, rotation and mirror, converted from millimeters to Mokxi’s grid. A pin’s place is its library position turned by the symbol’s transform, so the wires land where KiCad drew them and parts that would overlap are moved a little, with a count in the report.

Nets, the KiCad way

Points sharing a coordinate join: wire ends, pins, labels. A pin or label in the middle of a wire joins that wire, a junction joins everything passing through it, and wires that merely cross do not. Labels of one name on a sheet are one net; global labels and power symbols (GND, +5V) join on every sheet; and a chip’s hidden power pins join the net of their own name.

Which symbols map

Boards by name: Uno and Uno R4, Nano, Mega, Leonardo, Micro, Pro Mini, Pro Micro, Pico and Pico W, ESP32 with the S3, C3 and C6, ESP8266 and NodeMCU, D1 mini, micro:bit, ATtiny85. Chips by part number (74HC595, NE555, L293D, CD4511). Two-terminal parts by reference letter and value: R, C, L, D and LED. Modules by their usual names: HC-SR04, DHT11 and DHT22, SSD1306, LCD1602 and LCD2004 plain or I2C, WS2812, servos, relay module, IR receiver, HC-05, DS18B20, DS3231, MPU6050, BME280, L298N, nRF24L01, MFRC522, TM1637, A4988, HX711, INA219, PCF8574, MAX7219, regulators, microSD and DFPlayer.

Hierarchical sheets

A sub-sheet whose file is in the upload and that is placed exactly once is read and joined to its parent, its hierarchical labels meeting the sheet pins by name, and the report lists the sheets it read.

Left out

What does not, and what happens instead

Buses and the PCB

Bus wires, bus entries and labels like D[0..7] are not read, so a net that reaches its pins only through a bus stays apart, and the report counts the bus items. The .kicad_pcb, footprints and simulation models are never opened.

Connectors, test points and DNP

Pin headers, test points and mounting holes are where cables connect rather than parts, so they are left out and listed, with the advice to wire what plugged into them to the parts directly. A symbol marked do not populate is left out as well.

Sheets missing or reused

A sub-sheet whose file is not in the upload, or one placed twice (its copies cannot be joined into one circuit), is listed under "Sub-sheets left out", with the suggestion to export each in KiCad and import them one at a time.

Legacy symbols without their library

A KiCad 5 .sch does not carry its symbols. When the -cache.lib is missing, the affected parts become notes with their wires left out, and the report asks for the library; no pin is ever guessed.

Symbols with no Mokxi part

A symbol the table does not know becomes a labeled note with its connections listed in the report. The matching is strict on purpose: a TVS diode array is not a diode, a four-pin switch is not the two-pin button, and a connector whose label says OLED is still a header.

Step by step

From KiCad to Mokxi

  1. Step 1

    In KiCad, save the schematic. For a project with sub-sheets, zip the project folder so every .kicad_sch and the .kicad_pro travel together.

  2. Step 2

    For KiCad 4 or 5, add the -cache.lib (or the .lib files the sheet uses) to the same upload.

  3. Step 3

    Drop the files on the box above, or straight onto the editor canvas; the hint says "Looks like a KiCad schematic". Add the Arduino sketch as an .ino if you have one.

  4. Step 4

    The circuit opens with the report’s notes: sheets read, connectors left out, buses skipped. Press Tidy wires (T), then Run.

FAQ

Questions about importing from KiCad

Is this a KiCad schematic viewer online?

It reads the schematic and shows it as a live circuit of Mokxi parts, placed as the sheet placed them, rather than as KiCad’s own drawing. You see the symbols as breadboard parts you can run, probe and edit, and the import report tells you what was left out.

Can I simulate a KiCad schematic with Arduino code?

Yes, provided the schematic holds an Arduino or another board Mokxi knows. Put the .ino in the same upload and it goes onto that board; with no board in the sheet, the report says so and the code waits until you add one.

Does Mokxi open a .kicad_pcb?

No. Only the schematic is read, because the circuit is in it; the board layout, footprints and simulation models are not opened. The other direction exists too: Mokxi exports a KiCad schematic.

Which KiCad versions are supported?

KiCad 6, 7, 8 and later write .kicad_sch, which carries its own symbols and is read on its own. KiCad 4 and 5 wrote .sch, which is read when its -cache.lib or .lib comes along; without the library the parts are notes.

What happens to symbols Mokxi has no part for?

Each becomes a labeled note at its position, and the report lists the connections it took with it. Their names stay in that list, so you can place the nearest Mokxi part and redo the wiring by hand.

Can I go the other way, from Mokxi to KiCad?

Yes: the editor exports a KiCad schematic of the circuit on the canvas. The guide linked below walks through it.

Simulate your circuit in minutes. Build it for real with Pro.

Start free