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

Clearly the Best Way to Organize SMD Parts

7 hours 13 minก่อน

Have some plexiglas (acrylic) leftovers lying around? Well, they could be put to good use in making this SMD organizer. It comes in handy if you deal with a lot of SMD components in your work. No longer will you waste your time trying to find a 15K 1206 resistor, or that BAS85 diode… or any other component you can think of soldering on the PCB. The basic idea is fairly straightforword, which helped keep this short.

SMD resistors are packed in thick paper tapes that don’t bend easily, and thus need larger containers than other components, which are packed mainly in flexible PE tapes. The first version of this organizer was built with a 96mm diameter space for resistors and 63mm diameter for other components, but it seems that there is no need for such large compartments. If I were to make it again, I would probably scale everything down to about 80% of it’s current size.

The best way to join all plexiglass parts is to use four M4 threaded rods. There is also a 1.5mm steel rod which holds SMD tape ends in place and helps to un-stick the transparent tape which covers the components. At the top of the organizer there is a notch for paper, used for components labels. Most SMD components are packed in 8mm wide tapes, making the optimal compartment width 10mm. It is not easy to cut the 10mm thick acrylic and get a neat edge – instead, you could use more layers of thin sheets to make the spacers. Using 5mm acrylic you can combine more layers for any width of tape, which contains wider components, like SMD integrated circuits. The only thing that you have to be careful about, is to keep the distance between the thin steel rod and acrylic, which is marked as “2-4mm” on the drawing. It is good if this space is just a few tenths of a millimeter wider than the thickness of SMD tapes.

The CorelDraw file that can be used for laser cutting the acrylic parts, is available for download. If you scale the profiles, don’t forget to readjust the hole diameters and some other dimensions which have to remain intact. If you have 5mm acrylic pieces, you should probably use two layers of acrylic for every tape (red parts on the drawing). The barrier layers would be made of thin acrylic — for instance 2mm (the blue parts). Edge layers (green) are once again 5mm thick, and there are also the end pieces (yellow), glued to the previous borders and used to “round up” the whole construction and to protect your hands from the threaded rods and nuts.

While you’re building this for your bench, make a vacuum picking tool for SMDs out of a dispensing syringe with a thick needle. It’s a common trick for hackers to use an aquarium air pump, just turn the compressor unit by 180°, so that it creates vacuum instead of blowing the air outside. This process is described by R&TPreppers in the video below.

Filed under: Hackaday Columns, tool hacks

China’s Fusion Reactor Hits Milestone

พฤ, 02/11/2016 - 23:31

An experimental fusion reactor built by the Chinese Academy of Science has hit a major milestone. The Experimental Advanced Superconducting Tokamak (EAST) has maintained a plasma pulse for a record 102 seconds at a temperature of 50 million degrees – three times hotter than the core of the sun.

The EAST is a tokamak, or a torus that uses superconducting magnets to compress plasma into a thin ribbon where atoms will fuse and energy will be created. For the last fifty years, most research has been dedicated to the study of tokamaks in producing fusion power, but recently several projects have challenged this idea. The Wendelstein 7-X  stellarator at the Max Planck Institute for Plasma Physics recently saw first plasma and if results go as expected, the stellarator will be the design used in fusion power plants. Tokamaks have shortcomings; they can only be ‘pulsed’, not used continuously, and we haven’t been building tokamaks large enough to produce a net gain in power, anyway.

Other tokamaks currently in development include ITER in France. Theoretically, ITER is large enough to attain a net gain in power at 12.4 meters in diameter. EAST is much smaller, with a diameter of just 3.7 meters. It is impossible for EAST to ever produce a net gain in power, but innovations in the design that include superconducting toroidal and poloidal magnets will surely provide insight into unsolved questions in fusion reactor design.

Filed under: news

Digital Communications 1830s Style

พฤ, 02/11/2016 - 22:00

We think of digital communications as a modern invention. But the reality is that semaphores, smoke signals, and Aldis lamps are all types of digital communication. While telegraphs are not as old as smoke signals, they, too, are a digital mode. The problem with all of these is that they require the operator to learn some kind of code. People don’t like to learn code because it is difficult, and employers don’t like to pay high wages to trained operators.

In the late 1830s, a man named William Cooke proposed a complex telegraph to a railway company. The company didn’t care for it and asked for something simpler. The railway didn’t like that either, so Cooke joined up with Charles Wheatstone and patented something that was a cross between a telegraph and a Ouija board.

Text by Needles

The Cooke and Wheatstone telegraph used multiple needles–the patent used five needles as an example. The needles were magnetic and could be made to turn to the right or the left by way of an electromagnet. Above and below the needles were a pyramid of letters (see figure to the right). When the needles moved, they would both point to the letter (the figure shows the two yellow needles pointing to the letter G).

You can learn to read this code very quickly, but the system required one wire for each needle. The really cool feature is that since only two needles need to turn, and they turn in opposite diretions, current flowing through one needle’s wire and returning via another’s handles the problem with just one active current loop. Some systems had an extra wire to serve as a return so you could move any needle separate of the others.

Great Western Railway was the first to use one of these unique telegraphs, with a span of 13 miles in 1838. You might notice that because the number of letters available is only 20, some letters aren’t available (in particular, C, J, Q, U, X, and Z). This required creative spelling in some cases.

Hung by Telegraph Wire

For example, a story that caught the public’s attention in 1845 was when a murder suspect, [John Tawell], was arrested thanks to the telegraph. Tawell boarded a train at Slough to avoid authorities. The telegraph carried the message:


Since there was no J, JUST became GUST and the lack of Q required the spelling of KWAKER. The message and the arrest became quite famous, and the instruments that carried the message wound up in the Science Museum in London. The video below from ARM shows a display from the museum about the telegraph.

Next time you send some text over a TCP socket using an ESP8266 between two Arduinos, just remember that people have been hacking digital messages for centuries. We tend to think of hacking as having to do with sophisticated technology, but the hacker spirit will work with whatever presents itself–from fire and smoke signals to magnets and needles, to silicon and square waves.

If you long for the old days but still want to read e-mail, you might try this project. Then again, there’s always Twitter.

Cooke-Wheatstone Needle Diagram By Wrrglla [CC BY-SA 3.0]

Photo of Telegraph By Geni [CC BY-SA 4.0-3.0-2.5-2.0-1.0]

Filed under: Retrotechtacular

How a Professional Resin Caster Duplicates Parts

พฤ, 02/11/2016 - 19:01

[Gregg Eshelman] reproduces plastic parts for antique car restorations for a living; likewise, he’s very good at it. Greg always chimes in with helpful hints whenever we post about resin casting. Shown above is a lens for a car turn signal. Manufactured in 1941, having [Gregg] cast a few copies is an easy option for replacing the rare part.

[Gregg] uses a similar method to us, but it is easy to see that he has done it more and his process has been refined by lots of experience. We really liked how he avoids using expensive foam core by wrapping cardboard in packing tape, or using the kind that has a plastic coating on it; the kind most retail packaging is made out of. He also has better techniques for keying the part to be manufactured, and prepping difficult geometry between different mold halves. It also never would have occurred to us to use Dremel cutting disks to cut the sprues and air vents in the silicone, a surprisingly tricky material to cut precisely with a knife.

It’s always nice when a professional takes time to write about their processes for the hobbyist trying to emulate it. We hope [Gregg] writes more tutorials, and continues to contribute in the comment section. If you have your own fabrication techniques to share we’d love to hear about it on the tips line.

Filed under: how-to

Robot Does the Worm to Get Around

พฤ, 02/11/2016 - 16:01

Walking, jumping, rolling, flying, swimming – robotic locomotion is limited only by the imagination of the inventor. [Roger Rabbit] apparently has a pretty vivid imagination, because he’s building robots that move like worms.

Version 1 of [Roger]’s robot is only semi-vermiform and is more of tube climber. It has a pair of 3D-printed pantographs that expand and contract with servos and move along the robot’s axis on a stepper-driven lead screw. An Arduino reads sensors and coordinates the expansion of the pantographs to grip the internal diameter of a pipe and push the worm-bot along. It’s a slow but effective way to get around in the limited confines of a pipe.

The next iteration, dubbed [Wolly],  is much more worm-like and not restricted to pipe-running. It has four expandable triangular frames connected to each other with rack-and-pinion backbones. The first frame contracts, the racks push it forward, it expands, the next contracts, and soon it’s doing the worm across the floor. Still slow, but pretty neat to watch, and you can see how it can be steered. It might even be able to roll around its long axis, and it’d make a decent tube climber as well.

This creepy autonomous worm-bot seems very similar to [Wolly], but aside from that we haven’t covered too many robots like these. There’s a lot of thought and effort in these worm-bots, and we’re keen to see where [Roger] takes this unique robot body plan.

Filed under: robots hacks

Pi-Powered Robot Plays Puzzle & Dragons

พฤ, 02/11/2016 - 13:00

Have you heard of the iPhone game Puzzle & Dragons? We understand it’s big in Japan. The puzzle part is all about rearranging colored orbs and grouping them together so they disappear and give you points. It’s also part RPG—each color is linked to a little guy, and every combo makes the matching-colored guy a little stronger. Then you fight monsters and take loot.

A YouTube user named [Junya Sakamoto] built a robot to play the game for him. It analyzes the board to come up with the best possible series of moves and then executes them using a Raspberry Pi. You can see what the robot is planning on the screen of a connected laptop. A couple of motors controlled with a Gertbot move a stylus up and down the screen and the phone itself back and forth.

There are two videos after the break. The first one is a combination build and demo video that proves this robot can do a lot more than just while away the hours playing Puzzle & Dragons. The second video demonstrates just how awesome it is at playing Puzzle & Dragons.

We like game-playing robots quite a bit around here. Here’s a Legoduino robot that plays Jurassic Park Builder. This other robot was built to test apps, but it plays Angry Birds in its spare time.

Build and demonstration

Puzzle & Dragons

Via [r/raspberry_pi]

Filed under: Raspberry Pi, robots hacks

Dumping U8Plus Smartwatch ROM Via Vibration Motor

พฤ, 02/11/2016 - 10:00

[Lee] continues with his exploration of the U8Plus (a cheap smartwatch). He hasn’t got it all cracked, yet, but he did manage to get a dump of the device’s ROM using an unusual method. At first, [Lee] thought that the JTAG interface (or, at least, the pins presumed to be the JTAG interface) would be a good way to explore the device. However, none of the people experimenting with the device have managed to get it to work.

Instead, [Lee] went through the serial bootloader and dumped the flash memory. He found out, though, that the bootloader refused to read the ROM area. It would, however, load and run a program. Unfortunately, no one has found how to access the UART device directly, but they have found how to drive the vibration motor.

[Lee] took off the vibration motor and used it as an output port for a simple program to dump the ROM. An Arduino picked up the data at a low baud rate and produced an output file. This should allow more understanding of how to drive the watch hardware.

We covered the initial teardown of this watch earlier this year. Of course, if you don’t want to reverse engineer a smartwatch, you could always build your own.

Filed under: misc hacks, slider

Take Your 3D Printing to the Next Dimension

พฤ, 02/11/2016 - 07:00

In what is being hailed as the next great advancement in 3D printing, scientists have been able to get a 3D printed shape to change form when it is exposed to water, bringing 3D printing squarely into the realm of the fourth dimension. Although the only examples we’ve seen so far are with relatively flat prints (which arguably subtracts one “D” from the claim) the new procedure is one which is groundbreaking for the technology.

The process uses cellulose fibers which, when aligned in a particular way and exposed to water, swell in order to change shape. This is similar to how a bimetallic strip in a thermostat works, but they really took their inspiration from biological processes in plants that allow them to change shape according to environmental conditions. It’s hard to tell if this new method of printing will forever alter the landscape of 3D printing but, for now, it’s an interesting endeavor that will be worth watching. The video after the break shows a fast-motion print using the technique, followed by a demo of the print submersed in water.

We often see new technological advancements that use biology as a springboard for new ideas, and this one is no different. There have been building structures inspired by pinecones and this Processing hack inspired by squid. Biology is all around us, and any of it could be used for inspiration for your next project!

[Image Credit: A.S. Gladman, E. Matsumoto, L.K. Sanders, and J.A. Lewis / Wyss Institute at Harvard University]

Filed under: 3d Printer hacks

We’re Hiring

พฤ, 02/11/2016 - 05:31

Hackaday has been expanding into all kinds of new areas. We find ourselves stretched a bit thin and it’s time to ask for help. Want to lend a hand while making some extra dough to plow back into your projects? These are work-from-home (or wherever you like) positions and we’re looking for awesome, motivated people to help guide Hackaday forward!

Contributors are hired as private contractors and paid for each post. You should have the technical expertise to understand the projects you write about, and a passion for the wide range of topics we feature. If you’re interested, please email our jobs line, and include:

  • Details about your background (education, employment, etc.) that make you a valuable addition to the team
  • Links to your blog/project posts/etc. which have been published on the Internet
  • One example post written in the voice of Hackaday. Include a banner image, at least 150 words, the link to the project, and any in-links to related and relevant Hackaday features

What are you waiting for? Ladies and Gentlemen, start your applications!

Filed under: Hackaday Columns

Calculator Built In Super Mario Level. Mamma Mia!

พฤ, 02/11/2016 - 04:01

Most people use the Super Mario Maker to, well, create Super Mario game levels. [Robin T] decided to try something a little different: building a working calculator. Several hundred hours later, he created the Cluttered Chaos Calculator, which definitely lives up to the name. What this Super Mario level contains is a 3-bit digital computer which can add two numbers between 0 and 7, all built from the various parts that the game offers. To use it, the player enters two numbers by jumping up in a grid, then they sit back and enjoy the ride as Mario is carried through the process, until it finally spits out the answer in a segment display.

It’s not going to be winning any supercomputer prizes, as it takes about two minutes to add the two digits. But it is still an incredibly impressive build, and shows what a dedicated hacker can do with a few simple tools and a spiny shell or two.

[Robin] explains the whole wonderful creation in a long Reddit post, detailing how he used the various mushrooms and bouncing parts to create a binary converter, four adders, an integer divider and a segment display and decoder that outputs the answer. He also put together a huge diagram that explains the logic flow (click for the larger version, but beware; it is about 6000 pixels wide).

He also covers some of the problems he found, such as how he was only able to do 3 bits because of the limitations of the game creator, and how he approached debugging this monstrosity (spoilers: he implemented checkpoints so that he could trigger parts of it and not have to wait for each test).

Filed under: computer hacks, nintendo hacks

Particle Electron – The Solution To Cellular Things

พฤ, 02/11/2016 - 01:00

Just over a year ago, Particle (formerly Spark), makers of the very popular Core and Particle Photon WiFi development kits, released the first juicy tidbits for a very interesting piece of hardware. It was the Electron, a cheap, all-in-one cellular development kit with an even more interesting data plan. Particle would offer their own cellular service, allowing their tiny board to send or receive 1 Megabyte for $3.00 a month, without any contracts.

Thousands of people found this an interesting proposition and the Electron crowdfunding campaign took off like a rocket. Now, after a year of development and manufacturing, these tiny cellular boards are finally shipping out to backers and today the Electron officially launches.

Particle was kind enough to provide Hackaday with an Electron kit for a review. The short version of this review is the Electron is a great development platform, but Particle pulled off a small revolution in cellular communications and the Internet of Things

The Current State of Machine to Machine Cellular

Small microcontroller dev boards are nothing new. The technology to turn a hat, belt buckle, or bicycle into something that receives data from a cellphone tower has been around for more than a decade now, and a few very old blogs and forums preserved on archive.org reflect this fact. An old Siemens, Nokia, or Motorola phone, with the right serial cable,could be a microcontroller’s connection to the outside world.

SparkFun’s Cellular Shield (above) and Adafruit’s FONA 3G Cellular Breakout (above) Image source 1, 2

More recently, Sparkfun and Adafruit have been putting together their own cellular modules for Arduinos and other similar boards. These modules, like SparkFun’s Cellular ShieldAdafruit’s FONA, and Seeed’s RePhone all provide easy-to-use cellular modules that plug into an Arduino. The problem is phone companies historically didn’t want to deal with a bunch of Arduinos blinking LEDs through their network.

While one would think more devices on a cellular network would be a good thing for a carrier, this is not what [Zach Supalla], CEO of Particle, found when creating the Electron. The success of a carrier in the eyes of shareholders depends on ARPU, average revenue per user, or the total revenue divided by the number of subscribers.

While the ARPU is great when AT&T, Sprint, and Verizon are selling multi-Gigabyte plans to smartphone users, it’s a terrible measure if a company is selling a lot of cheap one Megabyte plans. The economics of cellular carriers is why we don’t have a cellular Internet of Things; it doesn’t make sense for the carriers to do it.

Instead of going through the usual cellular carriers, Electron users will be getting their service directly through Particle. It’s a setup called a Mobile Virtual Network Operator, or MVNO, that allows carriers to work through Particle to provide plans without much data but at a very low price.

It’s a setup that works well for a cellular device that’s the size of a stick of gum. If you walk into your old Radio Shack, you will get blank stares (again!) if you ask about a low-cost plans that provide just a few Megabytes of data. Setting up a SIM card with Particle is as simple as entering a few digits into a webpage, entering your credit card info, and enjoying a Megabyte per month of data on a tiny microcontroller board.

The Hardware and Development Toolkit

Particle already has a few hardware products under their belt, such as the Particle Photon and Core, a very popular ARM and WiFi development board. It’s incredibly useful for people who don’t want to futz around with bare ESP8266 modules. To anyone who has ever used a Photon or Core, the Electron will quickly become very familiar.

Tucked away on the bottom of the Electron is the STM32F205 microcontroller, presenting 36 total pins to the outside world. The functions presented on these pins include UART, SPI, I2C, and CAN bus. In total, there are 12 ADC channels, 3 UARTs, 2 SPIs, 1 I2C, 2 CAN, 2 DACs, and 13 PWM channels. 1 MB of Flash is included, and 128k of RAM is available.  It’s an extremely capable board if you compare it to the Arduinos of a few years ago, and can go toe to toe with slightly more modern boards such as the Teensy 3.2.

The entire hardware design for the Electron is open source. Incidentally, Particle used Eagle to design the board.

Particle’s web-based Arduino-ish IDE, allowing code to be flashed to the device over the cellular network.

As for development for the Electron, choices abound. The easiest by far is a web-based Arduino-like development environment, Particle Build. Just like the Arduino IDE, Build will give you just enough to write some code and flash it to your device. Libraries for GPS modules, LCDs, switches, temperature sensors, and everything else that would normally be used in a one-off Internet connected project abound. While it’s not a full-blown IDE, it’s good enough and allows for over the air flashing of the Electron.

Particle’s Tinker app, a smartphone-based development environment is also available for the Electron. This app will allow you to read and write individual pins in a strange, ‘you know what’s cool? Visual programming’ way.

Javascript is possible on all of Particle’s devices, CLIs are easy, and if you’re coding for iDevices, your SDK is right here.

There are more than a few people who believe that a web-based IDE, especially one hosted on a server you don’t own, is a terrible idea. Lucky for us, Particle has made all their development tools open source, allowing anyone to roll their own personal cloud. For anyone concerned about the usefulness of Particle’s boards five or ten years down the line, this is a necessary feature.

Click to view slideshow.  The Future of the Electron and Particle Cellular Particle’s certification matrix. They’re working on getting the Electron certified for use in products. Image source

More than any other Internet of Things company, Particle is seeing a lot of their modules become the basis of real products. There’s a reason for this: they’re one of the few hardware developers that are sinking money into certifications. If you wanted to build a device with a Particle Photon inside it, the certifications are already taken care of. The FCC and cellular certifications for the Electron module are in the works, but [Zach] says that will happen.

Of course, any developer building a piece of hardware with Particle boards probably isn’t using a stock Photon or Electron. There’s no need for USB ports or pin headers when a board is stuffed inside a black box, anyway. For the smarts that go into a product, Particle already has a WiFi module, the P0 and P1, and [Zach Supalla] says Particle is considering a cellular module that would also be FCC and CE certified.

The Electron is a great piece of hardware, but it’s not the biggest development in the world of cellular-enabled hardware. That would be Particle’s MVNO and the no-contract, one Megabyte cellular plan that costs only a few bucks a month. The burning question on everyone’s mind is, ‘will Particle sell SIMs to people who want to roll their own hardware?’. The answer to this, at least for now, is yes. Even if you’re not interested in the Electron itself, the cheap cellular plan is undeniably interesting. It’s cheaper than other MVNOs like Ting, is designed to be a purely machine to machine plan, and it will be coming soon.

The Requisite 2G Warning

Particle is offering three version of the Electron. Two are for 3G networks – the U260-based board is for North America, the U270 is for Europe. The third version of the Electron is for 2G networks. The 2G version is $20 cheaper, but this may be a false economy. In the US, AT&T will begin shutting down 2G networks “soon” – either starting January 1, 2017, or whenever it doesn’t make economic sense to keep the 2G networks running.


Particle already has a lot of experience building Internet of Things things. The Core and Photon are excellent WiFi development boards with a strong development platform and a very capable cloud backend. The Electron is the continuation of this, expanding the Internet of Things to devices that move more than a few hundred meters when being used, or operate where WiFi networks aren’t available.

While the hardware is good, the big story here is Particle becoming a cellular network. Smartphones, as we know them today, have been around for nearly a decade and until now, no one – at least at a large carrier – has realized the value of giving a few kilobytes of data a month to tiny battery-powered devices. Somehow or another, Particle solved this problem, and they’re not locking it down to only their devices.

Particle will be shipping rewards out to Kickstarter backers beginning today, and the Electron (and SIM) will be available on the Particle website in due time.

Filed under: Featured, Microcontrollers, news, reviews, slider

The Triumph of Open Design and the Birth of a FormLabs Aftermarket

พฤ, 02/11/2016 - 00:01

Whilst designing hardware, it’s easy to shut the doors, close the blinds, and bury ourselves deeply into an after-hours design session. Although it’s tempting to fly solo, it’s likely that we’ll encounter bugs that others have handled, or perhaps we’ll realize that we forgot to add a handy feature that someone else could’ve noticed before we sent the darned PCB files out for fab. All that said, if we probe the community around us and ask for feedback, we can produce a project that’s far more functional and feature-complete in less time than if we were to design solo. Who knows? With enough eyes giving feedback on your project, maybe others will get excited enough to want one for themselves! [Andrew Werby] and [Zak Timan] on the FormLabs forums did just that: through months of iterative design and discussion on the FormLabs forums, they’ve created the first 3rd party glass resin tank that’s altogether sturdier, longer-lasting, more scratch-resistant, and less distorting than the original resin tank. And guess what? After months of trials through a few brave customers, you too can be the proud owner such a tank as they’re now up for sale on [Zak’s] website.

To Build a Resin Tank

Tired of replacing resin tanks, [Andrew Werby] pondered: why not build one to last? FormLabs tanks, as is, are consumables, intended only for about 1-to-2 bottles of resin before their silicone layer depletes and they join their fellow disposed brethren in the dumpster. They’re made from acrylic, which makes them brittle and easy to shatter if not removed carefully from the printer. The acrylic composition also prevents them from being cleaned with IPA, which would cause it to crack. Finally, since we can’t clean the tank and fill it with a different color, the resin-printing enthusiasts need one tank for each type of resin that they own.

[Zak] and [Andrew’s] First Pass. Image Credit: FormLabs ForumsComing from a laundry list of drawbacks with the current tank, [Andrew] decided to design his own. With some shrewd forethought, [Andrew] thought that by switching from acrylic to glass, he might get some better print performance. In [Andrew’s] mind, glass might distort the laser far less than acrylic, and, as a material it would be far more durable. The first prototype, fabbed by glass-fabrication guru [Zak], was an all-glass replica.

After a few prints, [Andrew] noticed that the “semi-cured resin globs” that formed in acrylic tanks altogether disappeared in this glass variant. After dropping a few jaws on the forum, [Zak] made a few more tanks, sent them to a few more brave enthusiasts, and received a healthy dose of feedback both from forum followers and fresh tank users. Some insightful followers suggested alternative materials. Others wanted to store the tank outside without curing the resin. As feedback fed through the forum, the bottom shifted to all-borosilicate glass, to conventional soda lime glass. The tank walls evolved from glass to a more robust PVC and finally a sturdy UV-filtering polycarbonate. Each of these design changes stemmed from the feedback and tips of eager readers.

In the last few months, the tank has evolved into a feature-complete hybrid of UV-filtering polycarbonate that’s chemically welded to soda-lime glass coated in silicone. The bottom is embossed, enabling it to be set on a flat surface without risk of scratching. The tank can be cleaned with IPA and re-coated with silicone. The optical properties of the glass are slightly less distorting than the original’s acrylic. Finally, [Zak] and [Andrew] even received the “ok” from FormLabs to start selling the Z-Vat Glass Tank, although FormLabs is, of course, completely unaffiliated.

The Man Behind the Respirator

[Zak] is no stranger to glass. Back in high school, he fell in love with the process while watching a friend blow glass, and the two setup a shop in [Zak’s] garage. 15 years later, he’s now in the Bay Area, cracking away at floating sculptures in his current shop. The glass tank may have been dreamed up by many minds on the FormLabs forums, but making it real took someone who could play with both those ideas on the forums and the tools of the glass shop. The glass tank may look simple, but it’s an exercise in chemical welding and an ordeal in keeping a dirty glass shop dust-free for silicone coating the optical surface. With the development of glass tanks, [Zak] has forged the dreams of a few tinkerers who were looking for a tank with a bit more “oomph.”

Extra Eyes in the Build Process

[Zak] and [Andrew] didn’t finish their build alone in the dark. When [Andrew] began sharing his experience, the forum community leaped on the project and chimed in with helpful tips and relevant woes from what they saw. White papers where shared, “if-only” features were gushed, and in the end the tank evolved from a pricey all-borosilicate-build to a hybrid of materials that not only fits snugly into the printer slot, but also outlasts the lifetime of the original.

New tanks at [Zak’s] Home Base for GlassworkThe world is filled with volumes of information and experiences, but it takes a human to figure out how to make sense of it. You and I might be hardware designers, grizzled double-Es, college students, or perhaps just casual readers, but we’re still all equipped with brains. The story of the Z-Vat is a testament that any of us, no matter how skilled, can still make a meaningful contribution to an ongoing, shared project, just by voicing our thoughts. In doing so, we call out the flaws and features that others haven’t yet seen. By making our design stages open, the designers can better assemble a gadget that best becomes the aggregate of all of this distilled information–a thing that many people want!

To anyone who picks up a tank like this one, you have the collective pioneers on the FormLabs forum to thank for a feature-complete tank that “just works.” And, of course, don’t forget, with a little input, you too can mold a future project into a thing that “just works” too.

Filed under: 3d Printer hacks, Hackaday Columns

Error Detection and Correction: Reed-Solomon, Convolution and Trellis Diagrams

พุธ, 02/10/2016 - 22:01

Transferring data without error when there is a lot of background noise is a challenge. Dr. Claude E. Shannon in 1948 provided guidance with his theory addressing the capacity of a communications channel in the presence of noise. His work quickly spread beyond communications into other fields. Even other aspects of computer use were impacted. An example is the transfer of data from a storage medium, like a hard drive or CD-ROM. These media and their sensors are not 100% reliable so errors occur. Just as Shannon’s work defines communication channel capacity it defines the transfer rate from a media surface to the read head.

Shannon told us how much could be passed through a channel but didn’t say how. Since 1948 a lot of research effort went into accurately detecting errors and correcting them. Error correction codes (ECC) add extra bits to messages, but their cost pays off in their ability to work around errors. For instance, without ECC the two Voyager spacecraft, now leaving our solar system, would be unable to phone home with the information they’ve gathered because noise would overwhelm their signals. Typically in hardware, like memory, error correction is referred to as ECC. In communications, the term forward error correction (FEC) is used.

Robust communication, or data transfer, is a combination of fancy software and tricky signal processing. I’m going to focus on the software side in this article. You may find some of these techniques useful in communicating data among your devices. While I’ll be using the term communications keep in mind this is applicable to transferring data in general.

Error Handling Issues

Robust communication requires multiple layers of protocols. Any or all of those layers may have error correction, probably of different types. One layer will address physical transfer of data over wire, fiber, or RF. Another may address message routing and transfer to other systems. The type of error handling and what to do when errors occur is specific to each layer. As a result I can’t provide a definitive statement on what to do when an error is detected as it depends on the protocol’s expectations. To illustrate layers compare the Open Systems Interconnection / Reference Model and the Internet protocol suite.

There are two ways that errors can change bits. A bit can be flipped, i.e. 1 becomes 0 or 0 becomes 1. Or a bit can be erased. An erasure can occur with the RS-232 Standard for interconnecting devices since it defines a 0 as > 3V and a 1 as < -3V. Anything between those is undefined, causing an erasure. Errors can also occur in bursts, taking out multiple bits at once, or on individual bits.

We’re used to thinking in terms of bytes for communications. Generally, communication protocol analysis works with streams of bits when applying mathematical analysis. Fortunately these abstractions can be translated into byte operations for us computer jockeys, but this adds its own complications. Are the processes little- or big-endian? Is the bit stream processed from the first or last received bit? These don’t change the mathematics but they do change the implementation. We’ll not go into details but be aware of the problems.

Before we get into the details let’s take another look at Shannon’s communications diagram. We’re generating information which is passed to a transmitter where it is encoded. The encoded information passes through a communications channel where noise is introduced. The receiver gathers the encoded data, modified by noise, and decodes it with the goal of error free passage of the information.

Error Detection

Before you can fix an error you have to know that it occurred. A basic error detector is the parity check. You may have encountered parity bits in setting up a serial port where you have to choose even or odd parity. The parity bit is used for error detection. If a bit, data or parity, is changed by the channel the parity check will be wrong and flag an error. A drawback with parity checking is it may not detect multiple bit flips if they offset one another.

Related to parity checking is the checksum. A checksum does an XOR of all the bytes in a message. The checksum is appended to the message. As data arrives the receiver also calculates the checksum and compares it with the received value. If the values do not match the message has errors. As with the parity checking, checksums cannot detect multiple errors that offset one another.

Another use of checksums is verifying the integrity of PROMs in embedded systems. A sad truth of life is that bits will occasionally fail in a PROM, corrupting the program code. The checksum for valid code is written at one end of the PROM’s memory for verification at startup and periodically when running code.

Parity checking and checksums are actually the simplest forms of a cyclic redundancy check (CRC). In mathematical terms, a CRC is the result of a polynomial modulus operation, modulo 2 on the message. You have to see it to realize it’s not complicated. Here’s an example using a message with the bits 0010110101010111 divided by the CRC bit pattern 100101:

0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 = 0x1A

The values in bold are the result of each step in the process. The CRC for this message is 0x1A. The process starts at the leftmost 1 bit and performs the XOR operation. It shifts right to the next 1 bit and again does the XOR, using additional bits from the message if necessary. This continues until the last bit has been included in a calculation.

Actual implementations of the CRC don’t actually do this division. Most use a lookup table that XORs the table value with the message value. You can find examples in a number of places on the web. If you’re implementing a specific protocol there are probably standard routines available because the CRC bit pattern, actually called the polynomial, is specific to each protocol. The polynomial used by a protocol addresses the types of errors that may occur. Some polynomials handle burst errors better while others handle single bit errors better.

Protocols that rely on CRC, parity, or checksums do not provide error correction and are usually used where noise is not a big problem. A typical use is where data is streamed and a dropped value is not critical because the next copy of it will be along shortly. The other option is where messages can be repeated if an error occurs. These are automatic repeat-request (ARQ) protocols. A message is transmitted to the receiver who sends back a positive acknowledgment (ACK) if no errors are detected, otherwise a negative acknowledgment (NAK) is sent. Because of those abbreviations you may hear them called ACK/NAK codes. If an ACK is received the next message is sent. The current message is repeated if a NAK is sent back.

The drawback with ARQ is the time delay caused by the receiver acknowledging a message and the longer delay caused by repetition when an error occurs. This lead to the development of sliding windows where a number of messages would be sent, for example 7, without break. The receiver would send back an ACK with the sequence number of the last good message. The transmitter would continue by sending the next message after the one that was ACK’d.

Error Correction

The ability to correct an error is critical in obtaining maximum throughput. The introduction of an FEC can be the equivalent of increasing the power of a transmitted signal. It is not uncommon for an FEC to introduce a 3dB gain, which is the same as a doubling of transmission power. (A dB is decibel, a logarithmic scale used to represent power or amplitude ratios.) Decibels are used to determine how close a protocol is to Shannon’s limit.

There are two types of FECs. Convolutional codes work with the bits as they are streamed. Block codes work on entire message chunks. There are a number of both type of codes.

The almost de facto standard for block codes is Reed-Solomon (RS) developed by Irving S. Reed and Gustave Solomon in 1960. You’ll find RS codes in CDs and DVDs, DSL and WiMax, satellite communication, and digital TV. Other block codes are Hamming and Golay.


An RS code works with a message containing data symbols and a set of parity symbols that are appended to the data. The details are specified by {n, k} where n is the message length and k the data length. RS isn’t restricted to operating on bytes as symbols but we’ll just consider 8-bit examples. A common RS code is {255, 223} with 8-bit symbols. This creates a message of 255 bytes with 223 data bytes and 32 parity bytes. With these 32 bytes RS can correct errors in 16 bytes of the message. This means a single bit, or all eight bits, can be wrong in 16 different bytes and the RS will correct them. The number of parity symbols, referred to as 2t, is always twice the number of symbols, just t, that can be corrected.

Convolutional Codes

Convolutional codes work on the bits in a stream. They can be specified with three parameters similar to a block code specification. A {7, 3, 3} code adds 7 bits to the output stream based on 3 bits of input using a memory of 3 bits. Just as with the CRC codes they use a polynomial to encode the input bits to create the output stream.

Short convolutional codes readily lend themselves to hardware encoding. For our {7, 3, 3} code a shift register of 9 bits (for 9 bits times 3 memories) is used. The outputs of the shifts registers pins are wired to a network of XOR gates with the pattern defined by the polynomial.

Hardware Convolution Encoding

The stream of input bits are shifted into the shift register 3 bits at a time. At each of these shifts the input bits and the XOR gate output bits are put in the output stream at the rate of 7 outputs for every 3 inputs. This type of a code uses memory, the previous 6 bits, in addition to the new 3 input bits to generate the output.

An additional technique is to ‘puncture’ the code. This drops some bits from the output stream to improve the speed of transferring messages. The protocol definition is designed so these bits are readily recovered as part of the FEC. Dropping bits increases the overall throughput.

Trellis Diagram

A convolutional code is a state machine. As such, a graph can be constructed called a trellis diagram. This diagram has time across the top and bit states along the side. It represents the legal bit patterns that can occur in the bit stream at specific times. Software can be used, instead of hardware, to generate the output stream by walking this graph. The decoding of convolutional codes is almost always done in software using trellis codes.

Error correction occurs in decoding because there are only limited legal states available at any node on the graph. When the bit stream contains an illegal code, the decoder knows an error occurred. Assume a decoder that is using 2 input bits from the stream to walk the graph. It encounters a node where only a 00 or a 11 are legal but the input is a 10. The software guesses it should be an 11 and proceeds on that assumption after incrementing an error counter. The process continues making guesses when illegal states are encountered, incrementing the error counter at each guess. When too many errors occur the process backs up to the previous guess and takes the other path. In our example, after tracing back, the decoder would take the path dictated by a 00 input. When the decoder reaches the end of the table this portion of the stream is completely decoded. The decoder starts again at the beginning of the table to process the rest of the stream.

A more sophisticated approach to decoding was developed by Andrew Viterbi, the founder of Qualcomm, which moves through the network along multiple paths. Each path is weighted and at times in the process paths with low weights are discarded.

These approaches are hard decision decoding because the received bits are either 0 or 1. A soft decision decoding approach uses a probability of the bits value. In RS-232 standard a signal above 3V would be a 0 with 100% probability but a signal at 2.5v might be given an 80% probability of being a 0. This probability guides the walk through the network.

Low Density Parity Check

The development of Low Density Parity Checks (LDPC) is interesting. In the 1996, David McKay and Radford M. Neal rediscovered and published a paper about them. Subsequently, it was found that Robert G. Gallager originally discovered and described them in his 1963 PhD thesis. They lay dormant for so many years because the computers in 1963 lacked the power to process them in a reasonable amount of time. LDPC proved superior to the use of convolutional codes layered with RS, approaching near to the Shannon Limit. Development continues on LDPC and they are now being used in communication systems. There is some thought that LDPCs are the fundamental basis for all FECs. RS codes can be shown to be an LDPC, for instance.

Only a few years earlier, a similar FEC, the Turbo Codes were introduced. These codes also came very close to Shannon’s limit. The drawback is they were patented, but the patent expired in 2013.

Calculating an LDPC Note: the 3rd parity bit should be 0, not 1

LDPCs append a series of parity bits to a message. Usually the encoded stream is relatively long — 1024 bits would be a short message. That’s because LDPC is more effective the longer the message.

The table shows a tiny message of 6 bits with 4 parity bits. The matrix below the data show the bits used in calculating the parity bits. The calculated bits are appended to the data. As you can see encoding is trivial.

Decoding is much more complex as it involves solving simultaneous equations, one for each line in the matrix. Assume data bit 0, the first data bit, is incorrect. Because bit 0 is incorrect the bits 1, 3, 4, and 5 (lines 1 and 4 equations) may be calculated as incorrect. But the calculation of those bits based on other lines will show they are correct. That means bit 0 must actually be the incorrect bit.

The real complexity in LDPCs is constructing the matrix that determines the parity outputs. This is the focus of research for LDPCs.

FEC Interleaving and Layering

Interleaving and layering are techniques for making FEC even more robust. I’ll discuss them with respect to RS code but they can be used with all FEC codes, including mixing types of FEC code.

Interleaving is simply taking a number of messages and mixing the bytes, in a controlled manner, before they are transmitted. A simple approach with an RS {255, 235} would be to create a set of messages to be interleaved. Send the first symbol from all the messages, than the 2nd symbol, the 3rd, 4th, etc. At the receiving end they are reassigned to their correct message.

Why do this? Assume you have a burst error that wipes out 17 symbols each time it occurs. That would prevent this RS from correcting a message since it can only correct 16 errors. When the messages are de-interleaved the bad bytes are put back in their correct messages. So if all the first symbols were bad they are now correctable when properly positioned in their messages.

The FEC on a CD uses interleaving and layering. A short {32, 28} code is used to correct errors read from the track. Any it cannot correct are marked as erasures and the result is de-interleaved. The result is then processed by a {28, 24} code which fixes any erasures. This works so well it can recover from a loss of 4,000 bits.

Wrap Up

We’ve seen how Shannon building on others work developed the theorem that said we could send a lot more data through a channel than was possible in 1948. This provided the impetus for researchers to develop the error detection and correction codes discussed here. Without FEC the world would be quite different.

Space exploration, especially deep space, absolutely requires communications using FEC. Without FEC increasing the effective signal strength of the miniscule signals from space probes and planetary rovers, like Voyager, Cassini or Curiosity, we’d know little about the other planets and the far reaches of our solar system. The Internet, if it existed at all, would be much slower not only on our personal last mile connections but also on the general internet backbone. The storage devices in our computers would be slower since they use FEC to recover errors in reading drives.

There is one more important element that has not been addressed, the electrical or RF signals used for data transmission. I may get to them in a future article.

Filed under: classic hacks, Featured, Network Hacks

Join Hackaday at MakeIt NYC this Thursday

พุธ, 02/10/2016 - 20:31

New York is coming on strong as a hardware epicenter — exciting hardware culture can be found at every turn. Tomorrow, we’re bringing food and fun to one such event, the monthly MakeIt NYC meetup.

MakeIt is hosted by PCB.ng, a Brooklyn based PCB manufacturer and board stuffer whose mission it is to make electronics manufacturing available to everyone. [Sophi Kravitz] will be on hand and speaking about Hackaday.io and the Hackaday Prize. There are many other talks lined up, including The LED Artist (amazing work if you haven’t seen), Microchip who will show off their new Chip-KIT Wi-Fire,  Thimble (an electronics subscription service delivering monthly hardware kits), and Botfactory’s Squink, a desktop electronics manufacturing machine.

In addition to the planned talks we’re always interested in seeing the projects you’re working on. Bring along anything that fits in a pocket or a backpack. We’ll see you there!

Filed under: cons

FAA Rescinds Drone Ban Around DC

พุธ, 02/10/2016 - 19:00

Late last year, the FAA expanded a Special Flight Rule Area (SFRA) that applied to Unmanned Aerial Systems, drones, and RC airplanes around Washington DC. This SFRA was created around the year 2000 – for obvious reasons – and applies to more than just quadcopters and airplanes made out of foam. Last December, the FAA expanded the SFRA from 15 nautical around a point located at Reagan National to 30 nautical miles. No remote-controlled aircraft could fly in this SFRA, effectively banning quadcopters and drones for six million people.

Today, the FAA has rescinded that ban bringing the area covered under the Washington DC SFRA to 15 nautical miles around a point inside Reagan National. This area includes The District of Columbia, Bethesda, College Park, Alexandria, and basically everything inside the beltway, plus a mile or two beyond. Things are now back to the way they were are few weeks ago.

The 30-mile SFRA included a number of model flying clubs that were shuttered because of the ban. DCRC is now back up. The Capital Area Soaring Association worked with the FAA and AMA to allow club members to fly.

Of course, limitations on remote-controlled aircraft still exist. For the most part, these are rather standard restrictions: aircraft must weigh less than 55 pounds, fly below 400 feet line of sight, and must avoid other aircraft.

Filed under: drone hacks, news

Remote-Controlled Eyebrows for Your Birthday

พุธ, 02/10/2016 - 16:01

We’re not sure that [Alec]’s dad actually requested remote-controlled eyebrows for his birthday, but it looks like it’s what he got! As [Alec] points out, his father does have very expressive eyebrows, and who knows, he could be tired of raising and lowering them by himself. So maybe this is a good thing? But to us, it still looks a tiny bit Clockwork Orange. But we’re not here to pass judgement or discuss matters of free will. On to the project. (And the video, below the break.)

An ATmega328 (otherwise known as cheap Cloneduino Alec wrote that the 328 was from a real Arduino) is trained to run motors in response to IR signals. An L293D and a couple of gear motors take care of the rest. Sewing bobbins and thread connect the motors to the eyebrows. And while it’s not entirely visible in the photo, and veers back into not-sure-we’d-do-this-at-home, a toothpick serves as an anchor for the thread and tape, secured just underneath the ‘brows for maximum traction.

We have to say, we initially thought it was going to be a high-voltage muscle-control hack, and we were relieved that it wasn’t.

Filed under: misc hacks, wearable hacks

Experiments With A Bowden Extruder Filament Force Sensor

พุธ, 02/10/2016 - 13:00

We were excited to learn that someone had started working with force sensors on filament extruders, especially after we posted about a recent development in filament thickness sensors.

[airtripper] primarily uses a Bowden extruder, and wanted to be a little more scientific in his 3D printing efforts. So he purchased a force sensor off eBay and modified his extruder design to fit it. Once installed he could see exactly how different temperatures, retraction rates, speed, etc. resulted in different forces on the extruder. He used this information to tune his printer just a bit better.

More interesting, [airtripper] used his new sensor to validate the powers of various extruder gears. These are the gears that actually transfer the driving force of the stepper to the filament itself. He tested some of the common drive gears, and proved that the Mk8 gear slipped the least and provided the most constant force. We love to see this kind of science in the 3D printing community — let’s see if someone can replicate his findings.


Filed under: 3d Printer hacks

StickerBOM for KiCad

พุธ, 02/10/2016 - 10:00

When boards were larger and components mostly through hole, designers could put a lot of information on the silk legend – reference designator, values, additional text and so on. But with surface mount components becoming smaller and board real estate at a premium, modern boards do not have a lot of information marked on the silk layer. If you are building and distributing a short run of kits, perhaps for a round of beta testing, then [Adam Greig]’s StickerBOM python script for KiCad can be really handy. StickerBOM is a KiCad BOM exporter designed for people stuffing boards by hand. It generates a PDF for printable sticky labels, where each label reflects one BOM line from a supplier. You then stick these labels on the bags from your supplier, and they show you where the parts go.

The labels get printed with the reference designator, quantity, component value, package, vendor and part number. It also adds a drawing of the PCB with the relevant parts highlighted for easy location identification. To use it, schematic symbols must have the supplier field and part number added. The script can be run from the command line, or from the BOM manager in eeschema. The script is set up for Avery L7164 labels, but this setting can be changed. It’s still work in progress so there’s a couple of bugs to be aware of. It cannot process the bottom layer of the board, and the result is only as good as the data you provide. And if you have a large board with components spread all over, the resultant graphic printed on the label may not be ideal.

We are hoping this, and other scripts such as the Part generator and Cost spreadsheets or the script for mechanical CAD export, get added to future releases of KiCad. The KiCad version 5 Developer’s road map document already has some really nice feature additions in the works.

Filed under: software hacks

Constant Innovation and Useless Ducks

พุธ, 02/10/2016 - 07:00

[Mike]’s hacks aren’t breathtaking in their complexity, but they got a good chuckle out of us. [Mike], the CEO of The Useless Duck Company, lives in a hub of innovation somewhere in Canada, where he comes up with useful gadgets such as a Fedora that tips itself, or a door that locks when you’re shopping for gifts for your wife and you’re in incognito mode.

It all started when he was trying to learn the Arduino, and he put quite a few hours into making a device that could wirelessly squeak a rubber bath duck from the bathroom. The whole project reminded us of our first clumsy forays into the world of electronics, with entirely too many parts to complete a simple function. The Arduino being the gateway drug it is, it wasn’t long before he was building a bartending robot.

We hope he continues to construct more entertaining gadgets.

Filed under: Arduino Hacks

Giving WiFi To An Apple Newton

พุธ, 02/10/2016 - 04:00

The Apple Newton gets a bad rap, partly because of the bad handwriting recognition of the first version of the firmware, and mostly because Steve Jobs hated it. Those who know of the Newton love the Newton; it has an exceptionally well-designed interface, the handwriting recognition is great with updated firmware.

[Jake] has the king of the Newtons – a MessagePad 2100. There’s a hidden port in this machine for a modem card, but Apple never made one. While other Newton aficionados trudge along with old PCMCIA WiFi cards that only support 802.11a without WPA2, [Jake] thought it would be possible to build a modern WiFi card for the Newton. He succeeded, opening the door to modern networking apps on the finest tablet Apple will ever make.

Oddly, this isn’t [Jake]’s first attempt at expanding the capabilities of his Newton. There’s an internal serial port inside the MessagePad 2×00, and a few years ago [Jake] tried to build an internal Bluetooth card. The RF design didn’t work, but with a few more years of experience, [Jake] figured he had the skills for the job.

The critical piece of hardware for this build isn’t an ESP8266 or other common WiFi module. Instead, a WiReach module from ConnectOne was used for the built-in PPP server. This allows legacy hardware to use standard AT modem commands to access a WiFi network. It’s a very interesting module; there is a lot of hardware out there that speaks PPP natively, and a module like this could be a drop-in replacement for a modem.

That said, thanks to unintelligible and ‘Apple Classified’ documentation, getting this card working wasn’t easy. The APIs to access the internal serial slot were never documented, and it took a bit of time with a disassembler to figure out how to address the port correctly.

[Jake] has pushed all the files for his project up to Github. This includes the design files for the PCB, the Newton software that enables WiFi, and a nifty 3D printed port cover that shows off the new wireless capabilities of Apple’s greatest tablet.

Filed under: classic hacks