# Arduino Manager Development for All

**URL:** http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319
**Category:** Small Engines
**Created:** [November 5, 2014, 1:39am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319 "2014-11-05T01:39:56Z")
**Posts on this page:** 20
**Page:** 10

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [June 24, 2015, 7:52pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/181 "2015-06-24T19:52:50Z")

</div>

I use the pot only to get things started, I dont use pot to determine our ideal. We want the O2 sensor to determine this and drive the mixture to around 14.7:1. Once in auto mode the pot input should no longer be used or am I missing something.

---

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [June 24, 2015, 7:54pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/182 "2015-06-24T19:54:49Z")

</div>

The reason I have the code to set at the pot when we switch over, is because if we dont the servo will go to 0\* before starting the loop and kill the engine when we switch over. Once we switch to auto mode, the controller will drive the system to our set parameters. Even if I set the manual at say 12:1 the controller will then drive the system to around 15:1 when we switch over.

---

<div class="post-metadata">

### Author: ![madflower69](https://avatars.discourse-cdn.com/v2/letter/m/ebca7d/32.png) [@madflower69](http://forum.driveonwood.com/u/madflower69)
#### Post date: [June 25, 2015, 3:59am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/183 "2015-06-25T03:59:32Z")

</div>

I figured you used the pot to tune it since there is a bit of fuzziness as to what the ideal setting actually should be.

I just updated the code, you can use a hardset value as the ideal now.

In autorun mode moving the pot will change the ideal now without flipping the switch, it takes 30 seconds before it starts back in autorun mode.

I also flipped the reading of the on/off switch around, so the switch isn’t needed if you are just going to use the pot to tune it. however, I think what you are saying is you want it to eliminate the pot.

---

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [June 25, 2015, 4:11am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/184 "2015-06-25T04:11:58Z")

</div>

Yes finding the window of the output of the sensor where we want to run at is roughly 2.5 v on the kit I have now. But the other kits it is different. I kinda like how you have this now with the pot set. I wonder if we could do a EEPROM with a push button instead. So basically the user will just set this where desired and then it is hard set and stored. It wont ever change unless this is reset.

---

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [June 25, 2015, 4:14am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/185 "2015-06-25T04:14:57Z")

</div>

Now that I have figured out your code it is pretty cool, once we debug this it will be a cool option for the tutorial I did. 🔥

---

<div class="post-metadata">

### Author: ![madflower69](https://avatars.discourse-cdn.com/v2/letter/m/ebca7d/32.png) [@madflower69](http://forum.driveonwood.com/u/madflower69)
#### Post date: [June 25, 2015, 10:36pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/186 "2015-06-25T22:36:42Z")

</div>

It is really meant to complement your tutorial. Hopefully it is easy enough people can be successful with it.

---

<div class="post-metadata">

### Author: ![Gods1pilot](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/gods1pilot/32/21514_2.png) [@Gods1pilot](http://forum.driveonwood.com/u/Gods1pilot)
#### Post date: [June 30, 2015, 3:01am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/187 "2015-06-30T03:01:34Z")

</div>

Question, never could find a solid answer, is this microcontroller ok for controlling spark? I thought I read somewhere that it might need a real time clock. Would another system with a real time clock work? Like Odroid C1?

---

<div class="post-metadata">

### Author: ![bboes](https://avatars.discourse-cdn.com/v2/letter/b/b782af/32.png) [@bboes](http://forum.driveonwood.com/u/bboes)
#### Post date: [June 30, 2015, 12:20pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/188 "2015-06-30T12:20:25Z")

</div>

Robert, the Arduino microcontroller is fully capable of controlling spark using interrupts. Here’s a video of KenB and RonO’s successful Lister spark conversion at APL a few years back:[enter link description here](https://www.youtube.com/watch?v=kXX2GBHoeuo)

---

<div class="post-metadata">

### Author: ![Gods1pilot](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/gods1pilot/32/21514_2.png) [@Gods1pilot](http://forum.driveonwood.com/u/Gods1pilot)
#### Post date: [June 30, 2015, 6:18pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/189 "2015-06-30T18:18:05Z")

</div>

Is there a max rpm? Will it handle like 4500 rpm? Is there an advantage over this system vs a small board PC like Odroid C1?

---

<div class="post-metadata">

### Author: ![bboes](https://avatars.discourse-cdn.com/v2/letter/b/b782af/32.png) [@bboes](http://forum.driveonwood.com/u/bboes)
#### Post date: [June 30, 2015, 6:27pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/190 "2015-06-30T18:27:55Z")

</div>

75RPS(4500RPM) shouldn’t be an issue, an Arduino can process millions of instructions per second. The only SBC I’m familiar with is the PCduino, and my only comment would be there is much more overhead running in the background on a SBC vs. an Arduino.

---

<div class="post-metadata">

### Author: ![Gods1pilot](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/gods1pilot/32/21514_2.png) [@Gods1pilot](http://forum.driveonwood.com/u/Gods1pilot)
#### Post date: [June 30, 2015, 10:53pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/191 "2015-06-30T22:53:32Z")

</div>

Ok. Thanks Billy. A two cylinder four stroke at 4500 rpm would require 75 rps but an 8 cylinder would require 300. Plus if you add fuel injection, for running hybrid and starting, this climbs to 600. Is this pushing it for a single board? I don’t expect to run that high of RPM I’m just trying to find out my limits before spending any money.

---

<div class="post-metadata">

### Author: ![bboes](https://avatars.discourse-cdn.com/v2/letter/b/b782af/32.png) [@bboes](http://forum.driveonwood.com/u/bboes)
#### Post date: [June 30, 2015, 11:50pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/192 "2015-06-30T23:50:32Z")

</div>

I’m confident an Arduino or any SBC will accomplish your entire list of activities with ease.

---

<div class="post-metadata">

### Author: ![madflower69](https://avatars.discourse-cdn.com/v2/letter/m/ebca7d/32.png) [@madflower69](http://forum.driveonwood.com/u/madflower69)
#### Post date: [July 1, 2015, 4:26am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/193 "2015-07-01T04:26:45Z")

</div>

> [@bboes](#):
>
> I’m confident an Arduino or any SBC will accomplish your entire list of activities with ease.

I am not so sure… The -real- difference between a microcontroller and a single Board Computer (SBC) is really the scheduler to get to real-time operations. The SBCs can usually do orders of magnitude more processing, however, it is really how the processing is scheduled is what makes a microcontroller tick.  
It runs in a lockstep fashion so it is -really- consistant. The SBC has a lazier scheduler, so it isn’t really guaranteed to be consistent to the millisecond or less.

Now if you can find something like FreeRTOS or another real time operating system, that changes the scheduler which then works in a lockstep fashion then you shouldn’t have any issues. But you probably aren’t going to find a free RTOS to run on it. The Odroid uses a Exynos chip, which has very minimal linux support because they sparsley released documentation or patches for the linux kernel.

That being said, it may or may not work without a RTOS. I wouldn’t try it without a rtos on an engine I cared about. FreeRTOS has some support for the RaspberryPi, I don’t know about the pi2. It -should- work for that, but I would see if someone tried it already.

[DIYEFI.org](http://DIYEFI.org) is probably where I would look. The use a Freescale MC9S12XDP512 microcontroller.

Instead of getting an Arduino, I would probably get a teensy 3.1 board. You can use the Arduino sketch system, but the teensy appears to be a far superior microcontoller for 20 bucks. it has a 72mhz processor instead of the 16mhz my arduino has, and it has like 4x more ram, storage, etc as well too.

---

<div class="post-metadata">

### Author: ![bboes](https://avatars.discourse-cdn.com/v2/letter/b/b782af/32.png) [@bboes](http://forum.driveonwood.com/u/bboes)
#### Post date: [July 1, 2015, 12:12pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/194 "2015-07-01T12:12:37Z")

</div>

Sean,  
Thanks for the clarification on SBC schedulers. My only SBC exposure is to the PCduino, and I’m still getting my feet wet with it. I agree the teensy is a better choice, especially now that breakout boards are available for them which allows easier access to the center pins.

---

<div class="post-metadata">

### Author: ![madflower69](https://avatars.discourse-cdn.com/v2/letter/m/ebca7d/32.png) [@madflower69](http://forum.driveonwood.com/u/madflower69)
#### Post date: [July 1, 2015, 4:13pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/195 "2015-07-01T16:13:33Z")

</div>

> [@bboes](#):
>
> My only SBC exposure is to the PCduino, and I’m still getting my feet wet with it.

SBCs might actually work. Add the preempt\_rt patches to the linux kernel, and that gives you the hard timers you need. With the preempt\_RT patches, the interrupt reaction lag is \< .25 milliseconds. Without the patches, you can still do a lot of traditional micro controller types of things as most things that use a microcontroller, can lag much more then that. To put it into perspective, 100x more then .25 milliseconds, is 25 milliseconds, or 25/1000ths of a second. So how accurate do you have to be.. 🙂

Thus the reason why it is a debated topic, and really a gray area. 🙂

Woodgas is using natural aspiration, the electronics are greatly simplified over using EFI. The ignition is probably the hardest part. And I should note somewhere in here, because of the magnetic field interference of the engine, everything needs to be shielded.

---

<div class="post-metadata">

### Author: ![kyle](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/kyle/32/14088_2.png) [@kyle](http://forum.driveonwood.com/u/kyle)
#### Post date: [February 26, 2016, 2:59pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/196 "2016-02-26T14:59:49Z")

</div>

Any updates on how well this mixture control has worked out in practice over the past few months?

Anybody trying this on a KG?

---

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [February 26, 2016, 4:39pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/197 "2016-02-26T16:39:07Z")

</div>

I’ve done tutorial on how to build one with a wide band O2 sensor. The code has been updated since, but it very polished and works quite well now.

---

<div class="post-metadata">

### Author: ![Wallace](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/wallace/32/38801_2.png) [@Wallace](http://forum.driveonwood.com/u/Wallace)
#### Post date: [February 26, 2016, 10:55pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/198 "2016-02-26T22:55:25Z")

</div>

Where is the code written?

Btw fine job chum.

---

<div class="post-metadata">

### Author: ![Matt](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/matt/32/11298_2.png) [@Matt](http://forum.driveonwood.com/u/Matt)
#### Post date: [February 26, 2016, 11:07pm UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/199 "2016-02-26T23:07:56Z")

</div>

> [@Wide Band Electronic Mixer Control Tutorial](http://forum.driveonwood.com/t/wide-band-electronic-mixer-control-tutorial/1800/8):
>
> Here is the latest upgraded code. Ive found we really needed to slow it down near the happy zone. When sudden open throttle occurs it responds very fast. #include \<Servo.h\> Servo myservo; // create servo object to control a servo //VG 02 Wide Band Mixture Controller V1.3 //Craeted by Matt Ryder, Vulcan Gasifier LLC May 5, 2015 //Last edit; June 22, 2015 // This code requires an AEM O2 sensor kit with LSU 4.9 sensor Part # 30-4110 // These constants won't change: const int O2SensePin = A1; //…

---

<div class="post-metadata">

### Author: ![Wallace](http://forum.driveonwood.com/user_avatar/forum.driveonwood.com/wallace/32/38801_2.png) [@Wallace](http://forum.driveonwood.com/u/Wallace)
#### Post date: [February 27, 2016, 1:06am UTC](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319/200 "2016-02-27T01:06:59Z")

</div>

I just briefly skimmed the code ( forgive me I am not a C programmer ).

From what I gather you set up a pair of upper and lower tolerable limits and then operate in a dead band.  
A delay function prevent instability or overshoot undershoot.

My only concern is the DELAY command.  
If I am not mistaken this halts the program steps and literally waits.

Did you tinker with this from the arduino library?  
PID(&Input, &Output, &Setpoint, Kp, Ki, Kd, Direction)

Other useful pieces of codes I see could be.  
SetMode(mode)  
SetTunings(Kp, Ki, Kd)  
SetControllerDirection()

In particular instead of wait maybe SetSampleTime(SampleTime)  
Could speed up things.

Just throwing this stuff out there.  
I have never used these commands and I am not familiar enough to say they will speed things up or improve stability.  
However I have used somethings like RED LION and Foxboro single station controllers.

With so much processing speed and power maybe its pointless to worry about short wait times.

Far out question time:  
Maybe a single station controller is the answer and leave the arduino out of it.  
[http://www.ebay.com/itm/Red-Lion-T-48-Series-Temperature-Controller-T481100-85-250-VAC-/111908276686?hash=item1a0e40c9ce:g:WdQAAOSwKtlWr4xY](http://www.ebay.com/itm/Red-Lion-T-48-Series-Temperature-Controller-T481100-85-250-VAC-/111908276686?hash=item1a0e40c9ce:g:WdQAAOSwKtlWr4xY)

[Previous page](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319.md?page=9)

[Next page](http://forum.driveonwood.com/t/arduino-manager-development-for-all/1319.md?page=11)
