Posts with «tool hacks» label

Tiny Hotplate Isn’t Overkill

When working on a new project, it’s common to let feature creep set in and bloat the project. Or to over-design a project well beyond what it would need to accomplish its task. Over at Black Mesa Labs, their problem wasn’t with one of their projects, it was with one of their tools: their hot plate. For smaller projects, an 800W hot plate was wasteful in many ways: energy, space, and safety. Since a lot of their reflow solder jobs are on boards that are one square inch, they set out to solve this problem with a tiny hot plate.

The new hot plate is perfectly sized for the job. Including control circuitry, it’s around the size of a credit card. The hot plate is powered from a small surplus 20V 5A laptop power supply and does a nice 4 minute reflow profile and cools off completely in under a minute. Compared to their full-sized hot plate, this is approximately 29 minutes faster, not to mention the smaller workspace footprint that this provides. The entire setup cost about $20 from the heating element to the transistors and small circuit board, and assuming that you have an Arduino Pro sitting in your junk bin.

It’s a good idea to have a reflow oven or a hot plate at your disposal, especially if you plan to do any surface mount work. There are lots of options available, from re-purposed toaster ovens to other custom hot plates of a more standard size. Overkill isn’t always a bad thing!


Filed under: tool hacks
Hack a Day 01 Apr 16:31

Arduino RF Network Analyzer

What do you get when you combine a direct digital synthesis (DDS) chip, a power detector, and an Arduino? [Brett Killion] did make that combination and wound up with a practical network analyzer.

The project uses an Analog Devices AD9851 DDS chip clocked at 180 MHz which will output a sine wave at any frequency from 0 Hz and 72 MHz. A Butterworth low pass filter processes the DDS signal and then feeds a two-transistor amplifier. The circuit will output about 0dBm into 50 ohms. The power detector is an Analog Devices AD8307 along with a 50-ohm input load. There is no filtering on the power detector so it can measure from very low frequencies to 500MHz.

[Brett] uses a Python program to process the data from the Arduino. For example, here’s a plot of a 10 MHz crystal from the software:

If you want to know more about DDS, our own [Bil Herd] has you covered (see the video, below). We’ve also seen similar antenna analyzers that are about the same thing.


Filed under: Android Hacks, tool hacks

Link Trucker is a Tiny Networking Giant

If you’re a networking professional, there are professional tools for verifying that everything’s as it should be on the business end of an Ethernet cable. These professional tools often come along with a professional pricetag. If you’re just trying to wire up a single office, the pro gear can be overkill. Unless you make it yourself on the cheap! And now you can.

[Kristopher Marciniak] designed and built an inexpensive device that verifies the basics:

  • Is the link up? Is this cable connected?
  • Can it get a DHCP address?
  • Can it perform a DNS lookup?
  • Can it open a webpage?

What’s going on under the hood? A Raspberry Pi, you’d think. A BeagleBoard? Our hearts were warmed to see a throwback to a more civilized age: an ENC28J60 breakout board and an Arduino Uno. That’s right, [Kristopher] replicated a couple-hundred dollar network tester for the price of a few lattes. And by using a pre-made housing, [Kristopher]’s version looks great too. Watch it work in the video just below the break.

Building an embedded network device used to be a lot more work, but it could be done. One of our favorites is still [Ian Lesnet’s] webserver on a business card from way back in 2008 which also used the ENC28J60 Ethernet chip.


Filed under: Network Hacks, tool hacks

The Case for Arduino in “Real Engineering”

For over ten years, Arduino has held onto its popularity as “that small dev-board aimed to get both artists and electronics enthusiasts excited about physical computing.” Along the way, it’s found a corner in college courses, one-off burning man rigs, and countless projects that have landed here. Without a doubt, the Arduino has a cushy home among hobbyists, but it also lives elsewhere. Arduino lives in engineering design labs as consumer products move from feature iterations into user testing. It’s in the chem labs when scientists need to get some sensor data into their pc in a pinch. Despite the frowns we’ll see when someone blinks an LED with an Arduino and puts it into a project box, Arduino is here to stay. I thought I’d dig a little bit deeper into why both artists and engineers keep revisiting this board so much.

Arduino, do we actually love to hate it?

It’s not unusual for the seasoned engineers to cast some glares towards the latest Arduino-based cat-feeding Kickstarter, shamelessly hiding the actual Arduino board inside that 3D-printed enclosure. Hasty? Sure. Crude, or unpolished? Certainly. Worth selling? Well, that depends on the standards of the consumer. Nevertheless, those exact same critical engineers might also be kicking around ideas for their next Burning Man Persistence-of-Vision LED display–and guess what? It’s got an Arduino for brains! What may seem like hypocrisy is actually perfectly reasonable. In both cases, each designer is using Arduino for what it does best: abstracting away the gritty details so that designs can happen quickly. How? The magic (or not) of hardware abstraction.

Meet HAL, the Hardware-Abstraction Layer

In a world where “we just want to get things blinking,” Arduino has a few nifty out-of-the-box features that get us up-and-running quickly. Sure, development tools are cross-platform. Sure, programming happens over a convenient usb interface. None of these features, however, can rival Arduino’s greatest strength, the Hardware Abstraction Layer (HAL).

HAL is nothing new in the embedded world, but simply having one can make a world of difference, one that can enable both the artist and the embedded engineer to achieve the same end goal of both quickly and programmatically interacting with the physical world through a microcontroller. In Arduino, the HAL is nothing more than the collection of classes and function calls that overlay on top of the C++ programming language and, in a sense, “turn it into the Arduino programming language” (I know, there is no Arduino Language). If you’re curious as to how these functions are implemented, take a peek at the AVR directory in Arduino’s source code.

With a hardware abstraction layer, we don’t need to know the details about how our program’s function calls translate to various peripherals available on the Uno’s ATMEGA328p chip. We don’t need to know how data was received when Serial.available() is true. We don’t “need to know” if Wire.begin() is using 7-bit addressing or 10-bit addressing for slave devices. The copious amounts of setup needed to make these high-level calls possible is already taken care of for us through the HAL. The result? We save time reading the chip’s datasheet, writing helper functions to enable chip features, and learning about unique characteristics and quirks of our microcontroller if we’re just trying to perform some simple interaction with the physical world.

Cross-Platform Compatibility

Teensy 3.2 keeps form factor but adds on-chip hardware features compared to 3.1

There are some cases where the HAL starts to break down. Maybe the microcontroller doesn’t have the necessary hardware to simultaneously drive 16 servos while polling a serial port and decoding serial data. In some cases, we can solve this issue by switching Arduino platforms. Maybe we actually do need three serial ports instead of one (Teensy 3.2). Maybe we do need pulse-width-modulation (PWM) capability on every pin (Due). Because of the hardware abstraction layer, the rest of the source code can remain mostly unchanged although we may be switching chip architectures and even compilers in the process! Of course, in an environment where developing code for the target platform does matter, it doesn’t make sense to go to such efforts to write the general-purpose code that we see in Arduino, or even use Arduino in the first place if it doesn’t have the necessary features needed for the target end-goal. Nevertheless, for producing an end-to-end solution where “the outcome matters but the road to getting there does not,” writing Arduino code saves time if the target hardware needs to change before getting to that end goal.

HAL’s drawbacks

Of course, there’s also a price to pay for such nice things like speedy development-time using the HAL, and sometimes switching platforms won’t fix the problem. First off, reading the Arduino programming language documentation doesn’t tell us anything about the limitations of the hardware it’s running on. What happens, let’s say, if the Serial data keeps arriving but we don’t read it with Serial.read() until hundreds of bytes have been sent across? What happens if we do need to talk to an I2C device that mandates 10-bit addressing? Without reading the original source code, we don’t know the answers to these questions. Second, if we choose to use the functions given to us through the HAL, we’re limited by their implementation, that is, of course, unless we want to change the source code of the core libraries. It turns out that the Serial class implements a 64-byte ring buffer to hold onto the most recently received serial data. Is 64 bytes big enough for our application? Unless we change the core library source code, we’ll have to use their implementation.

Both of the limitations above involve understanding how the original HAL works and than changing it by changing the Arduino core library source code. Despite that freedom, most people don’t customize it! This odd fact is a testament to how well the core libraries were written to suit the needs of their target audience (artists) and, hence, Arduino garnered a large audience of users.

Pros of Bare-Metalspeak

digitalWrite takes a whopping 52-55 cycles to change pin direction! [image source]
Are there benefits to invoking the hardware directly? Absolutely. A few curious inquirers before us have measured the max pin-toggling frequency with digitalWrite to be on the order of ~100 KHz while manipulating the hardware directly results in a pin-toggling frequency of about 2 MHz, about 20 times faster. That said, is invoking the hardware directly worth it? Depends, but in many cases where tight timing isn’t a big deal and where the goal of a functional end-to-end system matters more than “how we got there,” then probably not! Of course, there are cases when tight timing does matter and an Arduino won’t make the cut, but in that case, it’s a job for the embedded engineer.

Use the HAL, Luke!

To achieve an end-to-end solution where the process of “how we got there” matters not, Arduino shines for many simple scenarios. Keep in mind that while the HAL keeps us from knowing too many details about our microcontroller that we’d otherwise find in the datasheet, I don’t proclaim that everyone throw out their datasheets from here on out. I am, however, a proponent of “knowing no more than you need to know to get the job done well.” If I’m trying to log some sensor data to a PC, and I discover I’ll be saving a few days reading a datasheet and configuring an SPI port because someone already wrote SPI.begin(), I’ll take an Arduino, please.

If you’ve rolled up your sleeves and pulled out an Arduino as your first option at work, we’d love to hear what uses you’ve come up with beyond the occasional side-project. Let us know in the comments below.


Filed under: Arduino Hacks, Hackaday Columns, tool hacks

High Tech, Low Cost Digital Torque Meter

Ever obsessed with stripping the hype from the reality of power tool marketing, and doing so on the cheap, [arduinoversusevil] has come up with a home-brew digital torque meter that does the job of commercial units costing hundreds of times as much.

For those of us used to [AvE]’s YouTube persona, his Instructables post can be a little confusing. No blue smoke is released, nothing is skookum or chowdered, and the weaknesses of specific brands of tools are not hilariously enumerated. For that treatment of this project, you’ll want to see the video after the break. Either way you choose, he shows us how a $6 load cell and a $10 amplifier can be used to accurately measure the torque of your favorite power driver with an Arduino. We’ve seen a few projects based on load cells, like this posture-correcting system, but most of them use the load cell to measure linear forces. [AvE]’s insight that a load cell doesn’t care whether it’s stretched or twisted is the key to making a torque meter that mere mortals can afford.

Looks like low-end load cells might not be up to measuring the output on your high-power pneumatic tools, at least not repeatedly, but they ought to hold up to most electric drivers just fine. And spoiler alert: the Milwaukee driver that [AvE] tested actually lived up to the marketing.


Filed under: Arduino Hacks, tool hacks

Rotary Indexer gives Mill a 4th axis (sort of)

Rotary indexer’s are standard issue in most machine shops. These allow you to hold or chuck a work piece, and then a graduated handle lets you to rotate the workpiece. Useful when you want to drill or tap axial or radial features. A rack and pinion drive ensures that the workpiece does not move under machining load. Quite often, these indexers also have a manual lock to take care of gear backlash and play. Automating them is not too difficult either. You could use just a stepper motor (open loop) or servo+encoder (closed loop) to drive the turntable.

[smashedagainst] needed to drill six radial holes on a part. And he had to do it on 500 pieces for a total of 3000 holes. That was just for the first initial run, with more drilling likely in the future. The part in question was small and light weight. So instead of using a heavy duty, industrial grade unit, he built an all-electric rotary indexing jig using a stepper motor and an Arduino, giving him a sort of rotary 4th axis. His idea was to directly use the stepper motor to rotate the workpiece without any gearing, but he needed to build his own rig to do so.

His initial prototype used an Arduino Uno, which he swapped for a Pro Mini in the final version to save some space. The Arduino was connected to a Rugged Circuits motor driver. This was the only driver, out of the several that he tried that managed to hold the stepper motor with enough torque to prevent the workpiece from moving while drilling. The number of holes to be drilled is hard-coded in the Arduino, so all he needed was a single button. Each press of the button advanced the stepper motor through 60 degrees, giving him six, equally spaced holes. He used a NEMA-34 stepper motor, and that meant a beefy power supply. He scavenged a power supply from an old laser printer which conveniently had 24V DC as well as 5V outputs.

The next step was to work on the mechanical assembly. He machined an arbor that is attached to the shaft of the stepper motor. The face of the arbor is hexagonal and the workpiece wedges/locates over this. The motor assembly is fixed on one end of a base plate. The other end of the base plate has a clamping mechanism activated by a toggle clamp. It is also able to rotate (much like a live centre on a lathe). The workpiece is mated to the arbor, and the toggle clamp then locks the piece in place. During initial trials, some of the assembly fasteners worked loose, and there was some amount of chatter from the drill bit. He fixed these issues, and found it performed best when he set the spindle speed at 2400 rpm. Once he got it working, he was able to finish a hundred parts in under 2 hours. Drilling six holes in quick succession causes the part to get quite hot, so he first used some  pressurised air cooling. Later, he switched to a spray can based multi purpose penetrant lubricant. Watch his video of the indexing jig in action below.


Filed under: cnc hacks, tool hacks

Robo Foam Cutter Makes Short Work of your Foam Rolls

Tired of cutting your foam sheets down to size? [jgschmidt] certainly was, and after one-too-many hours cutting foam manually, he built himself a machine that cuts sheets automatically, and he guides you through the process step-by-step.

[jgschmidt’s] build is a clever assembly of stock parts acquired from ServoCity. That’s a nice touch, considering we don’t often see their components in quick hacks. With a stepper to feed more foam, and a stepper to drive the blade mechanism, the device can consistently cut foam from a roll to desired lengths.

The blade mechanism consists of two exacto blades fixed nose-to-nose such that the machine can cut on both forward and reverse sweeps. While we’ve certainly seen some stellar past foam cutter builds, we can’t resist drooling over the speedy throughput of [jgschmidt’s] machine as it cuts on both forward and back-strokes. Finally, when the blades dull, they can be swapped out for a few dime’s worth of new parts.

Many of the steps in [jgschmidt’s] build are laudably practical with a “get it done” attitude. From hot-glued wire insulation to the double-edged blade formed from exacto knives, we’re thrilled to see him take a few pieces off the shelf and few pieces off the web and build himself a new workshop tool. Perhaps the neatest feature of this hack is its ability to rapidly transform a raw material into numerous repeatable, useful forms for his customers.

via [Instructables]


Filed under: Arduino Hacks, tool hacks

A Router Table with Height Control

The wood router is a versatile power tool which can be picked up at a low price. Nicer router setups are mounted underneath a table, with the cutting head poking through. This makes it easier and safer to work with the tool.

[Paul] combined his interest in electronics and woodworking by making a router table with automated controls [translation]. The neat part of this build is the automated height control, which ensures accurate cutting depth.

The router is mounted to a threaded rod, which allows it to be moved up and down by a motor. A low cost L298 motor driver provides the power to the motor, which is controlled by an Arduino Uno. A VCNL4020 based sensor board is used to measure distance and accurately set the router height. This tiny proximity sensor looks like a nifty chip, providing distance measurements up to 200 mm and an ambient light sensor in one package.

The routing table has an LCD display and buttons, allowing the user to dial in their desired height. The entire thing was built using recycled bits and well under $100 in new parts.


Filed under: tool hacks

Altoids Tin Network Analyzer

Network Analyzers are frequently used for measuring filters, making them extremely valuable for building radios and general mucking about with RF. They are, however, extremely expensive. You can, however, build one in an Altoids tin with an Arduino Nano, a small screen, and an AD9850 frequency synthesis module picked up on eBay.

The basic idea behind a network analyzer is to feed a frequency into a device, and measure the amplitude coming out of the device, and plot this relationship over a frequency. [Bill Meara] has been a human network analyzer before, changing frequencies and plotting the output of devices under test by hand. [DuWayne] (KV4QB) build a device to automate the entire process.

The block diagram is easy enough – an AD9850 sends a signal to the device, and this is measured by the Arduino with a small amplifier. The signal is measured again when it comes back from the device under test, and all this is plotted on a small display. Simple, and [DuWayne] is getting some very good readings with a lowpass filter and crystal filter made on a small solderless breadboard.


Filed under: Arduino Hacks, tool hacks

A Modern Woodworking Workbench

This is a post about workbenches, but not the benches you’re probably thinking about. Workbenches meant for electronics development are simple matters – just about any flat surface, a few shelves for equipment, and an anti-static mat will be fine for every conceivable use.  Workbenches for woodworking are a separate matter entirely. There’s actually quite a bit of history behind the development of the woodworking workbench, but the basic idea is a thick laminated wood top, integrated vices, holes in the work surface for bench dogs, and ergonomics that allow for comfortable use of hand tools. The basic design of these benches hasn’t changed much in several hundred years, and [Dirk] thought the design was ready for a modern update.

Yes. This one moves on its own. It’s a robotic woodworking workbench that lifts the workpiece and table up to a comfortable position. The lifting mechanism is a quartet of Acme threaded rods all powered by an Arduino-controlled stepper motor linked together with sprockets and chain. There’s a remote control to raise and lower the bench, and a few batteries tucked behind the mechanics to allow for off-grid operation.

A bench must be sturdy, and this one has clamps on the frame of to clamp the ‘elevator car’ securely to the bench. Leveling casters make this bench mobile, giving [Dirk] the ability to move it around the shop, or from site to site. An integrate face vise and a twin-screw end vise securely hold the workpiece to the table, and a linseed oil finish make scratches and gouges easily repairable.

The majority of the frame is constructed out of birch plywood cut on a CNC, so if you have a Shopbot or other large router available to you at the local hackerspace, building this bench for yourself is a much simpler matter than the mortise and tenon joinery of a more traditional woodworking workbench. If you end up building this bench, be sure to pick up the casters [Dirk] used; this thing weighs 800 pounds. Massive, heavy, and an excellent bench that can be passed down to your grandkids. Video below.


Filed under: Arduino Hacks, tool hacks