motorcycle Prototype in action
Ultrakey provides a complete ‘keyless’ solution for motor vehicles. Vehicles are controlled remotely using a mobile device. (Everybody knows where their phone is!)
This system is based around a purpose built micro-controller interlinked with the Android operating system and gives full alarm and remote starting capabilities. to the automotive vehicle. (also ported to Arduino)
I built the system for two main reasons….
1) I can never find my motorcycle keys.
2) I tend to start the bike and ride off without warming up the engine…
*Full Audible Alarm System
*Keyless remote starting
*Customisation starter timing
*Proximity remote starting
*Vehicle tampering monitoring
*GPS Tracking with immediate reporting
*System fault reporting
*Periodic connection validation
the three software laws
Ultrakey is in constant communication with the remote device. Both the control unit and the android device ‘ping’ each other to check that data is being sent and received correctly. If communications break whist the engine is running, the system will adhere to one of the following LAWS dependent on what the user has set in the ‘Safety Setting Options’ on the android device. (ML, L1, L2)
Scroll through the categorised mandatory control set:Category 0 Blue: Connection restored, break out of safety code.
Category 1 Green: No audible alert, 10 second window for reconnect confirmation. (Connection restored will return a CAT0, Disconnect present will return a CAT2)
mandatory law (Cont)
Category 2 Amber: Audible alert, a further 15 second disconnect period granted. (Connection restored will return a CAT0, Disconnect present will return a CAT3).
Category 3 Red: A two toned audible alert and a 10 second run engine run period before an imminent execution of either LAW One or LAW Two.
Controlled shut down: The system will give a series of beeps notifying the user that the motor vehicle engine is about to be switched off.
The vehicle will continue to run until the user shuts the system down by entering a password via UIF.
security and hardware safety
code error checking
Both the control unit and Android device check for errors before executing any commands. If the control unit sees a command that doesn’t adhere to a set of hard coded rules, it will request that the data be send again from the remote device before carrying out the given task.
secure wireless communications
The UltraKey system uses the Bluetooth v2.0 framework. All wireless data is encrypted by default making a black hat’s job extremely hard.
On first use of the system, the user is forced to change the pass code on the remote device. This results in the default ‘0000’ password being revoked. Users are prompted to type the pass code in twice to ensure the passwords match (once set the same pass code will be needed to repair the device).
I designed the PCB hardware to ensure that diversity is present on critical circuitry. You could look at this system as ‘Self-Healing’. Smart component checking methods have been used to check that safety critical components are functioning correctly. If a safety critical component fails, the system will default to the ‘backup’ component allowing the system to run smoothly. All fault information is relayed to the end-user via the android device, this enables the user to address any problems that are present.
-Pair to the control unit Bluetooth device.
-Rename the remote unit Bluetooth device.
-Set a new passcode for the control unit Bluetooth device.
-Enable/Disable automatic connection to the control unit.
-Multiple vehicle selection
-Turn on/off the side/front and under day time running lights.
-Enable/Disable hypnotic feedback on the android device
-Enable/Disable sound on both the android and control unit devices.
-Enable/Disable the proximity start option.
-Set the starter activation time.
design features and elements
The UltraKey system was designed by myself (Ezekiel Brooks) from the ground up. The following elements were designed and made for this project:
-Control system PCB using the (atmega2560)
-Control system housing (laser cut)
-Control system firmware (C – Prog Language)
-Android App software (Java/xml)
Currently the system only runs on the Android framework, support for iOS will be developed in the near future.
android application elements
The UltraKey app was developed to give the user as much control as possible of the vehicle remotely. I tried to keep the app simple given the complexity of the system.
The android app provides an easy to use and friendly user interface, it gives the user effortless control over the remotely installed unit as well as preferential settings that are available in the app.
android application usage
The App has 5 simple buttons that allow the user to:
-Mobilise/Demobilise the vehicle.
-Turn on the ignition of the vehicle.
–Stop/Start the engine.
I recently completed the UltraKey build using Arduino hardware. This will be of key interest to those who wish to build a similar system for their own purposes. The Code, PCB design and assembly Instructions will be made available to purchase. Sign up to ‘The Memo’ below and get notified on release.
Installation & testing
the final product