3 ms·
Fun. I'm looking into turning my old iPhone into a drone as it has great hardware already to do higher level tasks and use ESP32 for the more real time stuff li
by mrtksn 2y ago
Fun. I'm looking into turning my old iPhone into a drone as it has great hardware already to do higher level tasks and use ESP32 for the more real time stuff like actually driving the motors based on sensor input.
If you think about it, an old iPhone 6 comes with GPS, gyro, accelerometer, multiple cameras, pretty powerful processors, bluetooth + wifi + LTE, sound + light, ambient + proximity sensors. Get rid of the case, and you have a great mini computer that can be aware of its surroundings and communicate.
On more modern iPhones, you can even use advanced tech like ARKit to have great spatial understanding of your drone and environment and do autonomous drones. With an iPhone 15, you can even get spatial video. How amazing would that be?
I wish Apple provided a straightforward way to unlock(like remove restrictions on the OS level) old phones and use them for DIY projects.
- szundi 2y agoNot a realtime os though
- mrtksn 2y agoTrue but, IMHO, a lot of the higher level task should be able to handle it. I guess you can have a simple real time IC to handle the flight envelope to provide stable flight and then use the iPhone to do the advanced operations. For example, if you are building a drone that is mapping the environment and follows you through a bike ride, does it really matter if the 3D environment it creates for autonomous navigation is slightly off? You can continuously compensate for it, stick with moving averages and avoid extreme moves.
- sokoloff 2y agoThat real-time controller still needs the IMU sensors, which is maybe what GP was responding to. (Your iPhone could have an additional set of them, but the ones on the phone don't do any good to the real-time subsystem.)
- mrtksn 2y agoOh, I got an accelerometer card for that. It's very small and cheap, there are also cards that contain a gyro + barometer. So if the phone ones are not real-time enough cheap options exist.
- bschwindHN 2y agoHence a microcontroller for flight control. The iPhone can just decide on the higher level tasks and send control signals to the microcontroller, similar to how a microcontroller delegates tasks to the underlying hardware peripherals.
- numpad0 2y agoimo "realtime" is such a misnomer. It should be re-termed as "jitter minimized" or "loop interval stabilized" or something along that.
- Max-q 2y agoDo you really need the phone? The dual core 240MHz ESP32 seems to be able to do the job at lower weight and power consumption. Maybe the old phone is better used as a controller?
- mrtksn 2y agoI got an ESP32 WROOM 32U board that I intent to use it as the flight controller which will keep the drone within its flight envelope and do the maneuvering upon receiving commands from the phone. I find the phone appealing because I want try to make it somewhat autonomous, like im RTS games where you give a unit a command to go somewhere and it figures the path out by itself and avoids obstacles without direct input. The phone has quite a lot of processing power and sensors and IMHO doing it on board will be more interesting. Also, I'm not sure that the connection will be always stable and high bitrate make the drone a thin client.
- jeremyjh 2y agoStill I think I'd just have the phone run an app that talks to a microcontroller by Wifi, even if it is strapped to the drone all the time.
- mrtksn 2y agoI haven't tried it yet but as it appears that will be my choice too. Other options appear to be bluetooth or ethernet tethering over USB.
- talldayo 2y agoYou would want to use quite literally anything except Apple-manufactured hardware for this purpose. Just don't even waste your life-minutes on that kind of thing.