#All-in-one FCU+EFIS with PCB

1 messages Β· Page 1 of 1 (latest)

deft agate
#

Drawing this pcb has been a real challenge. Thanks to @swift oak I've been able to do a proper schematics before working on the pcb itself. It's not ready for going to JLCPCB yet because it will cost a bit and therefore I must be 100% sure of it before having it produced. The idea was to have a single Mega 2560 pro clone, the compact one, with 3 multiplexer and the Esp32+i2c multiplexer (following @noble tree custom device project) in a single, big breakout board, with external power and the connection to a potentiometer for the backlighting leds (one per each korry button + 8 to be used on the back of the 3d printer panels. The FCU and EFIS units (both left and right) use the oled display (1.3" for the FCU, 5 in total, and 2 0.96" for the EFIS, again, following @noble tree 's project). Push and Pull rotary are the one designed by @waxen frigate while the Korry buttons (each with its own little pcb with leds, button and resistors) are designed by myself (I'm still refining the design tough). I don't mind sharing what I have if someone is interested, but mainly I'm looking for suggestions and advice, because I'm pretty sure I messed up something somewhere πŸ˜†

noble tree
#

@deft agate Hi, really nice. Have you seen the Project from Ralf? It's an further development of my project which makes the ESP32 unnecessary.

deft agate
dusty briar
#

It would be great to do a test before take it into your design although it is running for me (but with less buttons and encoders). And the firmware is set up for now for 7 same OLED driver, either 7 SH1106G or 7 SSD1306.
Mixing them would mean to make modifications to the code.

deft agate
# dusty briar It would be great to do a test before take it into your design although it is ru...

Changing to 7 identical oled would not be a problem, all I'd have to do is modify the 3d printed panel to host a different screen size. I'm way faster with Sketchup than with Kicad πŸ˜„
By removing the Esp32 I'll probably be able to shrink the pcb a bit more, thus reducing costs for both production and shipping, to a more reasonable price. I'm studying right now a way to condense all into a 100x100mm square pcb that would cut the discount line for JlcPcb. I'll post a pic of it if I can manage to squeeze all the copper lines and ground zones in πŸ˜„

#

Another way of designing it would be to "split" the pcbs in smaller sections and use flat cables between them. For the oled part, for example, it would need only a 4 pins flat cable (3.3V, GND, SDA, SCL) , from the main board with the Mega 2560 on it, or even just 2 pins if I use different power and ground lines from the same PSU. For those experienced with pcbs @south canyon @warm onyx @swift oak for example, would a split pcbs approach increase costs too much in your opinion?

south canyon
#

I usually do everything in a pcb that goes behind the panel, but that is a bit different approach

#

I guess it depends on the case always

#

the pcbs are priced by size roughly, on the other hand having a lot of connectors will also increase the size

#

compared to having the switches and the leds on the pcb itself

deft agate
#

With this project I can't go with the pcb behind the panel because I'm limited by my 3d printer and not having a laser engraver, so basically Korry Switches and rotary will be quite large, that's the reason behind the "many connector" approach. I could "squeeze" everything in a 100x100 square (Freerouting is working right now on Kicad to disentagle itself), but I suspect the final result would be a soldering nightmare. As soon as Freerouting will end its work and I will have checked it, I'll post a picture, in the meanwhile I'm starting to study, from a design point of view, the split multi pcb approach (I need to keed in mind also the size of the panel because it needs to be printable for real and not be impossible

noble tree
#

I have changed the code for my displays. I am using 0,9" SSD1306 for Efis and 1,3" SH1106 for FCU. It is not a big deal.

warm onyx
deft agate
#

When thinking about splitting pcbs I didn't take into account the fact that I have also the MF driven leds for the Korry switches (the green ones that lit when you press the buttons). I can't put them in the input multiplexer so I can't reduce the number of connections between the pcbs making this solution virtually worthless. I'd have a bunch of wires almost as I didnt' have any pcbs at all. Not a good solution. Back to the blackboard πŸ˜„

deft agate
#

New single pcb design. Following @swift oak guidance I used 4 multiplexer instead of 3 in order to put them closer to their respective connectors. I also added (but I need to check if I did everything properly) a control circuit to give PWM to backlighting leds and removed the ESP32 card in order to use @dusty briar modification. Entire PBC is 225x95 so it's big, but not huge. This version still lacks proper labeling and I'm not sure power input (J13 connector) is the correct one to use a screw connector to give 9V to the board

deft agate
#

Some advancement on the project. I managed, (at this point, saying that @swift oak is helping would be an understatement. He decided to teach me and became my Jedi Master πŸ˜„ ). In the picthere are 2 separate pcbs, the right one will be used once in the project, the left one will be installed 3 times to provide led backlighting to left efis, fcu and right efis. Each pcb hosts up to 10 leds including backlighted Korry buttons led. Intensity will be controlled by the right PCB via a Potentiometer. A further implementation, as suggested by @swift oak , could be placing a jumper to exclude the 555 timing chip and send signal to the Mega and to MF in order to control also the cockpit lighting in the simulator, but at this point it's not my priority for this one. The main PCB is now a bit smaller (not much tough, I wanted to be able to actually route wires on the pcb. It's about 100x250mm with 4 multiplexer, 1 ic2 multiplexer for the oleds, the mega pro compact and all connectors for all buttons, encoders and rotary switches. In the weekend I'll start preparing the 3d printed panels and the OLED housing, I'll upload pics as soon as they are ready

deft agate
#

Time for some real thing. Pcb has come out nicely 😍. This is the mainboard

weary fjord
#

it feels so good to hold a PCB in your hands πŸ™Œ

deft agate
noble tree
#

nice

#

@deft agate which multiplexer are you using for port expansion?

weary fjord
#

footprint looks like 74hc4067

#

boards

deft agate
#

The 16 port analog multiplexers, for basically all buttons and switches, while I'll keep rotaries and leds on the Mega

#

Don't recall the code, but I guess it's the one Sebastian wrote

#

The only problem was with the i2c. The Aliexpress clone I have is not the same size as the original Adafruit and I had the original footprint in Kicad, so I had to bend the dupont pins in order to make them fit

deft agate
#

is coming out nicely. Still a lot of work to do, though.

deft agate
#

Some update. Backlighting is working perfectly. In the meanwhile I bought a Bambulab P1S and the korry buttons are now printed in 2 colors (black and transparent pla). The effect is awesome. I'm waiting for the led strip that will enable panel backlighting. I also prepared a led strip for glareshield lights that are controlled via another pcb and potentiometer

noble tree
#

nice

deft agate
#

The end of a LOOOONG WORK. I've been on this project for three months at least (I honestly lost count). Now it's time to tweak the configuration and give it a go. Thanks to @noble tree @dusty briar @waxen frigate and @swift oak for their help. Santi, I took the liberty to do some modifications to your push and pull rotary with coaxial selector (baro and alt), I'll gladly share them with you if you are interested.

deft agate
#

Last piece missing is the orange acrylic in front of the oleds. I already have the panel but didn't have the time tu cut it to measure on my table saw

noble tree
#

looking really nice

deft agate
# noble tree looking really nice

The big, enormous difference has been buying the Bambulab P1S 3D printer... quality of prints increased dramatically, specially for the Korry buttons. They are now in 2 colors, black and white (I changed from transparent to white because light diffusion is way better in this way)

small cipher
#

Great work and also interesting idea to make everything with connectors.

#

I'm currently also working on a pcb with @noble tree and @dusty briar idea of an fcu&efis with OLED.
I'm planning to integrate everything on my pcb. So I took the arduino apart and also the i2c expander. Everything is now on my pcb. The efis will be connected to the fcu. I'm also using shiftregisters and multiplexer to reduce the number of ports at the arduino. The connector at the right side is also designed for the burning of the bootloader to the atmega chip.
It will be take a few more weeks, but I will show it in a separate thread when it's finished.

noble tree
#

wow nice

deft agate
# small cipher Great work and also interesting idea to make everything with connectors.

It looks very nice. I decided against the big pcb with all switches and encoders soldered on because I couldn't design the rotary encoders and mechanisms on Fusion360 (I'm still learning it, I used to use SketchUp that is way more limited in this sense), so I went on the connectors pcb idea. One thing I can say before you start assembling. Check your current levels, because the power consumption with all leds and things will be huge. My Mega 2560 is powered from external input rated at 12V. All led circuits are separated and not managed by the Arduino except for the ones that lights up when you press something. All backlighting is on a separate circuit (2, actually, one for the korries and the panel backlighting, one for the external lights - a led strip rated 12V).
Looking at the second image I've a suggestion though. Figure out a way to raise the oleds a bit, because if you mount them directly on the pcb, when you have the rotary encoders and the step switches for range and map type, you'll risk to have the oleds too far from the slots on the panel

#

I must also say that OLEDs are simply fantastic. The effect is really, really nice πŸ™‚

small cipher
#

Yes. I also saw the collision of the one button and the display which I have to solve. Maybe I extend my pcb vor 2 mm in hight and move the displays a bit up.
I will also check if I will connect the displays direct to the pcb or if I use some pinheader for extension.

This will be done during designing the case. It is also not my first fcu. I designed a solution to mount the encoders and also have the pull option working.

#

My design for the switch at the EFIS and also the construction for the encoders for the fcu. By pushing the button down it will "pull" the switch

deft agate
#

The idea of using a lever switch for the 100/1000 and inHg/hPa is really clever. How did you manage (if you used it) the backlighting on the korries? I found the design of a dedicated, small pcb fixed on the back of the korry the only viable solution. I just finished this project but I also know this is not the last one 😁

small cipher
#

These are the backlight LEDs.

#

How the old one looks like in the dark

#

And regarding your power supply topic: I use directly the 5V of the USB. I only have a 5v to 3.3v regulator for the displays.

deft agate
# small cipher How the old one looks like in the dark

If you put a white led on all of the 20 korries (7+7 for EFIS L/R, 6 for FCU), you run the risk of ending up absorbing way too much from the 5V. In my case, since I used a led strip for the panel backlighting, I was almost forced to use an external power source (also because I wanted to use a mosfet and a N555 chip to regulate intensity with a potentiometer). My 12V input is divided into 3 main power lines, one for the Arduino, one for the korry/panel backlighting, one for the external lights for the glareshield

small cipher
#

Hmm... maybe I will add an option for an external power supply, just in case.

small cipher
#

I now added a powerjack with a regulator and a second USB-Port only for power supply so I can be save just in case one usb is not enough.