Syndicate content Hackaday
Fresh hacks every day
ถูกปรับปรุง 4 hours 19 min ก่อน

Demystifying Amateur Radio Callsigns

พุธ, 11/30/2016 - 22:01

Regular Hackaday readers will be familiar with our convention of putting the name, nickname, or handle of a person in square brackets. We do this to avoid ambiguity as sometimes names and particularly nicknames can take unfamiliar forms that might be confused with other entities referred to in the text. So for example you might see them around [Bart Simpson], or [El Barto]. and occasionally within those brackets you’ll also see a capitalised string of letters and numbers after a name. For example the electronic music pioneer [Bob Moog, K2AMH], which most of you will recognise as an amateur radio callsign.

Every licenced radio amateur is issued one by their country’s radio authority as a unique identifier, think of it as similar to a car licence plate. From within the amateur radio bubble those letters and numbers can convey a significant amount of information about where in the world its user is located, when they received their licence, and even what type of licence they hold, but to outsiders they remain a mysterious and seemingly random string. We’ll now attempt to shed some light on that information, so you too can look at a callsign in a Hackaday piece or anywhere else and have some idea as to its meaning.

[Bob Moog, K2AMH]. PD, via Wikimedia Commons.Happily for the would-be callsign spotter, there is an internationally agreed format for amateur radio callsigns. It does have occasional edge cases and exceptions, but the chances of encountering them is slim. There will always be a prefix of up to three alphanumeric characters which identifies a country or territory, followed by a single digit, and then followed by up to four characters.

Returning to [Bob Moog]’s callsign [K2AMH] above as a straightforward example, the “K”  is one of the prefix letters A, N, K, and W so far used in the ranges assigned to the USA, the “2” indicates that the callsign was issued in New York or New Jersey because the digit in a US callsign represents a region, and the “AMH” is a sequentially issued string of letters acting as a personal identifier. In more recently issued callsigns this will often be a vanity string, perhaps the operator’s initials or similar.

A seasoned callsign-spotter would also be able to tell you that [Bob Moog]’s callsign originates from sometime in the 1950s, as that was the period in which they started issuing single-letter “K” callsigns, and that it denotes a full or advanced class licence because the “K” is not accompanied by another letter. The FCC provide a handy guide to the callsigns they currently issue, if you are curious.

The Details

[Bob Moog] provides us with our straightforward example above, but as is so often the case there are many exceptions and international differences that mean not all callsign components have the same interpretation. For example in British callsigns the number does not represent a region, instead for the vast majority it conveys the age of the callsign and the class of licence for which it was issued.  If you are digging that deep into the information contained within a callsign issued in another territory, you will often have to resort to your favourite search engine.

[9K2/VO1DZA], a Canadian licencee working 30m WSPR in Kuwait, showing the Kuwaiti prefix in front of their Canadian callsign.Sometimes you will see extra letters with a slash at the start and end of a callsign. Letters at the start mean that the station is operating in another country or territory, for example.  Reciprocal agreements exist between countries allowing foreign amateurs to operate within their borders, when doing so they prepend the appropriate international prefix to their own callsign with a slash to indicate the true location of their station. Our example in the image to the left shows a Canadian station working this way in Kuwait.

Of course, not all radio amateurs work from home. There is a long tradition of portable operation, in cars, on foot, in boats, and even in the air. When operating in this manner there is a requirement to indicate this by adding a slash and an appropriate suffix on the end of the callsign. Thus you’ll see “/P” for portable or on foot, “/M” for mobile, and even occasionally “/MM” for maritime mobile and “/AM” for aeronautical mobile. There are tales for example of people working [King Hussein] of Jordan as [JY1/AM] from his royal jet somewhere over the Atlantic on the way to the USA. Incidentally that Jordanian callsign is one of those rare edge cases we mentioned earlier, it has no letters following its number. When you are king, the ultimate in vanity callsigns can be yours!

There is sometimes an undesirable side to being able to extract so much information from a callsign. People will always find an excuse to impose a hierarchy on any group, and radio amateurs are no exception. Thus you will sometimes find holders of older or more advanced licences excluding or being unpleasant to people whose callsigns they deem to be inferior to their own. We recently heard an oldtimer whose callsign reveals he was probably first licenced in the 1950s or 1960s rip into a recently licenced novice with a British M6 callsign, and it was not a particularly pleasant experience. We’re sure Hackaday readers will agree that it doesn’t matter when you were first licenced or what level of radio examination you have passed. You are only as good as the last piece of radio equipment you built, and the last station you worked with it.

We hope this has given you an insight into amateur radio callsigns, and they no longer appear to you as simply random strings when we feature them. If you are interested in amateur radio, you might like to see a previous feature we did on some of the steps required to take your licence exam.

Callsign plate header image: Cody gg 88 [CC BY-SA 4.0], via Wikimedia Commons.

Filed under: Featured, History, radio hacks

Dawn of the Tripteron 3D Printer

พุธ, 11/30/2016 - 19:00

Cartesian 3D printers were the original. Then delta printers came along, and they were pretty cool too. Now, you can add tripteron printers to the mix.  The tripteron is an odd mix of cartesian and delta. The system was invented at the robotics laboratory at Université Laval in Quebec, Canada. The team who created it say that it is “isotropic and fully decoupled, i.e. each of the actuators is controlling one Cartesian degree of freedom, independently from the others.” This means that driving the bot will be almost as simple as driving a standard X/Y/Z Cartesian printer. The corollary to that are of course delta robots, which follow a whole different set of kinematic rules.

A few people have experimented with tripteron printers over the years, but as far as we can see, no one has ever demonstrated a working model. Enter [Apsu], who showed up about a month ago. He started a post on the RepRap forums discussing his particular design. [Apsu] works fast, as he has now demonstrated a working prototype making prints. Sure they’re just calibration cubes, but this is a huge step forward.

[Apsu] admits that he still has a way to go in his research – especially improving the arm and joint implementation. However, he’s quite pleased that his creation has gone from a collection of parts to a new type 3D printer.  We are too — and we can’t wait to see the next iteration!

Filed under: 3d Printer hacks

Lighthouse Locates Drone; Achieves Autonomous Battery Swap

พุธ, 11/30/2016 - 16:01

The HTC Vive’s Lighthouse localization system is one of the cleverest things we’ve seen in a while. It uses a synchronization flash followed by a swept beam to tell any device that can see the lights exactly where it is in space. Of course, the device has to understand the signals to figure it out.

[Alex Shtuchkin] built a very well documented device that can use these signals to localize itself in your room. For now, the Lighthouse stations are still fairly expensive, but the per-device hardware requirements are quite reasonable. [Alex] has the costs down around ten dollars plus the cost of a microcontroller if your project doesn’t already include one. Indeed, his proof-of-concept is basically a breadboard, three photodiodes, op-amps, and some code.

His demo is awesome! Check it out in the video below. He uses it to teach a quadcopter to land itself back on a charging platform, and it’s able to get there with what looks like a few centimeters of play in any direction — more than good enough to land in the 3D-printed plastic landing thingy. That fixture has a rotating drum that swaps out the battery automatically, readying the drone for another flight.

If this is just the tip of the iceberg of upcoming Lighthouse hacks, we can’t wait!

We loved the Lighthouse at first sight, and we’ve been following its progress into a real product. Heck, we’ve even written up a previous DIY Lighthouse receiver built by [Trammell Hudson]. It’s such an elegant solution to the problem of figuring out where your robot is that we get kinda gushy. Beg your pardon.

Filed under: drone hacks, robots hacks

Slack, Backwards Compatible With 1982

พุธ, 11/30/2016 - 13:00

Slack is great, but there are a few small problems with the current implementations. There isn’t a client for Palm, there isn’t a client for the Newton, and there isn’t a client for the Commodore 64. The last of these severe oversights was recently fixed by [Jeff Harris]. He built a native Slack client in 6502 assembly for the Commodore 64.

When dealing with network applications and the C64, the first question that comes to mind is how to talk to the outside world. There are C64 NICs, and ESP dongles, but for this build [Jeff] turned to the C64 Userport. This card edge combination of a serial and parallel port allows the C64 to talk to anything with RS-232, and with a simple adapter, [Jeff] got his old computer talking to a Raspberry Pi connected to the Internet.

The C64 Slack client itself is written in 6502 assembly, and features everything you would expect. The Pi is required to talk to the Slack API, though, and uses a NodeJS app to translate the bits from the C64 to something the API can understand.

Does it work? Of course it does. Slack is just text, after all, and there doesn’t seem to be any PETSCII weirdness here. You can check out a video of the build in action below.

Filed under: classic hacks, Raspberry Pi

Game Controller Cuts the Rug

พุธ, 11/30/2016 - 10:00

There’s an iconic scene from the movie Big where [Tom Hanks] and [Robert Loggia] play an enormous piano by dancing around on the floor-mounted keys. That was the first thing we thought of when we saw [jegatheesan.soundarapandian’s] PC joystick rug. His drum playing (see the video below) wasn’t as melodious as [Hanks] and [Loggia] but then again they probably had a musical director.

At the heart of the project is, of course, an Arduino. An HC-05 provides a Bluetooth connection back to the PC. We thought perhaps an Arduino with USB input capability like the Leonardo might be in use, but instead, [jegatheesan] has a custom Visual Basic program on the PC that uses SendKeys to do the dirty work.

The switches are more interesting made with old CDs, foil, and sponges. The sponge holds the CDs apart until you step on them and the foil makes the CDs conductive. He uses a lot of Fevicol in the project–as far as we can tell, that’s just an Indian brand of PVA glue, so Elmer’s or any other white glue should do just as well.

The glue also handles the fabric parts. When a project says “no sewing” we realize how some people feel about soldering. The CD/foil/sponge switches might be useful in other contexts. We’d be interested in how the sponges wear with prolonged use.

We’ve seen other giant controllers before. Of course, if you really want a big controller, you can’t beat a Nissan (the link is dead, but the video will give ou the idea).

Filed under: Arduino Hacks

Drop-in Laser Cutter Alignment Beam Works like a Charm

พุธ, 11/30/2016 - 07:00

Every laser cutter enthusiast eventually pops the question: how on earth do I align an invisible beam that’s more-than-happy to zap my eyeballs, not to mention torch everything else in its path? We hate to admit it, but laser cutter beam alignment is no easy task. To greatly assist in this endeavor, though, some folks tend to mix a red diode laser into the path of the beam. Others temporarily fixture that diode laser directly in the beam path and then remove it once aligned.

One deviant has taken diode laser mixing to the next level! [Travis Reese] has added a servo-driven diode laser that dynamically drops into the path of the laser tube when the lid pops up, and then tilts comfortably out of the laser path when the lid closes again.

[Travis]’s beam alignmnent mechanism is Arduino powered and driven by a classic hobby servo. A firmware update moves the setpoint of the laser slightly up and down for adjustment, with about a tenth of a degree per step. While [Travis] doesn’t have all degrees of freedom exposed for alignment, this jig is more-than-sufficient for getting a matching path that’s about eyeball-accurate with the true path of the beam.

Curious? [Travis’] CAD model is up-for-grabs if you’d like to spin your own variant.

Laser alignment is tricky, but we’ve seen a few other solutions out there. For a more classic mechanism that traces the actual beam path with burn marks, have a look at [Stephen’s] method.

Filed under: 3d Printer hacks, laser hacks

Fail of the Week: Pinewood Derby Cheat Fails Two Ways

พุธ, 11/30/2016 - 04:00

Would you use your tech prowess to cheat at the Pinewood Derby? When your kid brings home that minimalist kit and expects you to help engineer a car that can beat all the others in the gravity-powered race, the temptation is there. But luckily, there are some events that don’t include the kiddies and the need for parents to assume the proper moral posture. When the whole point of the Pinewood Derby is to cheat, then you pull out all the stops, and you might try building an electrodynamic suspension hoverboard car.

Fortunately for [ch00ftech], the team-building Derby sponsored by his employer is a little looser with the rules than the usual event. Loose enough perhaps to try a magnetically levitating car. The aluminum track provided a perfect surface to leverage Lenz’s Law. [ch00ftech] tried different arrangements of coils and drivers in an attempt to at least reduce the friction between car and track, if not outright levitate it. Sadly, time ran out and physics had others ideas, so [ch00ftech], intent on cheating by any means, tried spoofing the track timing system with a ridiculous front bumper of IR LEDs. But even that didn’t work in the end, and poor [ch00f]’s car wound up in sixth place.

So what could [ch00ftech] had done better? Was he on the right course with levitation? Or was spoofing the sensors likely to have worked with better optics? Or should he have resorted to jet propulsion or a propeller drive? How would you cheat at the Pinewood Derby?

Fail of the Week is a Hackaday column which celebrates failure as a learning tool. Help keep the fun rolling by writing about your own failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.

Filed under: Fail of the Week, Hackaday Columns, transportation hacks

Awarding the 2016 Hackaday Prize

พุธ, 11/30/2016 - 02:31

Saturday evening at the Hackaday SuperConference is reserved for the Hackaday Prize Party. Our engineering initiative each year, The Hackaday Prize, starts in the spring and ends in the fall. What happens in between is magic: thousands of engineers and engineering enthusiasts focus their skills on building something that matters. The top entries take home some pretty amazing prizes. At this year’s prize ceremony (seen below) we announced the five top entries which took home $200,000 in addition to the $100,000 already awarded to 100 final projects.

Check out the presentation which includes appearances by several of our amazing judges, then join us after the break for a bit more about this year’s Hackaday Prize.

The 2016 Hackaday Prize began in March and included five challenge rounds which lasted about five weeks each. The challenges invited everyone to enter a project in one or more of the following topics: Design Your Concept, Anything Goes, Citizen Science, Automation, and Assistive Technology. At the end of each round, twenty entries were selected to receive $1000 and move on to the final round.

Over 1000 Entries; Many Winners Three segments of the Dtto modular robot

It has been amazing to watch all of the excitement around Hackaday Prize entries. All told, there were more than one thousand projects entered in the 2016 Hackaday Prize. All of these projects are worth exploring. For the prize ceremony we looked at the final ten entries which are summarized in the judges words.

The 2016 Hackaday Prize was awarded to Dtto, a modular robotics platform whose creator has been imagining every possible use case for the prototype he assembled. It’s a remarkable build — simple at first glance, making it possible to fabricate it at any hackerspace, but the implementation goes far beyond your first impression. Make sure to check out the rest of the five top entries.

Where Do We Go From Here?

The Hackaday Prize has drawn to a close but the ideal of using your free time and talent to make the world a better place never ends. Choose something worthwhile and start a new build, or reach out to the team behind some of your favorite entries and offer to help move the project forward. Hackaday.io is a fantastic collaboration platform — you no longer need to be down the street from you engineering dream team to do meaningful work. As winter sets in for at least one hemisphere, the workbench calls your name and we can’t see what you create.

How Is This Even Possible?

How is it even possible to host a multi-month engineering challenge that encourages Open Hardware and includes more than $300,000 in prizes? We have so many people to thank. First and foremost, the Hackaday Community is a big driver for this — your creativity, excitement, and help getting the word out are directly responsible for all the great entries and good things that happen. This extends to Hacker Chats, live events like Hackaday World Create day, and gracious hosts all over the world who helped make Hackaday meetups possible. Thank you!

Our panel of expert judges have been amazing. They donated their expertise and took time out of their busy schedules to be a big part of the entire scope of the Hackaday Prize. Many judged in the preliminary rounds in addition to their final-round duties. We saw them at live events around the world throughout the run of the Hackaday Prize, and many of them were at the SuperCon as speakers and to present at the awards ceremony.

We are also incredible grateful to the 2016 Hackaday Prize Sponsors who hold the same values at the Prize itself: celebrating engineering, Open Source/Open Hardware, and using our skills to Build Something that Matters. These sponsors are: Atmel, Digikey, Microchip, and Supplyframe.

To all who made this possible, thank you!

The HackadayPrize2016 is Sponsored by:
Filed under: cons, Hackaday Columns

Controlling Your Instruments From A Computer: Doing Something Useful

พุธ, 11/30/2016 - 01:01

Do you know how to harvest data from your bench tools, like plotting bandwidth from your oscilloscope with a computer? It’s actually pretty easy. Many bench tools make this easy using a standard protocol with USB to make the connection.

In the previous installment of this article we talked about the National Instruments VISA (Virtual Instrument Software Archetecture) standard for communicating with your instruments from a computer, and introduced its Python wrapper with a simple demonstration using a Raspberry Pi. We’ll now build on that modest start by describing a more useful application for a Raspberry Pi and a digital oscilloscope; we’ll plot the bandwidth of an RF filter. We’ll assume that you’ve read the previous installment and have both Python and the required libraries on your machine. In our case the computer is a Raspberry Pi and the instrument is a Rigol DS1054z, but similar techniques could be employed with other computers and instruments.

Our Real World Problem: A Low Pass Filter QUCS simulation for a prototype 10m low-pass filter.

A prototype low-pass filter for the 10m amateur radio band was designed using the QUCS simulator. The band sits at the top of the HF spectrum, from about 28 to 30 MHz, so the idea was to create a filter that lets everything below 30MHz through and attenuates everything above that frequency. The simulation showed a cut-off at 30MHz and a flat response for the upper 2 MHz of the passband. Almost perfect for the application.

But before celebrating it’s worth checking, does the filter really perform as well as its simulation? For that we need to measure its real-world performance, and to save the effort of repeated manual readings and calculations we’re going to automate the task using a Raspberry Pi.

Our fiter test setup, simplified. USB cable omitted.

Our task is to measure input and output voltages for a range of RF frequencies covering the filter’s pass and stop bands, and to calculate the attenuation for each set of readings. As a source of our RF we’re going to use the Raspberry Pi’s on-board clock generator. This produces a logic-level output on pin 7 of the expansion connector which, after passing through a DC blocking capacitor, we’ll send to our filter.

Both input and output are taken into 50 ohm loads from which the ‘scope measures the RMS voltage. Our script then takes the two readings, and calculates a dB figure for the filter’s attenuation. It’s not the perfect measurement in that the input is not a sine wave, however once it has been through the DC blocking capacitor and faces the filter input at the terminator on the scope it’s a nasty rounded off waveform that for our purposes we can assume is an approximation to a sine wave without too much bother. We are interested in the shape of the curve rather than the absolute quality of the readings, so all that matters for us is that they are consistent.

Taking The Measurements Our filter and terminators all wired up and ready to go.

So our filter was mounted on our Raspberry Pi, and the ‘scope was hooked up with BNC leads, T-pieces, and terminators. The channels were enabled, what next? We already had Python and the required libraries from our previous excursion into Pi-scope communication, so it only remained to download and compile a copy of [Jan Panteltje]’s freq_pi signal generator.

This version has a mod to recognize more recent Pi processors, which the original lacked. Then the script below was created, and modified to reflect the path to the freq_pi executable and the Rigol’s resource name as described in the previous installment of this series. A better script might retrieve this last value from the ‘scope, but is beyond this demonstration. Specify start, end, and step frequencies in Hertz, and it will loop through each value and calculate a dB attenuation figure from the input and output readings for each one.

We saved our copy of the Python code as db-filter-analyser.py.

#!/usr/bin/env python import time import math import subprocess import visa import matplotlib.pyplot as plt #Start, end, and step frequencies in Hertz startfreq = 25000000 endfreq = 32000000 freqstep = 100000 #The resource name for your 'scope, you'll need to change this line resourcename = 'USB0::6833::1230::DS1ZA123456789::0::INSTR' #Location of the freq_pi executable freqgen = "/home/pi/freq_pi/freq_pi" #Open the resource manager rm = visa.ResourceManager('@py') #Open the 'scope by name oscilloscope = rm.open_resource(resourcename) #Return its ID string to tell us it's there print(oscilloscope.query('*IDN?')) #Set up arrays, then loop graphfreqs,graphdbs = [],[] for freq in xrange(startfreq,endfreq,freqstep): print freq subprocess.call([freqgen, "-f", str(freq)]) #Call the RF generator #Read the input values from the 'scope and extract a float. #Input time.sleep(0.1) #Let everything catch up #Change CHAN to your channel number oscilloscope.query(':MEAS:SOUR:CHAN1') fullreading = oscilloscope.query(':MEAS:ITEM? VRMS,CHAN1') readinglines = fullreading.splitlines() inputreading = float(readinglines[0]) #Output time.sleep(0.1) #Let everything catch up #Change CHAN to your channel number oscilloscope.query(':MEAS:SOUR:CHAN2') fullreading = oscilloscope.query(':MEAS:ITEM? VRMS,CHAN2') readinglines = fullreading.splitlines() outputreading = float(readinglines[0]) #Calculate a dB value from the two readings decibels = 20*math.log10(outputreading/inputreading) print decibels #Add the values to the arrays graphfreqs.append(freq) graphdbs.append(decibels) #Stop the RF subprocess.call([freqgen, "-q"]) #Create our graph plt.plot(graphfreqs,graphdbs) plt.ylabel('dB') plt.xlabel('Frequency') plt.show()

Running the code requires sudo to use the USB port, for simplicity in this demonstration. If you are pursuing this you may want to allow your ‘scope to be used by non-root users by setting up udev rules for it. So meanwhile with the ‘scope turned on, connected, and with the respective channels enabled, we ran the script as follows:
sudo python db-filter-analyser.py

How Well Did It Match The Simulation?

A list of dB readings from the filter scrolled up the screen, and eventually the graph appeared. So, how did our filter do? As you can see from the resulting plot on the left it exhibited a sharp cut-off, so it’s good at the job of being a low-pass filter. Unfortunately though it’s about a MHz too low, cutting off just below 29 MHz rather than the 30 we found in our simulation. Perhaps this is a function of component tolerances, or maybe just a misplaced trust in simulation. For this design at least it seems a return to the drawing board is in order.

The filter characterization shown here is not the most elegant way to perform the task, but it shows how it (and measurement problems like it) can be performed with the kind of equipment you have on your bench. You can control your instruments and take measurements from a computer — it’s no Dark Art — and you should have a go yourself with your own instruments and measurement problems. Whatever you do, be sure to share it with us on Hackaday.io!

Filed under: Hackaday Columns, Raspberry Pi, Skills, tool hacks

Flip Dot Displays Appear with Modernized Drivers

พุธ, 11/30/2016 - 00:00

Admit it, you’ve always wanted to have your own flip-dot display to play with. Along with split-flap displays, flip-dots have an addictive look and sound that hearkens back half a century but still feels like modern technology. They use a magnetic coil to actuate each pixel — physical discs painted contrasting colors on either side. It means that you really only need electricity when changing the pixel, and that each pixel makes a satisfyingly unobtrusive click when flipped. The only problem with the displays is that they’re notoriously difficult to get your hands on.

Breakfast, a Brooklyn-based hardware firm known for creative marketing installations, unveiled their Flip-Disc Display System this morning. Used displays have come up on the usual sites from time to time, but often without a controller. Traditional flip-dot manufacturers haven’t sought out the individual hacker or hackerspace, and a click-to-buy option has been difficult if not impossible to find.

Breakfast’s offering modernizes the driver used to manage all of those electro-mechanical pixels. Whether this will make the displays more accessible is a question that still needs to be answered.

Breakfast has designed their own driver circuit for each panel of 28×28 pixels which includes a Cortex-M microcontroller. The easily daisy-chainable panels (using cat5 + power) pump up the maximum data propagation across a display by at least two orders of magnitude over traditional drivers. The demo video below shows 30 FPS being controlled by a time-of-flight camera (an ASUS Xtion in this case but that could change for production). Each panel draws about 300 mW at rest and typical full-motion operation is 25-50 W per panel but the system does have intelligent power design to cap total power draw.

Can you own one? Probably not — but that’s just because of your pocketbook. Breakfast wouldn’t give an exact price, but they did oblige when we asked for an approximation in terms of Honda Fits. Minimum order is 15 panels (140×84 pixels or about 7’x4.25′) and will run you about 6.25 Honda Fits.

Your workbench would look fantastic with one of these panels on it, right?

Despite your not having low-six-figures lying around to spend on this, it is a notable development. The modernization of the driver, addition of an app and programming API, and a push to sell to a wider customer base should reinvigorate the occurrence of flip-dot displays which have been all but extinct this century. If there is a surge in purchases it will be many years before the secondary market benefits, but hopefully a groundswell of interest will encourage them to make the hacker-edition of their display available for a more… flippant… price.

We’ve seen a lot of work come out of Breakfast, notably this 6,400 pixel colored-thread display which is a mechanical engineering playground. When it comes to flip-dots, nothing beats what we saw at CES in 2015.

Filed under: hardware

HiFive1: RISC-V In An Arduino Form Factor

อังคาร, 11/29/2016 - 23:05

The RISC-V ISA has seen an uptick in popularity as of late — almost as if there’s a conference going on right now — thanks to the fact that this instruction set is big-O Open. This openness allows anyone to build their own software and hardware. Of course, getting your hands on a RISC-V chip has until now, been a bit difficult. You could always go over to opencores, grab some VHDL, and run a RISC-V chip on an FPGA. Last week, OnChip released the RISC-V Open-V in real, tangible silicon.

Choice is always a good thing, and now SiFive, a fabless semiconductor company, has released the HiFive1 as a crowdfunding campaign on CrowdSupply. It’s a RISC-V microcontroller, completely open source, and packaged in the ever so convenient Arduino form factor.

The heart of the HiFive1 is SiFive’s FE310 SoC, a 32-bit RISC-V core running at 320+ MHz. As far as peripherals go, the HiFive1 features 19 digital IO pins, one SPI controller, 9 PWM pins, an external 128Megabit Flash, and five volt IO. Performance-wise, the HiFive1 is significantly faster than the Intel Curie-powered Arduino 101, or the ARM Cortex M0+ powered Arduino Zero. According to the crowdfunding campaign, support for the Arduino IDE is included. A single HiFive1 is available for $59 USD.

Since this is an Open Source chip, you would expect everything about it to be available. SiFive has everything from the SDK to the RTL available on GitHub. This is an impressive development in the ecosystem of Open Hardware, and something we’re going to take a look at when these chips make it out into the world.

Filed under: Crowd Funding, Microcontrollers

Life on Contract: How to Fail at Contracting Regardless of Skill

อังคาร, 11/29/2016 - 22:01

I believe higher quality learning happens from sharing failure than from sharing stories of success. If you have set your mind to living on contract, I present this cheat sheet of some of the most simple and effective ways to muck it all up that have surprisingly little or nothing to do with your technical skill, knowledge, or even deliverables.

The previous installment of Life on Contract discussed how one might find clients as an engineering contractor or consultant while also taking a bit of time to pull apart the idea of whether life on contract is appropriate as opposed to, for example, bootstrapping a business instead. Assuming you are set on working as a contractor, let’s talk about what happens after you have found a prospective client (or perhaps more likely: after they have found you.)

WARNING: this article features an utter lack of success tips and tricks. Partly because those can be found in any seminar or business self-help book, but mostly because I do not have a foolproof recipe for success, and cheat codes to unlock easy mode still elude me. But I have witnessed (or committed) and reflected on many excellent ways to fail at contracting; or at the very least succeed in not being invited back.

Just because I won’t be sharing success stories doesn’t mean success has no learning value. Got a success story, or a better way to fail? Tell us about it in the comments!

How to Fail (or at Least Not be Invited Back)

The kind of contracting or consulting I’m discussing is mainly about solving problems. Put another way, I have found that successful contracting is mostly about taking problems away, and making your client’s life easier. They should see you as money well spent.

Failing at contracting is all about making life harder for your client. Barring actual negligence or incompetence, there are plenty of ways this can happen.

Talk the Client Out of Wanting You

Clients will have problems, and one or two of them will happen to be ones they want you to solve; that’s why they are seeking expert help. Their problem may be specific — “we need someone to convert these from through-hole to surface mount” — or it may be something broader — “we’ve been making these in our garage but need to make them faster and cheaper, how do we do that?”. There’s always a clear need, even if the client is having trouble articulating it.

The simplest and most efficient way to fail is to nip the whole contract in the bud. A client decides against hiring you when they don’t see you as an added value. The reasons for failing in this way (again, barring negligence or incompetence) always come down to a tragic failure to communicate. You may genuinely fail to understand the client’s needs, you may fail to communicate to them that you do understand, or you may otherwise fail to present yourself as a viable solution to any of their problems.

Let’s examine some excellent and common ways to make a client decide against hiring you:

  • Don’t speak the client’s language. You don’t know their terms and don’t understand anything about their industry. If they are a print shop, you have no idea how print shops operate or do business. If they are artists, you speak only in engineering terms and jargon. Being unable to relate makes clients feel that they are out of their depth, or that you’re just from a different and less-compatible world. It ensures that explaining things always takes maximum effort, and a client is never really certain you’re actually on the same page. Avoid this by studying the client’s industry and terminology.
  • You aren’t on the same wavelength. If a client is focused on wanting to understand how to best do a small in-house production run versus offloading it to a contract manufacturer, then focusing on specific yet irrelevant details like the finer points of injection molding, or KiCad vs Eagle, can lead to failure. You’re on the same topic, but not at all in tune to what they actually want to do or know. Avoid this by taking time to ensure you understand what advice the client is actually seeking, even if they haven’t asked for it in the most direct way.
  • Be a Magic 8-Ball whose only answer to every question is “it depends.” If you can’t provide direct answers to most questions, then regardless of how correct your waffling is you’re probably not understanding what the client needs from you. In all likelihood, what your prospective client actually needs is an understanding of a situation or process they are facing. Put another way, they don’t need exact numbers and you’re not being asked to commit to a deadline; they’re asking because they need to understand what has to happen and when, so they can budget and plan. You are being asked because they want someone who has been-there-done-that to “get” what they are doing and be a guide. Waiting patiently while prospective clients ask you question after question (to which every answer is some form of “it depends”) is an excellent way to talk a client out of contracting you, because it makes it clear you won’t be making their problem or uncertainty go away.

The best thing about these methods of failure is that they don’t require all that much effort. In fact, simple inattention or inaction is most of what’s needed. So long as you’re not actively trying to help communication in an initial meeting, things have an excellent chance of going wrong all on their own.

Give the Client Second Thoughts After You Get the Contract

An engineering contractor is not normally involved in a client’s day-to-day business operations; at least, not in the kind of contracting and consulting we’re talking about. Your work and the expectations from you — both explicit and implicit — are different from those of an employee. Failing to meet those expectations is the key to making your client wonder if contracting you was a mistake.

For example, let’s say a client has a product and you have been hired to optimize the board layouts and reduce PCB costs. Showing up on the first day with open hands and an open heart, brightly asking “Okay! Where do you want me to start?” is a great way to make your client think twice about hiring you as an expert; someone who was supposed to know more than they did themselves.

In addition to whatever you were officially hired for, you need to be money well spent. If you are not actively solving or removing problems in some way, then you are probably not clearly adding value. You may even be making your client’s life harder instead of easier.

It may remain unsaid, but as a contractor or consultant you are at least partly being hired for your judgment. The less effectively you wield your judgment, the more your client will start to think you were a mistake. Here are some great ways to ensure that happens.

  • Constantly halt what you’re doing with “how do you want me to…” questions for your client. The more this happens, the more likely you are to plant second thoughts in the mind of the client. Asking this for what seems like every conceivable detail, and at every possible fork in the road and failing to gather information you need up front will raise red flags. It’s bad form to be seeking approval and direction for issues you should be able to handle yourself if you actually understood the client’s needs and problem scope. This behavior makes sure that the problems stay front and center, and very much still on the client’s plate. As a bonus, you will almost certainly appear to be “winging it” instead of having experience and a plan.
  • Be overly focused on details unrelated to your client’s actual needs. If your client thinks you’re focused on irrelevant details, they won’t see that your work has any value. If the details in question actually are relevant (but perhaps not obviously so) then you must ensure your client understands the relevance. You may be extremely knowledgeable, but that doesn’t mean you can’t spend the first weeks of a contract installing and minutely benchmarking every possible different database backend to find out which one yields marginally better performance, only to find out that your client isn’t actually willing to change database software and (shocker!) frankly doesn’t see how a marginal improvement could possibly be worth all that effort when they just wanted you to integrate a live stock count into their e-commerce site.
  • Be unable to actually get something done. Having a poor sense of proportion can hobble your measurable progress. If firmware on a given microcontroller architecture is 90% working, throwing it all out to begin again the instant a newer and faster part comes out is a great way to fail. There is such a thing as smart people who are unable to get a job done. In the business world where everything is a trade-off because everything costs in one way or another, clients are well aware that there is “good” and there is “good enough.” Does a solution do the job? Can it be achieved within the budget and time allowed, without painting you into an unacceptable corner? If so, then that’s Good Enough. Smart, knowledgeable people who can crank out high-quality work quickly may still never actually get anything done because they constantly take off like a heat-seeking missile after the latest and greatest, or obsess over details irrelevant to making something work.

Have you managed to get a job done despite all that? Don’t worry, there’s still a chance to fail!

Make Sure You Don’t Get Invited Back

Life on Contract: How to Find Clients as an Engineering Contractor matched my own experience, particularly in the observation that a good portion of your work will come from referrals. That means that if you really want to make a go of life on contract, leaving a client feeling like you didn’t really add value is a really great way to snatch failure from the jaws of success.

If your client doesn’t feel that you were worth the money, or that you were just too hard to work with, you won’t be invited back — either to more work, or to conversations that begin with “who can we talk to about…”

Here are ways to tarnish the shine of a completed project:

  • You didn’t do things when you agreed they would be done. Failing to keep deadlines or to report on your progress is a great way to get ejected from a client’s contact list. If your estimates and progress reporting become known for not being reliable, even if your work is of outstanding quality, you may simply be judged Too Hard To Work With. As covered in Life On Contract: Estimating Project Time, estimates are important for planning and budgeting both time and money. Making sure yours aren’t reliable is a great way to cause cascading disruption in other people’s work every time it happens.
  • You didn’t take (or make) time to polish the results of your work. Finishing touches on something go a long way to communicating value and the work that went into it. Whether it’s software or hardware, you may know it inside out by the time you’re done but most people won’t be seeing it as a raw expression of function. Leave your work looking like a hack job, and you’ll be thought of as one.
  • Let the value you added go unnoticed. There is a somewhat cynical saying about work that no one knows was done: it might as well not have happened. As a contractor there will always be some pressure to show you were worth what you charged. You may be making tremendous progress and adding excellent value, but if your client is unaware of any of it, they won’t know you were responsible for that value. Modesty may be a virtue, but also another way to fail at getting called back.

All of this type of behavior will ensure that if you find a client, they won’t hire you. If they do, they’ll regret it. And if your contract completes, they won’t want you back. Since a good chunk of work will come from people knowing you as “the person who knows about that stuff and can get it done”, falling into these bad habits will virtually guarantee you are free from clients.

These are of course from my own observations in both the working and hiring ends of contracting, but they are still only my own narrow slice of a wide and varied field. Have you got your own success or failure stories to add or admit to? You know you do; share them in the comments.

Filed under: Business, Featured

Diamond Batteries That Last For Millennia

อังคาร, 11/29/2016 - 19:01

Like many industrialized countries, in the period after the Second World War the United Kingdom made significant investments in the field of nuclear reactors. British taxpayers paid for reactors for research, the military, and for nuclear power.

Many decades later that early crop of reactors has now largely been decommissioned. Power too cheap to meter turned into multi-billion pound bills for safely coping with the challenges posed by many different types of radioactive waste generated by the dismantling of a nuclear reactor, and as the nuclear industry has made that journey it in turn has spawned a host of research projects based on the products of the decommissioning work.

One such project has been presented by a team at Bristol University; their work is on the property of diamonds in generating a small electrical current when exposed to radioactive emissions. Unfortunately their press release and video does not explain the mechanism involved and our Google-fu has failed to deliver, but if we were to hazard a guess we’d ask them questions about whether the radioactivity changes the work function required to release electrons from the diamond, allowing the electricity to be harvested through a contact potential difference. Perhaps our physicist readers can enlighten us in the comments.

So far their prototype uses a nickel-63 source, but they hope to instead take carbon-14 from the huge number of stockpiled graphite blocks from old reactors, and use it to create radioactive diamonds that require no external source. Since the output of the resulting cells will be in proportion to their radioactivity their life will be in the same order of their radioactive half-life. 5730 years for half-capacity in the case of carbon-14.

Of course, it is likely that the yield of electricity will not be high, with tiny voltages and currents this may not represent a free energy miracle. But it will be of considerable interest to the designers of ultra-low-maintenance long-life electronics for science, the space industry, and medical implants.

We’ve put their video below the break. It’s a straightforward explanation of the project, though sadly since it’s aimed at the general public it’s a little short on some of the technical details. Still, it’s one to watch.

Maybe the expense involved limits the number of diamond stories we cover here at Hackaday, but they can still be a hacker’s best friend. How about diamonds in thermal paste, or even for data storage?

[via Phys.org]

Filed under: chemistry hacks

Build Your Own YouTube Play Button

อังคาร, 11/29/2016 - 16:01

The only thing that matters in this world is the likes you get on social media platforms. To that end, YouTube has been sending out silver and gold play buttons to their most valuable creators. [Sean] hasn’t screamed into a microphone while playing Minecraft long enough to earn one of these play buttons, so he decided to build his own.

This play button isn’t just a bit of pot metal ensconced in a frame brought to you by Audible dot com; this YouTube play button actually does something useful. It’s a PCB with 144 LEDs working together as a display. There’s an Atmel SAMD21 microcontroller on board to drive the LEDs, and an ESP8266 to pull data down from the Internet. What data is worthy enough to go on an Arduinofied YouTube play button? The subscriber count for [Sean]’s channel, of course. Go subscribe, it might crash his Play button.

Admittedly, there were a few problems with this Play button PCB. Firstly, the ESP8266 can’t directly communicate with the YouTube API to pull down the subscriber count. That problem was fixed with a Raspberry Pi that could connect to the API, and programming the ESP to pull the data from the Pi. Second, this was [Sean]’s first experiment with double-sided SMD boards reflowed in a toaster oven. The first side to be assembled was easy, but to get the second side on, [Sean] turned to low-temp bismuth solder paste. Except for a small error in assembling the board, everything worked as planned.

It’s a great project, and if you want to check out what the better parts of YouTube look like, check out [Sean]’s video below. Don’t forget to rate, comment, like, unlike, or subscribe.

Filed under: hardware

Parametric 3D Printable Wheels And Treads

อังคาร, 11/29/2016 - 13:00

When it comes to robotic platforms, there is one constant problem: wheels. Wheels have infinite variety for every purpose imaginable, but if you buy a wheeled robotic chassis you have exactly one choice. Even if you go down to the local Horror Freight, there’s only about five or six different wheels available, all of which will quickly disintegrate.

To solve this problem, [Audrey] created OpenWheel, a system of parametric, 3D-printable wheels, tweels, tires, and tracks for robotics and more.

Like all good parametric 3D-printable designs, OpenWheel is written in OpenSCAD. These aren’t 3D designs; they’re code that compiles into printable objects, with variables to set the radius, thickness, diameter of the axle, bolt pattern, and everything else that goes into the shape of a wheel.

Included in this toolset are a mess of wheels and gears that can be assembled into a drivetrain. 3D-printable track that can be printed out of a flexible filament for something has been almost unobtanium until now: completely configurable 3D-printable tank treads. All we need now is a 3D-printable tank transmission, and we’ll finally have a complete hobby robotics chassis.

Filed under: 3d Printer hacks

How Many Drones Does It Take To Screw In A Lightbulb?

อังคาร, 11/29/2016 - 10:00

Imagine. There you are, comfortable in your lounge pants. Lounging in your lounge. Suddenly in the distance you hear a buzzing. Quiet at first, then louder. A light bulb goes on in your head.

You forgotten that you’d scheduled an Amazon drone repair service in partnership with The Home Depot and Dewalt. They break through the window, spraying you with shards. They paint the spots on the walls. Snap photos of the brands in your closet. Change the light bulbs. Place a bandaid on your glass wounds. Pick up the shards and leave. Repairing it on their way out.


Of course the first step before this dark future comes to be is to see if it can be done; which is what [Marek Baczynski] and a friend accomplished many broken light bulbs later. Using an off the shelf drone with three springy prongs glued to the top they try time and time again to both unscrew and screw in a light bulb. They try at first with a lighter drone, but eventually switch to a more robust model.

After a while they finally manage it, so it’s possible. Next step, automate. Video after the break.

Filed under: robots hacks

LEGO Technics Machine Produces True Braided Rope

อังคาร, 11/29/2016 - 07:00

We love a good LEGO build as much as anyone, but Technics takes it to the next level in terms of creating working mechanisms. And nobody takes Technics as far as [Nico71], as evidenced by his super-fast Technics rope braiding machine.

The last time we saw one of [Nico71]’s builds, it was also a LEGO Technics rope-making machine. At the time, we called it a “rope-braiding machine” and were taken to task in the comments since the strands were merely twisted to make the final product. [Nico71] must have taken that to heart, because the current build results in true braided cordage. That trick is accomplished by flying shuttles that are not attached to either of the two counter-rotating three-spoked wheels. The shuttles are transferred between the two wheels by a sweeper arm, each making a full revolution with one wheel before being transferred to the other. Each shuttle’s thread makes an intertwining figure-eight around the threads from the two fixed bobbins, and the result is a five-strand braided cord. The whole machine is mesmerizing to watch, and the mechanism is silky smooth even at high speeds. It seems like a much simpler design than the previous effort, too.

You’ve got to hand it to builders like [Nico71] that come up with fascinating machines while working within the constraints of the Technics world. And those that leverage the Technics platform in their builds can come up with pretty neat stuff, like this paper tape reader for a music machine.

Thanks for the tip, [Gavin]

Filed under: misc hacks

Building Beautiful Cell Phones Out Of FR4

อังคาร, 11/29/2016 - 04:00

Over on Hackaday.io, [bobricius] took this technology and designed something great. It’s a GSM cell phone with a case made out of FR4. It’s beautiful, and if you’re ever in need of a beautifully crafted burner phone, this is the one to build.

The components, libraries, and toolchains to build a cellphone from scratch have been around for a very long time. Several years ago, the MIT Media Lab prototyped a very simple cellphone on a single piece of FR4. It made calls, but not much else. It was ugly, but it worked. [Bobricius] took the idea and ran with it.

The technique that goes into building an enclosure out of FR4 is something we’ve seen before, but we haven’t seen much of it since. Our resident old-school hacker [Voja Antonic] wrote a guide last year on using FR4 as an enclosure. The process is relatively simple – just leave some exposed copper around the edge of a panel, clamp it at about 90 degrees, and solder it to the edge of another panel. Adding captive nuts, standoffs, angles other than 90 degrees, and interlocking panels are slightly more advanced techniques, but still simple to implement.

[bobricius] has a few more tricks up his sleeve for his next version of this DIY cell phone. The nice, but hard to source, display will be replaced with a Charlieplexed 22×5 array of LEDs on a custom board, and the phone will feature QI wireless charging. If you can’t wait, [bobricius] is even selling a few of the current PCBs up on Tindie.

Of course, all this work would be for naught if the phone didn’t actually work. It does, at least until 2G networks are turned off. You can check out a video of that below.

Filed under: Cellphone Hacks

Tiniest Game Boy Hides in Your Pocket

อังคาร, 11/29/2016 - 02:31

This is likely the world’s smallest fully-functional Game Boy Color, able to play all of the games using the tiny direction pad and buttons, with onboard display and battery and in the original form factor. This is an incredible hack which presents a tour de force in hardware and software. This will easily rank in the top five hacks you’ve seen this year.

I’m sure that many of you have fond memories of your first handheld games. This will be Game Boy for most, and we admit they had fairly decent portability and battery life that puts many smart phones to shame. Despite this, Sprite_TM always dreamed of an eminently more portable version and to his adolescent delight he discovered a key chain version of the Game Boy. Unfortunately, he was duped. The keychain looked like a Game Boy but only functioned as a clock.

But now, decades later, technology has progressed as have his own skills. For his talk at the 2016 Hackaday SuperConference, Sprite_TM actually built his childhood dream.


Sprite started his hardware design by spec’ing out the display. The original Game Boy had a rather poor screen that could manage 160×144 with about 4 levels of grayscale. The new screen needed to encompass this but with as small a physical size as possible.

The first screen he found was a tiny 800×600 color OLED screen: an amazing piece of hardware with a ridiculous price of $720. The better bet was a color OLED just under 1″ in size for $3.80 — it didn’t have quite enough resolution at 96×64, but Sprite tested it and found it would be a passable image. Rounding out the hardware choices he went with a speaker less than 1 cm in diameter, an ESP-32 chip (in the form of an ESP-WROOM-32 module), and a 150 mAh lithium-ion battery.

The size of the screen decided all of the dimensions for the body of the Game Boy. Sprite pulled a measured image of the screen into Inkscape and started playing with images of the original hardware to arrive at his final size. He had some challenges laying out the board since it needed a slot for the OLED flex cable to pass through. He modeled the PCB in OpenSCAD and built up the case design around it. This was his first time using a 3D printer and his case (printed on a Form 1+) really did come out looking great!


Software is a challenge in this case. Sprite wanted to start with an emulator, but emulators are written for a full computer system. The ESP32 is a beefy chip (dual-core 240 MHz, 512k RAM, a laundry-list of peripherals, WiFi and Bluetooth) but it is still not a full computer. He decided to look at older emulators that are optimized to run on very old computer equipment. After a survey of the many options he settled on GNUboy which has optimizations that make it runnable on a 486 computer.

That was a good start, but he had a long way to go to ensure this was possible. Most notably, the “tile cache” that GNUboy uses to maintain the “sprites” — 8×8 graphic chunks that make up every game. This is well-explained at about 18:34 into the video. GNUboy allocates about 128 kB of RAM (more than 1/4 of what is available) for the tile cache. Sprite was able to reduce this need to about 46 kB.

Once the emulator was running, Sprite added in some nice user features. There is an on-screen display that allows the user to adjust brightness, volume, and to load or reset the ROM. Since there isn’t mass storage on the board the tiny Game Boy can only store a few ROMs at once. Sprite leveraged the WiFi capability of the chip to get around this. When you want to load a new game it broadcasts an Access Point and runs a webserver that allows any phone or computer to upload a new game.

Things That Didn’t Go Well at First

There are always issues when building an epic piece of bespoke hardware like this one. Lucky for us, Sprite is more than happy to share his tripping points and he’s very entertaining while doing so.

Audio was a sticking point, and one of the most technically interesting parts of the talk. He noticed that the speaker was getting hotter than it should have… it was about 90 degrees Celsius. He’s driving it with an H-bridge motor driver chip (BD6211) which is not all that unorthodox. It just seemed like that chip never stopped driving the speaker.

To solve the problem he started looking into filtering techniques and uncovered two designs referred to as AD modulation and BD modulation. Turns out that BD modulation uses positive and negative voltage driving on either side of 0V as the center line. This was the solution to the heat problem but provided another challenge: how to generate the negative voltage from the microcontroller? His initial audio technique used the I2S peripheral but that outputs just a single pin. He moved to using the RMT peripheral which has two pins, using this to toggle a negative voltage circuit. This solution is very clever and Sprite suggests looking into the RMT peripheral for other hacks (here’s one that drives WS2812 LEDs).

We’ve heard people complain about microcontrollers that use external flash memory. This is actually a pretty nice feature sometimes. For instance, Sprite wanted more program memory and the ESP32 supports that, but the WROOM module has a metal box soldered on the board shielding all of the circuitry. He figured a hot air reflow station would take care of that. It did, it also took care of desoldering the rest of the on-board components as well. Another try with a new module and he was able to top out with the largest flash chip possible.

It Lives — And It’s More Than a Game Boy

The proof is always in the pudding. The demonstration of the tiny Game Boy was delightful. And if you talked to Sprite at all during the weekend, he probably offered to let you try it out. This works as well as the original Game Boy. Despite the missing pixels the screen looks fantastic! The user controls feel normal and the sound is respectable, although a bit of delay is present and he has a fix for that on his todo list.

The kitsch benchmark for hacked gaming systems has long been DOOM and this fact wasn’t lost on Sprite. He demonstrated DOOM running well, but with very poor framerate — that still counts as a win in our books. He also showed off his key-chain-sized handheld playing Witcher 3. Something doesn’t smell right, right? Of course the microcontoller can’t handle a current-generation game, but it can handle VNC forwarding like a charm. A very cool trick, and if the Game Boy emulation didn’t fully drive home how far our miniturized technology has come, this demo should finish the job.

Sprite will release code under GPL once he has it cleaned up. He is planning the same with the PCB and case design files. If you want one of these, and love to do a little fabrication of your own, it can be yours. Watch SpritesMods.com for that code release and more info on the build itself.

Want more of Sprite_TM right now? His talk from last year’s SuperCon, the Tamagotchi Singularity, is an epic presentation and hardware hack in itself. Enjoy!

Filed under: cons, Featured

Glues You Can Use: Adhesives for the Home Shop

อังคาร, 11/29/2016 - 01:01

A while back I looked at lubricants for the home shop, with an eye to the physics and chemistry behind lubrication. Talking about how to keep parts moving got me thinking about the other side of the equation – what’s the science behind sticking stuff together? Home shops have a lot of applications for adhesives, so it probably pays to know how they work so you can choose the right glue for the job. We’ll also take a look at a couple of broad classes of adhesives that are handy to have around the home shop.

The Science of Sticky

So how do adhesives work anyway? It turns out to be one of those “we’ve got some ideas, but nobody’s sure” things. Our biggest clues come from looking at the chemical structure of adhesives, and as usual it’s helpful to look to nature for first principles. From the mucilage or latex secreted by some plants to trap insects to the boiled connective tissues of horses sent to the proverbial glue factory, natural adhesives are all macromolecules of some sort. The long protein chains of hide glue, the polysaccharides secreted by plants and animals in need of a little stickiness, or even the hydrocarbon chains and terpene resins that early humans learned to gather from tarpits and pine trees to glue ax heads to hafts – all sticky stuff is composed of long molecules.

Whether natural or synthetic, polymer adhesives have a lot of sites to interact with each other and with the substrates they’re sticking to. The degree to which these molecules stick to each other is called their adhesiveness, while how they stick to something else is called their cohesiveness. Adhesiveness has a lot to do with molecules being attracted to each other thanks to van der Waals interactions, which is the total force between molecules based on their electrostatic charges and polarization moments. The forces are weak individually, but macromolecules offer lots of places for the force to act, contributing to both adhesive and cohesive properties. Additionally, macromolecules are good at penetrating into the pores of the substrate, contributing greatly to the cohesive properties by mechanically locking the adhesive to substrate.

Adhesives can be roughly organized into two broad categories based on how they cure. Non-reactive adhesives cure by non-chemical transformations, such as evaporation of a solvent or by cooling. Reactive adhesives undergo some sort of chemical change, generally polymerization, during the curing process. To be useful, both reactive and non-reactive adhesives need to be prevented from curing until they’re applied. Non-reactive adhesives are pretty simple to manage – a sealed container to keep solvents from evaporating, or keeping a stick of hot glue at its melting point. Reactive adhesives can be a little harder to control, though, and might take measures as extreme as making the adhesive a two-part formulation that won’t react until mixed, or keeping light-cured resins in the dark.

Now that we know a little about how adhesives work, let’s look at a few glues that you might want to keep around the shop.

Cyanoacrylate Glues Click for larger image. Source: Compound Interest

Those of a certain vintage will remember when “Krazy Glue” burst onto the mass-market scene in the early 70s with cheesy commercials about how a single drop was “strong enough to keep this man suspended in midair.” Cyanoacrylate glues have come a long way since those days, and while results are not always equal to the hype, CA glues are a great tool to have around the shop. A reactive adhesive based on the rapid polymerization of methyl-2-cyanoacrylate, the polymerization reaction is catalyzed by water; even water vapor in the air will do it, which is why CA glues go off so fast once the tube is opened. Even a factory sealed tube is only good for about a year, so it’s best to write the date of the package and rotate your stock. You can extend the life of a tube by keeping it in the freezer, though, since the polymerization reaction slows way down with decreased temperature.

CA glues are good for a lot of things, but not every material makes a good substrate. Very smooth surfaces such as glass are poor candidates for regular CA glues. Among the best substrates for CA glues are human tissues, with the skin on fingers and eyelids being particularly vulnerable. Acetone is your friend here, at least for the fingers; you’ll want to get to a doctor for the eyelids. You’ll also want to keep CA glues off of cotton and wool; the MSDS for some glues warn of a strongly exothermic reaction that can cause spontaneous combustion, but as it turns out, this usually doesn’t happen. Still, better safe than combusted.

One neat trick is using CA glues as a filler by combining them with a powdered substrate. Baking soda is the classic example – the mixture forms a hard but workable material that fills gaps and cracks. Woodworkers also mix CA with fine sawdust to fill defects in veneers and fine furniture.

Threadlockers Loctite application guide. Source: Henkel Adhesives

Not generally thought of as adhesives, threadlockers are nonetheless just that – adhesives engineered to glue metals together. Threadlockers are one-part reactive adhesives similar to CA, but generally based on monomers of methacrylate. The adhesive cures when exposed to the electrochemically active and oxygen-free environment deep inside the threads of fasteners. As it polymerizes, the threadlocker works into the gaps in and between the metals and increases the friction needed to loosen the connection.

Threadlockers come in various strengths and with different formulations for filling wide gaps in worn threads or for wicking into preassembled fasteners. For less reactive metals like stainless steel, or for fasteners coated with cadmium or oxide compounds, a primer may be necessary to get the polymerization reaction started.

Epoxy Resins Structural epoxy for concrete repairs – stronger than the concrete itself. Source: Texas Industrial Coatings

Everyone knows epoxy – it’s the stuff that’ll stick metal to metal or pot components for a waterproof application. Epoxides are three-atom rings with oxygen at the vertex. The bonds are highly strained, so epoxides are very reactive. Resins containing epoxides readily polymerize with themselves to form cross-linked structures with properties very similar to plastics. Most epoxies are two-part adhesives consisting of a resin and a hardener, most commonly available as a double-barrel syringe that mixes the two components in the correct proportion immediately prior to application.

Epoxy adhesives can be engineered to perform almost any job, and some are classified as structural adhesives that hold together things like buildings, boats, and airplanes. In electronics we see epoxies all the time, with epoxy resin and glass fibers being the main components of FR-4 circuit boards.

Adhesives for 3D printing

3D printers often require a little adhesive assistance to get prints to stick to the bed. Advice abounds in online forums and around the local hackerspace as grizzled 3D-printing vets swear their method is the best and all others are inferior. A common suggestion is to use hairspray, which after all is just an air-cured single-component aerosol-dispensed adhesive for hair. This works, but the method has its drawbacks and is not without risk. A safer alternative is plain old white glue or wood glue, which is poly-vinyl acetate (PVA) adhesive. PVA is a non-reactive adhesive that cures as the water in the solution evaporates. For 3D printing, a dilute solution of PVA brushed onto the heated bed of the printer will keep ABS and PLA prints stuck down until the bed cools, at which point they can be pried off.

Hot Melt Adhesives

Finally, no discussion of shop adhesives would be complete without the go-to glue of hackers and crafters alike – the hot glue gun. Great for temporary bonds, wire management, reinforcing connections, and general potting needs, hot glues are non-reactive thermoplastic adhesives that cure by cooling. Most glue sticks are composed of the copolymer ethylene-vinyl acetate (EVA) which cures quickly after being dispensed. Hot glue has some advantages over other non-reactive glues – for example, it doesn’t change volume as it cures since it doesn’t lose solvent to evaporation. It’s not great for heat-sensitive substrates, of course, or for applications that are going to be subjected to high temperatures, but for a lot of simple jobs it works fine.


That’s it for our quick summary of our favorite adhesives, but we’re sure that we’ve missed out on some special-purpose gems. Are there any adhesives that you just can’t live without? Tell us tales of how you’ve gotten out of sticky situations.


Filed under: Engineering, Hackaday Columns, Original Art