Soemarko Ridwan

iOS & Web Developer ⟡ Coffee Addict ⟡ Scuba Diver

Online QR Code Scanner and Generator
Online QR Code Scanner and Generator

This is the first brainchild of Appify. I plan to have that as a house to my app ideas. The name actually was for a different venture that has failed (if it’s not obvious enough from the name, it was some kind of an app generator). But I have the domain and I like the name, and it’s a good name to house my apps. But I digress… introducing: pure javascript online QR Code scanner and generator.

The generator is easy and boring. Not much to say on that end, I just throw that in as “might as well add it while I’m working on this QR thing.”

Now the scanner is much more interesting. I’m know there are plenty of native apps for any native platforms, iOS, Android, Mac, Windows, and even Linux. But I can’t find any for online QR Code scanner. Heck, it was easier to find an online vector editor that works reasonably well than a QR Code scanner.

And recently I’ve just made a prototype app for a cinema ticketing system that needs to scan QR Code so the audience can redeem their tickets. So this is more of a repackaging, because that prototype was made as a web app to speed things up — instant multi-platforms. The only part that I thought that needed a native implementation was a QR Code scanner.

However, after further research, I thought wrong. Thanks to jsQR, everything was so easy and simple and works on most modern browsers including the ones on smartphones. Definitely good enough for a prototype and I think it’s perfect for web only implementation.

Checkout the Online QR Code Scanner and Generator.

BigTreeTech's SKR 32bit Boards
BigTreeTech's SKR 32bit Boards

Upgrading to SKR boards is a lot simpler than a lot of tutorials make them to be because they want to cover a lot of things. Let's boil it down to the essential;

  1. Download and install PlatformIO (so this includes installing VSCode). Then git (if you're on WinOS).
  2. Download the latest stable Marlin — v2.0.1 as of the writing of this post.
  3. Move the sample configuration.h & configuration_adv.h file for your printer to the Marlin folder. Or just copy your current Marlin's config files over.
  4. Open Marlin in PlatformIO, then open the platformio.ini file. Select the environment depending on which the SKR board you bought.
  5. The rests just configuring Marlin. Start by setting the MOTHERBOARD. I personally prefer SKR v1.3 for the price vs flexibility, if I kill a driver I just need to replace the driver instead of the whole board.
  6. Then set the drivers (do a search for TMC). TMC2209 is considered best driver for its price at the moment. Silent, hybrid mode with spread cycle, UART, and sensor-less homing capable. It is slightly trickier if you use E1 as Z2 instead of just using a motor splitter.
  7. Next is the advanced configuration. Enable a bunch of TMC shits if you have UART or SPI drivers.
  8. And the rest is just printer configuration. Or if you pull information from previous Marlin configs if you already have them prior to getting the SKR board, you're done.

I’d consider this as my final upgrade for my A8, I’d get very little return by doing the linear rails upgrade. I’d rather build a new printer for it. 400-500mm build plate. Maybe something like Ender 5 style if I fully DIY, or just build a Voron.

Also, I ordered my v1.3 like a couple weeks prior to v1.4 was released 🤷‍♂️ The differences are minor and has no effect if you put it in Anet A8 or Ender 3 setup. There are enough unused pins on v1.3 to do anything that v1.4 can. However, if I were to order one today, I’d get the v1.4 turbo.

iPad Stand
iPad Stand

I was thinking to myself, "you know what's lacking in Thingiverse? iPad stands..." lol.

Nah, I'm teaching myself Fusion 360. One of the best way to practice is to design things that I already owned and print it out. The IKEA BERGENES was a recent purchase that I quite like. The other one is a bamboo stand that I bought off Etsy years ago, for my very first iPad (third gen — the very first iPad with retina screen).

But seriously, there are infinite amounts of stands in Thingiverse, I’ve printed a few of them. Many are flimsy, very hard to print, and the worst of all, unstable. These are easy and relatively fast to print (about 40 min each), and friggin stable.

Click through to download.

AM8 in Action

via Gfycat

Also noticed that I'm moving away from the Titan (clone) bowden setup and using a direct drive BMG dual drive (also clone). As mentioned on the previous post, bowden gives me nothing but headache. Nozzle jam, extruder chewing through the filament, etc. And to solve all that I need to slow it back down, which defeat the purpose of going bowden anyway.

Also bowden doesn't really make sense on i3 style because you are speed limited by the Y axis that carry the bed. I'll need to update my upgrade list to not recommend bowden anymore.

This is still using the stock Anet A8 v1.5 board. I have ordered the SKR v1.3 + TMC2209s drivers, but BigTreeTech is taking their sweet sweet time shipping mine.

3D Print Troubleshooting: Printer Stop Extruding Mid-print
3D Print Troubleshooting: Printer Stop Extruding Mid-print

This problem baffles me about a few days after installing a bowden setup consisting of E3D Titan + V6 hotend (both clones). I think I’ve figured it out.

1. Check if the hotend is clogged

Usually happens to softer material like ABS. You can check this by applying pressure by hand at the back of the extruder, so you slightly push the filament into the extruder, see if it start extruding again. If so, you’ve got a faulty gear. It just chew the filament instead of pushing it down. E3D has fixed this since 2016, I guess shitty clones just doesn’t care. I highly recommend getting a BMG dual drive clone instead of Titan, even the cheapest BMG clone gets you a better hobb than a Titan clone.

2. Hotend is definitely clogged

Usually comes together with clicking / thunking noise from the extruder. This is where the standard internet recommendations comes in. Check your retractions etc. when all that also fails, here’s what I noticed, it only happens when I print PETG (I don’t print PLA, it has no use here in Indonesia). PETG is very sticky and gooey, I can only successfully print PETG after flushing the hotend with ABS. Even that won’t last long. Another trick is to go slower, like 40mm/s or less slow. I do not have that kind of patience.

3. It’s none of the above

Check if your stepper driver and/or motor is overheated. You can easily add a fan to the board or a heatsink to the motor. A better idea actually to replace with a better driver. If you just modified direct drive extruder into a bowden one, the motor may just doesn’t have enough torque to push the filament through.


Bowden is not worth it, especially for i3 style printers. The Y axis still need to carry the bed anyway, losing the extruder motor will have very insignificant impact on speed. And the bowden setup has some weird pressure requirements within the ptfe tube, it’s just not worth the hassle of fixing a problem that doesn’t exist to begin with.

Really, even with the jankiest stock Anet A8 extruder, I have never experienced a clog nozzle, ever. Never needed a nozzle needle before I did this so called “upgrade”.

Anet A8 Upgrade Progress (1)
Anet A8 Upgrade Progress (1)

This is eSun ABS+, printed at 100 mm/s with 1500 acceleration (PrusaSlicer default).

Next is a pretty big one:


Complete Guide for PasswordStore on MacOS
Complete Guide for PasswordStore on MacOS

Or how to migrate away from Safari

After Mac’s Safari 13 completely dropped the extension feature, thus uBlock no longer works there, I want to move away from Safari. Which is a bit tricky because Keychain no longer works with other browser, so step 0 for moving away from Safari as default browser.

On iOS all other available browser also available with all the basic required features. Tab syncing, and what not. Password management isn’t an issue on iOS side because the way iOS handle password submission, and you can set the default password manager in the Settings.

Enters pass. Pass is a developer friendly password manager that uses GnuPG for encryption. So simple that the basic interface for it is just a plain command line, we’ll need to use other extension / plugins for it to work seamlessly. Pass also use git to handle the syncing, pro tip: GitHub now allows private repo 😉

Read more…

Tiny Touch MK2
Tiny Touch MK2

After making and using tiny touch for awhile now, I’ve noticed that the M3 bolt that screws into the flag is a design flaw. At some turns you may screw it not straight in thus it may snag on the hole, and the printer vibration can loosen the screw and messed with the Z offset. So, for the MK2 I’ve redesign the body and the flag so the M3 bolt and cap are no longer needed.

Left version

And since I have spare parts enough to make a back-up probe, I decided to just make one. I use the leftover left servo, and mirrored the body. This time it is way easier, most time spent was to desolder the JST connector on the endstop sensor.

I have updated the original build guide to reflect the MK2 changes.