Self-service checkouts have become a common feature in supermarkets the world over, a trend accelerated by the coronavirus pandemic. While some may lament the loss of human contact, others relish the opportunity to do their own scanning: with a bit of practice, self-service can provide for a very fast checkout experience. Assuming, of course, that the machine recognizes each product, the built-in weight sensor works correctly, and you don’t get selected for a random check.
If you want to practice your checkout game without spending loads of money, you might want to have a look at [Niklas Roy] and [Kati Hyyppä]’s latest project: Bonprix is a game where the goal is to scan as many items as possible within a 90-second time limit. Installed at the Eniarof DIY festival, it’s designed to resemble a typical supermarket checkout with a display, a barcode scanner and a shopping basket filled with random items. The screen indicates which item should be scanned next; if you’re too slow, the checkout will begin to offer discounts, which you obviously don’t want. When the 90 seconds are over, the machine spits out a receipt indicating your total score.
The checkout desk is made from wooden pallets and cardboard; inside is a laptop running Linux, with a handheld barcode scanner attached via USB. An LED strip provides a beam of bright red light to indicate the scanning area, and turns green when a barcode is successfully scanned. Arduinos control the LEDs and the big red-and-yellow “start” button, while a thermal printer from an ATM prints the receipts at the end of each game.
Apart from a bit of fun, the Bonprix project tries to address questions relating to consumer culture and self-checkouts: is it fair to let customers do their own work? Should they be paid for it? Is it even ethical to encourage people to spend as much as possible?
While this is the first time we’ve seen a self-service checkout computer game, we’ve done a few deep dives into the fascinating technology of barcodes that makes it all possible. Check this out!
Taking a paper list to the grocery store seems like a good idea, at least until you get there and try to use it. Did you remember to bring a pen? Great. How about a clipboard so you don’t punch through the paper when crossing something off? Apps are easier to use for this, especially the ones with checkboxes, but you’ll still have to enter everything manually. Wouldn’t it be easier (and way more fun) to just scan the barcodes of stuff you need into a list before you chuck the packaging?
That’s exactly the idea behind [DavidE281]’s barcode scanner, which is designed to work with the Bring! app. All he has to do is scan a barcode, and the product ends up in a tidy list on his phone. It’s a simple build that’s based around the M5StickC, which is an ESP32 dev kit that has a small display and a 6-axis IMU along with some other goodies. [David] combined it with a 2D barcode scanner that has a serial port and designed a printed case that joins them together.
Here’s how it works: the M5Stick sends the barcode over MQTT to an external Raspberry Pi that’s running Home Assistant. The Pi does a lookup in a spreadsheet and sends the data to the Bring! app over a community-built API. At the same time, it sends the product name back to the M5Stick’s display to confirm that it was added to the list. Check out bite-sized demo video after the break.
Assembly lines for electronics products are complicated beasts, often composed of many custom tools and fixtures. Typically a microcontroller must be programmed with firmware, and the circuit board tested before assembly into the enclosure, followed by functional testing afterwards before putting it in a box. These test platforms can be very expensive, easily into the tens of thousands of dollars. Instead, this project uses a set of 12 Raspberry Pi Zero Ws in parallel to program, test, and configure up to 12 units at once before moving on to the next stage in assembly.
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.
I’ve always considered barcodes to be one of those invisible innovations that profoundly changed the world. What we might recognize as modern barcodes were originally designed as a labor-saving device in the rail and retail industries, but were quickly adopted by factories for automation, hospitals to help prevent medication errors, and a wide variety of other industries to track the movements of goods.
The technology is accessible, since all you really need is a printer to make barcodes. If you’re already printing packaging for a product, it only costs you ink, or perhaps a small sticker. Barcodes are so ubiquitous that we’ve ceased noticing them; as an experiment I took a moment to count all of them on my (cluttered) desk – I found 43 and probably didn’t find them all.
Despite that, I’ve only used them in exactly one project: a consultant and friend of mine asked me to build a reference database out of his fairly extensive library. I had a tablet with a camera in 2011, and used it to scan the ISBN barcodes to a list. That list was used to get the information needed to automatically enter the reference to a simple database, all I had to do was quickly verify that it was correct.
While this saved me a lot of time, I learned that using tablet or smartphone cameras to scan barcodes was actually very cumbersome when you have a lot of them to process. And so I looked into what it takes to hack together a robust barcode system without breaking the bank.
At a local LAN event, [Thomas] wanted a way to easily show off the capabilities from some of the Internet-of-Things devices everyone keeps talking about. His idea was to build an internet-connected foosball/table soccer/table football table to show off some hardware and software.
[Thomas]’s table automates almost everything that is part of the great sport of foosball. Once a user logs in using the barcode scanner, the game begins by deploying the tiny ball with parts salvaged from a Roomba. The table uses infrared sensors to detect the ball. Once a goal is scored, it is posted online where anyone can see the current score and a history of all of the games played on the table.
There are a few other unique touches on the foosball table, such as the LED lighting, touch screen displays, and an STM32-E407 ARM processor to tie the whole machine together.
Voice activation, one-touch cooking, web controls, cooking settings based on UPC… have you ever seen a microwave with all of these features? We sure haven’t. We thought it was nice that ours have a reheat button with three different settings. But holy crap, what if you could actually program your microwave to the exact settings of your choice? You can, if you let a Raspberry Pi do the cooking.
This hack run deep and results in a final product with a high WAF. Nathan started by taking apart his old microwave. He took pictures of the flexible sheets that make up the control button matrix in order to reverse engineer their design. This led him to etch his own circuit board to hook the inputs up to a Raspberry Pi board and take command of all the appliance’s other hardware. Because it also drives the seven segment display you’ll never see the wrong time on this appliance again. It’s set based on NTP.
We mentioned you can tweak settings for a specific food. The best way of doing this is shown in the demo video. The web interface is used to program the settings. Recalling them is as simple as using the barcode reader to scan the UPC. Amazing.