This page provides a basic introduction to installing and using Razen.


  • Windows Vista/7/8
  • Mac OS X 10.6 - 10.9
  • Linux (tested on Ubuntu 12.10+)
  • An OpenGL 1.4 capable graphics card (desktops and laptops newer than 2006 should support it)
  • A 3 button mouse is preferred, but a 2 button (or trackpad) will suffice
  • An installation of Mercurial
  • To share libraries online, an http(s)-accessible Mercurial server is required. Bitbucket.org offers free hosting for unlimited public repositories.


  • Razen uses the Mercurial version control system to manage designs and libraries. Mercurial is not included in the Razen download so you will need to install it first.
    • Mercurial is included in most Linux distributions and can be installed through the distribution’s package manager (apt-get/yum install mercurial).
    • On Mac OS X and Windows, the latest version can be downloaded from the Mercurial site (the version suggested on the homepage will work).
  • Download the latest version of Razen from the download page.
  • Razen is distributed as a zip/tar file which can be extracted to any directory (such as your home directory or desktop).

Opening a Project

With Razen installed you can clone (download a local copy) of an existing design. From the file menu, click “Clone”, enter “razen/example-attiny-usb”, then click “Ok” (this is what happens if you click the “Open an example project” on the welcome dialog).

You will now have a local copy of the project, including all the libraries it depends on.

Basic Use

Each tab represents a single design or library part. A tab has two views - schematic and layout (aka symbol and footprint).

The interface is split into 4 parts:

  • Current view (the view name is displayed in the info bar on the bottom left).
  • Properties/Layers/DRC panels on the right
  • Toolbar on the left
  • Command prompt below


Razen uses the following mouse configuration to interact with the design:

Mouse button Modifier Action
Left-click   Current tool action
Left-click Ctrl/Cmd When in selection mode, select next-nearest
Left-click Ctrl/Cmd+Shift When in selection mode, select previous-nearest
Left-click Shift Add to selection
Double left-click   Move selection
Right-click   Alternative tool action
Left-drag   Area select
Left-drag Alt Pan view
Middle-drag   Pan view


All design modifications are performed with the tools displayed in the toolbar on the left of the design view. Tools are modal: you switch to a tool by clicking its icon (or via keyboard shortcut), using the tool, then leaving the tool by clicking Cancel (shortcut: Escape).

The currently-active tool is shown in the top left of the toolbar. Below this are all the available tools applicable to the current selection (each tool will show its shortcut in the tooltip).


All objects in a Razen design are defined by their properties. For example, a schematic Net has the properties layer, pta, ptb, width. Most object properties will be modified by tools, but in some cases it’s simply to use the property panel to edit an object (or group of objects). Properties can also be modified programmatically from the command prompt.


All collaboration in Razen is managed via a remote repositories of designs and libraries. For example, the official Razen repositories are at bitbucket.org/razen. This repository includes all the standard Razen parts libraries (the lib-XYZ repositories), as well as some example projects.

To share a project or library, you will need a place to host design repositories. Bitbucket is the best-supported host with the Razen alpha, but any http(s)-accessible Mercurial server should work. With server settings configured in the general preferences, you can upload design changes to the server.

Before first uploading a design, you will need to create a repository on the server. Make sure that the repository has the same name as the project on your local machine. The Server->Show Local Changes should now show all the changes not yet uploaded to the server. Clicking Server->Upload Changes will upload these changes, so that the design on the server is in sync with your local machine.