Jump to content

Radio Panel (Intended for AWACS/GCI with SRS)


FreeAndroid

Recommended Posts

Picture of the panel(unfinished):

 

j9W1dx8.jpg

 

 

For quite a while i have wanted to build a control panel of some sorts. The more serious planning started about two years ago when i was very into Kerbal Space program, and i started browsing the forum there for people who made their own panels and switch boxes. I never got around to building something for KSP, but i did a lot of planning for it and looked at a lot of different techniques and such.

 

Not too long ago i got access to usage of the laser cutter at my workplace. This really started the thoughts of building something again. I quite recently got into DCS, but i never really considered building panels for it since i am using VR.

 

About one month ago i tried out the AWACS-role on GAW and i really liked it. Then i had the idea that i could try building a panel for all of the radio controls! I managed to design and construct the panel, source the parts i didnt have lying around and right now i am in the process of finishing up the hardware and the software.

 

I am using the UDP-interface that SRS implements to read and control all the radios. The UDP-messages are recieved and parsed by a Java project that i have been writing. The Java program then sends the info to an Arduino over USB (serial). Most of the functionality is done at the moment, i just need to get done with all of the wiring. The paint job is also a bit shoddy, but it doesnt really bother me that much at the moment.

 

Radio panel(unfinished) with some of the components working:

 

Ms8LHGN.jpg

 

 

 

For the full album:

https://imgur.com/a/YGzcVw9

 

Dont know if anyone is interested, but this document explains what is connected to what, and what the functionality of some things are:

 

 

i2c:

Arduino A5 - Clock line

Arduino A4 - Data line

 

Both clock and data lines are pulled up to 5V with a 10k(maybe 4.7K) resistor.

 

SPI:

Arduino 12 - Data line

Arduino 11 - Clock line

 

 

 

 

The whole unit is made up of four separate panels. Each panel has two duplicate sections, which leads to a total of 8 sections. Each section includes a 7-digit display, two status leds (one for sending/selecting, and one for receiving) and a volume potentiometer.

 

 

 

7 Segment displays:

GND - GND

VCC - +5V

DIN - Arduino 12

CS - Each chip has its own Arduino connection. Pin 3-10.

CLK - Arduino 11

 

Potentiometers:

Potentiometer outer pins are wired in parallell with the other potentiometers (left outer to next potentiometer left outer. Right outer to next potentiometer right outer). These are common GND and +5V pins. Middle pins are wired individually to the A0-A7 pins on the CD74HC4051E.

 

 

HT16K33 = Led Matrix driver (Used to control all the status leds on the front)

MCP23017 = IO-expander. For now only used to control the CD74HC4051E because there arent enought pins on the Arduino.

CD74HC4051E = Analog I/O Multiplexer. Is used to let one analog port on the Arduino read all of the potentiometers on the panel.

 

HT16K33 Connections:

 

VDD - +5V

GND - GND

SCL - Clock line i2c

SDA - Data line i2c

 

C0-C7 - Goes via a ~150 Ohm resistance to the led grounds of each section. (The status and send/receive led of each section have common ground).

 

A0 - Connects to the green lead on all the multi-colored leds. (single lead next to ground lead)

A1 - Connects to the blue lead on all the multi-colored leds. (inner lead next to ground lead)

A2 - Connects to the red lead on all the multi-colored leds. (outer lead next to ground lead)

A3 - Connects to the positive lead on the green Send/Receive led.

 

MCP23017 Connections:

VSS - GND

VCC - +5V

RESET - +5V (active LOW)

SCL - Clock line i2c

SDA - Data line i2c

A0-A2 - GND (This sets the address to 0x20)

 

GPB0-GPB2/GPA0-GPA2 = S0-S2 on the CD74HC4051E. (GPB or GPA is decided in code). This controls which input the analog multiplexer will send to the Arduino.

 

CD74HC4051E Connections:

VCC - +5V

GND - GND

S0-S2 = GPB0-GPB2/GPA0-GPA2

A0-A7 = Individual potentiometer middle pins

A = Arduino A0

 

 

 

 

A short video to show some of the function of it:

https://streamable.com/s/67xac/uhcubt

DSC_0013.thumb.jpg.ab8c374c0905a77eedb1d6f2ebd7a4ec.jpg

DSC_0009.thumb.jpg.148b58599e947db181cc95f06ceeb41f.jpg


Edited by FreeAndroid
  • Like 1

Ignoring all the unfinished projects INTENSIFIES

Link to comment
Share on other sites

Wow, that looks really cool! I have been drawing up plans to do a similar thing for a radio panel (and designed to be common for all aircraft), with a 4x20 LCD and push/pull pots.

 

How did you interface the radio panel data (i.e. frequency selection, volume wheel and tx/rx LED) to SRS: did you interface with SRS directly or is that done via DCS Bios (for Arduino)?

[sIGPIC][/sIGPIC]

 

Groundpounder extraordinaire

 

 

SPECS: i7-4790K, MSI Z97 Gaming 7, 16 GB RAM, MSI GTX 980ti, Thrustmaster WARTHOG HOTAS, Saitek Pro Combat Rudder pedals, TrackIR 5

 

Link to comment
Share on other sites

Wow, that looks really cool! I have been drawing up plans to do a similar thing for a radio panel (and designed to be common for all aircraft), with a 4x20 LCD and push/pull pots.

 

How did you interface the radio panel data (i.e. frequency selection, volume wheel and tx/rx LED) to SRS: did you interface with SRS directly or is that done via DCS Bios (for Arduino)?

 

Thanks!

 

Interfacing is not through DCS Bios. The thing runs with only the external AWACS mode that SRS has, so it is completely separate from DCS even. The interfacing is done through the UDP-ethernet protocol that SRS has, so i wrote a Java program that just reads the information that SRS sends and then communicates to the Arduino over USB.

 

Im not sure right now if it is possible to do this with the ingame radios (i know that if you have an airplane with virtual radios, like the FC3 planes, you can do it the same way). Im kind of thinking about publishing my (right now very messy) java code to communicate with the arduino and SRS.

Ignoring all the unfinished projects INTENSIFIES

Link to comment
Share on other sites

Im not sure right now if it is possible to do this with the ingame radios (i know that if you have an airplane with virtual radios, like the FC3 planes, you can do it the same way). Im kind of thinking about publishing my (right now very messy) java code to communicate with the arduino and SRS.

 

Yeah, the virtual expansion radios could be changed the same way, however the radios that are actually "present" in the aircraft would have to be manipulated from DCS itself, since it'll constantly overwrite the changes otherwise and would be out of sync from the selections ingame. I guess that'd be possible using DCS-BIOS, at least to some extent, at least for the modules it supports and can control.

 

If you do choose to publish your code, let me know or post it here and I'm happy to take a look as well. As already mentioned - awesome project and I'm happy to help if needed.

Link to comment
Share on other sites

I have been thinking about the way it works with all of the perfboards. Realized that its quite a big workload to solder the perfboards, and there is a big risk of shorts and when the area is this small. Another thing is if i would like to build another of the 2-radio panels (this whole build is created using 4 2-radio panels) that would also be a lot of work.

 

I decided on designing and ordering a PCB. I have some pictures on the WIP here. Mostly happy with what the PCB will accomplish, just need to set the positions of everything correctly, and i have to wire it all up.

497393935_Screenshot(1).thumb.png.d93b30f9635d77a72f4335c2647d5a4c.png

997294671_Screenshot(2).thumb.png.008377943a15d711829fd3c311c64ffa.png

25201008_Screenshot(3).thumb.png.365c21ac9a083dca5852cc122d23ae11.png

Ignoring all the unfinished projects INTENSIFIES

Link to comment
Share on other sites

  • 10 months later...

Hello everyone,

 

 

This is my first post here.

 

 

I have been helping a friend build stuff for his sim, but he's upgrading to a glass cockpit, so there's less of a requirement for cool knobs and switches. I have been searching for a forum where people are actually building stuff, rather than talking about building stuff. I have a few posts on other forums, but there's not much going on.

 

 

I don't want to hijack this thread, but I have been working on a Collins CTL radio stack and just wanted to post about it. Especially as I intend to use the Holtek HT16K33 interface chip to drive them, which has appeared in a couple of threads on this forum. It actually appears in this thread when you search, but not when you display it. Hmm.

 

 

Anyway, here's what I have been working on:

921597025_IMG_20191106_1052331.thumb.jpg.64417c5b125e2e0a5b7264a08d1852ff.jpg

Link to comment
Share on other sites

Do plan on using darts graphical atc interface in conjunction with the srs box you built so you can see everything or you going to use dcs’ s map mode. I recommend the former?

BlackeyCole 20years usaf

XP-11. Dcs 2.5OB

Acer predator laptop/ i7 7720, 2.4ghz, 32 gb ddr4 ram, 500gb ssd,1tb hdd,nvidia 1080 8gb vram

 

 

New FlightSim Blog at https://blackeysblog.wordpress.com. Go visit it and leave me feedback and or comments so I can make it better. A new post every Friday.

Link to comment
Share on other sites

I have been thinking about the way it works with all of the perfboards. Realized that its quite a big workload to solder the perfboards, and there is a big risk of shorts and when the area is this small. Another thing is if i would like to build another of the 2-radio panels (this whole build is created using 4 2-radio panels) that would also be a lot of work.

 

I decided on designing and ordering a PCB. I have some pictures on the WIP here. Mostly happy with what the PCB will accomplish, just need to set the positions of everything correctly, and i have to wire it all up.

 

 

I have just looked through this more carefully. What are you using for the LEDs? Is it a pre-made board with eight digits and a TM1637 driver?

 

 

In your code comments you say there should be seven digits, but the pictures show eight digits.

 

 

Then you are using the Holtek HT16K33 to drive the LEDs at the left side (one green, one RGB), right?

 

 

I am using the HT16K33 to drive two 5-digit 7-segment displays. The chip will drive eight 16-segment displays, so if I consider two 7-segment displays to be one 16-segment display then I am driving five 16-segment displays. Of the remaining three, two are unused, and one is used to drive five status LEDs.

 

 

Then I am using the keyboard input capability of the chip to read the switches on the front panel.

 

 

The original unit has a volume control. I am fitting one, with a 10K pot, but I won't connect the pot. The unit also has a light sensor, which I am fitting (because it finishes off the look of the unit) but I won't connect it. If I did I'd probably use an ADS1015 (or ADS1115) I2C ADC. They have four inputs each so two of those will let me hook up six volume controls and at least one light sensor (although not all of the units have volume pots, maybe five of them). Then everything is on I2C and can be driven by any I2C controller (such as a Raspberry Pi).

 

 

Waiting for parts...

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...