Transponder Build

Working on a instrument project or just finished a project? Show it to others!

Moderators: russ, Ralph

Message
Author
JackZ
Posts: 2262
Joined: Mon Feb 22, 2016 1:02 pm

Re: Transponder Build

#11 Post by JackZ »

Thank Joe for the input.

I actually chose to go with SPI interface instead of I2C because there was no way to get multiple OLEDs screens working at the same time (my chrono uses 4) with I2C, as for these screens the I2C hardware address is hardwired on the PCB and it can’t be changed. Some models allow to use an alternate hardwired address by soldering a couple of pins on the board, but this raises the total number to 2 screens instead of 4.

So you end up with 4 identical i2C OLEDs screens with the same I2C address and of course you can’t access them individually.
I’ll consider you multiplexer solution though, but I feel it adds up another layer of complexity to my build.

Granted SPI takes mores input wires (5+2)) than I2C (3+2), but at least with those SPI models, there was a CS (chip select) pin that allowed me to address each screen individually. And SPI was faster than I2C, so having 4 OLEDs screens on a Mega (hence 24 wires plus 2 power wires) was not an issue at all.

And I think that I can share some wires between the screens, provided I keep the CS and Reset pins separate for each screen, that would drop down the total number of wires needed down to 13 total for 4 screens (untested though).
The only thing is that these screens need 3.3V to operate properly.

As for the SD 1306 library, I started initially the project with the Adafruit library which was running fine, until I hit a wall when I decided to use a custom font for the display instead of the roughly 3 families font declination that was available. The method to get a custom font to use with Adafruit was overly complicated, and involved compiling from source your own conversion tool using a GNU C using a stripped down version of Linux! Thank you but no thank you.

I then turned to the ug8 lib that allowed me to create my own set of font from a TTF font modified with Fontforge, then converted with the tools provided. Not a straightforward task either but way easier than installing a lot of stuff on my W10 machine just for the sake of creating a font in Adafruit.

Jacques
My YouTube Chanel on the A320 (Real SOPs by an Airline Pilot IRL):
https://www.youtube.com/playlist?list=P ... 0Q6SBASRqJ

User avatar
jph
Posts: 2846
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Transponder Build

#12 Post by jph »

Hello Jacques.
Absolutely agree.
It is all a matter of what works for you, and, it is really good to have choices.
You may be better considering an Arduino DUE if you use a LOT of screens as it is native 3.3v and HUGE SRAM, however, that can become moot as most of the units - including the one I posted have the 5V to 3.3V converter on board.
As for SRAM- on I2C - as each 1306 128x32 device will use 512 bytes of SRAM !. ((128x32) / 8).
On a DUE, no issue, but on a mega.... Hmmmm... possibly limited to 5 or 6 devices on a MUX. again, swings and roundabouts due to the small amount of SRAM on the MEGA.
The biggest benefit for me is the physical size. The coding is another issue :D . Using the MUX is pretty simple BUT, again, SRAM limits can be an issue (on the MEGA)
I havent played with custom fonts on the 1306 adafruit library for a few years but I believe it was ok ? . I did a turbo boost gauge with custom fonts and a gauge arc needle pointer on a 128x64 1.3" unit. It was not too bad, but, it is a few years ago... :shock:
It is still in my Land Rover Freelander.
If the size fits, then I would certainly use whatever is available, The units you have, I would definitely use if space wasn't an issue. (well, I must confess it also depends on price haha :lol: ) .. but, all the units are terrific value so that is also a moot point really.
I am really impressed with the project you are doing. Is the front panel an original ? or a sim specific bought one ?. It is damn good quality !.
Cheers,
Joe
Last edited by jph on Tue Apr 27, 2021 7:11 am, edited 1 time in total.
Joe. CISSP, MSc.

JackZ
Posts: 2262
Joined: Mon Feb 22, 2016 1:02 pm

Re: Transponder Build

#13 Post by JackZ »

Thanks Joe.
I feel a little bit uncomfortable to pollute the thread of the OP, so I would suggest to create another topic, or continue here
https://siminnovations.com/forums/viewt ... 321#p35321
@JohnF Sorry mate!

Jacques
My YouTube Chanel on the A320 (Real SOPs by an Airline Pilot IRL):
https://www.youtube.com/playlist?list=P ... 0Q6SBASRqJ

User avatar
jph
Posts: 2846
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Transponder Build

#14 Post by jph »

JackZ wrote: Mon Apr 26, 2021 11:52 pm Thanks Joe.
I feel a little bit uncomfortable to pollute the thread of the OP, so I would suggest to create another topic, or continue here
https://siminnovations.com/forums/viewt ... 321#p35321
@JohnF Sorry mate!

Jacques
Agreed, Apologies to @JohnF also.
Joe
Joe. CISSP, MSc.

JohnF
Posts: 45
Joined: Tue Feb 02, 2021 10:51 am

Re: Transponder Build

#15 Post by JohnF »

Sorry been away.

My code can drive any mono graphic display OLED or LCD, either in I2C or SPI even parallel mode is support through U8G2 you just have to change one line of code. it uses the U8G2 library. The code is well commented should changes be required.
The code checks battery switch is on and then checks for the existence of an avionics switch and if present it is required to be on as well. The code is in the Arduino as much as possible, including timer to relieve the load on PC. The software also displays position has a timer and flight time as well as contrast and brightness adjustments for display and buttons. It also displays the aircraft ID from the flights sim.

User avatar
jph
Posts: 2846
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Transponder Build

#16 Post by jph »

JohnF wrote: Fri May 14, 2021 9:11 am Sorry been away.

My code can drive any mono graphic display OLED or LCD, either in I2C or SPI even parallel mode is support through U8G2 you just have to change one line of code. it uses the U8G2 library. The code is well commented should changes be required.
The code checks battery switch is on and then checks for the existence of an avionics switch and if present it is required to be on as well. The code is in the Arduino as much as possible, including timer to relieve the load on PC. The software also displays position has a timer and flight time as well as contrast and brightness adjustments for display and buttons. It also displays the aircraft ID from the flights sim.
No worries about the library in use John. I was asking about your seemingly custom display in your website images. It does not appear to be any standard LCD or OLED display.
The U8G2 lib is great (It is the U8glib that I dislike and seems limited) but in your case that is not what I query !., on the web links - I still do not understand the source of seemingly custom LCD you are using - unless it is the original ? - where I would presume you would need to have programmed custom code. - which again, is no issue. I simply do not see the relationship.
However, in the other images, you seem to have scrapped this and are using a specific display - something like a 256 x 64 ? or.. what are you using. ? - of course, then you can use the U8G2 lib on that type of display in most cases - in I2C SPI or Parallel etc - no issue. ... it is simply that your web link is rather confusing......

:? :shock:

:D

Joe
Joe. CISSP, MSc.

JohnF
Posts: 45
Joined: Tue Feb 02, 2021 10:51 am

Re: Transponder Build

#17 Post by JohnF »

I have several displays in stock at home, The one here is a DOGM 256x 64 LCD, But code is completely adaptable to any display supported by U8G2, I have started to use OLED displays but they are slow and take time to clear and re-write the screen, compared to an LCD.

At present working on ADF display will post results here once I start, but work comes first.

Post Reply