I need help in starting a project please :)


This is my first time trying something concerning programming and micro controllers and i heard the Arduino is the best choice one can make :slight_smile:

I am trying to build a system on a marine diesel engine that can send the engine at different TDC (Top dead centers). the engine will be turned with a turning gear attached to the flywheel and attached to the flywheel there is to be 6 sensors (still have to decide what type to buy since i need to be sure the system will work) the sensors will give a signal to the Arduino micro controller that the TDC is at the position indicated.

Now for my question that i would like to ask, what type of Arduino board should you recommend that will be able to process the above mentioned system? another thing that i wish to implement to the system is wireless remote with a display on it that asks the user where the engine is and where would the user like the engine to be sent. any help where to start and what board is better suited for this job please?

Attached is the turning gear that will be used which i built as last years project for my thesis and this years thesis is this project :slight_smile:

Thanks in Advance

What sort of sensors are these? Is it detecting optically if a cam or something is in a certain position?

Why 6 sensors?

You are talking 6 sensor inputs and probably a relay out put or two if the system is supposed to move things, and then some communications pins.

The Yun has built in Ethernet and WiFi.

I don't know C-R-A-P about setting up the kind of communication you are talking about, but if I had to learn it, starting with something that has some built in capability might be nice.

As far as anything else goes, you'll have to put a microcontroller in a sealed box on a clean power supply in that environment and pretty much any on them will work with that level of protection.


so on the flywheel as attached one can see that there are markings showing where the piston is, for example at TDC 2 or BDC 1. I am thinking to put color coded strips on the flywheel that a sensor will read its input and then the Arduino will show on the display where and which piston is at TDC or BDC (bottom dead center).

as per the the micro controller will be put in a sealed box since it will be prone to oil spills and maybe water splashes like i did with the inverter box which has an IP 65 rating.

if a sensor that reads multiple colors is not feasible to implement, a sort of bar-code reader will be also fine to put as input to the arduino :slight_smile: what do you think?

Reminds me of back in the day when one would rub a hard soap bar on the crankshaft pulley so the oily timing marks were visible. You could maybe put two closely spaced trigger marks to indicate the start of the sequence of timing marks.

Hi, am I right in thinking that what you want to do is this.
Detect the TDC of each of six cylinders in a marine engine.

Modern injected engines do this by having a reference point corresponding to cyl 1 TDC. and a sensor just for that.
Another sensor detects all the six TDC and the MCU sychronises it all using the cyl 1 TDC sensor.

What do you want to do with the signals once you have detected and identified each cylinder and when its happening?

Tom..... :slight_smile:


Yes u right thinking how it works. Modern engines have that funtion to read the position of the piston but this one does not...i need something to work together with the turning gear that i built last year thats why i was thinking of this project this year. I think that the best solution is to make barcodes onto the flywheel and a barcode reader to read its position. The reason for this set up is that on-board the vessel there are four identical engines and the turning and this system needs to be flexible meaning that it needs to be interchangeable between the engine depending which engine needs maintenance.
The flywheels diameter is 1.2m so i have space where to put the barcodes. Also another thing is that the turning gear attached to the engine will run at low speeds 1RPM or less depending how much frequency we set on the inverter so there will be time for the barcode reader to read the input :slight_smile:
Do you think the program will be hard to build for a beginner like me?

Hi, okay so this is for using during maintenance of a marine engine.

What you want to do is provide the mechanic with a remote way of indicating what cylinder is at TDC and to control the drive motor shown in the picture so he/she can rotate the engine to get the desired cylinder to TDC.

Hence the method of identifying which TDC you are reading can be something as slow as barcode.

What about RFid, it would not have the problems of optics and the tag and detector could be IP65 rating, again very suitable for this environment.

To make positioning accurate RFid and a inductive pickup with it to give exact location and ID.

Just a thought.

Tom.... :slight_smile:


This RFid is a good idea thanks :slight_smile:
But still when the RFid is read by the sensor will a microcontroller Arduino be able to read and process the output?
And for example if the user want the engine to go to TDC 4 and inputs will the system be able to go to location?

Thanks in advance :slight_smile:

Also another thing is that the turning gear attached to the engine will run at low speeds 1RPM or less

Reading such a slow RPM with any accuracy calls for a quadrature encoder, and even then you're working against yourself. Your TDC reading will be more precise if you can read off the crankshaft directly rather than from the gear.

What kind of precision do you need? I.e., you need to detect TDC within how many degrees (for example, ±3°, or ±.01°)?