If you’re a long-time Hackaday reader like we are, you’ll certainly remember a rash of projects from around ten years ago that all (mis-)used an LED as a light sensor. The idea wasn’t new, but somehow it made the rounds and insinuated itself into our collective minds. Around the same time, a cryptographic cipher with an exceptionally small memory footprint was also showing up in hacker projects: TEA (Tiny Encryption Algorithm).
This old project by [Marcin Bojanczyk], [Chris Danis], and [Brian Rogan] combines both the LED-as-light-sensor meme and TEA to make a door-entry keyfob that works over visible light. And they do so using almost nothing — a few LEDs and just over 2Kb of code. It’s pretty sweet.
Which brings us to the question: where are they (LED-sensors and TEA) now?
But our own experience with LEDs as light sensors is that the results are extremely variable across different LEDs. Code that works with water-clear red LEDs might not work with the ones that come in red-tinted plastic, for instance. Is that why they went extinct? Similarly, the TEA family of ciphers showed up in a bunch of projects around this time, from the badge for the HOPE conference in 2010 to a widely used RFM12B radio library. There are a couple of attacks on XXTEA, but they only affect reduced-round versions of the cipher, and rely on a tremendous amount of intercepted data — more than we’d see in a home-automation network over years.
Over the last five years or so, there’s been a lot more Internet of Things, which means using standard Internet-style encryption methods (AES and so on) that are widespread on non-memory-constrained computers. Is that what happened to XXTEA?
Anyway, we got tipped off to a project that combined a few of our favorite (old) ideas in one, so we thought that we’d share. Thanks [Blue Smoke] for the walk down memory lane. Any of you out there keeping the flame(s) alive? Have you used sensing LEDs or XXTEA? Are those projects still going, or do you have any future projects planned with these tricks still up your sleeve? Let us know in the comments below.
I could have sworn that we have asked this one before, but perhaps I’m thinking of our discussion of nuclear aircraft. In my mind the two share a similar fate: it just isn’t going to happen. But, that doesn’t mean flying cars can’t happen. Let me make my case, and then we want to know what you think.
[Steve] sent in a link to a Bloomberg article on Larry Page’s suspected investment in personal flying cars. It’s exciting to hear about test flights from a startup called Zee.Aero with 150 people on staff and a seemingly unlimited budget to develop such a fantastic toy. Surely Bruce Wayne Mr. Page is onto something and tiny 2-person vehicles will be whizzing up and down the airspace above your street at any moment now? Realistically though, I don’t believe it. They definitely will build a small fleet of such vehicles and they will work. But you, my friend, will never own one. Continue reading “Ask Hackaday: Where are the Flying Cars?”→
With more and more previously industrial processes coming online in the home shop, people are finding that getting the information that was previously provided by the manufacturer of a hundred thousand dollar machine for their three hundred dollar Shenzen special is not easy.
A common example is this, a hacker purchased themselves a brand new 3D printer off amazon for a price too good to be true. After a week of tinkering with it, a small fire, and a few replacement parts later, they get it to work. After they’ve burned through, perhaps literally, the few hundred grams of filament that came with the printer at the setting recommended by the manufacturer, they do a small blanket order of the different filaments out there. Now comes the trouble, each printer is a little different and each filament has different properties. Most people find that the second spool of filament they feed into their printer doesn’t work at all. What’s the quickest way to get the right temperature, cooling, and feed settings for your printer configuration?
This isn’t a problem for the expensive machines. Epilog, a manufacturer of laser cutters, provides a grid of settings for each material you’re likely to cut, tuned to the different properties of each model of laser cutter they sell. Same goes for the expensive industrial 3D printers, each (very expensive) spool of material has the setting sitting in a chip in the casing. When the spool is slotted in the machine, it reads the settings and adjusts accordingly. All the work of tuning was done in a lab somewhere and the print is, theoretically, guaranteed.
While we were at the Bay Area Makerfaire 2016, we had a chance to talk to [Gauthier de Valensart] and buy him a beer at the Hackaday Meet-up. [Gauthier] is from Belgium where he is the founder of a start-up with one of those fancy new TLDs: filaments.directory. The goal of filaments.directory is to create a database of 3D printer materials and link that up with a user’s 3D printer settings. The eventual goal being, much like the industrial printers, a user would be able to simply scan a barcode, or wave the spool over an RFID reader to input the needed settings into his slicing software or printer.
This sounded familiar to me, not the least because I had started work on it as an extension for repables.com when that was a larger focus in my life. In fact, I remember, while I was kicking the idea around to people at MRRF, that they kept telling me someone else was working on a similar project. I wanted to introduce [Gauthier] to the person who was working on the project back then. Since I was at a bar full of people in the industry, I sort of helplessly rotated in my spot trying to find someone who might remember. I spied [whosawhatsis], a common attendee of MRRF, and asked him. Okay, that was easy, [whosawhatsis] informed us that is was his project… introduction complete. Goes to show you what a good networking event buying a bunch of nerds beer can be.
The project was called, “Universal Filament Identification System,” and it proposed to, “… eliminate the guess-work,” by, “…developing a method for tagging, tracking, and identifying filament for 3d printing in machine-readable formats…” The project appears to be mostly dead now and its domain is a placeholder. I think it suffered from the standard open source feature creep, but the idea is sound.
Which gets us to the questions. There are a lot of difficulties with creating such a system. The first being the data collection. Who should be responsible for measuring the filaments, the materials for laser cutting, or any other process that needs tuned settings? The ideal track, of course, would be for the manufacturers to hold themselves accountable and report on the settings for their filaments. However, many filament manufacturers rely on the ignorance of users to sell dodgy products, it’s only in the interest of a few top-quality ones to do so. If the users do so, then how will the information provided be vetted? You definitely don’t want someone’s ignorance about a faulty thermistor to encourage you to run PLA at 280C.
More and more difficulties arise. How should the information be transferred, etc. What properties should even be recorded? UFID was going as far as to use a color sensor to keep track of colors between batches from 3D printer manufacturers. In the end it’s about creating standards in a standard-less industry by using crowdsourcing. Either way, take a look at what [Gauthier]’s doing (and send him some feedback), read the backlogs of UFID, think about how annoying it was to get the right settings for a laser cutter the last time you used one, and let us know your thoughts in the comments.
We posted about a 3D printer fire a while back. An attendee of the Midwest RepRap Fest had left his printer alone only to find its immolated remains on his return. In the spirit of open source, naturally, he shared his experience with the rest of us. It occurred to me that hackers are never powerless and there are active things to be done and avenues to explore.
There are really fantastic commercial fire extinguishing systems out there. One implementation, which is commonly deployed in cabinets and machining centers, is a plastic tube pressurized with an extinguishing agent by a connected tank. When a fire breaks out the tube melts at the hottest locations, automatically spraying the area with a suppressant. Variations of this involve a metal nozzle filled with a wax or plastic blended to melt at a certain temperature, much like the overhead fire sprinklers.
This system is also used inside engine compartments with success. For example, this item on amazon, is nothing but a pressurized plastic tube with a gauge on one end. Since the inside of an engine compartment can be treated as an enclosed space, very little fire suppressant is needed to extinguish an unexpected flame. It is important to note that this system works in a high temperature environment like an engine compartment, which bodes well for enclosed build envelopes on 3D printers.
Another option is to construct a suppressant mine. A Japanese and a Thai company have both come out with a throwable fire extinguisher. In the Japanese device, the outside of the extinguisher is a breakable glass vial which shatters upon impact; releasing the agent. The Thai device looks like a volley ball, and releases the agent upon the application of heat. This device seems like a better candidate for 3D printing or home projects. Imagine a small rectangular pack with adhesive on one side that sits near the possible fire points of the printer, such as under the bed or above the nozzle. In the event of a fire, the casing will melt and the system will automatically deploy a spray of extinguishing agent.
Most of the chemicals used in these constructions are benign and readily available. High pressure tubing and waxes can all be purchased and the desired melt points can be aligned with their datasheets by need. Plastic sheets are not hard to procure. These offer a nice solution due to their entirely passive nature. They don’t need power to operate and rely entirely on the properties of the materials they are constructed out of.
There are other options in active systems. Hackaday readers suggested things such as flame sensors for adding automatic cut-offs in case of a fire. Thermal fuses can also be considered in some cases. There are other tricks too, which are less kosher but will work nonetheless. For example, placing a critical wire, fuse, or component in the likely path of a fire so that it is destroyed first, stopping the operation of the device quickly. These avenues should be explored. At minimum there should be at least one project that uses a Raspberry Pi and an Arduino to tweet that fire suppression failed and the house is on fire.
Some of the big questions to ask are on the legal and ethical side. If someone started selling kits for a DIY fire suppression system and a fire ends up destroying someone’s property despite the device, who is responsible? Is it even safe to post instructions? What if a kit prematurely sets off and injures someone. I imagine a big part of the cost of these professional systems is some sort of liability insurance and certification. Still, putting a six hundred dollar fire suppression system on a six hundred dollar printer seems silly, and something is better than nothing.
Lastly, the comments directed a ton of flak towards the certification systems. There should be no reason that open source projects can’t produce their own specification for safety. An open source specification without an agency naturally couldn’t provide a legal defense against property damage, but a thought-out test program would provide piece of mind. For example, in the case of 3D printers, one could have a set of basic fail-safe tests. One example would be bringing the printer up to temperature and rapidly disconnecting the thermistor, does the printer erupt into fire? No? Good, it meets the spec. I wouldn’t mind knowing that the latest version of Marlin was tested on the popular boards and still met the community specification for fire safety.
As far as I can tell, there’s been very little work in open sourcing safety systems or in providing a testing framework for ensuring open hardware meets basic safety conditions. Many of you have experience with these systems. Some of you have gone through the entirely un-enjoyable process of getting a UL certification. What does Hackaday think?
[Jay] out of the River City Labs Hackerspace in Peoria, IL cleared out a jam in his printer. It’s an operation most of us who own a 3D printer have performed. He reassembled the nozzle, and in a moment forgot to tighten down the grub nut that holds the heater cartridge in place. He started a print, saw the first layer go down right, and left the house at 8:30 for work. When he came back from work at 10:30 he didn’t see the print he expected, but was instead greeted by acrid smoke and a burnt out printer.
As far as he can figure, some time at around the thirty minute mark the heater cartridge vibrated out of the block. The printer saw a drop in temperature and increased the power to the cartridge. Since the cartridge was now hanging in air and the thermistor that reads the temperature was still attached to the block, the printer kept sending power. Eventually the cartridge, without a place to dump the energy being fed to it, burst into flame. This resulted in the carnage pictured. Luckily the Zortrax is a solidly built full metal printer, so there wasn’t much fuel for the fire, but the damage is total and the fire could easily have spread.
Which brings us to the topics of discussion.
How much can we trust our own work? We all have our home-builds and once you’ve put a lot of work into a printer you want to see it print a lot of things. I regularly leave the house with a print running and have a few other home projects going 24/7. Am I being arrogant? Should I treat my home work with a lesser degree of trust than something built by a larger organization? Or is the chance about the same? Continue reading “Ask Hackaday MRRF Edition: 3D Printers Can Catch Fire”→
We wake up this morning to the news that Google’s deep-search neural network project called AlphaGo has beaten the second ranked world Go master (who happens to be a human being). This is the first of five matches between the two adversaries that will play out this week.
On one hand, this is a sign of maturing technology. It has been almost twenty years since Deep Blue beat Gary Kasparov, the reigning chess world champion at the time. Although there are still four games to play against Lee Sedol, it was recently reported that AlphaGo beat European Go champion Fan Hui in five games straight. Go is generally considered a more difficult game for machine minds to play than chess. This is because Go has a much larger pool of possible moves at any given time.
Does This Matter?
Okay, the news part of this event has been covered: machine beats man. Does it matter? Will this affect your life and how? We want to hear what you think in the comments below. But I’m going to keep going with some of my thoughts on the topic.
Let’s look first at what AlphaGo did to win. At its core, the game of Go is won by figuring out where your opponent will likely make a low-percentage move and then capitalizing on that choice. Know Your Enemy has been a tenet of strategy for a few millennia now and it holds true in the digital age. In addition to the rules of the game, AlphaGo was fed a healthy diet of 30 million positions from expert games. This builds behavior recognition into the system. Not just what moves can be made, but what moves are most likely to be made.
DeepMind, the company behind AlphaGo which was acquired by Google in 2014, has published a paper in Nature about their approach. They were even nice enough to let us read without dealing with a paywall. The secret sauce is the learning process which at its core tries to mimic how living entities learn: observe repetitively while assigning values to outcomes. This is key as it leads past “intellect”, to “intelligence” (the “I” in AI that everyone seems to be waiting for). But this is a bastardized version of “intelligence”. AlphaGo is able to recognize and predict behavior, then make choices that lead to a desired outcome. This is more than intellect as it does value the purpose of an opponent’s decisions. But it falls short of intelligence as AlphaGo doesn’t consciously understand the purpose it has detected. In my mind this is exactly what we need. Truly successful machine learning will be able to make sense out of sometimes irrational input.
The paper from Nature doesn’t go into details about Go, but it explains the approach of the learning system applied to Atari 2600. The algorithm was given 210×160 color video at 60Hz as an input and then told it could use a joystick with one button. From there it taught itself to play 49 games. It was not told the purpose or the rules of the games, but it was given examples of scores from human performance and rewarded for its own quality performances. The chart above shows that it learned to play 29 of them at or above human skill levels.
The most popular plastic for 3D printers is PLA – polylactic acid – a plastic that’s either derived from corn starch, inedible plant detritus, or sugar cane, depending where in the world it was manufactured. Being derived from natural materials, PLA is marketed as being biodegradable. You don’t need to worry about low-poly Pokemon and other plastic trinkets filling landfills when you’re printing with PLA, all these plastic baubles will return to the Earth from whence it came.
3D printers have been around for a few years now, and now objects printed in PLA have been around the sun a few times. A few of these objects have been completely forgotten. How’s that claim of being biodegradable holding up? The results are mixed, and as always, more data is needed.
A few weeks ago, [LazyGecko] found one of his first experiments in 3D printing. In 2012, he was experimenting with tie dying PLA prints by putting his prints in a jar filled with water and blue dye. This jar was then placed in the back of his cupboard and quickly forgotten. 3.5 years later, [LazyGecko] remembered his experiment. Absolutely nothing happened, save for a little bit of blue dye turning the print a pastel baby blue. The print looks and feels exactly like the day it came off the printer.
[LazyGecko]’s blog post was noticed by [Bill Waters], and he has one datum that points to PLA being biodegradable. In 2015, [Bill] printed a filter basket for his fish tank. The first filter basket worked well, but made a small design change a week later, printed out another, and put the first print in storage. He now has two nearly identical prints, one in constant use in a biologically interesting environment, the other sitting on a shelf for a year.
[Bill]’s inadvertent experiment is very close to the best possible experimental design to make the case for PLA biodegradability. The 3D printed filter basket in constant use for a year suffered significant breakdown, and the honeycomb walls are starting to crumble. The ‘inert’ printed filter basket looks like it just came off the build plate.
If that’s not confusing enough, [Bill] also has another print that has spent a year in a fish tank. This end cap for a filter spray bar didn’t see any degradation, despite being underwater in a biologically active environment. The environment is a little different from a filter basket, though; an aquarium filter is designed to break down organics.
To answer the question, ‘is PLA biodegradable,’ the most accurate answer is, ‘maybe’. Three data points in uncontrolled environments isn’t enough to draw any conclusions. There are, undoubtedly, more forgotten 3D prints out there, and more data to back up the claim of PLA being biodegradable.
This is where you come in. Do you have some forgotten prints out there? Your input is needed, the fruits of your labors are evidence, your prints might be decaying and we want to know about it below.