Building a PCB, need some help, a lot of questions

Hello everyone!

I have built a PCB that does everything I want it to, but now I need to cut costs. If you guys could give me a hand with that I'd appriciate it a lot as I don't have much time left for trial and error. So here is what I need the PCB I design to do:

1-It needs to read 3 temperature sensors (NTC like).*
2-It needs to have a SIM800, an ESP8266 and an ethernet connection (This is actually 3 different boards, one has only SIM800, one has a SIM800 and an ESP8266, one has SIM800 and ethernet connection).
3-It needs to drive a 4x20 display preferably over I2C, or if it's possible a GLCD.

Now like I said, I've built this PCB, it's on my desk right now with everything I want. But the thing is, this thing costs too much as I am using an Arduino Mega 2560 instead of just a ATmega2560, a SIM800L module instead of a SM SIM800 etc etc. So instead of just putting this out like that, I'm thinking about using an ATmega2560 or an ATmega328P. If it's possible I'd rather using direct SMD chips for everything I mentioned above actually. What I'm asking you is, as I've never actually done it before:

1-Let's say if I were to use an ATmega328P, mounted on a PCB, what is the easiest way to burn a bootloader to that (a schematic would help really, I'm a programmer and not an electrician and when someone says put a diode between something and something I really can't wrap my head around it without trial and error)?
2-If I succesfully burn a bootloader, can I use my Arduino libraries that I use on normal Arduino boards?
3-I believe if I was able to burn a bootloader, I can program it the same way, am I correct?
4-Right now I have ESP8266 attached on Hardware Serial, should I change that to Software Serial? Is using Software Serial even possible in that case?
5-For devices like SIM800, ESP8266, LM2596 and ENC28J60 I'm just thinking about copying their board from a datasheet to mine, would that work?

I'd really appriciate any advice, about any connection that I need to do on the devices I mentioned above. If you have something you have about the ESP side, please enlighten me, I have never ever worked on a project like this before and I really really don't have much time to do trial and error.

*Some temperature sensors need to read temperatures below -55 which is under the limit NTC can read. I'm thinking about using PT-1000s or PT-100s but if you have a suggestion about that too, I'd really really appriciate it. Also I will probably need to read humidity in some cases but I know PT sensors can't read humidity, I was thinking about just a basic humidity sensor to accomplish that.

That was a long one, thanks for reading it! Have a nice day!

create pads on your pcb and use a usb-ttl module. I use pogo pins connected to a circuit board to program mine.
If you want to be lazy I know that pcbway sell ready made pinned modules that you can connect your ttl module to. You may find them elsewhere but I saw these the other day.

https://www.pcbway.com/project/gifts.html

Hobby or commercial?

Because for hobby (aka, buying in China) using modules is probably cheaper than using the IC's itself. Also less to solder.

And why use a ATmega at all if you have a wayyyy more powerful ESP? It can handle everything you want.

septillion:
Hobby or commercial?

Because for hobby (aka, buying in China) using modules is probably cheaper than using the IC's itself. Also less to solder.

And why use a ATmega at all if you have a wayyyy more powerful ESP? It can handle everything you want.

It's for commercial use, so cutting 5 dollars on a chip means a lot to me to be honest.

How many inputs and outputs does an ESP have? I need around 6 analog inputs at least for the humidity and temperature sensors and also, I'm not planning to use ESPs on every board. I guess it's a cheaper alternative but still I have never programmed one directly, and would love to keep my libraries that I used programming the Arduino.

you could use an arduino mini for $1 or a arduino nano for $1.50

Sounds to me like it will just be cheaper to make two or three different boards... I think that will be cheaper then to have a more complex board and use "too many" components on some.

And most libraries will work with the ESP as well. And you can just program it via the Arduino IDE if you install the custom board definition for it. The support for that is pretty damn good.

And yeah, an ESP8266 has just a single analog in but you can just add a 2 cent multiplexer to the board. An Arduino Mega also only has a single ADC multiplexed to some pins.

bruton:
you could use an arduino mini for $1 or a arduino nano for $1.50

Arduino Pro Mini looks damn good to me to be honest. Price is great. As far as I understood it has SPI for ethernet and I2C for LCD. Software Serial can handle SIM800 and ESP. 8 analog pins, 2 of which can be used for I2C still leaves me with 6 analogs which is exactly what I need tops. Thanks for the suggestion man.

septillion:
Sounds to me like it will just be cheaper to make two or three different boards... I think that will be cheaper then to have a more complex board and use "too many" components on some.

And most libraries will work with the ESP as well. And you can just program it via the Arduino IDE if you install the custom board definition for it. The support for that is pretty damn good.

And yeah, an ESP8266 has just a single analog in but you can just add a 2 cent multiplexer to the board. An Arduino Mega also only has a single ADC multiplexed to some pins.

I have never used a multiplexer, shouldn't be that hard. I suppose I can handle SIM800 with Software Serial as well, but does ESP have SPI interface for ethernet? If I'm being a complete idiot here please excuse me.

Edit: Also do we have a I2C interface on ESP? Thanks man!

Yeah, ESP has both SPI and I2C. And a clock 10 times as fast as a Uno/Nano/Pro Mini. Even has a second UART if I'm not mistaken.

septillion:
Yeah, ESP has both SPI and I2C. And a clock 10 times as fast as a Uno/Nano/Pro Mini. Even has a second UART if I'm not mistaken.

Thanks man I'll try to figure rest out. You both were really helpful thank you both!

septillion:
Even has a second UART if I'm not mistaken.

You're actually half mistaken.
The second UART is TX only (on GPIO2 - it's meant for debugging), so it's basically half a UART.