Sunday, February 5, 2017

Arduino project: Scroll footswitch

I have been super busy with mentoring an FRC team for the last 4 weeks, and I'm doing FRC stuff today, but I figured I could bash out a quick project while I'm doing other things.

I modified my generic box library to be able to make slant front boxes, made a small foot switch (just barely big enough to hold the two components I need) printed it out and tossed in a Digispark and a push switch.



I think this is absolutely as simple as it gets, folks.

Along with a tiny bit of Arduino code, this sends down arrow keys to a USB port at a speed of 10 per second when the button is pressed.  Allows for internet page reading while you're doing other things. Got the idea from an online suggestion.

I had thought about using scroll wheel, but it only works on the frame that the mouse cursor is over.  Down arrow works on any window that has focus. It's still not perfect. If this isn't satisfactory I may put a selector switch on it to choose different methods.

The code:
// Really simple program to send 10 "down arrow" keys a second if a button is pressed
// for Digispark
// John Ridley Feb 5 2017
// Public Domain Dedication PD0

#include "DigiKeyboard.h"

// down arrow
#define KEY_DOWN 81

void setup() {
  // don't need to set anything up to use DigiKeyboard
  pinMode(0,INPUT_PULLUP);
}

void loop() {
  DigiKeyboard.delay(10); // keep usb alive and other functions
  if (!digitalRead(0)) // if the button is pressed
  {
    // this is generally not necessary but with some older systems it seems to
    // prevent missing the first character after a delay:
    DigiKeyboard.sendKeyStroke(0);
    DigiKeyboard.sendKeyStroke(KEY_DOWN);
    DigiKeyboard.delay(100);
  }
}

Sunday, January 1, 2017

Designed to fail: AKG DPT-70

This is a bit of a rant post. Maybe I'll make a series.

Today's subject is an AKG DPT-70 digital wireless microphone transmitter. We have two of these, and a few months back, one of them was really quite loud and adjusting the level on the transmitter didn't do anything. It was clear that the connection between the outside control and the actual pot inside was broken.

Today I finally got the thing home and cracked it open.  Take a look at this.  If you wanted to design something to fail, this is how you'd do it.



A sturdy looking external control, linked to a pot inside via a 1.5mm plastic hex shaft.  Clearly these need to be treated very carefully to avoid snapping the shaft.

Since I can't effectively 3D print a 1.5mm hex shaft, I'm just going to leave the exterior control off so the pot inside can be accessed, and I will leave a tool to adjust it in the storage box. I found a bit in one of the cheap "precision screwdriver" sets I have lying around that fits (actually about 1.47mm, 1.5 is too tight) and printed a little knurled handle to fit it into permanently.


Monday, December 26, 2016

Build report and first impressions: Geeetech G2s 3D printer

I just finished this build this week, it's buttoned up and printing some stuff now.




I'll give my opinion right up front: I would not recommend this printer. For the same money I'd go with the Geeetech Prusa i3 dual extruder clone, if you want a kit, or the Monoprice Maker Select if you want one ready to rock (not dual nozzle). There's nothing particularly wrong with it, but as far as I can tell, there's absolutely no reason to prefer a Delta. It has several disadvantages and no significant advantages other than novelty.

This is also absolutely not a good first printer buy.  Even if you are brave enough to get a kit as your first printer, there are better kits (the aforementioned i3 would be excellent). Deltas add a LOT of complexity for no gain, IMO.

Pros:
  • It takes a smaller footprint, but it also is much taller than a comparable conventional printer.
  • It's a tiny bit faster as far as Z axis movements, but that's insignificant in the time it takes to complete a print.
  • It's interesting to watch

Cons:
  • It's several times more difficult to calibrate than a conventional printer. I can calibrate an i3 in about 5 minutes.  I spent 6 hours on the Delta, and it's still not really right. Admittedly a lot of that is learning curve, but I think now that I know what I'm doing, there's no way I'd get the calibration down in less than an hour.  With a conventional printer, calibration is entirely mechanical unless you got something badly wrong in your calculations. With the delta printers, it seems like a matter of course to fiddle around with the firmware and recompile multiple times until the Z height, radius and plate bumps are all accounted for.  I've compiled at least 20 times so far and I don't think I'm done yet.
  • The build plate is not entirely usable, and the round shape pretty much precludes actually using the entire space.  If you try to print right to the edge, the platform hits the rod and you grind the motors.  It's just not really very practical.
  • It seems extremely prone to getting thrown off by getting the head caught on the print. I think the leverage on the arms accounts for this. 
  • There is a LOT more slop in this printer than in the cartesians that I've owned.  When the head is hovering with the steppers locked, I can wiggle the platform quite a bit by hand.
  • I don't particularly like Bowden extruders. They're a pain in the butt (almost impossible at times) to feed stock into, they don't work with flexible filament such as TPU, they are less accurate and require more retraction to keep from dribbling. The only advantage is less moving mass, so you can print faster and not get wobble in the print. Personally I'd rather just print slower.
  • When your print is done and the power to the motors shuts off, the printhead comes down on top of your print. Not fast, and it MIGHT hang instead of coming down, but it can come down. Not a problem with cartesian printers.

In short, it's a pretty cool printer and it's fun to watch, but unless that's your primary concern, get a conventional printer.  I have not built a Geeetech i3 but I probably will soon, so that I can get an actually practical printer in my stable that's not a Makerbot clone (I really, really hate the Makerbot gcode and toolchain).

I'll keep this one around, I guess just as a novelty at conventions and such.

I can't really complain about the accuracy really; this is a 25mm calibration cube print:




Notes on the build:
  • A lot of the time is spent peeling the paper off the acrylic.
  • The little thinner pieces of acrylic that hold the front of the LCD panel up are extremely fragile. I broke them both immediately during the build, and found the STLs for the part (part number RK-09) on Thingiverse.  The part was way too thick, I scaled it to 40% in the Z axis and printed two of them.
  • There were several problems with the provided hardware. There were plenty of leftover screws, but still not all the screws needed were included. I didn't just get a bad kit, I've found mention of this on the Geeetech forums.  They need to have someone sit down at a clean desk and try to assemble a printer with what's in the box.  They won't be able to.
  • The Bowden tube and fittings are not good. It's almost impossible to feed filament through them. There's no internal taper so the filament just hits the components. I have had to remove the tubing from the air fittings every time I have fed filament in, put the filament in first, then put the tubing back.
  • The extruders are very weak. The hobbed wheel they're using isn't very sharp, and the spring isn't strong enough. I stretched my spring, I've seen others online with the same problem insert an M4 screw and nut in the bottom of the spring holder to tighten things up.
  • The hotends are cheap junk. They work, but they're impossible to stop from leaking; I've tightened the primary three times and it's still oozing from the top. I've ordered a couple of E3D clones and when they arrive in a few weeks I'll be fitting them.  There are several options on Thingiverse for mounting them on this printer.
  • IMO Loctite on all screws securing the arms is MANDATORY.  Halfway through the first real print, one of them just fell off having worked its screw loose. They were all very tight to start with.  Glad I was sitting right there when this happened:

  • I replaced the Marlin firmware that is stock with Repetier firmware. I've long been a fan of Marlin, but Repetier seems much more advanced.  Certainly their configuration website is a fantastic advantage, as is the ability to save off and share configurations via JSON. I started with this configuration posted on Thingiverse.
  • I'm going to cut a piece of glass to print on. I have a slab slapped on there now and it works very well. I'll get out to the garage and cut a 210mm hexagon when I get a few minutes to do it (hate getting to the garage in winter).
  • The power supply has no real cover, it has mains wires just hanging about ready to shock you.  Printing a cover should be your FIRST order of business.  I printed this one from Thingiverse and it works quite well.
  • I had to boost my fume hood up by putting a 2x4 skirt underneath to get this thing inside.
  • The Bowden tubes make it necessary to print a bit hotter than I normally do, and that makes it smellier and I have to have some powered venting going on during print to keep the atmosphere in the house family-friendly.

Friday, December 16, 2016

Software install list`

I like to occasionally list what I install on my machine, to help remind me next time I reinstall.  In vaguely chronological order

Chrome (logging in installs all my extensions, especially LastPass)
7zip
VLC
Private Internet Access (vpn)
Work VPN
uTorrent
PDFill Free PDF tools
Sumatra PDF
Imgburn
MP3Tag
Lamedrop
Levellator
Audacity
LAME for Audacity
CDEx
AVIDemux
QuickPAR
Handbrake
Repetier (3D printing control)
Slic3r (3D printing gcode generator)
Calibre (ebook manager)
DeDRM Calibre plugin to free my purchases
MuseScore
VeraCrypt
AxCrypt (1.7 old, non-cloud version)
Acronis Drive Monitor
Amazon Drive
ConTEXT editor


Non-free software
Total Recorder
Vegas Movie Studio Platinum 13
ACDSee Ultimate 10

Installing Windows 7 in late 2016

I've moved my main PC from Windows 10 (which I have run for about 2 years now) back to Windows 7.  The two main reasons:

  1. I can't stop it from rebooting for updates (it doesn't even really give much warning) which has resulted in ruined 3D prints (wasting hours of time and much filament) and aborting downloads that had in one case been going on for over a day.
  2. I can't shut up Cortana. There's no facility for it. Even if I shut off ALL the Cortana options, it still pops up windows saying things like "I can tell you when you need to leave to make it to appointments" - windows that pop up when I do have appointments, leading me to believe that despite turning everything off, Cortana is still sending my personal information into the cloud.
There ARE things online about how to disable Cortana, but it apparently involves basically pithing Windows - Cortana is into the OS and now provides the basic search capabilities, so if you disable it, you're back to essentially Windows XP level of user experience.  Ain't nobody got time for that.


Anyway, the only real reason I was on Windows 8.1 and 10 was to use Storage Spaces to mirror a large drive. After the last time Cortana bugged me, I decided it was worth $300 to me to shut it up, so I bought a Synology RAID box and one more 5T drives, bringing my total to three. In RAID5 mode that gives 10T of space.  With that I was able to get a bunch of stuff that had been offline back online again.

I don't want to give the wrong impression.  I think Windows 10 is a good operating system.  Better than Windows 7.  But the above baggage kills it.  Dating a supermodel sounds like fun at first too, until she/he turns out to be insane or a complete idiot.  Or worse yet, an Amway salesperson. Some things just can't be tolerated.

Anyway, back to Windows 7.  Updating a fresh Windows 7 SP1 install has long been a problem due to it getting stuck in "Checking for updates..." for hours.  There have been many fixes for this, along the lines of "install this KB update or that one and it'll be fixed."  Well, whether by design or accident, as far as I can tell, none of those work anymore. I installed every KB update that was suggested as a fix for this issue, and then rebooted my machine and left it in "checking for updates."  After 28 hours and no movement, I gave up on that.

I had previously tried running the April 2016 "all updates since SP1" update, but it said "does not apply to your computer."  This time I read some more and a Reddit thread revealed that it meant "all except that one thing" - there is a prerequisite to running it.  Good grief.

Anyway, I did the prereq, then installed the big one, then every rollup release up through December, and NOW Windows update works, finding an additional 54 updates.  So finally, I think I have an up to date Windows 7 install to run for hopefully another 4 or 5 years.  When I get to the point where 7 is no longer viable, I'm not sure where I will go.  I've tried Linux and for my purposes, it's a complete non-starter.  Every one of the 5 times that I have tried moving to Linux on the desktop in the past, I've spent FAR more time than I did here on Windows, and in the end it's always been useless, I wound up with a machine that I still couldn't actually get my work done on.

Anyway TL;DR, here's the sequence to get up to date on Windows 7 64 bit:
Install these things in this order:

  • Windows 7 SP1 (or update to SP1 if your install media is that old)
  • Windows6.1-KB3020369-x64.msu - prerequisite to the April 2016 rollup
  • Windows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu April 2016
  • Windows6.1-KB3156417-x64.msu May 2016
  • (no June 2016 - it was superceded)
  • Windows6.1-KB3172605-x64.msu July 2016
  • Windows6.1-KB3179573-x64.msu August 2016
  • Windows6.1-KB3185278-x64.msu September 2016
  • Windows6.1-KB3185330-x64.msu October 2016
  • Windows6.1-kb3197868-x64_b07be176e165c11b9ccbcf03d014b2aef9a514b6.msu November 2016
  • Windows6.1-kb3207752-x64_ae76c47886acadcbe337b7b565f63f0991afc7be.msu December 2016
  • Google for Windows 7 rollup (month year) for future security updates

Then run Windows Update.  Once the above was done, I was able to run it quickly.

Also, unfortunately at this point it's probably a good idea to turn off automatic updates, because you never know, Microsoft could sneak down the pipes and start shoving Windows 10 down your throat in the middle of the night again without warning.  Do remember to check at least once a month or whenever the internets make scary noises about vulnerabilities.  Set a reminder in Google Calendar or whatever; be careful but don't become part of the problem. 

And finally, get a disk imaging program - Macrium Reflect Free is good.  Image your boot disk and keep it safe.  Then if Microsoft does do something unpleasant to you, you can just restore the boot image immediately.

Wednesday, November 30, 2016

More Monoprice MP Select mods

I just found this site:

http://mpselectmini.com

If you have an MP Select printer, you should go check it out.

I updated both my LCD and motion firmware from that site this evening, it has already fixed some bugs (the biggest one was that gcode contained in SD card subdirectories didn't print correctly).

It also adds PID Autotune, which was BADLY needed, especially if you have replaced your hotend with an E3D as I have.  Follow the directions on that link, it's very straightforward.  However, it still doesn't seem to be nearly as good as my old RepRap was. It still varies by as much as 4 degrees.  The RepRap would go to temp and stay there for hours without budging. More experimentation upcoming. I'm probably doing something wrong.

There are also a bunch of great mods and ideas on the site, including a clip to reset the Z endstop height if you want to add a glass printbed. I could have used that, I just mangled the switch to do the same thing. I was thinking about designing a clip like that but it's nice that it's already done.

They have Slic3r, Simplify and Cura profile packs for the printer, 

I've also printed this knob, which is WONDERFUL compared to the junky knob it shipped with.



I just finished installing this lower profile E3D adapter. The original one which is widely touted starting on the Hackaday review is OK but offsets the printhead significantly, losing about a centimeter of print volume in the Y direction.  This still has some offset, but much less.

Also this fan shroud, which uses a 40mm fan and provides part cooling as well.

Here's the hotend and fan shroud as they are now:

Pretty prints

The Monoprice MP Select can produce really nice prints if the slicer is set up well: