A Portable Home Air Quality Meter With The ESP32

Around the world, rolling pandemic lockdowns have left many working from home. [kn100] is in just such a predicament, and while spending nearly 24 hour a day in a residential flat, got wondering about air quality. Thus, it was time to build some gear to keep an eye on things!

Grafana may require a database and some work to set up, but the results are to die for.

The build consists of an ESP32 hooked up to a Bosch BME680 air quality sensor. It measures pressure, temperature, humidity and gas resistance, and then with a closed source library, uses this to calculate an “Air Quality Index” as well as estimate CO2 and VOC levels in the air. Data is passed from the ESP32 over MQTT to a Raspberry Pi. This runs Mosquitto for handling the MQTT queries, saving the data in an Influxdb instance. Grafana is then used to query this database and produce attractive graphs of the data.

It’s a build that not only helps keep an eye on things in the flat, but is great practice for building solid Internet of Things devices with top-notch data visualisation. We’ve talked about how to do this before, too – so if you need this capability in your life, there’s no excuse not to get hacking!

Finding The Random Seed Of Minecraft’s Title Screen

Minecraft is a game about exploring procedure-generated worlds. Each world is generated from a particular “seed” value, and sharing this seed value allows others to generate the same world in their own game. Recently, the distributed computing project Minecraft@Home set about trying to find the seed value of the world shown in the Minecraft title screen, and have succeeded in their goal.

The amount of work required to complete this task should not be underestimated. 137 users contributed 181 hosts with 231 GPUs to the effort, finding a solution in under 24 hours. The list of contributors to the project is a long one. It appears the method to find the seed involved comparing screenshots from various seed worlds to the original image. This took a lot of reverse engineering in order to calculate the camera FOV and other settings of the original capture, such that the results could be compared accurately. Interestingly, the group found two seeds that can generate the requisite world, suggesting the world generator code has some collisions between seed values.

We’re not sure what’s more astounding, the amount of work that went into the project, or that there’s a distributed computing project tackling advanced Minecraft research. Either way, we’re no strangers to Minecraft hacks around these parts. Video after the break. Continue reading “Finding The Random Seed Of Minecraft’s Title Screen” →

Raspberry Pi Shuffler Is Computerized Card Shark

If you’re playing Texas Hold’em or other card games with a small group, you may get tired of shuffling over and over again. [3dprintedLife] was in just such a position, and realized there were no good automatic card shufflers in his budget. Instead, he elected to build one, and put in some extra functionality to corrupt the game to his whims.

The mechanicals of the machine took much development, as accurately handling and dispensing cards is a challenge, particularly with the loose tolerances of 3D printed parts. After developing a reliable transport mechanism, it was more than capable of shuffling a deck well with some basic commands.

However, the real magic comes from installing a camera and Raspberry Pi running OpenCV. This is capable of reading the value and suit of each card, and then stacking the deck in a particular order to suit the dealer’s wishes. It’s all controlled through a web interface and is capable of creating guaranteed wins in Blackjack and Texas Hold’em. Files are on Github for those eager to delve deeper into how the machine works.

The mechanism does such a beautiful job of shuffling, that your friends may not even notice the ruse. It goes to show that you should always have your wits about you when gambling with the aid of machines. Of course, if you wish only to create havoc, this Lego card machine gun may be more your speed. Video after the break.

[via Reddit]

Continue reading “Raspberry Pi Shuffler Is Computerized Card Shark” →

Digging Deep Into SD Card Secrets

To some, an SD card is simply an SD card, notable only for the amount of storage it provides as printed on the label. However, just like poets, SD cards contain multitudes. [Jason Gin] was interested as to what made SanDisk’s High Endurance line of microSDXC cards tick, so he set out to investigate.

Naturally, customer service was of no help. Instead, [Jason] started by scraping away the epoxy covering which hides the card’s test points. Some delicate soldering was required to hook up the test points to a breakout board, while also connecting the SD interface to a computer to do its thing. A DS Logic Plus signal analyzer was used to pick apart the signals going to the chip to figure out what was going on inside.

After probing around, [Jason] was able to pull out the NAND Flash ID, which, when compared to a Toshiba datasheet, indicates the card uses BiCS3 3D TLC NAND Flash. 3D NAND Flash has several benefits over traditional planar Flash technology, and SanDisk might have saved [Jason] a lot of time investigating if they’d simply placed this in their promotional material.

We’ve seen other similar hacks before, like this data recovery performed via test points. If you’ve been working away on SD cards in your own workshop, be sure to let us know!

Building A Motion Capture Suit On The Cheap

Motion capture is a technology used in many films, particularly the animated variety. It makes giving characters realistic movements a cinch, as they’re all based on those of a real person. [Checkered Bug] worked with a middle school group who were looking to get started, so he whipped up a capable rig on a budget.

The rig is based around a chest unit that connects out to several satellite units placed at points on the body. Each unit contains a Bosch IMU which is used to measure the acceleration and rotation of the user’s various body parts. The data is fed back to an Arduino Mega, where it’s then passed to a PC running Blender. Motion sequences can be recorded live in Blender, or saved to an SD card and imported later. Files are available on Github for those keen to recreate the project.

It’s a tidy setup that does good motion capture on a low budget. Such a rig would have been inordinately expensive back in the day, but can now be whipped up for just a few hundred dollars. We’ve seen other motion capture systems before, too. Video after the break.

Continue reading “Building A Motion Capture Suit On The Cheap” →

The Real Story: How Samsung Blu Ray Players Were Bricked

In June, many owners of Samsung Blu Ray players found that their devices were no longer usable. Stuck in a boot loop, speculation was rife as to the cause of the issue. Now it seems that the issue has become clear – a badly formatted XML file may be responsible for the problems (via The Register).

The problem stems from the logging system that stores user data and passes it back to Samsung over the Internet. Which data is logged and sent back is managed by an XML file which contains the policy settings that control this behaviour. According to a source known only as “Gary” “Gray”, the XML file posted on Samsung’s servers on June 18 featured a malformed list element. This caused a crash in the player’s main software routine, leading the player to reboot.

The failure was exacerbated by the fact that the XML file is parsed very early in the boot sequence, even before checking for firmware updates or a new XML file. This has prevented Samsung from rolling out an update or fix over the air, and is why the player gets stuck in a loop of continuous reboots.

Reportedly, the file can be found at this URL, though is now an updated version that shouldn’t brick players. Samsung have had to resort to a mail-in repair scheme, wherein technicians with service tools can manually remove the offending XML file from the player’s storage, allowing it to boot cleanly once again. While this shows our initial assumptions were off the mark, we’re glad to see a solution to the problem, albeit one that requires a lot of messing around.

[Thanks to broeckelmaier for the tip!]

Faux Radar Uses Ultrasound & Python

Radars are simply cool, and their portrayal in movies and TV has a lot to do with that. You get a sweet glowing screen that shows you where the bad guys are, and a visual representation of your missiles on their way to blow them up. Sadly, or perhaps thankfully, day to day life for most of us is a little less exhilarating. We can make do with a facsimile of the experience instead.

The project consists of an Arduino Uno outfitted with an ultrasound module that can do basic range measurements on the order of tens of centimeters. The module is then placed on a servo and scanned through a 180 degree rotation. This data is passed back to a computer running a Python application, which plots the results on a Plan Position Indicator, or PPI – the sweeping display we’re all so familiar with.

While it’s unlikely you’ll be using such a setup to engage bandits, it could prove as a useful module for robot navigation or similar applications. We’ve seen ultrasonic transducers used for exactly that. Video after the break.

Continue reading “Faux Radar Uses Ultrasound & Python” →