a level playing field

I still haven’t chucked the original Robo C2’s plastic print bed. You’d have thought that I’d changed that out by now since an uneven print bed is a recipe for poor adhesion. But I did just make a very good upgrade and still stayed with that stock part: manual leveling in each of the corners.

IMG_0063

For this upgrade, there’s more than meets the eye. There are actually 36 new parts here on this one. At least you can see two of them from this first photo.

IMG_0062

I designed/printed the two blue pieces (per corner) and other than the aluminum hex bolt, the rest came from Ace Hardware. I made all the springs by cutting down a longer one of the correct diameter.

IMG_0059

Both sides include a spring to keep everything tight. The acorn nut is stainless steel so that it can attach to the stock print bed’s magnets. Tolerances are exacting since there’s a mere 8.6mm space below the platform before hitting the chassis itself and the z end-stop adjustment is impossible on this printer.

IMG_0056

I’ve just combined this upgrade with a new Manual Bed Leveling plugin by jneilliii, for the win. Having just manually leveled, followed by the printer’s standard IR-based auto-level routine, it’s now much better than before. Fortunately, today’s upgrade doesn’t get in the way of the Cantilever Stability Upgrade from before. They both coexist in the same space.

I designed a test part to fill the printer’s available space and when it started, was able to tweak the settings again for perfect adhesion of that critical first layer. Normally, I’d accept poor quality of a raft’s first layer as just part of this printer. But it’s behaving now and I’m glad I put the work into it.

Screen Shot 2018-07-16 at 3.14.41 PM

and one button to rule them all

The project from yesterday and today is something called a “dash button”, an IFTTT or an IoT button. Push the button and some activity gets invoked (usually, remotely). Amazon’s take on this is for you to be a consumer, press the button and something gets ordered.

dash

My own take on this is to add a big red button (BRB) as a remote panic switch for the 3D printer. Press it, magic happens and the print job is paused. It’s useful when something bad starts to happen and you need to make it stop quickly.

IMG_0034

There’s not a lot of room inside the printed plastic for this. Whatever electronics it uses, it will need to be small enough to be self-contained.

IMG_0049

I’m currently accomplishing this with a nifty Adafruit Huzzah ESP8266 board, a charging module and a 3.7V battery. I’m using the Arduino software to “flash” (upload) code to the tiny processor as well as a full directory of files to support the webserver which runs when it’s in configuration mode.

By strapping a pair of header pin connections and pushing the reset button, it now boots up in wi-fi hotspot mode and serves up a configuration website. Submitting to the form then re-configures the device and resets it again.

Booting up now in the standard mode, it then connects to the local wi-fi and attempts to then connect to the URL that you’ve given it. Once it does all this (perhaps ten seconds’  worth of activity), it promptly goes to sleep. Press the BRB again, it wakes up and goes through its routine again.

If you think about it, it’s now a reconfigurable dash button and much more useful than those one-trick-ponies as provided by Amazon.

Repository

adafruit 2.8″ capacitive tft screen

Today’s review is on the small TFT touchscreen for the Raspberry Pi computer. At $45, it’s not the cheapest screen you could add onto a single-board computer but the capacitive touchscreen and the four accompanying tactile pushbuttons along the side make it worth the extra money, especially if you’re adding it to a 3D printer for the sake of control.

IMG_0042

TFT

IMG_0047

Installation

As usual, the Adafruit documentation was more than adequate to get this done. They provide an installation script which makes the process easy.

Observations

The touchscreen works wonderfully, much better than the typical/cheaper resistive TFT that we’re most familiar with.

I’ll need to determine which GPIO pins those four pushbuttons go to. It will be nice to use those in some sort of interface.

I reviewed both the OctoPrint-TFT and TouchUI interfaces for OctoPrint on this. I’m not convinced that either are a perfect fit, given the size of the screen. Both required the Desktop to be installed on Raspbian. In the case of TouchUI, it required the use of a local browser on the Pi (Chromium) but I was able to get this to go into the full screen mode.

Other than as a control interface for a 3D printer, I’m not quite sure what projects would be a good fit for this. The timelapse rail kit would be good for this setup, perhaps. It’s a little bulky for a cryptocurrency cold wallet. It would probably make a good streaming music player, given the positioning of those buttons.

Adafruit makes some very attractive enclosures for this, unfortunately they’re out of stock at the moment.

  • Size: 2.8″ (board matches form factor of Raspberry Pi 3B)
  • Screen dimensions: 50mm x 69mm
  • PCB dimensions: 56mm x 85mm
  • Brand: Adafruit
  • Model: 2423
  • Name: PiTFT Plus 320×240 2.8″ TFT + Capacitive Touchscreen
  • Cost: $45
  • Resolution: 320×240
  • Touchscreen type: capacitive
  • Feature: extra 40-pin header underneath board
  • Feature: four tactile pushbuttons

old-fashioned milk bottles

Once upon a time, you’d get milk delivered in the morning in glass bottles. Okay, honestly, it was other people who got that but I do know this from watching old movies.

milkman

Now that I’m old enough to go shopping myself, I have a fondness for buying my milk in bottles like this. For most people, I’d guess, the thought of adding an extra $2 for the glass rubs them the wrong way. For me, I see it as an excellent way of picking up a great deal. It would cost about $10.84 for that same glass two-quart container from Amazon.

Re-use, recycle, re-invent

So what would I do with the extra bottle? Almost anything that can fit through the top is a good candidate but food is what I primarily store in mine. I have at least 30 bottles storing dry goods, two storing refrigerated drinks and perhaps eight storing filtered water.

When I make waffles, I usually mix up several batches of the batter and that will go into the pint-sized glass bottle. Turbinado sugar also goes into the pint-sized version, making it easy to spoon straight out from there.

I purchase the Mueller’s pot-sized spaghetti which fits nicely into the quart-sized bottles. Most flours as packaged by Bob’s Red Mill will exactly fill the quart-sized version. Potato flakes? Check. Granola? Check.

I have rows of beans and lentils, pastas of all shapes, flours, starches, coconut flakes and almond slices. There’s trailmix in one. I have semolina, masa, corn meal, oatmeal, Scottish oats and Creme of Wheat.

In the refrigerator today I just added two quarts of iced tea and a quart of iced coffee. Three visits to a local coffee shop would probably set me back $12 for three drinks and I’ve just stored away the same amount for a fraction of that cost.

Perhaps the best benefit of storing most of your pantry in glass is that you no longer have to deal with pests. This is the first time in my life that I have literally zero bugs trying to eat my food.

Enter the 3D printer

The tie-in, then, to the 3D printer involves me designing a replacement funnel using Autodesk Fusion 360 for the purchased funnel I’ve used up until now. Hopefully it turns out, it’s about as big as my printer could do.

The previous funnel was okay but it wasn’t a great fit for the bottle. Big items like granola would constantly get stuck in the too-small funnel neck. This one should fit perfectly.

Screen Shot 2018-07-09 at 4.03.41 PM

Food safety and plastic

Some of you may then caution about the use of printed plastic in conjunction with food. I’m sure the PLA filament (which is made of a polymer of corn starch) is actually closer to be food-safe than the funnel which I’d purchased from a car parts store earlier.

Some of the typical concerns with food versus printed plastic is that the small grooves in the plastic allow for bacteria to grow. Okay, but this is the same for most of the plastic utensils which we routinely include in our kitchen, right?

Another concern is regarding the existence of lead in some of the nozzles used. Yes, but that must be so minuscule as to be outside of the realm of concern. In response, I could site the many harsh chemicals used in the processing of naturally-green soybeans to create an unnaturally-white soy milk product, for example.

For dry goods, the PLA funnel should be a non-issue. With reasonable cleaning I think that it will do fine with liquids as well as long as I don’t use it to funnel boiling water, for example.

glacier

Earlier today, I created a Raspberry Pi Trezor (cold wallet) for cryptocurrency using that cool Adafruit 1.3″ OLED bonnet.

PiTrezor

It seems to reasonably work from a fork of the original code. It presents itself to the Trezor Bridge software and to your workstation as a slave USB device. I suppose you could think of the entire thing as a smart USB thumb drive, if you will.

The code image is smaller than you’d normally expect (50MB). I’ll get in there and take it apart later from a software standpoint.

Notes:

  • The interface is beautiful on the small screen with attractive fonts and functional animations.
  • I don’t love websites which only work with a single browser. In this case, it’s Google Chrome of course and it was necessary to install that for Trezor to work at all.
  • The standard screen assumes that the buttons are positioned below it, not so for the Adafruit hat. So you just have to guess that the furthest button equals the right-most button and it all works out.
  • The GPIO pin layout of the OLED bonnet is different from the native Trezor device so of course, the bootloader upgrade routine doesn’t work as expected. It will be necessary to recompile and reload the image in order for this to work. I’ll have to review all that to see how it affects me to I don’t love anything in the cryptospace which can’t keep up to the current state of the art.
  • Having the micro USB cable sticking out of the side of the Pi just seems awkward so I’ll work up a serial connection to the GPIO pins with a USB plug tail and incorporate all this into a slick-looking case.
  • I don’t think I enjoy the website interface for selecting other cryptocurrencies. I think I like the KeepKey version of this better, to be honest.
  • Although Trezor suggests they’re compatible with other currencies, they seem to only be able to do Ethereum via a third-party. The hand-off to that third-party provider was about as ugly as it gets and I aborted. You shouldn’t have to create multiple accounts to simple store a wallet.
  • Unless I gain more confidence with all this, I won’t be putting any money in the wallet but it’s an interesting exercise.

adafruit oled display

Other than importing gadgets, Adafruit sometimes also designs them. Today’s review is for their cool 1.3″ OLED display for the Raspberry Pi computer. It appears to fit exactly the top of the Raspberry Pi Zero WH (the one with the included header).

IMG_0041

At $22.50, the hat is about twice the cost of the computer itself. The 128×64 display is enough for most projects, I’d guess.

I’m thinking that I’ll use this one to develop a cold wallet for cryptocurrency.

The hat (“bonnet”) includes a joystick with four positions and a pushbutton as well as two stand-alone pushbuttons on the right. It comes with good support on the Python side of things. If you’re like me and prefer Node JS, then you’ll be doing a lot of research on this one.

The interface is I2C. The device identifier is SSD1306. The example software includes text- and image-based Python and a bit of an animation of text.

In case you’re interested, I’ve written a tutorial for getting this setup.

what’s up, dox?

Earlier yesterday, I visited the Amazon Bookstore and saw one of these DOX things.

DOX

So, of course I thought, “I can do something like that”. Returning home, I immediately designed a base for the Echo Dot and sent it to the printer.

I’d initially decided to use the new GP3D FLEX filament I’d bought earlier but it’s so amazingly flexible that it adds challenges to the process:  1) it really adheres to the print bed so well that it refuses to pop off from it, it must be peeled off instead; 2) when the bowden pulls on the main filament roll, the material is stretchy rather than delivering like you’d expect; 3) the diameter of the filament is too inconsistent and gets caught up in the PTFE tubing.

That said, I turned back to my standard PLA filament and proceeded. The part finished last evening and it fits perfectly. It wants some light sanding where the supports were but it’s very functional, directing the downward-facing speaker toward the consumer and lifting it from the table by 25mm.

IMG_0040

IMG_0039

 

the braille project

Yesterday, I designed a Node-based program to generate a 3D mesh file programmatically from the input text to create a braille message.

Screen Shot 2018-07-03 at 5.22.55 PM

The concept is easy enough to grasp. Braille is a simple combination of raised dots. If we can know that combination, then it should be easy enough to design a 3D CAD object which uses tiny spheres to render the scene.

But I didn’t want to laboriously design this in Autodesk Fusion 360 and I’m sure few people would. Everything has to be precisely placed and that’s just too much manual work. Even if you did, it’s not very easy to maintain. If you did catch an omission, just think of all the work you’d have to do to move things around! I’m relatively certain that this is currently how people create braille-based printouts as seen on an ATM machine, for example.

3d-braille

So yesterday, I designed and created a program for doing this. Generating the STL file was then painless and took less than a second. Printing it then took five hours so I got to see it as a finished part this morning.

IMG_0038