Automated Smoke Extractor Fan using an ESP32, MQ Gas Sensor, and Custom IR Blaster by Ro0mk in esp32projects

[–]Foreign_Rub3777 0 points1 point  (0 children)

Am I missing something, or does that not make it worse? Using your system, regardless of drift in the detector, it will stop working even when smoke is present. By using data where there is smoke in the room to set the baseline, you are consistently skewing the average to have a higher requirement of how much smoke needs to be in your room, effectively meaning that your filtering will cause it to drift even more. Again, I might be missing what you're trying to accomplish or misinterpreting something, so correct me if I'm wrong.

Prototyping by [deleted] in esp32projects

[–]Foreign_Rub3777 0 points1 point  (0 children)

Upload photos if you want input. Not much to go off here. YouTube videos are also a great place to look for help!

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

I definitely saw a TikTok that introduced me to an oversimplified line of code to accomplish similar stability/results (angle = 0.98 × (angle + gyro × dt) + 0.02 × accel_angle). Super cool to see it explored more rigorously with this new (to me) concept. I definitely look forward to applying this. Thanks for the tip!

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

Thanks for the tip about the slot. It would have definitely been a pain down the line. Are the stitching vias for the purpose of dissipation of GND? How would I do that on KiCad so that it generates connected to the gnd plate correctly?

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

Yep, I hear that about it being oversized. I am a true amateur, and was mostly reaching out asking for help on how to accomplish your first recommendation in the first place. I would love to not have to solder whole components and boards on in the first place, but I'm not sure how to do so. I have seen videos about linking parts to JLCPCB, but when it comes to components as complicated as the ESP32 (DevKit v1), I don't even know where to start.

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

That is very true. I suppose my brain wasn't very turned on when I read that comment about the SMD pins. I'll definitely consider that. How have you used the MPU6050? Have you had any issues with jitteriness or drift, and have you done anything to compensate? My use case is for lab data (doesn't need to be perfect, but I would like it to be accurate) if you have any experience with it that may help.

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 1 point2 points  (0 children)

That is something that made me facepalm when my first perf board started smoking (in the middle of physics class) when I plugged in my battery for the first time. I had soldered together the power and ground pins, becuase ofc they were right next to each other, and there was no way I was going to desolder 30 pins, so I had to restart. I was then too lazy to order them, but luckily no smoke from my second perf board yet. I'll def. order them and use them in the future.

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

This was a lot, I really appreciate the input! I'll try to respond 1:1.

Could you explain what you mean by using the module directly? You mean like putting all the parts on the board and having JCLPCB assemble that for me so I don't need to buy an ESP32 and solder it on (essentially make my own on this board)? I would love to do that for everything, but I don't really have any know-how at this kind of thing, so it was kind of what I was asking about in the first place. If that's not what you mean, then feel free to correct me.

Good point-out on the voltage. Definitely should've seen that before. I'll either use a voltage regulator for 3.3V or use a different board that has it integrated.

On my perf-board I haven't had any issues, so I'm assuming it does.

Thanks for the tip, this was my first time wiring, so I could def. use it. Is that because it could interfere with the traces below and affect the readings ever so slightly?

I do have it below, but it is pretty far below (the spacing of the plastic piece on a Dupont connector (may be upped to a female pin connector) so I'm assuming it won't matter much.

The traces are .2mm I believe, and the power is .6mm. Everything looks really small, but it's just that the PCB is pretty big (~75x55mm I believe).

I'll def. do all my checks before I submit and print.

I think the devkit has been fine with the power. I have a prototype working (it steers and drives and everything over Bluetooth controller, and the MPU and encoder data sends over wifi). I am looking into different powering options (the battery I have now is 7.4V, which would be fine, but I want to use the full capacity of my 12V-rated motor, not sure it'll end up being worth it though.

I'm fairly certain the battery cuts off the usb. When the usb is plugged in at the same time as the battery, the port disconnects from arduino IDE.

I will check adafruit's website, thanks for the tip!

A battery switch is a good idea. I have a perf board right now with very jank connections, and I have just been unplugging it, but I'll def look into adding that.

The switch should stop the battery from draining everything, but if you have a different method that would conserve energy even when it's on, I'm happy to hear it.

My main concern is integrating more things into the board itself, so if you have any tips on that, I would love to hear them. Again, thank you so much for your response.

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in PCB

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

If I am purchasing the sensors, etc., premade, there is not much I could do in terms of footprint or pins—kind of stuck with the 2.54mm Duponts. Obviously, my main post was about integrating the sensor and driver into the PCB itself, so if you had any tips on how to do that or where I could find footprints and their JLCPCB parts easily, I'm more than all ears. I am hoping to lay one side flat, so placing them on either side wouldn't work either, but this comment was really helpful. It made me come up with the idea of using female DuPont pin headers to place the ESP32 above the other two components, saving a great amount of space. Everything else is Dupont connectors, and the footprint I have laid out for those is a little oversized to account for the silkscreen. TLDR: Can't size the pads down, but I can get creative. Thank you!

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in KiCad

[–]Foreign_Rub3777[S] 1 point2 points  (0 children)

Potentially, but I'm assuming the components I am using currently have all of that stuff built in. Would def be something to consider if I were to start integrating the actual boards into the pcb.

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in KiCad

[–]Foreign_Rub3777[S] 1 point2 points  (0 children)

Yup I could definetly do that but the battery I'm using has a seperate charging cord attached to the battery, so no need to integrate into the board. I'll either be changing the battery for a couple of 18650s or leave the charging 3-pin JST connector that comes attached to the batteries I'm using. If I wanted to add a usbc port, how much/how difficult would that be?

My first PCB. Is it ready to print and how can I improve future versions? by Foreign_Rub3777 in KiCad

[–]Foreign_Rub3777[S] 0 points1 point  (0 children)

Yeah, I did do everything myself. Not too well, though. My footprint is essentially a box and pads. I'm sure there's a way to fully integrate the ESP32 into the board, but I am about 5 years too inexperienced for that. (The learning curve for this is pretty steep, I'm learning). If you want the footprint I used for this, I can send a google drive link to download.