Getting Started


There are three build systems available; PlatformIO, Arduino IDE and Simba build system. The Simba build system has more features than to the other two. It supports executing test suites, generating code coverage, profiling and more. Still, if you are familiar with Arduino IDE or PlatformIO, use that instead since it will be less troublesome.

platformio PlatformIO

Install Simba in PlatformIO.

  1. Install the PlatformIO IDE.
  2. Start the PlatformIO IDE and open PlatformIO -> Project Examples and select simba/blink.
  3. Click on Upload (the arrow image) in the top left corner.
  4. The built-in LED blinks!
  5. Done!

arduino Arduino IDE

Install Simba in the Arduino IDE 1.6.10 as a third party board using the Boards Manager.

  1. Open File -> Preferences.

  2. Add these URL:s to Additional Boards Manager URLs (click on the icon to the right of the text field) and press OK.
  3. Open Tools -> Board: … -> Boards Manager… and type simba in the search box.

  4. Click on Simba by Erik Moqivst version x.y.z and click Install and press Close.

  5. Open Tools -> Board: … -> Boards Manager… and select one of the Simba boards in the list.

  6. Open File -> Examples -> Simba -> blink.

  7. Verify and upload the sketch to your device.

  8. The built-in LED blinks!

  9. Done!

simba Simba build system

The Simba development environment can be installed on Linux (Ubuntu 14).

  1. Execute the one-liner below to install Simba.

    $ mkdir simba && \
      cd simba && \
      sudo apt install ckermit valgrind cppcheck cloc python python-pip doxygen git lcov && \
      sudo apt install avrdude gcc-avr binutils-avr gdb-avr avr-libc && \
      sudo apt install bossa-cli gcc-arm-none-eabi && \
      sudo apt install make unrar autoconf automake libtool gcc g++ gperf \
                           flex bison texinfo gawk ncurses-dev libexpat-dev \
                           python-serial sed libtool-bin pmccabe help2man \
                           python-pyelftools unzip && \
      sudo pip install pyserial xpect readchar sphinx breathe sphinx_rtd_theme && \
      (git clone --recursive && \
       cd esp-open-sdk && \
       make) && \
      wget$(getconf LONG_BIT)-1.22.0-59.tar.gz && \
      tar xf xtensa-esp32-elf-linux$(getconf LONG_BIT)-1.22.0-59.tar.gz && \
      rm xtensa-esp32-elf-linux$(getconf LONG_BIT)-1.22.0-59.tar.gz && \
      git clone --recursive
  2. Setup the environment.

    $ cd simba
    $ source
  1. Build and upload the blink example to your device. Replace <my-serial-port> with your serial port name.

    $ cd examples/blink
    $ make -s BOARD=nano32 SERIAL_PORT=<my-serial-port> upload
  2. The built-in LED blinks!

  3. Done!


Some boards, such as the SPC56D Discovery, require a specific toolchain to build. Such cases are documented on the individual board documentation page.