AeroSensors

Meeting of 2 hobbies : electronics and aviation. To improve pilot situational awareness with basic sensors (GPS, IMU, ADS-B receiver).
Based on ESP 32 IOT.
Sensors :
- GPS receiver,
- IMU 9 DOF,
- Static pressure,
- ADS-B receiver.
Makes calculations and send (BT ou WIFI) datas to real-time navigation APPs on tablets.
Generated datas :
- Attitude (pitch, roll &heading),
- Altitude & vertical speed,
- Surrounding traffic (identification, position, speed, ...)
Work in progress :
- Airspeed estimation,
- Wind estimation,
- Angle of attack,
- ...
No SMD, only modules and components that are easy to buy and solder, even by pilots !
Sensors :
- GPS receiver,
- IMU 9 DOF,
- Static pressure,
- ADS-B receiver.
Makes calculations and send (BT ou WIFI) datas to real-time navigation APPs on tablets.
Generated datas :
- Attitude (pitch, roll &heading),
- Altitude & vertical speed,
- Surrounding traffic (identification, position, speed, ...)
Work in progress :
- Airspeed estimation,
- Wind estimation,
- Angle of attack,
- ...
No SMD, only modules and components that are easy to buy and solder, even by pilots !
Updates van de auteur
Yves_90 4 jaar geleden
After hardware, here is first software release.
Here a list of useful documents found on the net that help me :
- Direction Cosine Matrix IMU, W Premerlani
- Tri-axial MEMS Gyroscope Calibration Metho over Full Temperature Range
- GDL90 Data Interface Specification, Garmin
- Flarm Data Port Interface Control Document
- Ublox Protocol Specification
- ADS-B Decoding Guide, Junzi Sun
- GNS5892 DS-B Module Datasheet
- Espressif documentation on ESP32
Here is a list of android Apps that display GDL or Flarm sent information :
- Naviator (ADS-B + AHRS)
- Avare
- LK8000
- Cumulus
and I hope SDVFR will work soon !
I'm a bit disapointed with magnetometer accuracy, I will have to integrate a better calibration method based on gyro.
Work still on progress : AirSpeed and Wind estimation on.
Have fun !
New update made May 5th 2021.
New hardware V2 :
I have change IMU to BNO080 sensor, the result is much, much better. Soft and Iron calibration is better than what I could do myself. But specifications are complex to understand.
Also new Software :
- same features, add wind estimation but I need some more testing.
I now work on an Android APP that integrates AeroSensors into a map : stay tune !
Have Fun !
New update made May 27th 2021
Same piece of software. I added binaries.
HW V2.zip (377kb)
Aerosensors SW2.zip (1856kb)
temyra Verdana 5 jaar geleden
it is an amazing project!
Have you good news?
I am try to connect an U-blox NEO-M9N to iPad to connect it with a flight commercial program: have you never try it!
See you.
Temyra
Yves_90 4 jaar geleden
I've just add the binaries.
I can't find fltplanGo in Play store.
If you provide me any specs of "X-Plane protocol", I will have a look and add this feature.
Rune Kyndal 4 jaar geleden
I wouldn't know where to start with getting it all compiled.
this certainly much simpler :) Thanks.
also I will have a look around for the X-Plane data output specifications.
I'm pretty sure its public
I certainly see many apps supporting X-Plane as "simulated input" so people can fly the simulator and have their android / iPad setup work as in "real world"
i think it would be a fairly "simple" way to deliver all the data items.
unfortunately I have heard that FltplanGo is not officially available in Europe.
(also i believe the android version does not support the flight instruments)
Rune.
Edit, X-Plane protocol sources
https://github.com/nasa/XPlaneConnect
attached is a screenshot from FltplanGo showing the parameters supported from the x-plane protocol
temyra Verdana 4 jaar geleden
Thanks and see you soon
P.S. the version2 of code is that called AeroSensors SW2 zip file, is it right?
Yves_90 4 jaar geleden
I've never tried to play with IOS, but I guess this is not working.
I see 2 reasons for that :
1) Apple implemented only a part of BT protocol, no SPP link.
2) Apple requires an Apple authentification co-processor on the the device for the discovery/pairing sequence. You also need to become a member of Apple's Made for iPod program. Not really DIY friendly.
Business is business.
You can jailbreak your iPod ... to use a standard BT stack.
SW1 or SW2 are based on same SW. SW1 is compiled for MPU9250 while SW2 is for BNO080.
Rune Kyndal 4 jaar geleden
but the WIFI option works a treat
Yves_90 4 jaar geleden
I had a look at the documents you sent to me. This protocol is not complex.
But I didn't understand what you try to do ? What information are to be exchange between the APP on your tablet / X-Plane / AeroSensors ?
Could you please describe what you want ?
See you.
Yves
Yves_90 3 jaar geleden
could you test sw : https://www.dropbox.com/sh/41e2vaajy4l54e9/AAB5F5MhUzCkkAS-YM_Qv5T7a?dl=0
I can't test it.
I have added xPlane UDP propocol for data you required, except altiture pressure that I couldn't find. (???)
You will have to select protocol by PROTO#0b00100000
If you want to come back to GDL : PROTO#0b00000011
temyra Verdana 4 jaar geleden
Rune Kyndal 4 jaar geleden
it then shows up as an access-point.
i configured it to used port 4000
(appear to be standard ? bit of a guess)
it worked for me with the fltplanGo APP on thie Ipad, and "stratux" or "flightbox" as the external device.
then there was a tickbox to use the external as GPS instead of the internal one
temyra Verdana 4 jaar geleden
Rune Kyndal 3 jaar geleden
I have been trying out the version 2.1 for the last few days, but have not had luck with X-plane output so far.
I have been trying with ports 49000 - 49003 one thing I have found, while looking at the UDP data stream,
sent from version Aerosensors version 2.1 in (in x-plane mode)
it begins with 44 41 54 41 (HEX values for ASCII "DATA")
but according the this website,
http://www.nuclearprojects.com/xplane/info.shtml
the first 4 bytes should be 68 65 84 65......> for "DATA" in "char's"
it looks like they mean 68 DEC = 44 HEX = ASCII D, 65 DEC = 41 HEX = ASCII A etc etc. ..
- I might be misunderstanding this.. it does not make sense to define chars in the UDP stream in DEC.. ?
maby there is a handshake / heartbeat that has to be going on ?there are a few android apps, sky-map, iFly GPS, Airmate, garmin pilot, avplan EFB that are supposed to have at least have
at least position and/or AHRS input via x-plane protol.
I have received the new Gyro now, so I'm using BMO080 and I have an BMP280 wired up too. and I'm going to try and get the Espressif IoT Development Framework up and running.
Rune
Yves_90 3 jaar geleden
you can modify AeroSensors WIFI UDP Port by command "PORT#49000". Default value being 4000.
In fact specs to interface x-plane are not clear at all ... you can find everything and its contrary...
I used https://curve.carleton.ca/991ceb57-5e8e-4844-899a-2fd1cf412905, appendix D at the very end.
It's the only document where INDEX of data are defined.
I made some tests with www.peixsoft.com "GA Panel" version 1.1.0
I will try other apps.
In that paper, they use "DATA@" as header (ascii code).
Elsewhere on the net, "DATA>" is mentionned.
A can adapt ! (it's not the hardest)
It's a good idea to install Espressif IoT Development Framework. The "Get Started" is ok.
By the way, I might use an old version of Espressif libs. If you make modifications, I will adapt to the lastest release of ESP-IDF.
Yves
Yves_90 3 jaar geleden
I used PORT#49002 and PROTO#0b00100000.
and it works with AvPlan EFB : I get GPS position, ground speed and altitude.
It works also with GA Panel : I get attitude, heading, compas, IAS, Vertical speed, skid&slip but no altitude.
Let me know if you can do it.
Yves
Rune Kyndal 3 jaar geleden
I have been trying several ports, my usual config for x-plane attempts
IP4#0
COM#2
PORT#49000 - 49003
PROTO#0b00100000
I will do some more testing, Android / ios
Rune
Rune Kyndal 3 jaar geleden
my hardware is with the BMO080 IMU, running version 2.1
(working with GDL90 @ PORT#4000) (GPS and ATT only in fltplan GO)
Android tablet, connected the Aerosensor over WIFI
GA panel setup to use X-Plane protocol,
I have tried various port and IP combinations.
what setup combination worked for you with GA Panel ?
IP4# ?
PORT#?
PROTO#?
(GA Panel)
Local port?
Simulator ip?
Simulator port?
Rune
Yves_90 3 jaar geleden
first I would suggest GPS#1 and PSTA#1 to get information every 1 second and not 10 seconds.
If you want to see what AeroSensors is sending, you can use :
LOGW#"CONSOLE".
Then, if you have AHRS#5 you will see your attitude. If you have AHRS#-5, it will be computed and sent but not displayed.
It's the same with PSTA#, GPS#, ADSB#.
and LOGE#"CONSOLE" to switch off all display by "CONSOLE".
I can get aerosensors data into GA Panel with :
- COM#2 IP4#1 PORT#49002 PROTO#0b00100000
- and GA Panel "Parameters X-Plane 10 : Port Local 49002 IP 192.168.10.1
I don't have XPlane.
That's may be the issue : if both AeroSensors and XPlane send on same IP and PORT DATA related to GPS for example, I suppose there is a conflict.
It's not clear for me what DATA you want to transfert from XPlane to GA Panel and what DATA you want to transfert from AeroSensors to GA Panel.
I think 2 different sources of DATA can work on same IP and PORT if they are in different Indexes. See Appendix D of Article mentionned before.
Any other ideas ?
Best regards,
Yves
Rune Kyndal 3 jaar geleden
thanks a lot for the suggestions above, helped troubleshoot my device, with the terminal live feed option. aswell as the setup
I have now managed to get it working using the X-Plane protocol in GA panel at least. x-plane seem to be implemented slightly different across apps.
Device configuration
GApanel on an Android device,
Attitude indicator is working
Compass is working
VSI is working
unable to test altimeter
did not test GPS in this App..
(worked in other apps)
very cool little device.