Modding The Monoprice MP Mini Printer

Two weeks after my review of the MP Select Mini 3D printer, Monoprice’s own website has said this printer has been out of stock, in stock, and out of stock again several times. This almost unimaginably cheap 3D printer is proving to be exceptionally popular, and is in my opinion, a game-changing machine for the entire world of 3D printing.

With the popularity of this cheap printer that’s more than halfway decent, there are bound to be improvements. Those of us who have any experience with 3D printers aren’t going to be satisfied with a machine with any shortcomings, especially if it means we can print enhancements and mods for our printers.

Below are the best mods currently available for this exceptional printer. Obvious problems with the printer are corrected, and it’s made a little more robust. There are mods to add a glass build plate, and a few people are even messing around with the firmware on this machine. Consider this volume one of the MP Mini hacks; with a cheap printer that’s actually good, there are bound to be more improvements.

Continue reading “Modding The Monoprice MP Mini Printer”

What Could Go Wrong: SPI

Serial Peripheral Interface (SPI) is not really a protocol, but more of a general idea. It’s the bare-minimum way to transfer a lot of data between two chips as quickly as possible, and for that reason alone, it’s one of my favorites. But that doesn’t mean that everything is hugs and daffodils. Even despite SPI’s simplicity, there are still a few ways that things can go wrong.

In the previous article in this series, inspired by actual reader questions, I looked into troubleshooting asynchronous serial connections. Now that you’ve got that working, it’s time to step up to debugging your SPI bus! After a brief overview of the system, we’ll get into how to diagnose SPI, and how to fix it.

Continue reading “What Could Go Wrong: SPI”

Tools Of The Trade – Inspection

In the last episode, we put our circuit boards through the reflow process. Unfortunately, it’s not 100% accurate, and there are often problems that can occur that need to be detected and fixed. That’s what the inspection step is for. One could insert an inspection step after paste, after placement, and after reflow, but the first two are icing on the cake — the phase where most mistakes can be caught is after reflow.

There are a number of problems typical with a surface mount reflow process: Continue reading “Tools Of The Trade – Inspection”

Taming The Beast: Pro-Tips For Designing A Safe Homebrew Laser Cutter

Homebrew laser cutters are nifty devices, but scorching your pals, burning the house down, or smelling up the neighborhood isn’t anyone’s idea of a great time. Lets face it. A 60-watt laser that can cut plastics offers far more trouble than even the crankiest 3D-printers (unless, of course, our 3D printed spaghetti comes to life and decides to terrorize the neighborhood). Sure, a laser’s focused beam is usually pointed in the right direction while cutting, but even an unfocused beam that reflects off a shiny material can start fires. What’s more, since most materials burn, rather than simply melt, a host of awful fumes spew from every cut.

Despite the danger, the temptation to build one is irresistible. With tubes, power supplies, and water coolers now in abundance from overseas re-sellers, the parts are just a PayPal-push away from landing on our doorsteps. We’ve also seen a host of exciting builds come together on the dining room table. Our table could be riddled with laser parts too! After combing through countless laser build logs, I’ve yet to encounter the definitive guide that tells us how to take the proper first steps forward in keeping ourselves safe while building our own laser cutter. Perhaps that knowledge is implicit to the community, scattered on forums; or perhaps it’s learned by each brave designer on their own from one-too-many close calls. Neither of these options seems fair to the laser newb, so I decided to lay down the law here.

Continue reading “Taming The Beast: Pro-Tips For Designing A Safe Homebrew Laser Cutter”

Serially, Are You Syncing Or Asyncing?

I know you’ve heard of both synchronous and asynchronous communications. But do you really know the differences between the two?

Serial communication was used long before computers existed. A predecessor is the telegraph system using Morse Code, one of the first digital modes of communication. Another predecessor is the teletype, which set standards that are still used today in your Arduino or Raspberry Pi.

All you need is two wires for serial communications, which makes it simple and relatively robust. One wire is ground and the other the signal. By interrupting the power with predefined patterns, information can be transferred over both short and long distances. The challenge is receiving the patterns correctly and quickly enough to be useful.

I was a bit surprised to find out the serial port on the Arduino Uno’s ATmega328P microcontroller is a Universal Synchronous Asynchronous Transmitter Receiver (USART). I’d assumed it was only a UART (same name, just leave out synchronous) probably because my first work with serial communications was with the venerable Intel 8251 “Programmable Communication Interface”, a UART, and I didn’t expect the microcontroller to be more advanced. Silly me. Later I worked with the Zilog 8530 Serial Controller Chip, a USART, the term I’ll use for both device types.

All these devices function in the same way. You send a byte by loading it into a register and it is shifted out one bit at a time on the transmit (TX) line as pulses. The receiver accepts the pulses on a receive (RX) input and shifts them into a register, which is then read by the system. The transmitter’s job is pretty easy it just shifts out the bits at a known clock rate. The receiver’s task is more complex because it needs to know when to sample the incoming signal. How it does this is the difference between asynchronous and synchronous communications.

Continue reading “Serially, Are You Syncing Or Asyncing?”

What Could Go Wrong: Asynchronous Serial Edition

It’s the easiest thing in the world — simple, straightforward serial data. It’s the fallback communication protocol for nearly every embedded system out there, and so it’s one that you really want to work when the chips are down. And yet! When you need it most, you may discover that even asynchronous serial can cost you a few hours of debugging time and add a few gray hairs to your scalp.

In this article, I’m going to cover most (all?) of the things that can go wrong with asynchronous serial protocols, and how to diagnose and debug this most useful of data transfer methods. The goal is to make you aware enough of what can go wrong that when it does, you’ll troubleshoot it systematically in a few minutes instead of wasting a few hours.

Continue reading “What Could Go Wrong: Asynchronous Serial Edition”

Gawking Text Files

Some tools in a toolbox are versatile. You can use a screwdriver as a pry bar to open a paint can, for example. I’ve even hammered a tack in with a screwdriver handle even though you probably shouldn’t. But a chainsaw isn’t that versatile. It only cuts. But man does it cut!

aukAWK is a chainsaw for processing text files line-by-line (and the GNU version is known as GAWK). That’s a pretty common case. It is even more common if you produce a text file from a spreadsheet or work with other kinds of text files. AWK has some serious limitations, but so do chainsaws. They are still super useful. Although AWK sounds like a penguin-like bird (see right), that’s an auk. Sounds the same, but spelled differently. AWK is actually an acronym of the original author’s names.

If you know C and you grok regular expressions, then you can learn AWK in about 5 minutes. If you only know C, go read up on regular expressions and come back. Five minutes later you will know AWK. If you are running Linux, you probably already have GAWK installed and can run it using the alias awk. If you are running Windows, you might consider installing Cygwin, although there are pure Windows versions available. If you just want to play in a browser, try webawk.

Continue reading “Gawking Text Files”