Ardustim is an engine simulator built on the Arduino platform. It produces simulated crank and cam signals that can be used for testing aftermarket ECUs as well as being a useful tool for the development of firmware for these. It supports a large number of simulated rtigger patterns as well as multiple options for output speed (Eg Using an external pot, a fixed value or a sweep range)
This version is a fork of the original by David Andruczyk https://gitlab.com/libreems-suite/ardu-stim and is intended to provide a more modern, cross platform GUI as well as continued expansion of the trigger pattern library. It was primarily developed for use by the Speeduino community, but can be utilised for testing virtually any aftermarket ECU system
It is designed to run on an Arduino Nano, but will also work with Arduino Uno and Mega boards.
- Arduino Nano or Uno
- pin
8
will provide thecrank
or primary wheel signal - pin
9
will provide thecam
or secondary wheel signal - Pin
10
will provide a2nd cam
or tertiary wheel signal. This is for simulating some dual cam patterns
- pin
- Arduino Mega
- pin
53
will provide thecrank
or primary wheel signal - pin
52
will provide thecam
or secondary wheel signal - Pin
51
will provide a2nd cam
or tertiary wheel signal. This is for simulating some dual cam patterns
- pin
Example for Arduino Nano
connected to Speeduino v0.4
ECU:
An optional potentiometer can be added to control the RPM value (With the relevant RPM mode selected). This should be connect to pin A0 if in use.
Ardu-Stim is distributed as a ready-to-run binary for Windows, Mac (Intel and Arm) and linux (AppImage) so no installation is required. Simply down the latest release (https://github.com/speeduino/Ardu-Stim/releases/latest) and
The first time you connect Ardu-Stim to an Arduino Nano board, you need to upload the included firmware to it. Plug the Nano into your PC and then select the port from the list. Press the upload firmware button and wait for this to complete
Note: This only needs to be performed with a new Arduino Nano or if upgrading from an earlier version. The automated uploading of firmware is ONLY available for Arduino Nano boards. If using another board you will need to manually compile and upload the firmware (Not the GUI)
Optionally, the firmware source code can be built in either PlatformIO or the Arduino IDE and does not have any dependencies on 3rd party libraries that were used in the original version of Ardustim (Eg SerialUI)
Simply open the ardustim
sub-folder in PlatformIO or the Arduino IDE and it should compile without issue.
Intended hardware platform is the Arduino Nano or Uno.
The wheel defination is diffrent in the a 10 or over is a tooth on the flywheel. 1x = a tooth The right hand digit specifies the vaccum signal to output for a MAP sensor input. 0-9 for the output amount. Since the Uno doesn't have a real DAC onboard it uses a simple R-2R network and can be made from a about 20 1K resistors on pins 2-7. Is only a 6 bit DAC as the lower 2 pins of portd are used for the serial communications, plus you only have 10 settings of 0-9.
- NPM - https://www.npmjs.com/get-npm
- Python
- Git
$ git clone https://github.com/speeduino/Ardu-Stim.git
$ cd Ardu-Stim/UI
$
$ npm install electron-rebuild -g
$ npm install
$ npm start