recycle, re-use, re-purpose

This week’s project involves dealing with filament-delivery problems on my 3D printer. Out of the box, the filament runout detection never worked. Frankly, it was a terrible design to begin with from the manufacturer and I’m convinced that someone at the factory just turned off that behavior anyway.

As a result of this, I’ve lost a few print jobs over the last year. In only two cases, I simply ran out of filament for large parts. In all the remaining cases, a number of problems contributed to the loss of filament delivery to the printed part:

  1. simple end-of-roll loss of filament
  2. spool sticking to manufacturer’s poorly-designed spool holder
  3. cross-threading of the filament on the roll
  4. hot-spooling the filament at the factory which resulted in filament which sticks together
  5. filament like carbon fiber—infused which likes to stick to itself
  6. old filament which is now brittle and breaks as a result
  7. overall poor design of the spool (boxy) shape itself, resulting in cross-threading
  8. overall poor design of the filament delivery path itself, resulting in too much force needed to extrude
  9. filament thickness quality issues as combined with PTFE feed tubing, resulting in stuck filament in the tube
  10. too-flexible filament as combined with any of the conditions above, resulting in filament notching at the bowden gear
  11. z-offset too close to the bed, resulting in hotend jamming
  12. poor first-layer adhesion, leading to a build-up of filament and ultimate hotend jamming

Now granted, the bowden drive for this printer is one of the beefiest NEMA 17 style of stepper motors I’ve seen. And yet the number of filament delivery—related problems is just too high to continue to ignore. So I’ve decided to finally deal with the issue rather than working around it.

Ideas & inventions

Remove the stock holder, add bearings to its replacement

I designed, printed and assembled a very good dual-spool filament delivery system which worked much better than the stock filament holder. I sometimes still use it.

DSC_0062

Dual runout switches

Perhaps six months ago, I designed, printed, sourced parts for and assembled a very good dual-spool filament runout detection block to replace the stock part. I have yet to install it since I’m not in love with the idea of the filament path beginning at the table level. Time has taught me that the spools need to be higher than the printer for this to be optimal. As designed, though, it works in principle to detect loss of filament from both spools.

DSC_0211

And yet, this entire concept does not directly address the problems associated with cross-linked filament. It only addresses the loss of filament as seen in a switch.

Parabolic spool guides and re-purposed monitor stand

Additionally, I designed, printed and assembled parabolic spool guides to better deliver filament (especially for hot-spooled or otherwise sticky filaments like carbon fiber). This I combined with a designed/re-purposed dual-monitor stand to move the spools above the printer rather than below.

SpoolHolderOverhead

SpoolHolderWithBracket

Remove the temperature gradient

First-layer adhesion was aided by adding a foam enclosure/door and a temperature-monitoring Raspberry Pi 3B to the inside (opposite the internal webcam). The latter helps to heat up the print volume area, keeping things from 90-100 degrees Fahrenheit.

foam

Remove the PTFE tubing

Filament diameter inconsistencies resulted in filament getting stuck in the PTFE tubing. I now rarely route the filament through the tubing, having removed the awkward bottom-to-top filament delivery path from earlier.

And finally, a filament movement detection mechanism

This weeks work then revolves around fixing the underlying problem. The solution isn’t filament runout detection. The more accurate problem and better solution is actually loss of filament movement and its detection.

When I began to think of solutions, in my head I was adding black/white encoder rings to the sides of the spools themselves. I would need to add those to all spools of course. I’d also need to design something which reads those as ones and zeroes.

I decided that a roller/follower which is turned by the spool is also a solution. I then envisioned writing drivers and creating a small circuit board for all this so that it could talk to Raspbian, the operating system which OctoPrint runs on.

Mouse to the rescue

Finally, it hit me that a standard computer mouse does this naturally. The older style of ball mouse has a follower which detects when the ball is moving. Even the newer style of mice still have a scroll wheel which is covered in rubber and would do nicely. In my imagination, the first iteration of this had the filament trapped against that rubber wheel. In today’s version, the wheel merely comes in contact with the side of the spool itself for the win.

As a bonus, the computer mouse already has the serial communication and Linux driver built-in. It was trivial to write a small Python script to detect scrolling events.

no mice will be harmed … in the making of this gadget.

The mouse should fit nicely and without any modifications to a 3D-printed holder. The serial connection goes to the Raspberry Pi and is then detected in an OctoPrint plugin. During a print job the scrolling events will be monitored; any loss of scrolling over the sampling period will then pause the job and alert the operator with a sound event.

rat on computer mouse

nasa lies… a multimedia experience

I’ve just used AI to paint a picture from the poem I’ve just penned. Technically, it’s a machine learning algorithm which attempts to generate a painting from the text it has been given. The intent is surrealism and I’d say that it’s not a bad attempt at all.

NASA paints lies with bold strokes
from a well-worn brush
rarely cleaned
from neglect and secreted away from prying eyes
NASA_lies_poem

rip, red hat

Say it isn’t so.

Since the end of October is all about scary stories… Just on the heals of Microsoft buying github for US$7.5B last year, IBM has now has purchased Red Hat Linux for a cool US$34B dollars.

Screen Shot 2018-10-30 at 12.34.56 PM

Granted, I haven’t used Red Hat in a few years mostly since it is one of the few paid UNIX-based operating systems out there. Ubuntu, backed by Canonical, is clearly the better choice for anyone who knows what’s going on.

IBM is the antithesis of open-source software, as is Microsoft. This is just sad. But good riddance. Now get in the hole, Red Hat.

this-is-capitalism

intel edison

I recently purchased the (now discontinued) Intel Edison Breakout Board Kit from Fry’s Electronics. I’m guessing that I overpaid for this product offering by Intel since they’re only $23 at the time of this writing.

edison

I assume that there was a moment a few years ago in which Intel must have thought that they needed to enter into this whole IoT business and rule the space, given their history. I’m sure they were made confident in the sheer volume of Raspberry Pi and Arduino boards being shipped each year. “How hard could this be?”, I’m sure they asked themselves before venturing out into terra incognita.

Setting it up

Setting up the board was a bit different from earlier attempts with either Raspberry Pi or Arduino boards. Intel decided that it would have you use a paired-down Linux customization called Yocto to generate the operating system. The result is a slim o/s with just enough breathing room for things to run.

Additionally, it uses not one but two micro-USB cables to your workstation for a fair bit of that setup which seems unique. The first connection powers the Edison and creates a virtual network adapter and can be used to flash the code. The second is strictly serial and can also be used to communicate with the board. From the specifications, it includes two UARTs, for what it’s worth. Once setup, you can power it from the single connection, however.

At times, this duality can lead to trouble as seen when attempting to connect the Edison within Intel’s System Studio software. It was unable to connect using the hostname alone since this would try to use the wi-fi connection rather than the (expected) serial connection within their own software.

The Edison comes equipped with both Bluetooth and wi-fi. I would like to say that setting up the networking was easy; it wasn’t. I found the labyrinth of documentation to be daunting at times. The initial suggestion to get the chip running simply failed. I then had to do enough research to chase an alternative path to setting it up by using their Platform Flash Tool Lite version. Having then successfully connected the wi-fi to my network, I then attempted to see what was under the hood.

NodeJS

I was pleased to see that their own configuration utility which boots by default runs as a Node service. Once configured, the web interface provides little information than you probably already knew by inspection. They call their implementation of Node Intel XDK which is of course discontinued as well now.

System Studio

Intel provides an IDE for programming these devices. One needs to register in order to download the software. Having installed the interface, it’s easy to be impressed at how complicated the interface looks. It’s a lot like Microsoft Visual Studio with its number of panels and such.

Unfortunately, all this doesn’t work—we’re just talking about the “Hello World” example and it simply doesn’t work on the Edison. A single shell script called device-detection.sh does not appear to include the code for the device and further, throws a fatal syntax error in the Yocto bash itself.

Unfortunately, this means that any code compiled for the Edison uses the wrong target and so won’t run. Searching within their user community forum doesn’t result in anything useful so I’ve decided to abandon System Studio for the moment.

Arduino software

It looks like another option is to use the Arduino IDE software to push code to the Edison, assuming that we’re talking about C++ or similar compiled code. I haven’t tried this yet but I’m not sure if I really want to leave the relative comfort of JavaScript for C++ for this project anyway.

GPIO pins

Like a Raspberry Pi or an Arduino board, the Edison has GPIO pins. They’re just available on the back of the breakout board in this case. There is also a space for adding a barrel connector for power, should you want.

edison_rear

Overall impression

At a discounted price of $23, this falls into the middle range between a Raspberry Pi Zero W ($5 plus $6 for microSD) and the Raspberry Pi 3B ($35 plus $6 for microSD) price points. It can host a diminished Linux stack, serve up Node applications and appears to have two full UARTs at your disposal unlike the Raspberry which only has one full UART.

It’s probably okay for a few IoT projects but I doubt if I’d try to spin up a grand solution given its discontinued status. It was a good exercise in getting my feet wet with my first Yocto configuration at least.

I find myself disappointed with Intel’s inability to succeed within this product space. I could only guess how they failed at this; I have to assume that the right people skills were not included in the teams which contributed to this.

microsoft news

REDMOND, Wash., Oct 8, 2018 /PRNoisewire/ — On Monday, Microsoft Corp. announced new in-field promotions for users of the Windows 10 operating system. In a news brief, Microsoft CEO Natya Sadella says the company will replace existing STEs (Software Test Engineers) at the company with the product users themselves, removing the unnecessary positions at Microsoft. “By promoting our own users to in-field STEs, we’re streamlining the process of identifying and eventually dealing with the bugs in our operating system…, not that there are many.”

“Understandably, these are of course unpaid intern positions being offered to each user of Windows 10 but just think how great that will look on their resumes”, Sadella continued. “Who doesn’t want to work at Microsoft?”

MICROSOFT CORP- LOGO Logo

“We’ll be allowing Windows 10 users to include this position on their resumes for free for a period of twelve months. Afterwards, they may continue to do so by signing up with Microsoft ResumeFodder 365 on a month-by-month basis”, Sadella explained.

Nasdaq:MSFT responded favorably to the news, up $3.52 at market close.

one-line edit, no more google $$$

In reading articles today entitled “You can’t boycott Google” and “They Tried to Boycott Facebook, Apple and Google. They failed.” I would suggest that neither Adrianne Jeffries nor Jack Nicas, respectively, understand the power of activism. People do have personal power but only if they’re willing to accept this fact.

Case in point, today I made a one-line edit to my laptop’s hosts file. It’s so easy that it only took a moment of my time. And what great thing, you might ask, did I accomplish doing so? In a one-line edit, I just removed Google’s revenue stream for their search engine.

In a one-line edit, I just removed Google’s revenue stream for their search engine.

2jjzsp

Remove Google’s adSense from Websites You Visit

The beauty in all this is the simplicity. Even the mighty Achilles had his weakness in the form of a vulnerable heal. Much of Google’s ongoing stream of income relies upon those ad impressions. Remove the impressions and you remove their revenue.

Remove the [Google ad] impressions and you remove their revenue.

And let’s face it, we didn’t really want to see those ads in the first place. They’re annoying, they vie for your attention in ever-newer distracting ways and they use your paid-for bandwidth all the while and without your permission.

  • OSX:  Open a Terminal and enter the command: sudo nano /private/etc/hosts
  • Windows:  Start -> Run -> cmd -> Choose the option to Run As Administrator, notepad c:\windows\system\drivers\etc\hosts

In either case, add the following line and save/exit: 127.0.0.1     *.googlesyndication.com

Let’s See the Difference

Going now to the website which apparently ranks the highest in Google adSense revenue, I show what their website looks like without those ads.

Screen Shot 2018-10-06 at 1.34.41 PM

Screen Shot 2018-10-06 at 1.35.00 PM

Screen Shot 2018-10-06 at 1.35.21 PM

Screen Shot 2018-10-06 at 1.35.32 PM

See all those empty regions? Yep, those were the ads. The page loads faster. The page doesn’t now try to update the ads while I’m trying to simply read the content. It’s now a lot quieter and easier to take in the information.

Less Impressions -> Now You Have Google’s Attention

This is all it will take to make a difference in the world. If others follow suit and take my advice, this revelation of personal power as seen in the aggregate might just change the way these big players operate.

It’s all up to you, though. What do you really have to lose (other than those unwanted advertisements)?

logistics

A while back and for an entire year, I did logistics for a third-of-a-million-square-foot plastic manufacturing plant in Tennessee. It looks like I may be returning soon to this field but in a decidedly-cooler sort of way.

Then

For that plant, I managed nearly every aspect of the company’s business: accounting, inventory, carriers, shipping/receiving, purchasing, documentation and labeling, systems design and management, website design and implementation, processes to improve productivity, you-name-it. Basically, I took over every aspect of my manager’s job except for welding and aluminum mold fabrication.

Daily, I drove a forklift and a pallet jack. I unloaded and loaded shipments. I climbed 60′ racks without any safety gear holding a clipboard in my teeth to do inventories. I mixed more tons of plastic by hand than I can remember, lifting each 30# bucket over and over again. With a forklift, I pulled replacement molds for the crew from inventory.

I ran a CNC machine to cut both plastic and wooden parts. I assembled pallets of parts, always optimizing so that the customer would pay the least for their order.

I drove a scissor-lift to 70′ to replace industrial-sized lightbulbs. I wired 120/240VAC circuits, sometimes three-phase. I repaired a CNC machine, the joystick control on the scissor-lift and the half-million dollar robotic ovens by Rotoline.

I swept the floors, I picked up and recycled parts dropped by the day crew, always being careful to remove anything from the floor which could puncture a tire. I drained water from the air lines. I both figuratively and literally put out fires.

I did color studies to make sure that the plastic was to specifications. I staged multi-truckload orders so that the correct several hundred pallets made it onto those trucks.

I maintained inventory levels for everything that went into these parts whether it was shrink-wrap, tape, labels, bolts, screws, raw plastic, colorants or the large cylinders of material which go into making foam. And yes, I manned a foam station at times.

I designed a layout and colors for the showroom floor and then stained its concrete to look like a beach. It turned out beautifully, btw. I could throw a roll of labels to the line crew at at distance of 40 yards and right into the hands of the intended receiver, saving all those steps and time.

I did cost accounting, determining that they were losing $6 each on their best-selling item. Across-the-board, I adjusted their prices and shipping quantities which actually resulted in happier customers.

In the span of just one year there, I doubled their sales, doubled the pallets shipped and most importantly, doubled their profits. Sixty thousand parts went out the door in 12 months.

Now

Today, it looks like I might be returning to this world in order to automate this same industry with technology. As a software developer in the IoT space, I’ll be challenged to deliver logistics solutions. Fortunately, I have the unique cross-experience of developer and logistics manager in one. I think I’ve got this one.

Academia

When I imagine the average college graduate tackling this same assignment, I have to just shake my head. How could the average college-trained engineer or MBA ever truly understand what it’s like to manage a warehouse and to manage supply chains?

In fact, I can’t even imagine the curriculum that could be crafted to take someone in a classroom setting alone and adequately prepare them for a task like this. Frankly, only back-breaking labor can prepare you for a task like this. Only existing in a warehouse day after day could prepare you for this.

Frankly, only back-breaking labor can prepare you for a task like this.

In my humble opinion, labor is missing from the academic path to success. And hard labor—the kind that can’t be accomplished in a business shirt—is the difference between success and failure in life.

Anyone with true experience in life, having personally sweated at a job is much less likely to create a business model which includes the exploitation of the labor of others. Could I ever expect someone in prison to make my products all day long for pennies? No, because I’ve actually worked for a living and I can empathize.

If you asked an MBA what it takes to maintain a plastic manufacturing plant, you can imagine that he/she wouldn’t know 1% of what I know about the same topic. And yet, as a society these people are highly-paid. Academia has lied by suggesting that you don’t need to know the details in order to succeed. And the only way to really know the details is to do the job itself.

Stepping back from all this

Every day we trust these big corporations to know what they’re doing, to behave in ways which are moral and to succeed without causing harm to others. The problem I see is that we are programmed to believe that only college graduates can and should run companies. As I hope to have demonstrated here, I don’t think there will ever be a way of teaching real-world skills in a classroom alone.

Assuming for a moment then that corporations are run by unprepared people, there are bound to be problems as a result of this. What I usually see in a college graduate is someone who sees the profitability and success from a perspective colored by their own optimism and ignorance of the actual world around them. They see the business through rose-colored glasses, in other words.

Perhaps it’s time that we stop putting so much faith in corporations and universities and more into the value of simple, hard work experience on the job somewhere. The only way to really know something is to live it.

boycott google

We reasonably expect that our service providers are not secretively working against its consumers/users and reporting search results to governments. In this case, if a Chinese citizen did a Google search which included marked keywords their name, GPS location and phone number were forwarded to their government. It is well-known that this then would eventually result in imprisonment and they will now be forced into slave labor to make consumer goods so that Wal-Mart can sell a toaster for $6.

When Google executives worried that the memo would somehow break out to the media, they then attempted to suppress the story by threatening emails, using technology to know who complied internally.

I think this needs to stop. And by “stop”, I’d suggest an all-out boycott of Google.

I think this needs to stop. And by “stop”, I’d suggest an all-out boycott of Google.

Google employees are reportedly resigning over China search efforts

Closer to Home

In a similar troubling story, Google employees are also protesting and resigning over its involvement with the DoD.

Project Maven: Nearly a dozen Google employees have reportedly quit in protest

DuckDuckGo Steps Up

I see that today the plucky DuckDuckGo.com search engine alternative has obviously read the news as well.

Screen Shot 2018-10-05 at 9.20.44 AM Screen Shot 2018-10-05 at 9.22.09 AM

Screen Shot 2018-10-05 at 9.22.49 AM.png

The Corbett Report

Please watch this video. If you’re familiar with the character from the popular television show The Colbert Report, you might accidentally think that these are the same people (they’re not). Note the slight difference in spelling.

https://www.corbettreport.com/?powerpress_embed=24412-podcast&powerpress_player=mediaelement-video

Suppression of alternate media

As described in the video and demonstrated by the search engine comparison, Google has been caught manipulating the results in such a way that they are manufacturing public opinion. The days of valuing Google as an objective provider of search results are over; they’re no longer the “good guy”.

If you specifically depend upon independent media as opposed to the national media, GoodGopher.com has that option.

Change your search provider

Follow my lead and change your search provider today. Don’t wait for things to get worse.

meetup tonight

I’ll be giving another lightning talk this evening downtown at the San Diego JS meetup. I get to talk about the Autonomous Tank project and the code behind that.

SDJS

Since I no longer have a corporate-sponsored license of Microsoft PowerPoint, I had to improvise for my overhead slideshow this time. So I did what most coders would do in this scenario: I coded something for the task.

Screen Shot 2018-10-02 at 2.45.50 PM