The kindle-netduino project

one of the coolest and most unique thing about this project has to be the virtual dashboard that I am designing. this dashboard will not only let us view the status of the engine from our kindle, but it will also let us start and stop the motor remotely from it as well.

So this virtual dashboard is composed of two parts... the kindle and the microcontroller. The microcontroller is a netduino unit which is a very small unit with six analog input pins and 14 programmable digital input/output pins (3 of which are PWM outputs)'. These pins will be wired directly into the modern sensors that come on the engine stock. These sensors include a tachometer sensor, wideband O2 sensor, MAP sensor, oil level sensor, oil pressure sensor, coolant temperature sensor, and a knock sensor. The oil pressure, oil temp, O2, and coolant temp sensors all work by varying voltage, so they will be wired into the analog input pins. The rest of the sensors work by sending on/off (digital) signals to specify the state of the sensor or the frequency at which it is operating, so they will be wired into the digital pins. Unfortunately the tachometer and speedometer inputs use a digital frequency signal, which would require a PWM input, but the netduino only supports PWM outputs, so I had to implement the PWM via software. Under the conditions that we will be operating under, it should be fine since the signal should never exceed 6.5kHz. If we were going to be receiving signals in the 10kHz range, then I believe the accuracy of the software based PWM would be greatly diminished. But with the 0 to 6.5kHz range should have a relatively small error margin. With all of these sensors wired in, the microcontroller will send the data gathered back to the kindle in real time.

The kindle runs the Android operating system and has a very nice touchscreen display, 16gb of memory, and built in Bluetooth. Unfortunately the netduino does not have Bluetooth functionality, so I have added that by soldering in a small Bluetooth slave controller to the built in UART pins on the netduino. The kindle will not only serve as the user interface but also log the data so you can analyze it later. The user interface is written in java and uses the master-detail flow layout, which has a list of different views on the left, which when clicked will show the detail of that view on the right. The different views available are: dashboard (which shows the tachometer, speedometer, oil pressure, oil temp, and coolant temp as virtual sweep gauges, the ignition switch, and engine start button), gauges (showing all gauges as digital LED like displays), the data logging view (allows you to specify which inputs to log as well as starting and stopping the logging), a settings view, and the 'about' page.

I am actually choosing the entire user interface directly on the kindle via a program called AIDE (android integrated development environment), so I can actually code and make changes anywhere I am, even while sitting in the car at a car show! But once I have finished the initial version of the dashboard I will post some pictures. I am currently working on the custom sweeping gauges that will be used on the dashboard view (These are completely written from scratch and each one contains over 1,000 lines of code!). I also need to finish the Bluetooth communication protocol that the two units will use to communicate. So I still have a lot of work ahead of me. but I think I will put those of until after my next surgery and focus on the fabrication of the turbo manifold now since I won't be able to weld when I have one arm suck in a sling.

Anyway I think I have rambled on long enough about a topic that probably put everyone to sleep, so until next time!

Comments

Popular posts from this blog

2023 mid-year update

Time for an upgrade

I was going to do some welding today, but. ....