Van's Air Force

The definitive Van's Aircraft support community! Buying, building or flying an RV? Join our exclusive family of mentors and enthusiasts!

MicroEFIS v1.0

petehowell

Well Known Member
Patron
Spent some time learning ESP-IDF/Arduino and have found some cool things to do with cheap little micro controllers. The latest is poor man's, dash mount MicroEFIS. I borrowed some ideas from the flyonspeed guys and designed a display based on data harvested from my old Dynon D10A's data stream via an RS232-->TTL converter. The data is then parsed in an ESP32-S2 Mini that also draws the graphics on 1.5" TFT screen. We've got AOA, airspeed, G's, safe flap speeds, and a skid/slip ball. A custom designed 3-d printed case anchors the display to the dash bar.

Cost is less than $25, and many hours learning how to code. Let me know what you think and if you have any suggestions. The video below is of the demo mode I built as a startup sequence. Sorry for the music - it was better than Gizmo the Whack-a-Doodle barking in the background.

 
Last edited:
Looks like a very cool way to get a much more visible and usable AOA indicator in particular from the D10A. Like the safe flap speed for full and partial flaps as well.
Never understood why Dynon have not produced a modern update to the D10A.
 
Last edited:
Nice. The Garmin AOA display is too tiny to be of much use.
I would need to add a mechanical hand to slap the right side of my head (just like Dick Samuels would do) when airspeed got too slow.
 
That is…awesome! Any chance it could also generate a graduated tone (beep) based on AoA?
Paul- the Dynon already does outputs audio, but you could probably create custom thresholds and patterns in the ESP32 - I've not messed with audio(yet).
 
Flip the green and the red chevrons and you’ve basically got what Navy aircraft have been using on their dash for decades. That is to say, red/fast/low AOA on the bottom and green/slow/high AOA on the top of the amber donut in the middle.

Very nice.
 
Thoughts for yaw indication at high AOA and negative AOA of high magnitude? The old school turn needle is the only way to reliably see yaw in a spin. You wouldn’t need a TN per se but something that is yaw only and does not include roll rate in any fashion.
 
Nice! Have you tried it outside in the sun yet? It took a bit of work (and more $$$) to find a screen that was daylight readable for our project.
 
Thoughts for yaw indication at high AOA and negative AOA of high magnitude? The old school turn needle is the only way to reliably see yaw in a spin. You wouldn’t need a TN per se but something that is yaw only and does not include roll rate in any fashion.
The dynon gives me lateral G - that is what I am displaying for the skid slip ball - does that work?

Start Char|Width|Description|Notes
1 2 Hour 00 to 23, current Zulu time hour according to EFIS-D10A’s internal clock.
3 2 Minute 00 to 59, current Zulu time minute according to EFIS-D10A’s internal clock.
5 2 Second 00 to 59, current Zulu time second according to EFIS-D10A’s internal clock.
7 2 Fractions 00 to 63, counter for 1/64 second. Data output frequency.
9 1 Pitch Sign ‘+’ or ‘-’ (positive means aircraft is pitched up).
10 3 Pitch 000 to 900, pitch up or down from level flight in 1/10 degrees (900 = 90o).
13 1 Roll Sign ‘+’ or ‘-’ (positive means aircraft is banked right).
14 4 Roll 0000 to 1800, roll left or right from level flight in 1/10 degrees (1800 = 180o).
18 3 Yaw 000 to 359 in degrees (000 = North, 090 = East, 180 = South, 270 = West).
21 4 Airspeed 0000 to 9999, airspeed in units of 1/10 m/s (1555 = 155.5 m/s).
25 1 Altitude Sign ‘+’ or ‘-’ (positive means altitude is above sea-level).
26 4 Altitude 0000 to 9999, altitude in units of meters; alternates between pressure and displayedaltitude, depending on status bitmask, starting at character 42. 30 1 Turn Rate/VSISign‘+’ or ‘-’ (positive means aircraft is turning right). Alternates between turn rate and VSI sign, depending on status bitmask, starting at character 42.
31 3 Turn Rate or VSI Alternates between turn rate and VSI, depending on status bitmask, starting at character 42. When turn rate, 000 to 999, 1/10 degrees/second rate of yaw change. When VSI, 000 to 999, 1/10 feet/second.
34 1 Lateral g’s Sign ‘+’ or ‘-’ (positive means aircraft is experiencing leftward lateral acceleration).
35 2 Lateral g’s 00 to 99, lateral g’s in units of 1/100 g (99 = 0.99 g’s). Appendix

37 1 Vertical g’s Sign ‘+’ or ‘-’ (positive means aircraft is experiencing upward vertical acceleration).
38 2 Vertical g’s 00 to 99, vertical g’s in units of 1/10 g (99 = 9.9 g’s).
40 2 Angle of Attack 00 to 99, percentage of stall angle.
42 6 Status Bitmask A 6-character ascii-hex field representing a 24-bit status bitmask. When the value of bit 0 (LSbit) is 0, the altitude field is displayed altitude, and turn rate is output in characters 30-33. When the value of bit 0 is 1 the altitude field is pressure altitude, and VSI is output in characters 30-33.
48 2 Internal use Internal use – ignore
50 2 Checksum The ascii-hex 2 byte sum of all 49 preceding bytes.
52 2 CR/LF Carriage Return, Linefeed = 0x0D, 0x0A.
Example: "00082119+058-00541301200+9141+011-01+15593EA0C701A4<CR><LF>""
*********/
 
The dynon gives me lateral G - that is what I am displaying for the skid slip ball - does that work?
The G3X also outputs lateral g, and that's what I'd use [edit: for the ball].

Edit: I didn't read post #11 carefully before responding to #15. Both Garmin and Dynon (and therefore AFS) output turn rate, but I don't know how they compute it internally. If I were computing it, I'd probably start by basing it on the first derivative of the attitude vector projected on the horizontal plane (to the best of my ability to determine the horizontal plane when I'm in an unusual attitude... the plane perpendicular to the apparent gravity vector, while a starting point, might be unreliable in an accelerating condition). I'd have to think a bit about how that might change as a function of inverted/not inverted attitude.

I might have more sensor and computational resources in a $30M-$300M aircraft than I have in a $100K-$300K RV-X.

Garmin serial data output.jpg
 
Last edited:
The dynon gives me lateral G - that is what I am displaying for the skid slip ball - does that work?

Not lateral g, no. That would be a measure of where the instrument is relative to cg in a directional sense. The out force you feel it feels. However, the out force your co-pilot feels the crosscheck instrument would feel. This is the same vulnerability an inclinometer suffers for spins. A perfectly cg centered instrument would merely reflect oscillations and noise.

Needs to be strictly yaw or beta. Funny thing, you can measure beta with your same AOA design rotated ninety degrees.

“Sammy Mason Stalls Spins and Safety” said:
Pilots have spun all the way to the ground thinking they were in an erect spin when they were actually inverted. An inverted spin may not appear all that inverted in attitude. The pilot may be only slightly against the belt, perhaps only a little more than an erect, steep, nose-down spin.

During an inverted spin a pilot must be aware of which way the nose is yawing. This is determined by looking directly down the nose. It is also true that the old-fashion turn indicator determines yaw equally well, whether the airplane is erect or inverted. However, the modern turn coordinator requires interpretation. It displays both yaw and roll as a roll. This information could be interpreted as yaw during an erect spin, but would be extremely confusing during an inverted spin. The ball portion of both these instruments means nothing during a spin.

“US Navy T-6B Out of Control Flight Training Instruction” said:
Disorientation experienced by the pilot during an inverted spin is primarily because the yaw and roll occur in opposite directions. Pilots are more sensitive to motion about the longitudinal axis than the vertical axis, and are consequently more likely to interpret an inverted spin in the direction of roll rather than the direction of yaw. Regardless of whether the aircraft is spinning erect or inverted, the turn needle will always deflect fully in the direction of spin and is the only reliable indication of spin direction.

AOA and Turn Needle are the way. But, if you account for yaw and strictly yaw, however you display it you’re good.



As an interesting aside, consider the twin with a yaw string as opposed to the inclinometer. Yaw string straight when single engine, rolled into the good engine up to five degrees and rudder to counter, yet the ball is partially deflected. I bring this up to show limitations to the inclinometer.


The G3X also outputs lateral g, and that's what I'd use.

Can you tell me more about “rate of turn,” is this heading change? Something else? You already have a separate roll. I’m curious to this but concerned for turn coordinator like yaw and roll rate combination.

If unsure, could you try some flat or rudder turns and see what the value does? Then do some normal turns with pitch rate making the turn for sake of comparison.
 

Attachments

  • IMG_0357.jpeg
    IMG_0357.jpeg
    209.4 KB · Views: 3
18 3 Yaw 000 to 359 in degrees (000 = North, 090 = East, 180 = South, 270 = West).

31 3 Turn Rate or VSI Alternates between turn rate and VSI, depending on status bitmask, starting at character 42. When turn rate, 000 to 999, 1/10 degrees/second rate of yaw change. When VSI, 000 to 999, 1/10 feet/second.

40 2 Angle of Attack 00 to 99, percentage of stall angle.

Talk to me about these. What makes turn rate? How about yaw? Yaw really yaw or need to make a differential?
 
@Vac, regarding the Turn Needle question and what value to use, I’m not sure the best answer but thought you might or would know someone who does. Advice?
 
Curious what daylight screen you settled on?
I played around with a $$$4D Systems$$$ display from Down Under a couple of years ago. Once it beat me into submission, we switched roles, and I semi-mastered it. They have some high-brightness models, but it seems that the brighter, the bigger.

So I'm very curious about what cockpit-appropriate display can be had for under $25, at 1.5" (diagonal? vertical? horizontal?).
 
@CF86301 @petehowell

A thought. Lateral g is good for the ball which is good for controlled flight. The Turn Needle, or otherwise yaw and yaw only indication, is a separate instrument needed for determining spin direction. I didn’t mean to reject lateral g, your replicate inclinometer is good. We’re talking about an addition not a substitution.
 
I played around with a $$$4D Systems$$$ display from Down Under a couple of years ago. Once it beat me into submission, we switched roles, and I semi-mastered it. They have some high-brightness models, but it seems that the brighter, the bigger.

So I'm very curious about what cockpit-appropriate display can be had for under $25, at 1.5" (diagonal? vertical? horizontal?).
Here are some pics in the sun today - not as bright as the GRT, but certainly readable - about the same as the Dynons. The display is a ST7735. Awesome, no, but it is $3.19.

AP1GczNjW2gRxvGRdbhh0JIcCvwgSgucJWn4zr1ARwdbEG7li9AUIR8RGtvyompECIpqWiof_m7C_gtXVxzYvIlUxnjZ7Xh6ELNarW9arA3_a9cjlju1hLSWY0mLWk-nYrupKhPNvuQ4UOJBJ7gTVfSq6L8K4Q=w1200-h927


AP1GczMywgCTy1WvvJ47Z5HiU2CEgWnE4AuIu9PTVrCVd8pj3pW7yJ6TOft9g3y3D8qB0ebthJvO159u5OtK0j9OZiUu-_goLIymjZzCbu7tLccSY5iUW3Ge4KPcFsrANcz1uqiDZjoPQkNe6Uj7IeprFDGL2w=w1200
 
Awesome enough for $3.19. Did you use the Adafruit GFX and ST7735 libraries, or Bodmer's TFT_ST7735 library?
 
I’m in! I would like to have display right in front of my field of view. A landscape display lower on the glare shield.
I would experiment with it to my G3X.

- cappy
 
Awesome enough for $3.19. Did you use the Adafruit GFX and ST7735 libraries, or Bodmer's TFT_ST7735 library?
Yup adafruit GFX and ST7789, but I'm working on an ignition controller display with USB host in ESP-IDF and using the Lovyan GFX libraries - they are good too!
 
Back
Top