The purpose of the project, is to retrofit older vehicles to modern convenience. Here are summary base functions:
Key-less system unlocks via Bluetooth connection through an Android device
System touchscreen (Nextion) can also unlock using a pattern of confusing symbols that only the operator knows the sequence.
Power door unlock / lock
Accessory and ignition on / off toggle
Manual override press & hold to start (in the event you need to hold it down long due to a dead battery, jump, or otherwise issue).
Power save mode, work in progress (previous version ran car battery dead if not in use for prolonged periods).
Configurable auto-lock doors, engine-off when Bluetooth device disconnects and / or out of range.
The project was inspired by my careless habit of losing my truck keys. I always have my phone, which I can call or text to find - but the keys, by themselves can't be found without extra hardware. The solution for the issue is obviously complex, but the reward is very satisfying.
To automatically start the vehicle remotely from the comfort of my room, warm the engine and cab while I make coffee and prepare to leave. There are endless advantages, and obvious disadvantages of having wires everywhere and unable to sell other old truck due to the hard integration of this system that no longer has a mechanical key tumbler to use.
The project uses the following hardware:
Arduino Mega 2560 base board
Nextion 3.5" touchscreen
Bluetooth hc-05 module (future upgrade to hm-10 ble 4.0 module, for extended range - in test)
8 channel relay board
18 watt mono audio amp board, with 8 ohm speaker
Custom circuitry to interpret rpm tachometer signal
Buck-down power supply modules to reduce electric consumption
Custom circuitry for power reduction
The software handles all the communications and hardware relay interface. On an unlock (from Nextion interface, or simply the Bluetooth android connection), the control panel buttons handle all the obvious labels. The automatic start is a function that reads rpm, to decide if when the engine is running to disengage the start relays. Manual start over ride will hold the start relays down for infinity until user releases the button. The audio amplifier and speaker are for sound effects, on connect/disconnect and toggle for each feature. Sounds are based of whistle waves, inspired from R2-D2 robot, in Star wars.
Large buttons were designed for finger press, where a stylus is just too inconvenient. The 3.5 Nextion touchscreen display is just about big enough to fit the essential needed buttons in a fair size, for someone like myself with large sausage-size fingers.
The initial version used pretty much everything described, except the Nextion interface. This version had physical push buttons, which created an array of extra wiring and fabrication. The Nextion device solved the extra hardware issue, and provided me with so many more levels of options - compared to physical push-buttons.
There are alot of issues with wires, connectors, and vehicle diagrams. I used a remote-start harness prefabricated by another 3rd party company that produces keyless autostart systems, that use the key-fob r/f style remote. This helped alot, since I am now actually able to install my hardware in a bypass harness, instead of hard wiring to the existing in-vehicle harness.
Started in 2014, I lost track of the time involved to fabricate the first version, including learning how to code Android projects from scratch. Wrestling with hc-05 modules also took a great deal of time. I guestimate 9 months. Original system was based off Arduino Uno board.
I took a break for a year 2015, after successfully installing to working order. The vehicle motor has severe issue, and now is up for sale. Unfortunately the buyers are confused and turned off by the wiring and automatic start system as they probably have no idea how to troubleshoot or change, even know a simple trip to the junkyard can buy a new key harness with lock tumbler.
The new system revised may of 2016, and now has 6 months of my time. It may have taken 45+ days to finalize learning Nextion to implement the device. I had to change to Arduino 2560 just for the Nextion interface, which was frustrating - but probably necessary. Since I plan to expand the system to include an array of different features, I will be needing all the extra i/o pins.