Clone this wiki locally
KTechLab Logo. KTechLab is an Open Source Integrated Design Environment (IDE) for electronic and PIC microcontroller circuit design and simulation.
Featuring an extensive circuit designer with autorouting and a library of many common analog and digital electronic components and logic elements, KTechLab is the ideal tool for educational or hobbyist use.
KTechLab features an easy to use, flowchart based PIC program designer - Flowcoder; along with a BASIC like programming language called Microbe and support for Assembly and C languages. Programs designed by these tools can be added to any circuit design as a 'virtual' PIC allowing complex microcontroller based circuits to be created.
Circuits and Flowcharts can be simulated on-the-fly in order to quickly asses their performance
KTechLab supports a wide range of Open Source PIC programmers, enabling finalized PIC programs to be quickly and easily transfered to a real PIC microcontroller.
Table of Contents
KTechLab 0.3.6 is the latest stable version. Please see the download page for further information on how to get it.
KTechLab main window.The KTechLab main window uses the KMDI interface, familiar to users of Kate or KDevelop, it features a central working canvas between two sidebars (See the KTechLab main window picture). Although this layout can be changed, doing so may cause problems.
"New File" dialog.Five types of files can be created using KTechLab: Assembly Code (.asm), C code (.c), Circuit (.circuit), FlowCode (.flowcode), Microbe (.microbe), and Projects (.ktechlab).
When the files are created, they are displayed as tabs above the working canvas.
Assembly code files (.asm) are plain text files that describe an algorithm in assembly language intended to run in a programmable integrated circuit (PIC) element in a circuit.
C code files (.c) are plain text files that describe an algorithm in c language intended to run in a PIC element in a circuit.
KTechLab featuring a circuit schematic.Circuit files (.circuit), saved as custom XML files, describe circuit schematics than can contain analog as well as digital elements such as resistors, diodes, logical gates, and common integrated circuits to name a few.
Circuits can be drawn by inserting and connecting components together on the working canvas. The circuit connections can be routed automatically or manually according to the user preference.
Also, they can be simulated on-the-fly while they are being built, and measurements such as branch current or a node voltage can be displayed by hovering the mouse pointer over the circuit with the mouse.
Similarly to circuits, Flowchart files (.flowchart) are saved as custom XML files. They describe control flow diagrams for algorithms to be run on their own or in a PIC elements in a circuit.
KTechLab featuring a control flow diagram.Flowcharts can be drawn by inserting and connecting flow blocks together on the working canvas. The connections can be routed automatically or manually according to the user preference.
There are flow blocks for variable definition, loop creation, some arithmetical operations,and many others are available.
Microbe code files (.microbe) are plain text files that describe an algorithm in a Basic-like language intended to run in a programmable integrated circuit (PIC) element in a circuit.
Circuits, flowcharts, and code can be grouped together into a project files (.ktechlab). This file only points to the grouped elements and does not contain them.
The electrical components and flow blocks sidebar is to the left of the working canvas. The components can be dragged and dropped onto circuit or flow chart diagrams. It is common practice to keep this left-hand-side sidebar open at all times while working, this can be achieved by clicking on the "Overlap" button (square icon) at the top of the sidebar.
On the right hand side, there is an Item sidebar which provides information and allows for the properties of the currently selected item in the diagram to be modified. There is also a context help sidebar which provides a helpful description of the currently selected item.
this section requires expansion
this section requires expansion