M&R 907C Soldering station
A soldering station powered by an arduino nano, which uses the m&r 907c as a soldering handle, it'll have temperature control and monitoring.
Created by
malek2012osama
Tier 3
2 views
0 followers
malek2012osama
added to the journal ago
Quick reminder for reviewer
If you don't allow me to buy the soldering iron handle, I can buy it myself if you'd like. You already gave me a soldering iron and I don't wanna waste your money considering you are non-profit.
malek2012osama
submitted M&R 907C Soldering station for review ago
tty7
requested changes for M&R 907C Soldering station ago
user request
malek2012osama
added to the journal ago
Big hole on 3d model
Also, that big hole is supposed to have a panel mount GX16-5 Connecter / Aviation connecter. It has a diameter of 18.5mm and i couldn't find a model for it, It isn't mounted onto the pcb but ot has cups to put wires in it.
malek2012osama
submitted M&R 907C Soldering station for review ago
malek2012osama
added to the journal ago
Bigger PCB, mounting holes, case changes due to mistakes.
I had to do some big changes, first of all, the PCB, I wanted to add mounting holes since this time I put some tolerance (my dumbass didn't add them in the macropad project) which made the PCB bigger, thankfully it's less than 100x100mm (still 4 layers, meaning it might cost a bit more) BUT my PCB will be held in place now.
Now for the case, I already did some stuff wrong with the case, so I had to change it, then I made it bigger because of the mounting holes, and hopefully it's good enough. I think I'll submit after this.


malek2012osama
added to the journal ago
Finished the UI
it took me so long to make the UI, partially because i didn't know what lopaka is and making UI was hell, and also that i suck at UI design, I took around 3 hours for the no lopaka design (looks bad, I scrapped it)
and like 3 or 4 hours to finish the lopaka design that ACTUALLY looks good

malek2012osama
added to the journal ago
finished the code
I finished the code using the PID method, both methods are stored on my side and if something goes wrong I can just switch till i tweak the code
here's a thorough explanation of how the pid method works
so basically, it all starts with an error value
the error value is calculated by subtracting the wanted temperature by the current temperature
(Error = wantedTemp - currentTemp)
then, that Error value is multiplied by a kp value, the kp value is tweaked to ensure it works properly, it has a default of 2
the product of the Error value and the kp value is going to be a part of the PWM value
(PWM = kp * Error)
then there's the integral value, the integral value has a default of 0, it's calculated like this
(integral = integral + error)
usually if the Error value gets smaller, the less power goes into the iron, so it usually stays at 10 - 20 degrees celsius less than the wanted value, this is where the integral comes in, it keeps getting added so you can reach the temperature
then it's multiplied by ki, which is also something that should be tweaked, it has a default of 0.5
however the integral value and the error value together usally overshoots, and thats where the derivative comes in
derivative is calculated like this
(derivative = error - lastError)
its then multiplied by kd, which has a default value of 0.1 and should also be tweaked.
in the end, it's all put into one float variable, called pid, which is this
(pid = (kp * Error) + (ki * integral) + (kd * derivative))
which is then constrained to then be an integer pwm value
(int pwm = constrain((int)pid, 0, 255))




btw the oled art will be different i'm just doing this for it to be quick also it's late at night and i'm too lazy to draw
malek2012osama
added to the journal ago
Finished part of the code
I finished the code, however i may redo it considering I found about the PID method, I'm using the bang-bang method (don't judge me that's what claude said when i told him to evaluate my code) and supposedly PID is better, so I'll make 2 versions of the code, one for PID and one for bang-bang



malek2012osama
added to the journal ago
Finished the case
also my first time creating a case without a guide, i'm not the best at 3d design, i'll be really suprised if this works. if this works i'll actually be really happy.

malek2012osama
added to the journal ago
Finished a part of the case
I finished quite a big part of the case, now all i need left is to make the top part with the holes it needs, I've already done it but i need to just double check, also i removed the switch from the pcb because i used the wrong footprint and it was too big, I want to keep it at less than 100 mm so the pcb price will be cheap.



since this is a different day, i'll say it's been 2 hours, since it took me 2 hours to do this
malek2012osama
added to the journal ago
Just finished routing the PCB
turns out it had to be a 4 layer pcb, atleast i have a ground plane now.
i haven't actually done a pcb without a guide before but i did so much damn research on this one, i tried very hard so it can actually work.


malek2012osama
started M&R 907C Soldering station ago
2/27/2026 - Just finished routing the PCB
turns out it had to be a 4 layer pcb, atleast i have a ground plane now.
i haven't actually done a pcb without a guide before but i did so much damn research on this one, i tried very hard so it can actually work.


2/28/2026 3:30 PM - Finished a part of the case
I finished quite a big part of the case, now all i need left is to make the top part with the holes it needs, I've already done it but i need to just double check, also i removed the switch from the pcb because i used the wrong footprint and it was too big, I want to keep it at less than 100 mm so the pcb price will be cheap.



since this is a different day, i'll say it's been 2 hours, since it took me 2 hours to do this
2/28/2026 3:49 PM - Finished the case
also my first time creating a case without a guide, i'm not the best at 3d design, i'll be really suprised if this works. if this works i'll actually be really happy.

2/28/2026 9 PM - Finished part of the code
I finished the code, however i may redo it considering I found about the PID method, I'm using the bang-bang method (don't judge me that's what claude said when i told him to evaluate my code) and supposedly PID is better, so I'll make 2 versions of the code, one for PID and one for bang-bang



3/1/2026 12 AM - finished the code
I finished the code using the PID method, both methods are stored on my side and if something goes wrong I can just switch till i tweak the code
here's a thorough explanation of how the pid method works
so basically, it all starts with an error value
the error value is calculated by subtracting the wanted temperature by the current temperature
(Error = wantedTemp - currentTemp)
then, that Error value is multiplied by a kp value, the kp value is tweaked to ensure it works properly, it has a default of 2
the product of the Error value and the kp value is going to be a part of the PWM value
(PWM = kp * Error)
then there's the integral value, the integral value has a default of 0, it's calculated like this
(integral = integral + error)
usually if the Error value gets smaller, the less power goes into the iron, so it usually stays at 10 - 20 degrees celsius less than the wanted value, this is where the integral comes in, it keeps getting added so you can reach the temperature
then it's multiplied by ki, which is also something that should be tweaked, it has a default of 0.5
however the integral value and the error value together usally overshoots, and thats where the derivative comes in
derivative is calculated like this
(derivative = error - lastError)
its then multiplied by kd, which has a default value of 0.1 and should also be tweaked.
in the end, it's all put into one float variable, called pid, which is this
(pid = (kp * Error) + (ki * integral) + (kd * derivative))
which is then constrained to then be an integer pwm value
(int pwm = constrain((int)pid, 0, 255))




btw the oled art will be different i'm just doing this for it to be quick also it's late at night and i'm too lazy to draw
3/1/2026 10 PM - Finished the UI
it took me so long to make the UI, partially because i didn't know what lopaka is and making UI was hell, and also that i suck at UI design, I took around 3 hours for the no lopaka design (looks bad, I scrapped it)
and like 3 or 4 hours to finish the lopaka design that ACTUALLY looks good

3/12/2026 - Bigger PCB, mounting holes, case changes due to mistakes.
I had to do some big changes, first of all, the PCB, I wanted to add mounting holes since this time I put some tolerance (my dumbass didn't add them in the macropad project) which made the PCB bigger, thankfully it's less than 100x100mm (still 4 layers, meaning it might cost a bit more) BUT my PCB will be held in place now.
Now for the case, I already did some stuff wrong with the case, so I had to change it, then I made it bigger because of the mounting holes, and hopefully it's good enough. I think I'll submit after this.


3/13/2026 - Big hole on 3d model
Also, that big hole is supposed to have a panel mount GX16-5 Connecter / Aviation connecter. It has a diameter of 18.5mm and i couldn't find a model for it, It isn't mounted onto the pcb but ot has cups to put wires in it.
3/16/2026 - Quick reminder for reviewer
If you don't allow me to buy the soldering iron handle, I can buy it myself if you'd like. You already gave me a soldering iron and I don't wanna waste your money considering you are non-profit.