From rusEfi
Jump to: navigation, search
This page is a translated version of the page Manual:Software:User/en and the translation is 100% complete.

Other languages:


This is the start of a user manual for those that have decided to take on a rusEFI project. Here we plan to add information

Open the box and start here

While you wait for the box

  • Install Java version 1.7 JRE
  • Download rusEfi dev console - [1]
  • Start rusEfi dev console just to make sure it would start
  • Download rusEfi firmware from our build server - the firmware archive is - uncompress the archive
  • Download ST serial-over-usb driver from PF257938
  • Download FTDI's usb driver on your PC - that's if you have a Frankenstein board with FT232 chio
  • Get friendly on the rusEFI forums

Plug in the STM

  • Connect the stm32f4discovery ('brain board') to the IO board, place jumpers like XYZ, then connect to a PC with a mini-USB cable. Mini-USB cable is used to power and to program the brain board. See below procedure found here

Load firmware

How to get and load the latest rusEFI .hex file:

  1. Go to the web site
  2. In the left navigation menu, expand "rusEFI users" Then click the “wiki - Hard U Manual”. This brings up a software user manual. See TOC to the right side, find In the line of text "Load firmware" that will likely bring you to here, unless you are following a piece of paper or something like that.
  3. You will need the most recent version of the pre-compiled firmware which lives here
  4. At this point you only need the mini-USB cable, this cable would be used both to power and to program the board. Plug in the black cable and install jumpers as shown below.
  5. To upload the binary image into the microcontroller you will need to download & install STM32 ST-LINK utility. Once installed it will look like this.
  6. You should click Target --> Program... , browse to the rusefi.hex you have downloaded and hit Start button like this
  7. After you have programmed the chip, you should click Target --> Disconnect and hit the black button on the discovery board to reset the firmware. After you hit the reset button, you should expect all four LEDs to blink once and then you should see just the blue LED blinking. If all is good, proceed to the Dev Console below.

Dev Console

We have a dev console which is a handy development and debugging tool. The dev console is written in java and it talks to the firmware using the plain text protocol. The console allows firmware monitoring and configuration. Here are some pictures of what it looks like when it operating correctly.

java_console_1.png java_console_2.png

To get the console working follow the below procedure, which assumes you have loaded the rusEFI firmware.

  1. Connect the micro USB cable, see orange cable shown below. When you do this for the first time, your Windows will prompt you for drivers, you should download & install You will need to power the Discovery, you can either do this by connecting the black USB cable, or you can power it from an external supply.
  2. When the driver is installed & the board is connected via the micro USB cable, you can verify serial connectivity by opening your Device Manager - we are expecting to see a Virtual COM Port
  3. If you don't already have the Dev Console, get it here Take note rusEfi dev console required java 1.7+
  4. When you launch the Dev Console, it will ask you to select which serial address it should use. However you can specify that when you launch it by specifying a command line parameter as noted below.

java -jar rusefi_console.jar COM15

  1. You got it to open, great! Now install yellow jumper wire as noted above between pins XX and XX.
  2. Select XXX in the dev console to activate the RPM simulator, which is jumpered to the RPM decoder input via yellow jumper.
  3. You should see the crank signals as noted in the "sniffer" tab.

At this point, the Dev Console should be up and running. Play around with it and see what you can learn. Also note, it as some functionality as noted below.

  • If used together with the build-in position sensor emulator, the console allows some level of testing on the bench, without a real engine or any additional hardware. The most useful feature is the plain signal sniffer - both real inputs and generated signals can go into it and this is actually quite handy. Another useful feature is the text log.
  • You can use the console to invoke rusEfi commands and control the internal flow using the 'Messages Central' tab


Tuner Studio

  • Connect with TunerStudio (TS) or what ever tuning software you plan to use. TBC

Power via 12V supply

  • Verify the LED blah is bright, this indicates the STM is being powered.
  • Verify you can still connect via Java console program
  • Verify with Tunerstudio that you can connect, then set the simulation blah to blah and your STM should start generating a signal on pin Blah.
  • Install jumper Blah, this will connect the simulated crank angle signals to the input decoding signal. At this point you should the the RPM varying on the Java Console.
  • Take your best stab at making look up tables and such via TS.

Prepare engine wiring

  • Connect TPS, MAP, IAT, and other such analog signals to the IO board.
  • Connect 12V system / battery to the IO board connector.
  • Calibrate the sensors using TS and Java console as required.
  • Crank engine and see RPM's are registering correctly on the Java Console.
  • Connect LED to pins blah, which will blink at TDC. Verify that TDC is correct by shining on a crank wheel like a timing light.
  • Connect injectors and ignition as required and see if it will start.

Tuning under expected loads

Connect the engine in it's normal environment

  • Now that the engine starts, put it on a test fixture, or what ever you have for controlling a load on the engine.
  • Start engine and tune for each RPM in the table under no load.
  • Get a controllable load that will hold at a certain RPM, find several points on the tuning table.
  • Fill in the table best you can by guessing the values
  • Tune each value verify every value as you go along.

Share your tune

Take notes and collect information

We all benefit from from sharing the tune, so we would like to suggest you share it. By sharing it others may notice issues with your tune, as well it can function as a starting point for other which you have likely used when you did your tune. By sharing your tune, we can better help people when they are doing their initial configurations. After all it's not like your tune is something you need to protect and can't share, so we would find it nice if you were to share your tune.

Take notes about your setup, preferably including what ever parameters you can provide, like what you have for intake components, exhaust, CAM, pistons, geographical location, ect. We hope to have a web page form that can be used to simplify the process. For now, we hare hoping you can post it in the forum, or e-mail it to a developer.

Post on forum or e-mail the tune

Find the forum sub section where people are sharing tunes, then fill out your posting the with the suggested XYZ format. At the time of writing this most of this tuning sharing stuff new and pre-alpha.


USB TTL cable

Question: found here

I'd like to try to connect to Tuner Studio and see what happens. I have a USB/TTL device which looks the same as the photo that Andre posted. What do I connect to what and what is the procedure?


1) Before connecting the TTL to the brain board, connect it to your desktop and install the drivers if it would ask for any

2) Once the TTL is properly configured in windows, connect GND wire to GND on the brain board

connect RX wire of the TTL to pin PC10

connect TX wire of the TTL to pin PC11

3) Connect to that new serial port @ 115200 with 8/N/1 no flow control using your favorite terminal

4) Hit button 't' on the keyboard. You should get something like this.

Errrr, this needs to be filled in, I'm not sure what should go here. I know it's some kind of human readable string of text. 

rusEfi firmware


blue LED: communication status. This LED blinks constantly. Slower blinking if you use serial console or USB is disconnected, faster blinking if USB console is connected

green LED: blinking while engine is running, constant ON while cranking and OFF if engine is stopped

red LED: constant ON in case of firmware FATAL error. Many people confuse red LED with orange LED. The red LED is located closer to the black reset button.

orange LED: blinking in case of trigger input decoding warning or other firmware warning. Orange LED is located closer to the main chip.

TODO: merge with Manual:Software ?