DIY Arduino/NRF24L01+PA+LNA/MPU9250/BME280: advice/your experience?

Hello All,

I have been using Arduino for a while now and I love it, but I've decided to try making my own board will all components on it. A quick disclaimer - I have approximately no idea what I'm doing. I've done my research, sure. But I don't have any real experience here, so I may have made some design faux-pas that the datasheets don't really get into.

From the title, you might have guessed: I'm making a flight controller. I'm hoping to do away with all of the extra pin headers, etc. I'm planning to just cut my own board on my cheap 3018 CNC. I've made several test cuts and done surprisingly well at getting all the features I need, with traces at 10mil and all the IC pads there.

I'll be using the ATMEGA328P-AU microcontroller, following the schematic available on the Arduino site (although using a 16MHz clock with integrated 22pF capacitors). Initial bootloading will be done before installing the chip, and then I'll program it using the D0/D1 pins and an Arduino.

I also want to include an NRF24L01P, following the schematic at nRF24l01+ 2450BM14A0002 + RFX2401C + 2450BP14D0100. Using VDD_PA pin for controlling PA/LNA. - Nordic Q&A - Nordic DevZone - Nordic DevZone (giving credit where due; my schematic is below). I'll have a u.FL antenna connector to increase range.

To make a proper flight controller, I also want to include an MPU9250 IC (following minimum schematic on datasheet), as well as a BME280 (BME not yet included in schematic - I got to here and thought maybe I should ask if I'm wasting time with an unrealistic goal).

I'll have 4 servos (may add more in future) and a single BLDC ESC/motor. I originally wanted an integrated ESC on my board, but I think that might be a bit much. The (separate) ESC will have power leads soldered to the pad with the battery leads so I don't need to worry about over-current on traces. I'll run a 2S Li-ion battery. 5V and 3V3 are supplied by AMS1117 regulators (I may need a second of each voltage to ensure good supply to the servos (5V) and the NRF24 (3V3). My board will be double sided, allowing for a large ground on both the top and bottom layers (not shown on the board image for clarity, but it's there, with vias connecting at several points), as well as vias for a few traces.

My question is: would anyone who has tried this, or something similar, before like to share how their experience went? Or, if you have designed boards, what are some tips that a less-experienced person might not know? There are quite a few DIY Arduinos out there, but I haven't found one that integrates everything. I'm not too worried about anyone checking/analyzing my schematic, but more general board layout. Thanks!

While I applaud the tenacity to attempt manufacturing your own PCB's I think you should reconsider. Buying PCB's from China is so dirt cheap nowadays and the result is so much better than you can do yourself.

How much soldering experience do you have? Have you worked with QFN packages before?

To me it does seem like you might be biting over a bit more than you can chew, but if you're determined I don't mind giving some tips.

I have definitely considered buying the PCBs and a solder mask so I can easily go the solder paste route. I originally thought I would have to do that given just how tiny some of the pads are, but tweaked the CNC settings to get something acceptable. I figured I would try it once as there's something extra satisfying in making things harder on myself, and then when it proves impossible outsource some of the complexity.

I have a bit of soldering experience - I've made plenty of Arduino shields, but they all have much larger solder points. This is definitely a 'learn to swim by jumping in the deep end' sort of thing, but I'm pretty comfortable with failure. Any tips that could keep my head above water longer would be much appreciated though!

I think you mean solder stencil, solder mask is applied to the board to help avoid solder bridges. It's not only that they're tiny, the MPU9250 has a pin pitch of only 0,4mm! That's gonna be a nightmare to solder if there's no soldermask on the board. It will also require the board to be very even, so even small imperfections from the drilling could potentially cause problems. You're also gonna want a two layer board for a design like this, since it's gonna require a proper ground plane. I advise you to have this design manufactured properly at a board house.

Do you have a heatgun or reflow oven? QFN's have solderpads on the bottom on the package, you won't be able to solder them with a regular iron.

I totally get the learn by doing thing since I'm the same way. It's late but I'll take another look tomorrow.

I definitely meant solder stencil. I updated the schematic/board after a bit of testing - the AMS1117 is definitely not great for large voltage drops and current as it heats up, so I traded the battery -> 5V with a switching regulator. I kept the 3v3 AMS1117 as I won't be pulling as much current on that, plus it's connected to 5V rather than battery voltage. I also added a 1.8V regulator as the 9250 MPU is obsolete and has been replaced with the ICM 20948 which is 1.8V logic.

I also included the switching regulators to go from 5V Arduino signals to 3v3/1.8V signals (glad I checked the breakout board schematics, that was a big lapse in brain use - yes I borrowed those for my schematic). The ICM 20948 and BMP388 will both run I2C as it's a bit simpler to implement.

I went ahead and bought all the parts and ordered boards from JLCPCB (I decided that solder mask is a must after playing around a bit more, the CNC just doesn't cut it), and I have solder paste and a heat gun. I will let you know what gives off blue smoke first in about 15 days.

Schematics and board layout are below.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.