I am developing some panels for flight simulator. I would like to eventually sell these so I want to create a prototype with pretty much an embedded arduino. Prototype was made with an arduino mega, but I want to switch over to an atmega328p for costs savings. Here is the schematic, I would like your feedback, do you think it would work? This schematic only includes the FTDI FT232RL and the atmega328p technically with just the components needed for me to first program via the usb port showing on the schematic, and also have serial communication from the pc and the atmega328p.
Bear in mind that this is literally the first time I create a schematic and let alone use kicad so apologies in advance if you see any atrocities in regards to the schematic layout
The schematic looks fine to me, you did a good job with it. You have some misplaced labels such as Gnd on the reset line and a floating ground wire on C2. The processor also needs a ground connection. I do not want to remember my first attempt, it was not nearly as good as this. As you use it it will become much easier to use. Hint when doing the PCB do not use the flip on a component when laying out the PCB as it will orient it for the back of the board, rotate is fine.
You apparently do not like bypass capacitors because they cost money. It will cost you a lot more in grief if they are not there. Sorry I only had a moment to look at it. Good Luck with the project!
I have corrected the GND issue and the floating wire.
Correct me if I'm wrong but wouldn't C1 and C2 work as decoupling capacitors for the VCC line?
Either way there is another 100µf capacitor I have to add on another part of the schematic, which really helps a lot with a MAX7219 that I have down the line, so I guess this would also help with any noise
I will add the headers for the bootloader burning. I am planning to do it with my current arduino mega, and use the "Arduino as ISP" function of the IDE
I noticed that after taking the screenshot lol, I corrected the gnd on the 328.
I want to keep it to a 1 board solution for space constraints, I know the arduino pro mini is tiny, but still. I may be biased cause I also want to design the pcb XD.
I did not read anything about a circuit that resets to the bootloader when sketch is uploaded...does this mean I would need to hit the reset button each time I upload a sketch? If so I don't think this would affect me.
I read that AREF doesn't need to be connected, however a capacitor may be added to ground for noise reduction. However on my solution, analog reads won't be needed.
You mean the pin headers? I may not need to have them since the other part of the circuit is still contained within the same pcb.
I believe it is pulled up via R3 to VCC, it would be switched to gnd once SW1 is pressed
It will be a pain because you need to get the timing right; too late pressing the reset button and upload fails, too early pressing the reset button and upload fails. Have a look at the schematics of e.g. a classic Nano or a SparkFun Redboard (not the QWIIC version); both use a FT232xx.
I likely missed something you are doing or have done about interfacing the panel(s) to FS, have you a part that connects to the PC as USB-HID?
Arduino can do that. It lets you DIY a HOTAS big enough to wire custom cockpits and plug extra panels into the HID board on want.
I did a bit of flight simming over 20 years ago though more combat-oriented, HID allows combining keyboard/mouse/stick into a universal PC port.
What kind of controls/button boxes you can add on the controller side is immense. A single PC can support multiple HID's as well.
Oh I'm going deeper than that. This would be for an A320 EFIS on MSFS, so I built a host application that connects via simconnect to handle the variables, then it does 2 way communication via serial to the arduino which handles the panel
Indeed, good advice. Means you can develop, swap out, and generally be design-flexible. Nano-footprint devices with far better processors have come along, so if you decide you need more smarts you can switch. Locking into a single on-board is fab-cheapest, sure, but anyone who builds stuff will tell you you're at least two, maybe three circuit board revisions away from market. Get your feet wet, build Rev 0, Build Rev1, and maybe then build Rev 2 with onboard processor. By then, you might have a need for something the '328 won't ever be capable of, so what then?
But, if you insist on putting your own proc on a board, for heaven's sake, use a '328PB. The hoary old '328 is 'not for new design' per the manufacturer. Sure, it'll be around for a few more years, but at some point, availability may become a factor. Maybe you won't need to worry, but maybe you will.
The problem is that HID devices won't be able to control things that are not withing the control assignment window for the simulator.
Simconnect is a built in API that pretty much exists since the FSX days, it allows you to externally read and control very specific variables. For example, the panel I'm making is for an airbus a320, if I press a button, a light comes on, however that light should only come on if specific conditions are met. All of this logic is handled by the airplane itself, so I just need to read the variable for that specific light indicator and send it via serial to the arduino