Installation

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.

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.

    https://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/avr/package_simba_avr_index.json
    https://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/sam/package_simba_sam_index.json
    https://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/esp/package_simba_esp_index.json
    https://raw.githubusercontent.com/eerimoq/simba-releases/master/arduino/esp32/package_simba_esp32_index.json
    
  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 -> hello_world.

  7. Verify and upload the sketch to your device.

  8. Done!

simba Simba build system

The Simba development environment can be installed on Windows (Cygwin) and Linux (Ubuntu 14). Just follow the steps below and you’ll be up and running in no time. =)

Windows (Cygwin)

Download Cygwin and select the following packages for installation:

NOTE: ESP8266 is not supported in Cygwin because there is no toolchain available.

- gcc-core          (Devel -> gcc-core)
- make              (Devel -> make)
- python            (Python -> python)
- python-setuptools (Python -> python-setuptools)
- git               (Devel -> git)
- doxygen           (Devel -> doxygen)

Start Cygwin and execute the one-liner below to install Simba.

$ mkdir simba && \
  cd simba && \
  easy_install-2.7 pip && \
  pip install pyserial xpect readchar sphinx breathe && \
  git clone https://github.com/eerimoq/avr-toolchain-windows && \
  git clone https://github.com/eerimoq/arm-toolchain-windows && \
  git clone https://github.com/eerimoq/simba

Linux (Ubuntu 14)

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 && \
  sudo pip install pyserial xpect readchar sphinx breathe sphinx_rtd_theme && \
  (git clone --recursive https://github.com/pfalcon/esp-open-sdk && \
   cd esp-open-sdk && \
   make) && \
  wget https://github.com/eerimoq/simba-releases/raw/master/arduino/esp32/tools/xtensa-esp32-elf-linux$(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 https://github.com/eerimoq/simba

Post-install

Let’s build and run the hello world application to verify that the installation was successful.

$ cd simba && \
  source setup.sh && \
  cd examples/hello_world && \
  make -s run