Featured in many sci-fi stories as a quicker, more efficient way to record and transfer information, barcodes are both extremely commonplace today, and still amazingly poorly understood by many. Originally designed as a way to allow for increased automation by allowing computer systems to scan a code with information about the item it labels, its potential as an information carrier is becoming ever more popular.
Without the tagging ability of barcodes (and their close cousin: RFID tags), much of today’s modern world would grind to a halt. The automated sorting and delivery systems for mail and parcels, entire inventory management systems, the tracing of critical avionics and rocketry components around the globe, as well as seemingly mundane but widely utilized rapid checkout at the supermarket, all depends on some variety of barcodes.
Join me on a trip through the past, present and future of the humble barcode.
Continue reading “The Barcode Revolution: Welcome To Our Automated World”
One of our favorite things about the rise of hobbyist development ecosystems such as the Arduino is that it’s now possible to make a MIDI controller out of almost anything, as long as you have the the shields and the dedication. We’re glad that [James Bruton] takes the occasional break from making robots to detour into instrument making, because his latest creation turns it up to 11.
This awesome guitar uses a barcode scanner to play notes, and various arcade controls to manipulate those notes. The barcodes themselves scan as ASCII values, and their equivalent integers are sent to an external MIDI device. This futuristic axe is built on an Arduino Mega, with a USB shield for the barcode scanner, and a MIDI shield on top that [James] connects to various synths in the video after the break.
In between shooting barcodes, the right hand also controls octave shifting and changing MIDI channels with the joystick, and doing pitch-bends with the rotary encoder. The array of arcade buttons on the bottom neck let him switch between single player for monophonic synths, and multiplayer for polys. The other three buttons are press-and-scan programmable single-note sounders that assist in chord-making and noodling.
We particularly dig the construction, which is a combination of 20/20 and 3D printed boxes. [James] found some angled PVC to serve as fretboards for the four necks, and a nice backgrounds for bar codes.The only thing we would change is the native beep of the barcode scanner — either silence it forever or make it mutable, because it doesn’t jive with every note. It might be nice to get the gun to scan continuously so [James] doesn’t get trigger finger. Or better yet, build the scanner into a glove.
Want to do something more useful with that barcode scanner in your parts bin? Use it to manage your household inventory. But first, reacquaint yourself with the history of the humble barcode as presented by [Adam Fabio].
Continue reading “Barcode Guitar Plays More Than Beep-Bop”
Last year, we saw quite a bit of media attention paid to blockchain startups. They raised money from the public, then most of them vanished without a trace (or product). Ethics and legality of their fundraising model aside, a few of the ideas they presented might be worth revisiting one day.
One idea in particular that I’ve struggled with is the synthesis of IoT and blockchain technology. Usually when presented with a product or technology, I can comprehend how and/or why someone would use it – in this case I understand neither, and it’s been nagging at me from some quiet but irrepressible corner of my mind.
The typical IoT networks I’ve seen collect data using cheap and low-power devices, and transmit it to a central service without more effort spent on security than needed (and sometimes much less). On the other hand, blockchains tend to be an expensive way to store data, require a fair amount of local storage and processing power to fully interact with them, and generally involve the careful use of public-private key encryption.
I can see some edge cases where it would be useful, for example securely setting the state of some large network of state machines – sort of like a more complex version of this system that controls a single LED via Ethereum smart contract.
What I believe isn’t important though, perhaps I just lack imagination – so lets build it anyway.
Continue reading “Yes, You Can Put IoT On The Blockchain Using Python And The ESP8266”
We never really thought about it before, but a traditional barcode or QR code is pretty two dimensional. A 3D barcode sounds like marketing hype but the JAB (Just Another Barcode) system adds a third dimension in the form of color.
Traditional barcodes assume you have a pretty crude sensor, but a color camera now days is no big deal, so why not take advantage? The JAB system specifies two types of symbols: a master symbol and a slave symbol. A master symbol has four finder patterns at the corner. Slave symbols dock to a master or another docked slave.
If you want to create some JABs, there’s a web interface. If you check advanced, you can change the number of colors used, the size of each “module” (colored box), and the width and height of the master symbol. You can also arrange for error correction. The grid that shows the master and slave symbols will allow you to click on any dockable slave location to create more symbols with different attributes.
You can then save the JAB image and use the scan menu item (at the top) to read the code back. It will also read from a camera.
If you are using a color camera and a computer or phone to read barcodes, this probably is something to check out. After all, you are acquiring color data, why not use it?
You might think of the barcode as something modern, but it has a long strange history going back to the 1930s. Early barcodes looked like bullseyes and were actually inspired by Morse code. We wonder how one of these would look on someone’s arm in ink?
Woodworking is the fine art of turning dead tree carcasses into precision instruments. That means breaking out the saws and chisels and making many, many precise cuts over and over. If you have a table saw, every problem becomes a piece of wood, or something like that, and we’ve seen some fantastic jigs that make these precision cuts even easier. We’ve never seen something like this, though. It’s a box joint jig for a table saw, it’s automated, and it puts barcodes on boxes.
[Ben] built this box joint jig a few years ago as a computer-controlled device that slowly advances a piece of wood on a sled, allowing him to create precise, programmable box joints. The design is heavily influenced from [Matthias Wandel]’s screw advance box joint jig, but instead of wood gears (heh), [Ben] is using the Internet of Things. Or a Raspberry Pi, stepper motor, and a few LEDs. Same difference.
Although [Ben]’s previous box joints were all the same size, a programmable box joint jig can do some weird-looking joints. That’s where [Ben] got the idea to encode a barcode in walnut. After using a web app to create a barcode that encodes the number 255 — this is important for later — [Ben] programmed his jig to cut a few slots.
The box was finished as you would expect, but there’s a neat addition to the top. It’s a combination lock that opens when the combination is set to 255. It’s brilliant, and something that could be done with some handsaws and chisels, but this jig makes it so easy it’s hard to think the jig wasn’t explicitly designed for this project.
For most people, a Post-It note or dry-erase board suffices to ensure that household consumables are replenished when they’re used up. But hackers aren’t like most people, so this surplus barcode scanner turned kitchen inventory manager comes as little surprise. After all, if something is worth doing, it’s worth overdoing.
[Brian Carrigan]’s project began with a chance discovery of an old barcode scanner in his local scrap store. Questions as to why we can never find bargains like a $500 scanner for six bucks aside, [Brian] took the scanner home for a bit of reverse engineering. He knew it used RS-232 but it had been unceremoniously ripped from its connectors, so identifying pins took some detective work. With power and data worked out and the scanner talking to a Raspberry Pi, [Brian] set about integrating it into Wunderlist, a cloud-based list management app. Now when someone eats the last Twinkie, a quick scan of the package looks up the product name via an API call to the UPC database and posts it to Wunderlist. And we’ll bet the red laser beams bouncing around the kitchen make a great nightlight too.
With smartphone barcode reading apps, this might seem a bit like overkill, but we like it just the same. And if barcodes leave you baffled, check out our introduction to these studies in black and white that adorn just about everything.
[virustracker] has been playing around with barcodes lately, and trying to use them as a vector to gain control of the system that’s reading them. It’s a promising attack — nobody expects a takeover via barcodes. The idea isn’t new, and in fact we’ve seen people trying to drop SQL attacks in barcodes long ago, but [virustracker] put a few different pieces together and came up with a viable attack.
The trick is that many POS terminals and barcode readers support command characters in their programming modes. Through use of these Advanced Data Formatting (ADF) modes, [virustracker] sends Windows-Key-r, and then cmd.exe, ftps a file down, and runs it. Whatever computer is on the other side of the barcode scanner has just been owned. ADF even supports a delay function to allow time for the command window to pop up before running the rest of the input.
The article details how they got their payload from requiring more than ten individual barcodes down to four. Still, it’s a suspicious-looking attack to try to pull off where other people (think cashiers) are looking. However, we have many automated machines in our everyday life that use barcodes. How many of these are vulnerable is an open question. [virustracker] suggests lottery machines, package-delivery automats, and even hospitals.
The defense is simple, and it’s the same as everywhere else: disable the debug and configuration modes in your production systems, and sanitize your input. Yes, even the barcodes.