You are browsing as a guest. Sign up (or log in) to start making projects!

STM32F407 Dev Kit

Hardware
  • 2 Devlogs
  • 29 Total hours

A Dev kit around the STM32F407 with STM32F103 debugger, ETHERNET, USB-OTG, Mic, Audio output, I2C and 2 DRV8833 motor drivers; all packed into a single PCB!

$250 X Tier

Waiting on a reviewer. We'll let you know as soon as there's a decision.

Open comments for this post

2h 28m 18s logged

Add prices to BOM

While going through the requirements before submitting, I got to know that I must include prices and the total cost in the BOM too. So, my BOM already had the exact quantity required for a single PCB. But as almost all parts were SMD, and some were even QFNs or smaller, I needed some spares. Because I don’t really have a good history with QFNs and extremely tiny packages. So, I made another column for Quantity including spares. I added 1-4 spares for 0805 LEDs, resistors, inductors and capacitors based on how many were used. For example, I was using 39 100nf caps, so I added 4 spares to get 43 while only 1 2nf cap was being used so it had 1 spare only. I had the headers with me, so I set their quantity to 0. I did the same for the CS43L22. The two crystals are a bit harder and they had 2 spares each. I listed 6 spares for the QFN as somehow, QFNs just get blown away, or burnt out or misaligned most of the time. I could of course use assembly from the Fab house, but that would end up being more expensive and I don’t gain any soldering skills. Then for the two STM32s, I only had 1 spare each as LQFP packages are much better than QFNs. The ETHERNET connector didn’t need spares at all. It is such a big package, that too through hole, so, that’s quite easy. I was also about to keep no spare for the B2B-XH-A(LF)(SN), but I remembered how easily it’s plastic melts if it accidentally gets touched by a soldering iron. Accidents happen! The TBC was supposed to receive the power, and it is also relatively easy to solder. But as it is such a critical part, and the whole board relies on it, I added a spare for it too. The ESD diodes just needed 2 spares only. They are neither too small, or too large. Then while writing this out, I suddenly remembered that I also had to include a power supply. I had already decided on the LRS-100-12. But Digikey didn’t have it, and I was using Digikey to source all parts, so I had to look for a replacement. I could go with the RS-100-12, which is the older generation of the LRS-100-12, but it is less efficient and bulkier. So, I used Digikey’s part browsing tools, and decided to use the PMT-12V100W2BA which seems like a drop-in replacement for the LRS-100-12, looking at it’s specs. Anyways, after that, my BOM was finally done! Now the requirements also says that I must also have firmware in the project, but as this was meant to be a generic dev board that can be used for anything, I didn’t think it was right for this to have one. For some components, digikey had quantity discounts, and buying at that quantity was cheaper than the quantity I needed, so I added in the cart that way, so the overall price is reduced. Also, as the total amount now exceeds ₹7000 (around $73.75), shipping is free! The BOM now says $220.81. I went to the JLCPCB to get a quote, and noticed that on the JLCONE desktop app, it’s cost around $2 less. Respecting the Code of Conduct, I downloaded JLCONE. Then I checked out the cost by a reputed Indian manufacturer, Lion Circuits, and the price was $29.01. JLCPCB is known to be one of the cheapest manufacturers, but with shipping and other hidden cost, it was turning out to be slightly more expensive. Shipping was free. So, the total cost now, is $249.82.

0
0
22
Open comments for this post

26h 49m 1s logged

Completed Project!

This project was quite more complex than all my previous ones, and it turned out to be even more complex than I expected. So, I decided to firstly make a block diagram for the whole project.

Alright, the STM32F407 was at the center. Then the F103 was supposed to program the F407. It further had a USB port (for the F407) and a JTAG header (for flashing the debugging firmware onto it). Then the F407 was also connected to a USB port, utilizing it’s USB-OTG powers.

Alright next, I have two DRV8701E motor drivers. I couldn’t use the widely available, cheap L293D
motor driver as it was too underpowered. Later, though I decided to keep only one motor, to reduce complexity. I didn’t remove it from the block diagram or power budget, so that I could upgrade whenever I wanted to. The motor driver needed 4MOSFETs each, and then it was connected to a plug to be connected to motors.

I also needed a ADC. For that, I decided to go with the ADS112C04PW/PWR. They are drop in replacements with near-identical specs.

For Ethernet, I chose the DP83826 and the MII interface as I didn’t require much high speeds. It is connected to a RJ45 connector with in-build magnetics.

Then comes the audio section. I firstly have a DAC that can connect to both Stereo speakers and a headphone jack. Then, I have a MIC for voice input.

Alright, so with so many components, I can’t use just any power supply due to the high current. So along with the block diagram, I decided to make a power budget too.

I firstly started with a +12V I/P connector. Then, I added the two motors that draw 3A each. After that came my +3V3 buck converter. To the buck converter, I connected the F407, F103, CH340C, DP83826, ADS122, DAC and Mic.

I referred to each of their datasheets to get the peak current they can draw. The peak current is the maximum current a chip can safely draw while the average current is the current it draws under normal use. The peak current usually happens during power on and when it is activating a new peripheral. So when calculating power, the peak current is always used.

I then added all the peak currents to get roughly 475mA. To calculate the input current, we need to first calculate the output power.

Output power = Vout * Iout
= 3.3 * 0.475
= 1.5675W

Input Power = Vin * Iin
= 12 * Iin

Efficiency = 90%
=0.9

Output power = Input Power * Efficiency
1.5675 = 12 * 0.9 * Iin
Iin = 1.5677/10.08
= 0.1555A
= 155.5mA

Now, the total IP current is (2 * 3) + 0.1555 = 6.2A. For this, I’ll take a margin of 25%, so
(6.2 * 0.25) + 6.2 = 8A. The closest standard power supply current is 10A, so I finally came at +12V/10A for my I/P connector.

Now, I also designed the schematic page for each of the listed part, and also made a PCB, but even though I want to, I can’t devlog it here as I’m reaching the max characters limit here. Though I can say that the datasheets were my best friends throughout this project, especially the pin description, typical application diagrams, and the recommended layout sections. I don’t know why I can’t like refer to links and then journal my work, like I can in Lapse. But I later realised that devlogs had to be written as soon as I synced Lapse with Hackatime, which I will keep in mind from next time. By the way, thinking of Lapse, to journal my work properly for this project, I’ll use Forge. This project was originally meant for Forge, to be honest, but when I got to know about the 30 hour certificate, I created a Stardace project too.

0
0
39

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…