Re: Hardware cockpit instruments with round displays.

Curtis Olson <[email protected]> Sun, 26 Jul 2026 12:51:44 -0500
Newsgroups gmane.games.flightgear.devel
Message-ID <CAHtsj_eog-gz8Tf7tzs8i5qzY8xAtkQgqj7twOgM9sR_iEoLjA@mail.gmail.com>
--===============8665209572675719125==
Content-Type: multipart/alternative; boundary="000000000000f2a2f006578742ad"

--000000000000f2a2f006578742ad
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

There are many good ways to approach this.  In the way back I did a project
where we drew all the instruments in 2d graphics (using the 2d flightgear
instrument panel) and put a face plate in front of the LCD display with
cutouts for the instruments and bezels and knobs and it looked really
good.  We fooled people into thinking they were physical gauges because we
had drop shadows in the graphics and many of the layers were derived from
original photos.  More recently I've used NiceGUI (I like python) to
generate web-based interfaces.  My plug for nicegui: you write everything
in one place (vs. traditional schemes where you have css, html, javascript,
and some python/C/db backend and have to edit 5 different places as you
develop code.)  I have also done things with Panda3d (also in python)
which lets you do both 2d and 3d graphics layers (but doesn't really
support a high quality modern gui overlay as far as I have been able to
find.)

My NiceGUI example on codeberg.org for my hobby UAS project:
https://codeberg.org/NorthStarUAS/GCS/media/branch/main/screenshots/panel3.=
png
Panda3D example on youtube: https://youtu.be/d6G-cHO-uTU

The panda3d example shows me trying to imitate the yukikaze (sp?) anime jet
HUD and experiment with throwing sat imagery on top of DEM terrain using a
quad tree (slippy tile) tiling / lod scheme.  The pitch ladder is sort of
an inside out view rather than an outside in view ... it's weird ... looks
way cooler in the actual show clips, but I think they cheat and only show
brief moments so you can't really see if it's physically correct or not.

I have probably shared some of this before, sorry if it's a repeat.

One thing I'd love to experiment with "someday" is an inexpensive 3-4"
esp32 lcd display and seeing what I can draw and how fast I can refresh ...
and then put it in the cockpit (or nose) of one of my RC airplanes, point a
camera that can see the forward view and the display, and have live, real
avionics on my RC airplane ... someday ... :-)

Curt.

On Sun, Jul 26, 2026 at 12:22=E2=80=AFPM Patrick Callahan <pat.callahan1@gm=
ail.com>
wrote:

> There's Captain Bob:  https://captainbobsim.com  He's done a ton of work
> on instruments and radios.
> Much of it is open source and available on Thingiverse.
>
> Another thingivers contributor has a number of steam gauges etc.
> https://www.thingiverse.com/thing:3401254. check him out here:
> https://www.thingiverse.com/alvaroalea/designs
>
> -Pat
>
> On Sun, Jul 26, 2026 at 11:11=E2=80=AFAM David Hudach <[email protected]>=
 wrote:
>
>> At some point I would like to implement "real instruments" using either
>> small stepper motors on Raspberry Pi. But until then I'm almost at the
>> finish line building an instrument animation program from scratch in C a=
nd
>> SDL2 that would essentially be similar to fgpanel. The problem with fgpa=
nel
>> is that from what I've seen and what I've tried, building it on Pi is a
>> challenge. So I've done all of my development on Pi. I'm able to run FG =
on
>> my laptop and send the output to Pi over WiFi and things so far work ok.
>> I'm running about 13 instruments sending 42 properties across to the C
>> program. Naturally Pi isn't going to be super robust, but it was an easy
>> way to test the ability. As for proper instrument animation, I've kind o=
f
>> had to reverse engineer some of the animation/condition/transformation
>> settings in the instrument xml files. But so far so good. Eventually I'l=
l
>> connect the PC to the Pi via ethernet.
>>
>> On Sun, Jul 26, 2026 at 10:38=E2=80=AFAM Patrick Callahan <
>> [email protected]> wrote:
>>
>>> Has anyone done any cockpit instruments using Flightgear source
>>> materials driving  2.8" round TFT displays from raspberry pi zeros?  I'=
m
>>> thinking in terms of a FGFS instance with no scenery, no airport, just =
a
>>> single instrument, driven not from the FDM, but from input fed from the
>>> main FGFS instance over USB or UDP, perhaps running independently on a
>>> Raspberry Pi Zero.  Outputs for adjusting knobs back to the main fgfs v=
ia
>>> the same channel.
>>>
>>> -Pat
>>>
>>>
>>> https://www.aliexpress.us/item/3256805001903002.html?spm=3Da2g0o.cart.0=
.0.491f38daKYclES&mp=3D1&pdp_npi=3D6%40dis%21USD%21USD+31.27%21USD+31.27%21=
%21USD+31.27%21%21%21%402103138417850754067242788e0eb6%2112000032031307056%=
21ct%21US%21798636471%21%211%210%21&gatewayAdapt=3Dglo2usa
>>>
>>> Heading Instrument example
>>> 1 raspberry pi zero
>>> 1 2.8" display with hdmi board
>>> 2 magnetic rotary encoders for Heading Bug and Card Adjust
>>>
>>> Is there a simpler way to drive the display than to have a full instanc=
e
>>> of flightgear running on the Pi?
>>> _______________________________________________
>>> Flightgear-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>>>
>> _______________________________________________
>> Flightgear-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>>
> _______________________________________________
> Flightgear-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>


--=20
Curtis Olson

--000000000000f2a2f006578742ad
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">There are many good ways to approach this.=C2=A0 In the wa=
y back=C2=A0I did a project where we drew all the instruments in 2d graphic=
s (using the 2d=C2=A0flightgear instrument panel) and put a face plate in f=
ront of the LCD display with cutouts for the instruments and bezels and kno=
bs and it looked really good.=C2=A0 We fooled people into thinking they wer=
e physical gauges because=C2=A0we had drop shadows in the graphics and many=
 of the layers were derived from original photos.=C2=A0 More recently I&#39=
;ve used NiceGUI (I like python) to generate web-based interfaces.=C2=A0 My=
 plug for nicegui: you write everything in one place (vs. traditional schem=
es where you have css, html, javascript, and some python/C/db backend and h=
ave to edit 5 different=C2=A0places as you develop code.)=C2=A0 I have also=
 done things with Panda3d (also in python) which=C2=A0lets you do both 2d a=
nd 3d graphics layers (but doesn&#39;t really support a high quality modern=
 gui overlay as far as I have been able to find.)<br><br>My NiceGUI example=
 on <a href=3D"http://codeberg.org">codeberg.org</a> for my hobby UAS proje=
ct:=C2=A0<a href=3D"https://codeberg.org/NorthStarUAS/GCS/media/branch/main=
/screenshots/panel3.png">https://codeberg.org/NorthStarUAS/GCS/media/branch=
/main/screenshots/panel3.png</a><div>Panda3D example on youtube:=C2=A0<a hr=
ef=3D"https://youtu.be/d6G-cHO-uTU">https://youtu.be/d6G-cHO-uTU</a></div><=
div><br></div><div>The panda3d example shows me trying to imitate the yukik=
aze (sp?) anime jet HUD and experiment with throwing sat imagery on top of =
DEM terrain using a quad tree (slippy tile) tiling / lod scheme.=C2=A0 The =
pitch ladder is sort of an inside out view rather than an outside in view .=
.. it&#39;s weird ... looks way cooler in the actual show clips, but I thin=
k they cheat and only show brief moments so you can&#39;t really see if it&=
#39;s physically correct or not.<br><br>I have probably shared some of this=
 before, sorry if it&#39;s a repeat.<br><br>One thing I&#39;d love to exper=
iment with &quot;someday&quot; is an inexpensive 3-4&quot; esp32 lcd displa=
y and seeing what I can draw and how fast I can refresh ... and then put it=
 in the cockpit (or nose) of one of my RC airplanes, point a camera that ca=
n see the forward view and the display, and have live, real avionics on my =
RC airplane ... someday ... :-)<br><br>Curt.</div></div><br><div class=3D"g=
mail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On =
Sun, Jul 26, 2026 at 12:22=E2=80=AFPM Patrick Callahan &lt;<a href=3D"mailt=
o:[email protected]">[email protected]</a>&gt; wrote:<br></div>=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">There&#3=
9;s Captain Bob:=C2=A0 <a href=3D"https://captainbobsim.com" target=3D"_bla=
nk">https://captainbobsim.com</a>=C2=A0 He&#39;s done a ton of work on inst=
ruments=C2=A0and radios.=C2=A0<div>Much of it is open source and available =
on Thingiverse.</div><div><br></div><div>Another <span style=3D"border-styl=
e:none;background:none">thingivers</span>=C2=A0contributor has a number of =
steam gauges etc. <a href=3D"https://www.thingiverse.com/thing:3401254" tar=
get=3D"_blank">https://www.thingiverse.com/thing:3401254</a>. check him out=
 here:=C2=A0<a href=3D"https://www.thingiverse.com/alvaroalea/designs" targ=
et=3D"_blank">https://www.thingiverse.com/alvaroalea/designs</a></div><div>=
<br></div><div>-Pat</div></div><br><div class=3D"gmail_quote"><div dir=3D"l=
tr" class=3D"gmail_attr">On Sun, Jul 26, 2026 at 11:11=E2=80=AFAM David Hud=
ach &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">dhudach@gmai=
l.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-size:small=
">At some point I would like to implement &quot;real instruments&quot; usin=
g either small stepper motors on Raspberry Pi. But until then I&#39;m almos=
t at the finish line building an instrument animation program from scratch =
in C and SDL2 that would essentially be similar to fgpanel. The problem wit=
h fgpanel is that from what I&#39;ve seen and what I&#39;ve tried, building=
 it on Pi is a challenge. So I&#39;ve done all of my development on Pi. I&#=
39;m able to run FG on my laptop and send the output to Pi over WiFi and th=
ings so far work ok. I&#39;m running about 13 instruments sending 42 proper=
ties across to the C program. Naturally Pi isn&#39;t going to be super robu=
st, but it was an easy way to test the ability. As for proper instrument an=
imation, I&#39;ve kind of had to reverse engineer some of the animation/con=
dition/transformation settings in the instrument xml files. But so far so g=
ood. Eventually I&#39;ll connect the PC to the Pi via ethernet.</div></div>=
<br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun=
, Jul 26, 2026 at 10:38=E2=80=AFAM Patrick Callahan &lt;<a href=3D"mailto:p=
[email protected]" target=3D"_blank">[email protected]</a>&gt; w=
rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=
=3D"ltr"><div>Has anyone done any cockpit instruments using Flightgear sour=
ce materials driving=C2=A0 2.8&quot; round TFT displays from raspberry pi z=
eros?=C2=A0 I&#39;m thinking in terms of a FGFS instance with no scenery, n=
o airport, just a single instrument, driven not from the FDM, but from inpu=
t fed from the main FGFS instance over USB or UDP, perhaps running independ=
ently on a Raspberry Pi Zero.=C2=A0 Outputs for adjusting knobs back to the=
 main fgfs via the same channel.</div><div><br></div><div>-Pat</div><div><b=
r></div><a href=3D"https://www.aliexpress.us/item/3256805001903002.html?spm=
=3Da2g0o.cart.0.0.491f38daKYclES&amp;mp=3D1&amp;pdp_npi=3D6%40dis%21USD%21U=
SD+31.27%21USD+31.27%21%21USD+31.27%21%21%21%402103138417850754067242788e0e=
b6%2112000032031307056%21ct%21US%21798636471%21%211%210%21&amp;gatewayAdapt=
=3Dglo2usa" target=3D"_blank">https://www.aliexpress.us/item/32568050019030=
02.html?spm=3Da2g0o.cart.0.0.491f38daKYclES&amp;mp=3D1&amp;pdp_npi=3D6%40di=
s%21USD%21USD+31.27%21USD+31.27%21%21USD+31.27%21%21%21%4021031384178507540=
67242788e0eb6%2112000032031307056%21ct%21US%21798636471%21%211%210%21&amp;g=
atewayAdapt=3Dglo2usa</a><div><br></div><div>Heading Instrument example=C2=
=A0</div><div>1 raspberry pi zero</div><div>1 2.8&quot; display with hdmi b=
oard</div><div>2 magnetic rotary encoders for Heading Bug and Card Adjust</=
div><div><br></div><div>Is there a simpler way to drive the display than to=
 have a full instance of flightgear running on the Pi?</div></div>
_______________________________________________<br>
Flightgear-devel mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/flightgear-devel" r=
el=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/lis=
tinfo/flightgear-devel</a><br>
</blockquote></div>
_______________________________________________<br>
Flightgear-devel mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/flightgear-devel" r=
el=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/lis=
tinfo/flightgear-devel</a><br>
</blockquote></div>
_______________________________________________<br>
Flightgear-devel mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/flightgear-devel" r=
el=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/lis=
tinfo/flightgear-devel</a><br>
</blockquote></div><div><br clear=3D"all"></div><div><br></div><span class=
=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_s=
ignature"><div dir=3D"ltr"><div>Curtis Olson</div></div></div>

--000000000000f2a2f006578742ad--


--===============8665209572675719125==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8665209572675719125==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

--===============8665209572675719125==--