STALL WARNING! JET PIPE OVERHEAT! TOILET FAIL! The current state of the electronics industry.

This post has a very amusing URL.

Warning: Crude humor ahead as a coping mechanism. As I work in an industry that is completely dependent on the continued availability of electronic parts and devices, this shit makes me worry and I’m forced to make terrible jokes to get by. Or something. No wait, I always do this, carry on. Balls.

A few years back I started noticing that the state of the electronics industry was one in which, basically, you go to China for everything. Need parts? China. Need design work? China. Manufacturing? China… but following the Trans-Pacific Partnership, don’t forget to technology transfer all details of your design to the manufacturer, so they can cheerfully take off and ghost shift and clone your product! Need to order parts for one of the few remaining operations somewhere else in the world? China… and… good luck.

this sure looks like a good place to drop BLOWSOUND

To reduce manufacturing costs, almost all work is outsourced offshore to where one can find the lowest possible labor costs for skilled work, and there is a tendency towards consolidating everything into a few large facilities where the cost of operation can be further reduced. To even further reduce costs, parts are not stocked, they are ordered for “Just In Time” supply, as the cost of maintaining warehouse facilities or winding up with leftover parts in stock are considered unnecessary waste.

Well, all of this basically put everyone’s nuts in a Chinese vise with particularly rough surfaced jaws that was being very slowly tightened.

During a certain urinal stain-colored person’s time as president, a ridiculous trade war dropped, which had no effect on reducing problems with Chinese led market manipulations, but put in place a lot of impediments to supply chains to almost every imaginable industry.

In short, the Chinese vise was replaced by a 10,000 ton hydraulic press that everyone’s nuts were secured into with Gorilla Glue, with the motor left running, and about 300 different corporations and foreign governments given little clicker remotes that will smash and explode whatever’s between the surfaces with a quick and easy press.

Several of the buttons have all been pushed now. SPPPLRRRRRRTTTTTTTTTT

From what I gather, we’ve reached a point where the industry is either going to have to sit on its hands waiting almost a year for parts, or actually, you know, do something about it. I’ve been seeing several people lament that they’ve had to suddenly redesign boards to work around parts that have gone unavailable with 40-80 week manufacturer lead times (!) or entirely redesign around different microcontroller architectures and stuff. Boards are being designed to have parallel connections to two or more different pad layouts to accommodate whatever part happens to be in stock when the device goes into production…. but that only gets you so far.

Common parts like normally 30 cent voltage regulators are anywhere between 60 week lead time and Fuck You NLA because some companies saw the light that there’s massive profit in inducing scarcity…. and bought up all the parts to just sit on them, selling what are either the real parts or complete fakes, for $15 and up. The same buy and scalp model that has applied to computer video cards is now being used on, well, everything…. and it fucking blows. Normally these brokers are only able to lock down supplies of obsolete parts that are no longer in production — this is the first time I’ve ever seen them able to leverage the lead times of active, in-production parts, because they’re able to create unpredictable demand spikes and kill the Just-In-Time supply.

Just like what morons did with toilet paper………

If we actually had manufacturing capacity outside of, you know, one or two big fab houses in China that have HUGE lead times because they have other orders to fulfill before they can tool up for a run of one particular part prior to manufacturing, then packaging and overseas shipping, we probably wouldn’t have this problem. Also, if there were actual stocks of parts kept by the manufacturers of devices or by suppliers, we wouldn’t be in a situation where a few guys who have some extra Shitcoin money can buy up all the STM32’s and completely lock down availability. Fuck you if you claim you didn’t see this shit coming, this was ENTIRELY AVOIDABLE, and at this point there is only one way out… and it’s a rough one… but we’re gonna have to take it.

The ONLY way out of this will be to re-establish manufacturing of electronic parts in the US and other places. The big problem with doing this? We’ve already sent everything to China…. But it still has to be done.

Sucky transmitter site road for illustration of the rocky road ahead. It goes somewhere, it just shakes you up a bit along the way.

The best thing I can liken this to would be the electronics industry in the USSR after they effectively pissed off EVERYONE else and nobody would sell them electronics, so they had to scramble to get production set up locally. Some of it had to be done with the aid of industrial espionage because they just didn’t know what they were doing, and a lot of it was really weird looking or strange quality because… they just didn’t know what they were doing. This weird Soviet transistor could be used as almost a textbook example. Eventually, though, they got up and running making some really high quality stuff, particularly vacuum tubes which remained in production for quite a while to support older equipment.

Yeah— stuff’s gonna look weird at first, and there may be reliability issues, but we’ve gotta do it, or we simply will not have electronics anymore, and that just isn’t gonna work for anyone.

I don’t really know what we have left in the way of semiconductor fabrication, testing, or fabrication facilities in the US. The only one I’m really aware of is Skyworks in Newbury Park, California, who make the RF power amplifiers used in… well, damn near everything— if you’re reading this on a mobile or wifi equipped device, your packets went through one. It was also, amusingly, featured in a music video.  The building shown in the aerial photo zoom is not the Skyworks plant, it’s some arena in Utah. I’ve always imagined it must make an interesting sound when you walk down that hallway with the air jets that dislodge dust from your clothing. Maybe I’ll find out firsthand when someone brings me in because I’m the only one who knows how to program the variable frequency drive in a conveyor belt in the cleanroom or something.

Also, what is with the weird half-video-line artifact at the bottom of the screen here? This is an older video and was edited in 4:3 standard definition. I’ve seen this half truncated line at the bottom of the screen in a few different videos and I have no idea what causes it. I got into television after it all got digital and hi-def and boring and stuff. My DVCAM gear doesn’t do it, I’m thinking it’s possibly attributed to a timing oddity on analog tape gear. Maybe we’ll be going back to tape soon if we don’t get flash memory manufacturing geared up in time…. or… film. I mean, someone at Eastman Kodak must still remember how to make that stuff, right?

Fixing the Space Station Toilet (Harris PowerCD)

A couple weeks ago I was at the tower making bad jokes about the liquid cooled EEV ESCIOT tube based Harris PowerCD transmitter being a space station toilet.

Really, it’s a three stall restroom, and today I got all three flushing again… and learned more about how freaking weird and scary *pure* deionized water can be.

First, here’s a questionable explanation of what’s in there. You’re looking at two separate liquid cooling loops. The external one which exits the cabinet at upper left circulates an ethylene glycol coolant solution (similar to automotive antifreeze, but nigh unobtainable outside of ordering it off Shamazon) between the heat sources and a set of fan cooled radiators outdoors. It’s circulated by an external pump station. I marked its flow with the orange arrow emojis. The internal one has a pump in the cabinet as it’s a closed loop within. The vertical accordion looking piece is a heat exchanger. Attached to the door on the left are two filters that keep the deionized (DI) water as pure as possible to keep its electrical resistivity high.

The supply manifold at the top sends the anode and collector water jacket water supplies to the tube cart around the front. The small line coming out the middle feeds the filters; you can set their flow rate with a valve up there. Everything finally returns to the pipe at the left that sends the DI water back to the reservoir on top. Now, have you noticed the middle finger emojis yet? Well.

Meet the Pinwheel of Despair.

In the DI water returns from the anode and collector are these Seametrics flow sensors. The pinwheel has magnets in two opposing vanes, and a Hall effect sensor screws into the recess seen at the bottom here. By measuring the interval between pulses, the transmitter controls can determine if there’s enough water flow… until the sensor breaks.

Now let me say this, I see absolutely nothing wrong with the design and build of the Seametrics sensor. It’s actually damn cool for what it is. No metal parts contact the working fluid, and it rides on a ceramic shaft and ruby bearings like a fine watch movement (and that wouldn’t even have ceramic shafts… Or would it?)

The Seametrics is even completely field rebuildable!

So, uh, time to be creeped out and amazed by mere water. In the picture of the cabinet you’ll see there’s one more sensor mounted horizontally in the glycol line. This never fails, as the glycol solution has some lubricity to it – that is to say it’s slick and forms a film that tends to isolate facing surfaces from direct contact, just like an oil would. The DI water, however…. No. When I got some on my hands, it felt really weird, almost more like I’d just rubbed them with a really cheap and nasty hand sanitizer that was stripping the oils and leaving behind sticky yackage. So let’s see what it does to those extremely hard, smooth bearings:

Hey wait a minute, that notch wasn’t there from the factory!
Unhappy Calamari

The bore of the bearing above has become egg shaped. This wasn’t even the worst one — that distinction goes to the one that was in the collector flow meter:


I wasn’t able to pull this one apart for further inspection but didn’t need to. You can see the axle right through the plastic — it chewed completely through the ruby bearing and started digging into the plastic. Funny thing was this one would work perfectly UNTIL the water temp rose to about 46 degrees C when I put the cabinet in Beam On (normal RF output state), at which point it’d abruptly start ticking down from 12.6 GPM to 10 and the controls would kick the beam supply off to avoid meltdown. After rebuilding both sensors on the DI water side, the flow readings come up the moment the pump starts and stay stable.

This is either success or impending zeeky boogy doog
now don’t tempt me to try to fix that old radar too

Want to read more about how damn weird pure water is? There’s a somewhat sensationalized (in their usual style and don’t even get me started on that Supermicro fiasco) article from Business Insider about the Super Kamiokande which is a massive subterranean neutrino detector tank lined with the stuff that physicists have had to enter on a rubber boat for maintenance. Just imagining what that’d feel like across a large area of skin makes me want to go rub an Aloe Vera leaf on my entire body.

Really it can kinda be summed up by this poor Chia Bob Ross that doesn’t look much like a Happy Little Tree. Fnord.

This post brought to you by the Premium Grade No-Pass Filter

This is several kilobucks worth of hardware that was misapplied to create a special filter that…. nothing would pass. See if you can spot the issue!

Our IT director dropped a non working Wyse serial terminal on my bench. I don’t think he expected me to tear it open and try to fix it, I think it has an open diode or bad cap in the +5v supply. It’s gonna be the serial console for a Linux machine if I can get it glowing.

And then I was asked to come on Good Day, pose dramatically on a giant shoe, and discuss the a ridiculous goth house. Just because.

Useful cybergoth meme
Kittie was so boss
No U

This has been a elliptically polarized shitpost.

What if hhhhhh but HHHHHHHHHHHHHHHHH

Ok just gonna switch out this GatesAir exciter, let’s see, move all the connectors over and hey wait what’s this

the devil’s five tiny sphincters

Wait, why?

The back of the exciter is just a db 9…

*deep breath*


Ok, I’m done….. No wait hhhhhhhhhhhhhhhhhhhHHHHHHHHHHHHHHHHHHHHHHHHHHHHH




Hell it’s like a Phoenix Contact header had a severe case of multiple personality disorder and the adapter was nigh impossible to remove with the exciter in place and thanks I hate it.

Oh hi there

Mutual boop!!


A wonderful “The Emperor’s New Groove” meme that Facezuck banned as spam

I’m sure there’s a way that these are installed to the grounding system normally. This certainly is a way. I’m not sure if it’s a good one, but it’s certainly a way.

pelicans are just entirely illogical
No, it doesn’t work
My advice on how to program one of these drives: ensure that programming one of these drives is a task scheduled for when you’re vacationing entirely off grid in another state
One of these days I’ll figure out how to change the vertical scale on this thing. It’s easy on the FSH3, highly… elusive… on the FSL… Though it will automatically change when you switch to OBW measurement… ??

I dunno… 73 and good night. Just felt like posting nonsense.


Oh, I have such a love-hate relationship with some manufacturers.

Now… I had previously made a vague shitpost while working on a Harris Apex A2X exciter. This would have dated back to, well, when they were Harris Broadcast before the spinoff that left them independent as GatesAir, with another division becoming Imagine Communications

Imagine Communications…. Because they aren’t necessarily ever going to work outside of your vivid imagination

Anyway let’s just get right into YELLING IN BROADCAST ENGINEER. First stop: The Apex M2X oscillator board.

Frequency stability is vital to generating a good solid digital TV broadcast signal. The Apex M2X features a disciplined OCXO (Oven Controlled Crystal Oscillator) with several options as to how to ensure proper longterm calibration – it has a GPS receiver, 10 Mhz external reference, and 1 PPS external reference options provided. More on OCXO references here (this describing a more basic, free-running one, without sync inputs). However, the OCXO itself is, uhhhhhhhhhhhh












I wanted to peel this crap off but I was fairly confident that if this is anything like the antistatic foam that ICs used to come packed in, it may have broken down and corroded parts under it and I’d be faced with irreplaceable parts that went out of availability two years before they sold this exciter crumbling to dust. So I left it alone. It only has to last about another year, if even that. I hope. Did I mention HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH? Because HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

So. Let’s move on to the power side.
The power supply is along the left wall of the exciter. On GatesAir’s admission, the power supply pretty much expires and becomes a ticking time bomb after 5 years – power it off and it will never ever start back up again.

But that’s unrelated to, uhhhhh, The Internal UPS Thing Of WEIRDNESS

For unknown reasons they felt the need to give the unit battery backup. It does not fully power it, like, the RF output disappears once it’s on battery. I think all it does is keep the controller with the RTAC data* in memory alive, and keep it from having to entirely run through the several minutes long boot process following a momentary power glitch.


On later versions it uses a lithium ion battery which consists of three 18650 cells, but rated at only 1.5 amp hour, which suggests… some 18650s of hilariously low quality. Behind the board is a charging / BMS circuit that steps the battery voltage up to 12V to keep the exciter powered. On earlier versions, they went through all the trouble of building this elaborate charger/step-up board, similarly…..
And then, waaaait for it—–


Ok, take a good look at this, and prepare yourself for the description of what you’re actually looking at: someone… went through the trouble of getting a spot welder in house and welding tabs to unmatched dumpshit tier** Energizer retail packed NiMH cells.


Picture…….. related.

There is another memory backup battery, but I’m guessing that’s mostly just for the realtime clock.

* Sorry, I am not currently in a sufficiently coherent mental state to describe what RTAC does, other than that it is Fucking Magic and if the Fucking Magic doesn’t work, the signal comes out on air as distorted non-decodable dog turd
** only slightly better than Duracell



Every now and then the gate operator at my apartment complex either leaves the gate open forever or opens like eight inches and dies so I have to get out and shove it open. This explains why.

Also, hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh*

* just imagine an angy possum hiss

Revisiting the Printrbot Simple Metal

The Printrbot Simple Metal was a really cool design. It’s a Cartesian 3d printer built like a brick house by Printrbot out of Lincoln, California, who went out of business facing powerful competition from a lot of low-cost Chinese printers but recently decided to get going again. One of my coworkers had one that had an old version of Marlin on it (1.0.0?!) and I wanted to update it to improve on some features and add support for a heat bed.

oh she’s a brick—– house

It was available with or without a heated bed, and even if you didn’t have one, it can still be added easily using a stick on heater mat/thermistor like this. The connectors are present on the Printrboard controller for it. One cool thing about the Printrboard: it has two big beefy mosfets onboard, and the DC in connector just mates straight to a standard ATX12V connector on a PC power supply. All you’d need to do to power the Printrbot is go to the ATX motherboard connector on the supply and jumper the small green wire to one of the black grounds to make it auto start. On Rev. D boards, this was a 4 pin; on Rev. F, it’s 6 pin.

There is a solder jumperable pad, supplied OPEN, for USBPWR 5V. This will allow the board to power up from the USB host it’s plugged into. Don’t jumper this unless you have a very good reason to for your configuration. An onboard switching regulator will supply +5V to the components onboard once +12V is input to the ATX12V connector.

This is based on the RevF board, as that just happens to be what landed on my bench. Printers using the RevD are not uncommon too, apparently.

Steppers: The board supplies four Allegro A4982 stepper drivers, an improved version of the A4988. These do not have a heatsink on them like a lot of newer boards do, but I haven’t seen them get hot either. It certainly won’t hurt to add some stick-on sinks if you want. The datasheet suggests that the lion’s share of the chip’s thermal dissipation goes out the bottom though. The driver type in Marlin should be left on A4988 as the I/O behavior is identical.

Microstepping IS supported on this board – you will find a small solderable jumper pad next to each driver. If you solder bridge that entire pad, you will get 1/8 microstepping. On this particular printer, all four are un-jumpered and microstepping is not used. On a printer that was NOT built like a brick house, this would lead to it having a very loud sound about it. On the Simple Metal… it just sounds smooth and sweet. Don’t forget to change your steps per unit if you bridge the microstep pads! The VRef voltage that sets the stepper motor current comes off a DAC, making the motor current adjustable in software. I haven’t experimented with this yet or found any reason to move it off defaults – the motors and drivers stay cool and I am not experiencing any skipped steps, even when making the printer SCREAM at 150mm/sec! (it will DO IT with the stock hotend and not skip any steps, but you will lose detail. Dang.)

Updating Firmware: Before updating, if you’re doing this on an already functional machine, get your EEPROM settings with M503 and copy them into a text file. Otherwise you’ll wind up with defaults that may or may not be correct.

The CPU and serial interface: Another cool thing about the Printrboard: Unlike many ATMega based 3d printer controllers that came out at that time, the ATMega AT90USB1286 has native USB support. This will prove to be a double edged sword but won’t stop you from having fun with this board, read on. A Marlin build bug may show up when you’re trying to build as a result of this unique platform target. This is currently fixed in the nightly “bugfix” branch, so start from that if you are compiling Marlin yourself.

There is a “BOOT” jumper next to the chip. If you jump this and press the reset button, the chip will come up in DFU mode. It comes stock with a bootloader from Atmel that supports their FLIP utility for programming under Windows. (Todo: figure out what tools would be needed for this on other platforms.)

Dealing with Windows Being A Stupid Doodiehead As Usual: To program this chip, download Atmel FLIP and install it. On Windows 10 64-bit, get the version with the JRE included (as documented here). Tip the Printrbot over on its side and place a jumper cap on the BOOT pins, then press the reset button. You should see Windows detect the AT90USB in DFU mode— however, it may not properly install the driver. Open FLIP and click the USB cable icon in the toolbar, then choose USB connection. If you receive a message about a missing DLL, close FLIP again, and go into Device Manager. Right click the DFU device that’s showing up with a warning icon and choose Update Driver, then manually choose the location. The driver will have been dropped in C:\Program Files(x86)\Atmel\Flip [version]\usb. It should install ok, then Flip is ready to use.

To flash a file with Flip, go to File > Load Hex File. Click the USB plug icon and select USB connection. It should identify the AT90USB1286 if the chip’s already up in DFU mode. By default the options on the left will all be checked except Blank Check. That works fine… make sure it’s set to write out the Flash space and not the EEPROM space (the button in the top center toggles this), then click start at the lower left. It’ll take about 15 seconds to complete. IN THEORY, you should be able to reset out and run the newly programmed application in the chip with the button at lower right, but that doesn’t work for me – probably because the BOOT jumper is still set and it just loops back into DFU. Pull the jumper and press reset, and Windows should detect the

I have provided two compiled versions here at the end, one for printers with a heated bed and one for those without. The version for printers without a heatbed bed will work fine on those that do, you just won’t be able to heat the bed. The other way around, I suspect, would make it refuse to work with a MINTEMP error being thrown.

Building Marlin: I used PlatformIO and the Build Marlin addon tool. You can also use the Arduino IDE after installing Teensyduino. (Board type will be Teensyduino++ 2.0!). My configuration files are at the end of this post; my changes were mostly to invert the inductive probe output behavior (which MAY have been different for Rev. D boards!) and to add bilinear bed leveling with a 16 point probe. I tried using the new Unified Bed Leveling architecture but it caused the code size to exceed available memory. Bilinear is working fine on the machine here, so I’m just using it 🙂

Yes, you can buy that funky UBIS hotend and parts for it. The distance between the nozzle and probe center-to-center is 25MM, I’ve checked this and included it in the configuration file.

I have a sneaky suspicion that the example configurations for Marlin 2.0 just haven’t been touched since shortly before/after(?) Printrbot blinked out of existence and the example was only built and tested for the Rev. D Printrboard. A bit of searching around online suggests that the big change between D and F was the addition of a buffer transistor for the input from the inductive probe, which was prone to damage on Rev. D. If you have Rev. D, the stock config should be fine, but I think the buffer basically inverts the input. The way to tell will be to try homing the printer with G28. If the Z axis rises, pauses, then rises again, but never comes back down, use M119 to test the endstop input states. If the Z axis is not at the bottom and the LED on the proximity sensor is out, it should not say TRIGGERED for the Z endstop. Place a metal object under the probe so its light comes on and check again, it should say TRIGGERED. If you get the opposite behavior, you will need to toggle that state. The relevant lines are #define Z_MAX_ENDSTOP_INVERTING and #define Z_MIN_PROBE_ENDSTOP_INVERTING. These must match or it will toss an error on compilation.

Verification and Final Settings: Once you have the firmware loaded and running, open your terminal of choice. You can use Pronterface, the G-Code terminal in Octoprint, RepetierHost, whatever works.
Send M115 to get the firmware version.
If you previously had an older version of Marlin installed, send M502 then M500 to load the defaults from the firmware to the EEPROM space and save them. If this printer had an LCD (it CAN be added!) it would prompt you to do this from the front panel on first boot.
PID autotune: I usually start the fan first with M106 S255. This may not be necessary but I find it helps on some platforms.
Start the tuning routine with M303 S215 C8 U1
(8 cycles to 215 degrees C, and the U1 flag will save the values to RAM)
M500 to save the results to EEPROM for later use

Bed leveling: If you have a heatbed, heat it first to a normal use temperature (say, 50C for PLA) and let it stabilize a minute before continuing. The hotend temp won’t matter for now as it’s not going to affect the inductive probe.

(this will auto home all three axes)
(a magical dance will begin)
If you already have a working Z probe offset value from your old settings, enter it now
M851 Z-0.7 this will vary by your printer and build surface

Once G29 is done, it will output a small table of the measurement values. Save the results with M500. Re-home with G28
Test the Z height by heating the hotend to a normal use temperature, placing a sheet of paper on the bed and sending G0 Z0. It should kinda just grab it. If you need to adjust it, check these instructions.
If your extruder is stock, well…. for the FIRST TIME EVER… and that is to say I have literally NEVER seen any other Chinese printer I’ve worked with factory calibrated correctly…. YOUR E-STEPS ARE PROBABLY CORRECT!!! See, this was why you paid extra for a Printrbot. Thing’s hardcore. If you want to verify/calibrate, go here. Otherwise it should Just Work.

this ‘tiny house’ trend is getting ridiculous

If you have Rev. D and these binaries don’t let the printer home right, let me know – I don’t have that version to test on and I’m curious about that probe behavior…