0
\$\begingroup\$

Could someone suggest a place where I could request people to look over my schematic/board design?

If this is the place, here it is: https://easyeda.com/be.mihai22/project-hawk

EDIT:

As I see people started looking at this, here's what my thing looks like: enter image description here enter image description here enter image description here

The three diagrams will form a circuit that will fly a quadcopter. It contains 3 ICs (accelerometer/barometer/magnetometer/gyro) for drone stability, one IC for detecting current/voltage.

What is more, it has an interface for raspberry pi zero which will generate + communicate a PPM signal (like a receiver) from 4G/Wifi.

I will also keep a list of things that you have suggested for change in this header:

Problems:
1. Sourcing 12V directly into ATMEGA328P Many thanks to Ron Beyer

\$\endgroup\$
6
  • 1
    \$\begingroup\$ Not sure this is the place, but why are you running 12V directly into an ATMega328? \$\endgroup\$
    – Ron Beyer
    Jan 21, 2020 at 13:54
  • 2
    \$\begingroup\$ Upload a screengrab or image here so we don't have to follow a link. It might help to explain what the circuit does and what your concerns are. \$\endgroup\$
    – Transistor
    Jan 21, 2020 at 13:58
  • \$\begingroup\$ Try the EEVBlog forum: eevblog.com/forum Indeed feeding 12 V directly into an ATMega328 is a recipe for disaster. The ATMega will be destroyed on the spot! \$\endgroup\$ Jan 21, 2020 at 13:58
  • \$\begingroup\$ Great spot. I have updated the question and I will keep a list of problems encountered and by whom. \$\endgroup\$
    – bem22
    Jan 21, 2020 at 14:22
  • 1
    \$\begingroup\$ One of the ICSP pins must be connected to the reset pin directly, not through a capacitor \$\endgroup\$
    – Sim Son
    Jan 21, 2020 at 15:48

1 Answer 1

4
\$\begingroup\$

I'll add it as an answer, since the comments are getting big...

  • You should not supply 12V to the ATMega328. 3V3 would be a better choice here so you don't have to use level-shifting on the I2C lines.
  • You are pulling up the reset to 12V, change this to 3V3 as well.
  • You have 2 different grounds defined. This can cause problems and you should probably decide to name them the same or connect them with a 0R resistor.
  • No reverse voltage protection on the voltage inputs
  • VDDA (analog reference voltage) should be filtered, you can use a ferrite bead for this
  • The LED's are using 10K resistors, which may be too high for the 3V3 voltage, they will probably be so dim you can't see them.
  • The Inhibit pin on the LDO should be connected directly to 5V.
  • The input capacitor on the LDO should be between 5V and ground, not Inhibit.
  • 10K pull-ups for the I2C lines are probably too big. You should be using something in the 2.2K-4.7K range.
  • If you run the ATMega and the current monitor chips on 3V3 instead of 5V, you can eliminate the I2C level-shifting.
  • The HMC5883L should have a 4.7uF polarized capacitor on the C1 line.
  • VDD on the HMC5883L should have a capacitor placed close to the power pins.

Also, check the availability of some of your parts. The CSTCE16M0V53 looks to be obsolete/End-of-life.

\$\endgroup\$
6
  • \$\begingroup\$ This is great feedback mate. \$\endgroup\$
    – bem22
    Jan 22, 2020 at 7:24
  • \$\begingroup\$ I started implementing and I have some questions. a) Why polarized capacitor for C1? b) Can you confirm that my level shifter is 2N7002DW? ( I copied this part at my best knowledge). Also, how should I submit my result for more feedback? I think reposting this is not really advised on stackexchange. Again, thank you so much for all the feedback. It's invaluable. \$\endgroup\$
    – bem22
    Jan 22, 2020 at 8:45
  • \$\begingroup\$ Also, what properties should the ferrite bead have and why filtering VDD is necessary? \$\endgroup\$
    – bem22
    Jan 22, 2020 at 9:43
  • \$\begingroup\$ The polarized capacitor is required by the datasheet, the device may use it for some internal circuitry so it's best to use the kind/size it recommends. I honestly believe you should get rid of the level shifter and run everything at 3.3V. The ferrite bead is required for analog circuitry inside the chip to run correctly with a good reference. You will have a noisy voltage source (with motors) so you want to filter the analog side. You might want to ask on meta about how to repost. \$\endgroup\$
    – Ron Beyer
    Jan 22, 2020 at 13:06
  • \$\begingroup\$ Eliminated the level shifter. Running everything on 3V3 now. It was a great idea. Also realized my current sensor was mislabeled. My intention was to use that with the raspi bus (so I will have a separate bus). Here it is. easyeda.com/be.mihai22/project-hawk \$\endgroup\$
    – bem22
    Jan 22, 2020 at 13:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.