If you want to get into soldering, do yourself a favor and invest in a good station, iron, and tips. If you want to de-solder, good quality soldering wick is also really important (I use chemtronics).
I was lucky enough to snag an old Metcal from work for free, and it's fantastic. The way they work is really cool too: it sends a high power RF signal (i.e. AC voltage) to the coil in the tip. Because of the skin effect and curie point, it will heat up until the point where the coil loses it's magnetism, resulting in a self-regulating tip temperature that doesn't need a thermo couple! [1] It responds very quickly to thermal loads, too. It's an expensive system to be sure, but totally worth it especially if you can find it used. They're also great about support even for older units, and you can get the entire schematics online if you need to make any repairs.
You can spend a lot of money on a good iron, but you probably don’t need to. The pinecil is shockingly good for the price. And I mean that it is competitive with a nice Hakko at literally $800 less. It’s not perfect for all situations, but if you’re doing anything short of soldering all day everyday, spend $40 and get a Pinecil off Amazon. Learn how it works, and get an appropriate stand for it.
I agree that nobody needs a multi-hundred or thousand dollar iron just to learn on, but I think your rec of the pinecil for beginners is a bit flawed.
To start with, the fact that the manufacturer includes the instruction set and address space size before the heat-up time makes me pretty skeptical. I get that its hackable, and that's cool and all, but as with all "smart things", I care about the "thing" part way more than the "smart" part. I can implement a PID controller in about 20 minutes (maybe an hour if I need to bit bang the pwm output) on any number of microcontrollers; that's the easy part.
Also, the USB-C power supply is going to be nothing but a headache. I already have drawers and drawers of usb cables that can't handle the current I want to use, now I need to keep careful track of my soldering cable, which only performs at 60W over USB (and at best 90W using a barrel jack supply)? And the iron doesn't even come with a power supply, so you have to go source that too. It may be $40 for the iron, but then its another $10-40 for the power supply, plus (as you say) an appropriate stand, brass sponge, etc, etc. Suddenly, the dedicated station like the (very affordable Hakko FX888D-23BY) starts to look pretty good.
The pinecil seems like a good thing to keep in your crash bag, but it feels a bit like refusing to buy a power drill because your swiss army knife has a screw driver.
I don't care at all about the hackability of the pinecil but I think it's excellent. I have a Hakko FX880 and a "T12 clone" and I have not used them in years now because the pinecil is just as good for anything I do and it's so much more convenient to unplug my laptop and plug in the pinecil when I need to solder for an hour. Plus the tips are good and cheap.
I've not had any trouble using a random usb-c cable or laptop usb-c charger. But I recommend the pinecil silicone cable for $4 that won't get burnt.
I never bought the Pinecil because I already had its predecessor the TS100 which uses the same tips and it does its job perfectly. It lacks USB-C though.
If you buy direct from Pine64, you can get a stand for an extra two bucks. A brass sponge is what, another two dollars? And many hackers likely already have a GaN charger or Apple charger.
Great, perfect for the would-be hacker who bought an arduino and some random breakout board! All that stands between you and a dodgy temperature sensor is a [checks notes] spare laptop power supply! Who doesn't have one of those just laying around prior to embarking on a career of hardware hacking?
My criticism is that, as a first soldering iron, you shouldn't have to have a bunch of background knowledge just to know what parts are missing. They should at least sell a kit with all that stuff.
> My criticism is that, as a first soldering iron, you shouldn't have to have a bunch of background knowledge just to know what parts are missing. They should at least sell a kit with all that stuff.
I guess that's fair for someone who is completely new to the world of electronics such as teenagers or older people who just never really did a lot of tech stuff.
But for many tech-y people without a soldering iron the Pinecil is fine; I don't currently own a soldering iron and I've never really been into electronics, but the Pinecil would be brilliant for me because 1) I know about tech-y stuff in general, and 2) I do know the basics of electronics and how to solder. I think this probably applies to most of the sad losers on HN who don't own a soldering iron.
In general Pine64 is explicitly aimed at hobbyists and people who "know what they're doing" rather than the mass market.
You need some way to power the stuff you're going to build, so why not just get a multi-output charger that can run the Pinecil and also power your project and charge your phone?
Now that USB-PD triggers, and ESP32 Arduinos with USB-C exist, I think it makes a lot of sense just to use them for almost everything.
It’s the shipping. Amazon is subsidizing the shipping in the price. There’s an advantage there that you can get it in a couple of days instead of weeks.
I don't think this is a good idea at all. This is like saying you should buy lifting shoes, a belt, a pair of gloves and bands before you go to the gym for the first time. Literally any setup that does the job is fine when you're just getting into it — you don't know what you don't know and having a cheap entry point is a good way to figure out if you like it at all, what kind of a workflow works for you, etc.
Absolutely. I can personally attest to the fact that $5 soldering iron is good enough for most common (non-smd) jobs. I've seen people do smd soldering with a big chisel tip, even a soldering gun, but it takes training. But I get OP's point. It's extremely frustrating if not impossible to do the job if the iron is super bad, if the flux or soldrr is bad etc.
For a beginner, a soldering station or a high-tech iron is absolutely not necessary. You just need a non-garbage iron, some decent quality lead-rosin solder and a decent amount of flux (cheap rosin would do). Nevertheless, having high-end tools will make things much, much easier and simpler. But at the same time, I believe you'll get a great training if you learn things the hard way.
Back in the day, one of my friends built a Spectrum-compatible computer from parts, using a piece of laminate board without foil, some thin wires, and a 60W soldering iron, in a college dorm room.
The fact that it can be done does not make it particularly convenient or easy, especially for a novice (my friend was pretty experienced with electronic assembly by then).
This blows everything sold at Microcenter or at this price point out of the water - ~$100 is a pretty cheap entrypoint compared to the FX888 that has been touted for decades.
Using a cheap soldering iron is not even remotely as dramatic as you make it out to be though? If you're working with expensive parts, sure you want your equipment to match, but a beginner won't be doing that. A beginner will have a 555, a few resistors and two airwires and honestly you could solder that with practically anything.
I think there are some people in this thread which started soldering before soldering irons with temperature control were the norm. It makes a huge difference indeed, but now practically all have it and they are cheap.
And since I didn't see it mentioned I recommend starting with leaded solder (and good ventilation always).
> Literally any setup that does the job is fine when you're just getting into it — you don't know what you don't know and having a cheap entry point is a good way to figure out if you like it at all, what kind of a workflow works for you, etc.
Lifting isn't a good analogy. Learning guitar is a better analogy.
Sure, you can learn on a $100 guitar, but it's gonna suck. And, it's going to impair learning to play guitar. The action is going to be high and stiff. The frets are liklely to be finished badly and the fret ends are going to be sharp. The pickups are going to be crappy. The finish is going to either be thick or non-existent. The tuners will probably not hold tune through a single song. Strings will buzz because alignment is off.
A $500 guitar, however, likely won't have any of those issues. The action will be lower. The frets will be finished properly and the fret ends will be filed off. The tuners will hold tune for weeks--your strings stretching will be your only tuning issue.
The difference between a $100 and a $500 guitar is like night and day. The guitar becomes enjoyable rather than something to be worked around.
Is this based on experience? I've taught soldering to a number of people, and a certain level of equipment really makes it go better. Especially with lead free solder. The basic setup is not exorbitant.
Well, if you get something cheaper and of less quality, there's a higher chance that if you mess up, as a newbie, it'll be harder to figure out what the problem is.
It could be just faulty, or it could be a mistake on your end.
Edit: Reading the other comments, it seems I'm mistaken about this.
The new generation of cheap Chinese soldering stations are remarkably good. They're fully compatible with Hakko T12 or JBC T245 irons and tips, so you can use a genuine tip with pretty much identical performance at a fraction of the cost.
The Miniware-style portable irons aren't quite as good, but they're incredibly convenient because they'll run from a USB-PD power bank or a surplus laptop PSU. A portable kit that fits in a laptop bag and costs under $100 isn't dramatically worse than a high-end soldering station for most applications.
For SMD work, the most important tools that you haven't mentioned are alcohol swabs and flux. When you're dealing with tiny pads and fine pitches, there's very little margin for poor wetting - you need scrupulously clean and generously fluxed surfaces to get a reliable fillet.
There are also a variety of inexpensive temperature-controlled hotplates available from AliExpress, which are excellent for simple reflow soldering or pre-heating a board with a lot of copper. It's not absolutely necessary if you have a toaster oven with a trustworthy thermostat, but preheating makes a lot of jobs vastly easier and less risky.
I recently converted a cheap consumer toaster oven and a hot-plate to PID controllers- I wouldn't expect their thermostats to work at all.
In both of them, the adjustable bimetalic switch that controls temperature either at the surface of hot plate or inside the oven... is located right next to the switch itself- quite far removed from the temperature it is supposed to control.
It also means that the actuation temperature varies with room temperature and airflow in the room.
I'd argue that a good quality iron is important over the station, such as a TS80p or (I haven't personally used, but looks to be a good clone) the PinePencil over any cheap station or soldering iron or knock-off station in midrange ($100-150) pricing would be ideal for most people starting out. These irons are far superior to many good quality stations I've used and are more flexible in use than them as well.
I do agree though that you should really look into good solder, flux and desolder wick at the least too since when you're starting or experimenting mistakes happen and rework is just much more manageable.
I have a TS80P and love it. It's far more powerful than the wattage would otherwise indicate. It heats up - to a precise temperature - in seconds. It is indeed superior to most soldering stations I've seen or used.
However, if I were to buy again, I'd probably go with TS100 (cheaper, seems to have a larger user base, cheaper tips and XT60 connectors are pretty flexible for DIY and simpler than USB-C) or Pinecil (cheaper in general and users are rabid fans).
EDIT: from the IronOS page, it seems that the TS100 is no longer recommended...
"Please note that Miniware started shipping TS100's using cloned STM32 Chips. While these do work with IronOS, their DFU bootloader works terribly, and it is hard to get it to successfully flash larger firmware images like IronOS without timing out. This is the main reason why the TS100 is no longer recommended."
It's thanks to heater/thermocouple in tip. It allows it to react far faster to temperature changes than old style of tips that were just a piece of metal.
I've been soldering for over a decade now, and the thing that I think matters more than anything is the solder itself.
You can do perfectly decent work with a shitty 40w pencil iron, the tip included in the pack and sone Jaycar home brand wick.
But if you cheap out on the solder, or opt for lead-free when you don't know what you're doing, you're going to have an awful time. Would strongly recommend Multicore leaded, or at the very least something a bit thicker (~1mm) with rosin core. The thin stuff that requires external flux just isn't good for beginners. It's hard to work with and your repairs will degrade over a 1-2 year period.
(That said, I don't regret dropping $x00 on my FX-888 and FR-301 which have resurrected thousands of things between them; just don't think they're strictly necessary for someone just looking to fix some random item for the first time.)
For hobby work, the TS100 is good enough. I enjoyed mine for building keyboards, until I found a used Hakko FX-888D and have been a very very happy user of it for years.
A JBC iron is spendy but great. The heating element is in the tip, similar to what you described though I don't know if it uses RF. Soldering with it is super easy, requires very little skill, mostly just remembering to use flux.
However, a reflow oven is sooo much easier. I use a Controleo 3 modified toaster oven. It sounds hacky but it really works great. There's not a better solution for the small size at any price.
Aye, though it mentions fixed temps and my CD-1BQF is variable 90-450C. Don't know if it's induction but it heats up so fast it's at temp by the time the tip moves from the holder to work.
The newer ones have similar advantage; while the old ones had thermocouple in the handle and tip being just a piece of metal, the new ones have tip with integrated heater and sensor, putting it way closer to the tip and thus reacting super-quick.
Having just done some soldering yesterday, may I say: I am a bit appalled at the idea of soldering irons having (or needing) firmware. Mine, I plug it in, it gets hot, and I solder things.
In particular, for portable soldering irons the whole "plug it in" part is not simple. The small irons that are the target for this software predominantly use batteries, USB-PD, or QC for power. The former needs voltage measurement and cutoff, and the latter have negotiation steps before drawing high power.
This firmware also controls tip temperature with a PID loop, whereas a classic 'dumb' temperature-controlled soldering iron might use a thermostat with on/off control.
These "smart" irons also have an automatic shut-off if they're not being used, which is based on an embedded accelerometer, so the firmware needs to be able to filter the noisy IMU data into a reliable on/off signal.
Smart irons also have a configurable target temperature, so they can be adjusted to work better with the particular solder alloy you are using. Their cost is more like a dumb iron, with functionality like an expensive soldering station.
> This firmware also controls tip temperature with a PID loop, whereas a classic 'dumb' temperature-controlled soldering iron might use a thermostat with on/off control.
I'd imagine on-off being perfectly fine for thermocouple-and-heater-in-tip, as you have very short feedback loop there
Also, I can understand for some the cable being quite annoying. In electronics class in highschool, a few soldering irons got wrecked by students melting the cable insulation and sparks would fly.
Mine, I plug it in, it gets hot, I solder things. I put it down, it starts cooling immediately. I pick it up, it's hot again in ~2 seconds. I need more oomph for a bigger component, I push a button and it jumps to my second pre-set temperature. It'll go back to my main temp if I put it down again to grab the next component.
I don't yet have a use for Bluetooth, but I do have a few BLE buttons laying around (they're dirt cheap and last years on a single battery), and I can see e.g. having a dedicated button per temp (or perhaps to switch calibration profiles for different tips) could be useful if I did a lot of soldering.
It's minor stuff, not playing Doom while using motion controls. Hiding this kind of control in a proprietary dongle (i.e. the base) is much worse than it being programmable.
Additionally, the firmware is going to be handling temperature control, in this case with a PID loop. This results in more consistent and precise temperature at the iron tip whether you're working with a small component or a larger one which is sinking a ton of heat, which is always a good thing.
I've just held onto random ones I've run across, e.g. itags have been reasonably popular for a while: https://devices.esphome.io/devices/ble_itag and during BLE / IoT bursts of hype random things are sometimes handed out for free at and around events (not often programmable, but that's usually fine - they broadcast a unique ID when powered / when pressed, that's all you really need).
I also have one of these because I get a lot of use out of newsblur and figured I'd support the maker (I don't actually recommend it because it's pricy and not very well supported... but it's functional and flexible): https://www.kickstarter.com/projects/samuelclay/turn-touch-b...
IKEA Symfonisk is 50mm round but it has press and rotate. I was actually thinking of Aqara WXKG11LM. It's 45mm square with round corners, but only 12mm thick.
Otherwise you can look at the Picoclick. It's 18x22m (height unknown) with no enclosure, with is 20.6x22.6mm and 11.6mm tall. Smaller than that is probably hard. I have never seen the Picoclick in stock, so you might have to build it yourself. It seems like a neat product, it's too bad the creator doesn't make it available.
My JBC has a lesser temp (like 150C) that it holds for a little while when returned to the stand. This is supposed to extend tip life. The heating element is in the tip, so the tips are spendy.
Most middle and high end soldering irons have had digital control loops run by microcontrollers for decades and that has serious advantages over a "dumb" iron (though there are some analog closed loop systems like Weller). The targets for IronOS are mostly small portable irons with compact screens and controls that have to be run by something, so at least you can run open source firmware on them.
Edit: Though to be fair, I think the popular ones already have open source firmware from the manufacturer but I may be mis-remembering.
I run kit assembly workshops at Vintage Computer Festival East and bring a bunch of Hexacon temperature controlled soldering stations. I've had a number of comments on how much better 30-40 year old soldering stations perform than various USB/battery powered options. There's no firmware in there, just IIRC a quad comparator, some passives, and a triac.
Maybe these little portable irons are handy for the toolbox (I have a plug-in non temperature controlled Hexacon in my toolbox) but I'm not sure why someone would choose them for their bench iron, which seems to be what a bunch of attendees were suggesting they do with their USB/battery irons.
Seriously asking, what do these USB/battery irons do that's desirable?
At least for me they're compact, reasonably cheap, and yet still much better than a £10 plug in soldering iron from Amazon or wherever. I'm sure if I soldered regularly I'd want something better, but in practice I solder two or three times a year, and don't have space for a workbench with a soldering iron permanently on it, so the point of comparison isn't a full blown soldering station, its the £10 bargain basement iron.
I also was critical at first, but I sold my soldering station and use a TS80P instead (though I would probably choose a Pinecil v2 nowadays). It heats up fast, is small and portable and works well for my hobbyist needs. I can take it anywhere and solder something quickly, if needed using a power bank. For me its just the upside of convenience and no downsides.
The newer ones put thermocouple and heater in the tip so you get much faster reaction, which means they can get away with less power as they react faster. Not gonna help with desoldering some thick cables tho, for that you need raw power. Then again, ones like TS101 have the raw power comparable to the stations.
That being said difference between one and good classical soldering station isn't that big.
> but I'm not sure why someone would choose them for their bench iron, which seems to be what a bunch of attendees were suggesting they do with their USB/battery irons.
> Seriously asking, what do these USB/battery irons do that's desirable?
Not necessarily a feature of only battery powered ones, but the more “high tech” irons have an advanced thermal sensing and regulation feedback loop that is aware of how much heat is being sunk into whatever the tip contacts with. This allows for easier soldering of many different thermal masses to heat up, e.g. if your circuit board has beefy traces for high currents without thermal reliefs, you will see some plug-and-play irons struggle heat it up in a reasonable time. If you are working with consistent trace sizes and thermal masses per joint, then you may not see a benefit.
An advantage of battery powered ones specifically (especially for new learners) is that you can eliminate the need for an cord that could be damaged by the user of the device in which it’s powering.
> An advantage of battery powered ones specifically (especially for new learners) is that you can eliminate the need for an cord that could be damaged by the user of the device in which it’s powering.
Thanks for the replies, everyone! With all the price comments, I took a look at the Pinecil v2 and apparently it's in the plug-in unregulated iron price range, so I can definitely see why some people are choosing that over an unregulated iron for the toolbox.
There must be some generational gap where older hackers are used to the mindset of having to buy industrial castoffs and fixing/refurbing to get something decent, whereas a lot of folks getting going now can buy something like the Pinecil and start out way ahead of the Rat Shack plug-in tip melters, heh.
I don't have a benchtop I can use just for soldering, so my soldering toolkit lives in a box with all it needs. When I wanna do some work, I pick up the box, open it, and most of the stuff gets used directly out of it.
I put a silicone mat on a table, pull out the copper scrub and iron holder, and work on whatever pcb. When it's done, I can pack it all in the box and store it.
A TS80 is portable enough to fit in the box. A full on station would be a bit harder.
> I'm not sure why someone would choose them for their bench iron, which seems to be what a bunch of attendees were suggesting they do with their USB/battery irons.
Me either. I have both -- I have a very nice battery/usb-powered one that I keep in my portable electronics kit, and a mid-level bench iron for at-home work.
The bench iron simply works better in every way, and I'd never even consider using the portable one when I have the option of using a bench one.
How much of that is due to having a larger thermal mass near the tip? That makes a fair bit of difference.
Otherwise: what would USB change? Power is power. I like that I can plug my laptop charger into it, rather than needing yet another unique barrel jack supply.
I bought one of the firmware-requiring soldering irons on AliExpress and thought exactly the same. But then the thing is so much better than the usual plug-in-get-hot irons that it's definitely worth it. Disclaimer: my soldering skills are about 3 out of 5, so not too good.
I have the same experience. I've used nothing but "Firestarter" sticks - cheap ones from RadioShack, amazon, wherever and up to nicer branded $50 ones and dont consider myself more than average at soldering. I got a TS-80p because I have a personal push to get everything on USB-C for power that I can. I will say it lives up to the hype around it - heats up super fast, can solder things even my 100W auto soldering iron can (10 gauge wires on to thick metal) without breaking too much of a sweat.
Yes it has firmware, but I haven't had to mess with it yet in the two years of use.
I mean sure you could create an all analog PID that reads out the temperature sensor in the tip and heats it accordingly and maybe displays the tips temperature — but then you would get all the disadvantages of analog without any of it's benefits.
I have multiple digital JBC soldering stations and the time from taking out the sleeping handle to having it heated to soldering temperature is so short you stop bothering even thinking about it.
And because the sensor is in the tips you can solder huge pads without the temperature of the tip going down enough to notice.
I am a guy who loves analog (in fact I build a lot of modular synthesizer stuff that is mostly analog computers), but in this case anything other than digital is silly, especially if you want your iron to do advanced things like extending the tips livetime by having a sleep mode that reacts to how often you took the tip out in the past minute etc.
I use my pinecil soldering iron to melt brass inserts (for metal screws) into 3d printed parts.
It definitely works without a smart iron but if I could use bluetooth to set the right temperature automatically based on the printed material, why not?
Even though I’ll probably never set it up this way, it is still cool to be able to
Soldering iron firmware is useful for closed-loop temperature regulation and viewing the current temperature, but can be dangerous when the code goes wrong. A while back I found and fixed a bug that would cause button handling to malfunction after 49.7 days of uptime being plugged in, which could be dangerous if anyone actually plugs their Pinecil in for that long. Also I find that the two-button input is difficult to configure such a complex iron with nested menus, selectable options, iron on/off and temperature control and boost, and I sometimes end up mistakenly setting my iron to a temperature higher or lower than intended.
Every soldering iron I am aware of with integrated cartridge-tips or Curie point tech will yield a better joint quicker than anything analog - they heat up instantly, etc.
Every one of these soldering irons has an MCU running the control loop.
Especially when prices of temperature-controlled stations with analog controllers (less than a dozen discrete components) have gone down a lot over the past few years. Knowing how software bugs appear, I want as little software as possible in places where it isn't needed.
It's been a few years since I've looked at them but those KSGER irons had a reputation for potentially being unsafe, with questionable mains isolation and no chassis grounding. There's videos around showing how to mod them to improve the safety margins, but of course you need to be aware that it's an issue before tackling that.
I bought one of the KSGER stations a few years ago fully intending to apply all of the safety fixes. When I opened it up, they had all been applied from the factory.
Still worth checking, but maybe not an issue for new stations?
The TS-100 is an amazing little device and this firmware makes it much more useful.
I never thought I'd be upgrading firmware on my soldering iron on screwdriver, but here we are, and I'd much rather use this than the crap that manufacturers ship.
I'm sure IronOS is great but not sure I agree TS-100 stock firmware is crap.
And reading through all the listed features I get no urge to upgrade my TS80P. And though the features specific for TS-100 seems nice they feel quite niche.
So now there's firmware for the soldering iron that I need to fix my hardware to run my firmware. Apparently it's firmware all the way down. My head hurts now.
I had been thinking about hacking my pinecil into a vape pen and take advantage of the temperature control, I wonder if this OS could be a good way to do it.
Yeah, IronOS was originally developed as a replacement firmware for Miniware irons, but then Pine64 adopted it as the official firmware for their irons.
I can see the need for firmware in oscilloscopes, like a Siglent, but why would I need or want the complexity of firmware in a soldering iron that could possibly go awry and self-destruct?
I picked up a JBC clone soldering station for cheap from overseas and never looked back. It takes all of the regular tips. It gets almost as hot as fast as the real thing, but it's not quite as accurate or as powerful as a real JBC. For home use, it's good enough for me. I JB welded on a JBC tip quick change stand on the top of the station.
Home lab protips:
0. Save money by buying most equipment used, including taking an occasional risk on repairing nonfunctional items.
1. If you enjoy your health, don't risk it. Don't solder indoors near living areas, get a serious vacuum canister-style fume extractor, ventilate with outside air, and always wash your hands after handling electronics or soldering.
2. A bi/trinocular microscope with a polarized light source. Your eyes will thank you.
3. Regardless of the route you go for soldering, get a temperature tester. It's good to know the accuracy (skew) and precision of selected vs. actual.
These irons are expected to control large currents to maintain an operator specified temperature. These aren't simple elements that just "get hot" off mains power.
Dumb question: do we need an OS on an soldering iron? I understand that several tasks/threads may need to be developed, but a full-fledged operating system sounds like too much. Your thoughts?
Also if you’ve got an older laptop brick that might be compatible with the pinecil. Some of the asus ROG ones definitely are. Ended up being the best bang per buck for me
That's a good cheap option, but for me the most convenient way to power it is with USB-C. I just use the same 60W USB-C PD power block and beefy USB-C cable that I carry in my bag anyways. The cable is also much more flexible than the ones with the barrel jack I've used before, so it is easier to hold and control while soldering.
I own a brand new Metcal, dozens of tips, the hot tweezers, the desoldering tool, etc..
I would've went JBC if I had to do it all over again due to the compactness, user friendliness, etc. (conductive ring shuts heat off when you place the pen in the holder.)
I also have a $109 AliExpress Sugon A9 JBC clone. This is an absolutely excellent soldering iron and is compatible with JBC handpieces and tips: there's no reason to go Pinecil, FX888, etc. with these on the market.
Why is that bad? It's possible that it's sloppy or lazy, but it's also possible that the author has carefully considered their options and is using the best tools (or their preferred tools) for the job. As described elsewhere in the thread, a soldering iron does more than just get hot, and as described in the readme, the project has accumulated a lot of functionality.
because it is unreadable and unmaintainable with all of these dependencies. Even in the description it says that it spiraled out of control at some point
"Originally conceived as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware."
That doesn't imply anything is out of control. How do you know it's unreadable and unmaintainable? Just browsing the repo it seems pretty under control and organized to me. Firmware projects tend to get complicated, see also QMK for keyboards.
Well, it is unmaintainable, because maintaining this set of dependencies is absurd for what this firmware is and it is unreadable, because I tried to read it and lost interest in a few minutes later, because of all the bullsh*t.
I dug through it and even compiled it quickly without an issue. The code looks clean, and well organized, and even supports multiple languages.
Just because code isn't PHP, python, or "hello world", doesn't means that it's absurd and unmaintainable. Especially when you have the attention span of a may-fly and declare it to be "bullsh*t" after a few minutes
I don't think it is a "me" issue. On the contrary, I think this project has a lot of issues similar to what contemporary modern web development has. Generally firmware engineers know not to do this kind of stuff, since we have a highly derivative work that spans across decades.
I'll give you an example - because of chip shortages I had to redo a couple of devices and their firmware for the past few years. I had to dig into code that hasn't been touched for 12 years on more than one occasions and I had no issue compiling it more than a decade later. The reason why is because people weren't trying to be fancy and they kept the dependencies to a minimum.
Imagine if you stop pumping oxygen into this project for a month...
This is a project which builds firmware for multiple devices and processor architectures, supporting developers running various operating systems locally, and includes support for documentation generation and firmware localization. It doesn't sound too strange to me that such a project includes a decent amount of tooling to ensure that compiling things is accessible for a layperson, and ensure a healthy influx of community and corporate contributions which don't diminish software quality. None of the dependencies mentioned in the Dockerfile [1] really seem out of place, to me, and I don't think the documentation generation or checkstyle packages are critical to compiling the firmware.
Besides, you can always treat a built Docker image as a stable toolchain archive if that's a concern; there's little reason to assume that it won't work 12 years into the future as - as far as I can tell - none of the software relies on it being run inside a Docker container.
> This is a project which builds firmware for multiple devices and processor architectures, supporting developers running various operating systems locally, and includes support for documentation generation and firmware localization.
exactly the source of the issue. The scope of the project is just preposterous for what it is. I'm not sure what the proportion between boilerplate and actual useful functionality would is, but from the little that I saw it is outrageous.
> Besides, you can always treat a built Docker image as a stable toolchain archive if that's a concern; there's little reason to assume that it won't work 12 years into the future as
I heavily disagree with this assumption and the rest of the assumptions related to the stability of the dependencies.
The scope of the project is for the project to decide. It seems that 168 contributors and thousands of users seem to disagree with you here.
I'm not really sure what fewer dependencies you are used to other than a compiler, make, a scripting environment to orchestrate things (bash) and some (other) scripting environment to cook assets (Python3). I suppose that that last bit is something you're not used to in a more embedded world, but in the world of user-facing tools with UIs, it's really not uncommon at all to have a dependency on some font library or internationalization library so that you can generate an image or display some text. The latter of which is presumably fairly important, given that the users and hardware manufacturers that this project supports aren't based out of locations where English is the native language. I'm not sure localization can be pulled out of scope, because of that.
> > Besides, you can always treat a built Docker image as a stable toolchain archive if that's a concern; there's little reason to assume that it won't work 12 years into the future as
> I heavily disagree with this assumption and the rest of the assumptions related to the stability of the dependencies.
Docker images quite literally contain an entire (userspace) root filesystem. As long as you have an existing Linux installation on an x86 processor, a Linux kernel that didn't cause any breaking changes compared with the one that was used when the image was built, and some way of extracting a gzipped tarball, you can take the image that you previously built 12 years ago, extract its contents, and run all of the tools (gcc, Python3, make, bash) embedded within outside of Docker, without any dependency issues because all of the dependent libraries can be found within the image already (if they weren't in there, the project's CI builds would not work at all!).
You can verify this quite easily: install Docker, then run `docker pull ubuntu:latest; docker save --output test.tar.gz ubuntu:latest`.
I'll agree with you that if you are a user that stumbles upon this project 12 years from now (assuming they ceased development today) there are likely some challenges as you'll have to source the dependencies from somewhere and the repository URLs used today may no longer be available by then (most projects probably suffer from this). But if today someone builds the IronOS development image from the Dockerfile and saves it, I really don't know what'll have to happen for it to be impossible to get the compiler and other tools contained within to run on supported hardware in 12 years.
EDIT: Imagine what the project owners would have to do to do the same things they're doing now (building documentation, cooking required assets) but without relying on third party tools or programming languages other than C. They'd have to spend time writing font parsers, documentation generators, build scripting tooling, and much more! In a sibling comment you mentioned that "it seems to me that at some point this industry stopped trying to solve real issues", but I'd argue that the project pulling in the scope of building those tools to avoid dependency issues is exactly that: them solving issues that is not within their scope or merit to solve.
I'm asking you what do you think about it, not what the devs think about it. Let me phrase it differently, there are a total of 16 languages and 276969 lines of code in the repo for a "soldering iron firmware"
I'm not sure where you get that language statistic from. I'm going to assume whatever tool you're using thinks that "JSON" and "YAML" are languages, to which I respond that they're not or at least not as significantly so as a programming language with its own paradigms, libs and tools. The repo in question is mostly C/C++ with a relatively small amount of other stuff to provide tooling support, and the languages used for that are really not all that problematic, difficult to understand, or unsupported.
As far as LOC goes, I know well enough that it's a meaningless statistic that has very little practical use. I've written 34 lines of JavaScript that were as meaningful as 25k lines of C, but those lines of JS were obviously interpreted on an engine that's millions of LOC.
> is because people weren't trying to be fancy and they kept the dependencies to a minimum
I've been in professional development for 25 years now, and I've heard people say this before NUMEROUS times.
You know who the people who say this are?
People who live and breathe Dunning-Kruger and in reality, just unable to keep up and being unwilling to learn and evolve.
Usually this is someone that likes to talk the talk, but put something that actually requires critical thinking and it's instantly broken, the libraries are broken, the language is broken. Don't worry, the developer isn't the problem, it's all the tools and scaffolding.
And I've hired and fired at least 100 developers over the course of my career in Fortune 100 companies so I've seen them all.
Whatever. Your opinion vs my opinion.
Nobody said you had to run this on your soldering iron. And it's not like it's supporting a huge catalog of devices. It's just an alternative option for tinkerers.
> Imagine if you stop pumping oxygen into this project for a month...
And nothing will change... This is a simple OS for a $26 soldering iron with what amounts to a custom form-factor SBC.
But don't worry, hvasilev knows everything about development and this project is bullsh*t.
lol, are you seriously trying to state that there's been zero evolution in coding practice in 30+ years?
Do you still using CVS as well? Is OOP the only way to live in your world? Java+Flash seems like a great way to make interactive web pages. Let's concat together some sql with user input and pass it straight into the database.
Gotta ship that project with some Extreme Programming. Do you still believe a programmer with 20+ years of experience but can't navigate modern tools, scaffolding, and methodology and hasn't grown and evolved their skills is more valuable than a programmer with 2 years of experience?
I am a hack programmer at best and I can admit that. But I've also worked with and managed the best and the worst of engineers and it takes about 5 seconds to smell out the BS and the people who are locked into their ways.
Yeaaaaah.... read what I wrote again repeatably above until you don't represent it.
First you pointed out your extensive experience as a basis for your argument and now when you realize you're completely out of your depths, you call us "locked in their ways" and call yourself "I am a hack programmer at best and I can admit that".
Fun fact: I'm actually not really seeing this "locked in your ways" as people get older, I see people asking about the cost-benefit of using a technology before using it a lot more. Just because I got curious, I took another look at the repo, there was a few libraries that I've never seen, but generally I'm up to date with what is going on (might have not used anything in production, but at least out of curiosity - I'm familiar). As I pointed out elsewhere, there are just literally 16 different languages used in this project and over 270k LoC.
I'm way past the stage of my life in which I feel a need to have a dick measurement contest online with random people about my experience, where I work and how many devices do we sell per year.
I think you might need emotional support in your life, take care.
So now you can take the time to read? And engage? because you said you don't do that.
> First you pointed out your extensive experience as a basis for your argument and now when you realize you're completely out of your depths, you call us "locked in their ways" and call yourself "I am a hack programmer at best and I can admit that".
I pointed it out as a basis for how transparent the behavior is, not as my capability as a programmer. Because I'm not the one who claimed I can glance at a repo for 2 minutes and judge it to be bullsh*t. Nor see 270k lines of code and not see the extensive documentation, translations, etc
> I'm way past the stage of my life in which I feel a need to have a dick measurement contest online with random people about my experience, where I work and how many devices do we sell per year.
All that evolution means jack and shit when it's all done with almost zero thought to the OSI model. Hardware AND software both are horribly-guilty of this.
And we were screaming about this 30 years ago, when speculative execution was first a thing.
Now you have to have all this new stuff because you refuse to acknowledge the old stuff, and its problems, in the first place. And then you go on to repeat half the problems, and only bandaid the others. Memory safety.. pffft. Physics laughs at that notion.
Really the code is C++ on a C RTOS (the same compiler toolchain), and the Python scripts are there to generate fonts and handle build jobs, and don't get loaded into the actual iron. Last time I checked the code is built off blocking functions rather than state machine objects in an event loop, which I'm not sure how I feel about in an interactive GUI.
I was lucky enough to snag an old Metcal from work for free, and it's fantastic. The way they work is really cool too: it sends a high power RF signal (i.e. AC voltage) to the coil in the tip. Because of the skin effect and curie point, it will heat up until the point where the coil loses it's magnetism, resulting in a self-regulating tip temperature that doesn't need a thermo couple! [1] It responds very quickly to thermal loads, too. It's an expensive system to be sure, but totally worth it especially if you can find it used. They're also great about support even for older units, and you can get the entire schematics online if you need to make any repairs.
1. https://www.metcal.com/hand-soldering/how-smartheat-technolo...