Hackaday Explains: Li-Fi & Visible Light Communications

A new way to transmit data is coming that could radically change the way that devices talk to each other: LiFi. Short for Light Fidelity, LiFi uses visible light to send data, creating the link between router and device with invisible pulses of light. This type of Visible Light Communication (VLC) uses something that is present in pretty much every room: an LED lightbulb.

What is LiFi?

Li-Fi sounds like the an engineer’s fevered dream: it is fast, cheap, secure and simple to implement. Speeds of up to 10Gbps have been demonstrated in the lab, and products are now available that offer 10Mbps speed. It is cheap because it can use a modified LED lightbulb. It is secure because it only works where the light is visible: step out of the room and the signal is lost. It is simple to implement because it uses an existing technology: LEDs.

The basis of the technology is in turning the LED light on and off very fast. By switching an LED on and off millions of times a second, you can create a data signal that can be detected by a sensor, but which is invisible to the human eye. At the other end, another LED detects these pulses, and can send light pulses back in response, creating a bi-directional link. If you combine this with wired Ethernet or a WiFi network, you have an awesome combination: an Internet connection that uses visible light for the last link.

Continue reading “Hackaday Explains: Li-Fi & Visible Light Communications”

Embed With Elliot: Debounce Your Noisy Buttons, Part II

If you’ve ever turned a rotary encoder or pushed a cursor button and had it skip a step or two, you’ve suffered directly from button bounce. My old car stereo and my current in-car GPS navigator both have this problem, and it drives me nuts. One button press should be one button press. How hard is that to get right?

In the last session of Embed with Elliot, we looked into exactly how hard it is to get right and concluded that it wasn’t actually all that bad, as long as you’re willing to throw some circuitry at the problem, or accept some sluggishness in software. But engineers cut corners on hardware designs, and parts age and get dirty. Making something as “simple” as a button work with ultra-fast microcontrollers ends up being non-trivial.

And unsurprisingly, for a problem this ubiquitous, there are a myriad of solutions. Some are good, some are bad, and others just have trade-offs. In this installment, we’re going to look at something special: a debouncer that uses minimal resources and is reasonably straightforward in its operation, yet which can debounce along with the best of ’em.

In short, I’ll introduce you to what I think is The Ultimate Debouncer(tm)! And if you don’t agree by the end of this article, I’ll give you your money back.

Continue reading “Embed With Elliot: Debounce Your Noisy Buttons, Part II”

Aircraft Hackchat This Thursday

This Thursday, December 10th at 5pm PST we will be hosting a live HackChat about aircraft. If it’s man-made and it files, it’s on topic! Full scale and model planes, helicopters, multicopters, gyros, blimps and gliders will be on the agenda. Our host this week will be Hackaday Community Editor [Adam Fabio] who is also the author of this well-written blog entry. In addition to being an electrical engineer, [Adam] brings 30 years of experience as a Radio Control model enthusiast. Over the years he’s worked as a professional R/C Blimp Pilot for the New York Islanders Hockey team and as an aerial photographer. On the full-scale aircraft side, he’s designed radar and air traffic control software used to keep the skies safe over land and sea.

Aircraft HackChat starts Thursday at 5pm PST (here’s a timezone cheat sheet if you need it). Participating in this live chat is very simple. Those who are already part of the Hacker Channel can simply click on theTeam Messaging button. If you’re not part of the channel, just go to the hacker Channel page, scroll to the bottom of the “TEAM” list in the left sidebar and click “Request to join this project”.

HackChat takes place in the Hacker Channel every few weeks and is a friendly place to talk about engineering and the projects you’re working on.

Embed With Elliot: Debounce Your Noisy Buttons, Part I

“Psst…hey buddy! Wanna see the sweetest little debouncing routine this side of Spokane? C’mon over here. Step right over those bit-shift operators, they don’t bite. Now look at this beauty right here: I call her The Ultimate Debouncer(tm)!”

Everybody who works with microcontrollers eventually runs into the issue of switch bounce or “chatter”, and nearly everyone has their own favorite solution. Some fix it in hardware, others fix it in software. Some hackers understand chatter, and others just cut-and-paste the classic routines. Some folks even try to ignore it, and they might even get lucky, but everyone’s luck runs out sometimes.

In the next two “Embed with Elliot” installments, I’ll look a little bit at bouncing, look into doing hardware debouncing both the simple way and the right way, and build up a basic software routine that demonstrates some of the principles and which works just fine, though it’s not optimized. We’ll be laying the groundwork.

In the next installment, I’ll let you in on my personal favorite debounce routine. It’s a minor tweak on a standard, but with some special sauce that’s worth spreading around. I’ll call it the Ultimate Debouncer(tm), but will it stand up to the scrutiny of the Hackaday commenteers? (How’s that for a cliffhanger?!?)

For now, though, let’s look into switch bounce and the standard ways to fix it in hardware and software.

Continue reading “Embed With Elliot: Debounce Your Noisy Buttons, Part I”

The Best Badges Of The SuperCon

A few weeks ago, we took a look at the best badge hacks at the Hackaday Supercon. These were the best badge hacks anyone has ever seen – including what comes out of DEF CON and the SDR badge from the latest CCC. I’m ascribing this entirely to the free-form nature of the badge; give people a blank canvas and you’re sure to get a diverse field of builds. Now it’s time to take a look at the cream of the crop, hear what the jolly wrencher sounds like, and how to put 1000 Volts in a badge.

There were three categories for the badge hacking competition at the SuperCon – best deadbug, best blinky, and most over the top. A surprising number of people managed to solder, glue, and tape some components to a the piece of FR4 we used as a conference badge, but in the end, only three would win.

Continue reading “The Best Badges Of The SuperCon”

Retrotechtacular: A Desktop Computer From 1965

About eight years before the Xerox built the Alto at PARC and over a decade before the Apple ][ premiered, Italian business equipment manufacturer Olivetti produced a bona fide desktop personal computer. When Olivetti debuted this typewriter-sized marvel in 1965 at a business convention in New York City, people were in absolute awe that this tiny, self-contained unit could perform the same types of functions as the hulking room-sized mainframes of the time. Some were sure that it was simply a small input device for a much bigger machine hiding behind the curtain.

But the revolutionary Olivetti Programma 101 was no joke. It performed standard four-banger operations and could handle square root and absolute value calculations. The Olivetti had 16 jump instructions as well as 16 conditional jump instructions, which put it firmly in state machine territory. Programs could be printed on a roll of paper or stored long-term on long magnetic cards.

Continue reading “Retrotechtacular: A Desktop Computer From 1965”

Does The Internet Make You Stupid?

A recent post by [Christian Heilmann] is one of several I’ve read lately talking about how Web sites–Stack Overflow, in particular–are breeding a new kind of developer. The kind of developer that simply copies and pastes example code or schematics with no real understanding of what’s going on. His conclusion is that developers who don’t fully understand what they are doing will become disinterested and burn out. He’s talking about software developers, but I think you could extend the argument to developers of all kinds, including hardware hackers. He concluded that–at least while learning–you stick to the old ways of doing things.

I have trouble disagreeing with [Christian] on the details, but I do disagree with the conclusion. People have copied work from other sources for a very long time. We’ve all seen circuits that were clearly either torn from a datasheet or even glued together from multiple datasheet examples way before there was an Internet.

There’s two things that are slightly different today: First, everyone has easy access to lots of examples. You don’t have to go find a book (possibly at a library), search through it, and find one or two examples. A quick Google will find dozens or hundreds of examples.

The second thing that is different is that there are places exist like Stack Overflow where you don’t even have to go looking. You can simply ask, “How do I do X?” and you will get answers from someone. It might be wrong. You might not understand it. But you’ll probably get some kind of answer.

Continue reading “Does The Internet Make You Stupid?”