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.
The LVL1 Hackerspace held a hackathon back in June and this is one of the projects that was created in that 24-hour period. It’s a 3D scanner made from leftover parts. The image gives you an idea of the math used in the image processing. It shows the angular relations between the laser diode, the subject being scanned, and the webcam doing the scanning.
The webcam is of rather low quality and one way to quickly improve the output would be to replace it with a better one. But because the rules said they had to use only materials from the parts bin it worked out just fine. The other issue that came into play was the there were no LCD monitors available for use in the project. Because of that they decided to make the device controllable over the network. On the right you can see a power supply taped to the top of a car computer. It connects to the laser (pulled out of a barcode scanner which produces a line of red light) and the turntable. A Python script does all of the image processing, assembling each slice of the scan into both an animated GIF and an OBJ file.