Custom Firmware For Cheap Bluetooth Thermometers

The Xiaomi LYWSD03MMC temperature and humidity sensor is ridiculously cheap. If you’re buying a few at a time, you can expect to pay as little as $5 USD a pop for these handy Bluetooth Low Energy environmental sensors. Unfortunately, that low price tag comes with a bit of a catch: you can only read the data with the official Xiaomi smartphone application or by linking it to one of the company’s smart home hubs. Or at least, that used to be the case.

Over the past year, [Aaron Christophel] has been working on a replacement firmware for these Xiomi sensors that unlocks the data so you can use it however you see fit. In addition, it allows the user to tweak various features and settings that were previously unavailable. For example, you can disable the little ASCII-art smiley face that usually shows on the LCD to indicate the relative comfort level of the room.

The new firmware publishes the temperature, humidity, and battery level every minute through a BLE advertisement broadcast. In other words, that means client devices can read data from the sensor without having to be paired. Scraping this data is quite simple, and the GitHub page includes a breakdown of what each byte in the broadcast message means. Avoiding direct connections not only makes it easier to quickly read the values from multiple thermometers, but should keep the device’s CR2032 battery going for longer.

But perhaps the most impressive part of this project is how you get the custom firmware installed. You don’t need to crack the case or solder up a programmer. Just load the flasher page on a computer and browser combo that supports Web Bluetooth (a smartphone is probably the best bet), point it to the MAC address of the thermometer you want to flash, and hit the button. [Aaron] is no stranger to developing user-friendly OTA installers for his firmware projects, but even for him, it’s quite impressive.

Continue reading “Custom Firmware For Cheap Bluetooth Thermometers”

The Special Fridges Behind The COVID-19 Vaccine, Why It’s Surprisingly Difficult To Be That Cool

One of the big stories last week was the announcement of results from clinical trials that suggest a new COVID-19 vaccine developed through the joint effort of the American and German companies Pfizer and BioNTech is strongly effective in providing immunity from the virus. In the midst of what is for many countries the second spike of the global pandemic this news has been received with elation as well as becoming the subject of much political manoeuvring.

While we currently have two vaccine candidates with very positive testing results, one of the most interesting things for us is the need to keep doses of the Pfizer/BioNTech vaccine extremely cold until they are administered. Let’s dig into details of the refrigeration problem at hand.

Continue reading “The Special Fridges Behind The COVID-19 Vaccine, Why It’s Surprisingly Difficult To Be That Cool”

Another Kind Of “Bare Metal”: 6502 Computer Powers RPN Calculator

[Mitsuru Yamada] states that one of the goals for this 6502 computer build was to make it strong enough to survive real-world usage. In that regard alone we’d call this a success; the die-cast aluminum enclosures used are a little blast from the past and lend a nice retro industrial look to the project. The main chassis of the computer fairly bristles with LEDs and chunky toggle switches for setting the data and address busses. The interior is no less tidy, with the 6502 microprocessor — date code from 1995 — and associated support chips neatly arranged on perf board. The construction method is wire wrapping, in keeping with the old-school look and feel. Even the hand-drawn schematic is a work of art — shades of [Forrest Mims].

As for programming, this machine is as low-level as it gets. Nothing but 6502 machine language here, entered manually with the toggle switches, or via an externally programmed ROM. The machine can only address 1k of memory, a limit which the code to support the RPN calculator add-on [Yamada] also built brushes up against, at 992 bytes. The calculator keypad has a 20-key matrix pad and an eight-digit dot-matrix LED display, and can do the four basic operations on fixed-point binary-coded decimal inputs. The brief video below shows the calculator in action.

We love the look of this build and we’re eager to see more like it. We’ve seen a ton of 6502 builds from discrete chips lately, and while we love those too, it’s nice to see one of the big old DIPs put back in action for a change.

Continue reading “Another Kind Of “Bare Metal”: 6502 Computer Powers RPN Calculator”

Prusa Mini Gets Custom Heavy Duty Enclosure

Still waiting on your Prusa Mini to arrive? Join the club. Between the incredible amount of interest in the inexpensive 3D printer and the COVID-19 pandemic, it can take months for the machine to arrive at your doorstep. But patient makers are finally taking delivery of their new printers, and as such the hacks and modifications are starting to trickle their way in.

First up is this gloriously over-engineered enclosure from [Build Comics]. While PLA and PETG usually print fine with nothing more exotic than a heated bed, trickier materials like ABS work best when the printer is enclosed as it helps maintain a consistent temperature. Plus it keeps any curious hands and paws a safe distance from the hot moving bits, and if things go really pear-shaped, can help contain smoke and flames.

The enclosure is made from welded steel square tube, wood, and fire-retardant fiber board. A hinged polycarbonate cover, taking the form of a four-sided cube, is lowered over the printer with some heavy-duty hinges that look like they were intended for a fence. To keep the cover from slamming back down, [Build Comics] came up with a simple locking mechanism that can easily be operated from the front or side of the enclosure. With the addition of a small temperature and humidity display, the conditions inside the chamber can easily be monitored.

But [Build Comics] didn’t stop there. He also rigged up a relay box that will cut power to the printer should the smoke detector mounted above it trip. While there’s no reason to think the Prusa Mini would suffer the same fate of earlier budget desktop 3D printers, but there’s certainly no harm in taking precautions.

Will you need to build a similar enclosure whenever your Prusa Mini shows up? Maybe not. But if you felt so inclined, at least now you’ve got plenty of images and details that can help you spin up your own solution.

3D Print Your Way To A Modular MIDI Playset

Have you ever wanted to experiment with MIDI, but didn’t know where to start? Or perhaps you didn’t think you could afford to properly outfit your digital beat laboratory, especially given the average hacker’s penchant for blinkenlights? Well worry no more, as [Johan von Konow] has unveiled a collection of DIY MIDI devices that anyone with a 3D printer can build on the cheap.

The LEET modular synthesizer is made up of a keyboard, drum pad, chord keyboard, arpeggiator and a step sequencer that plug into your computer and interface with industry standard digital audio workstation (DAW) programs. The down side is that they don’t do anything on their own, but this simplification allowed [Johan] to really streamline the design and bring the cost of the build down to the bare minimum.

Integrated wire channels mean no PCB is required.

You don’t need to build all the components either, especially if you’re just testing the waters. The keyboard is a great starting point, and even if you have to buy all the components new from eBay, [Johan] says it shouldn’t cost you more than $10 USD to build. You just need an Arduino Pro Micro, some tact switches, and a section of WS2812 RGB LED strip. There’s an excellent chance you’ve already got some of that in the parts bin, which will make it even cheaper.

There is one missing element though: the PCB. But not because you have to source it yourself. Like his clever Arduboy clone we covered earlier in the year, the 3D printed bodies for all of the LEET devices have integrated wiring channels that serve as a stand-in for a traditional circuit board. Simply place all your components, push some stiff 0.3 mm diameter wire down into the channels, and solder the ends. It’s a very neat approach, and something we could see becoming more popular as desktop 3D printers become an increasingly common sight in the home workshop.

Continue reading “3D Print Your Way To A Modular MIDI Playset”

FreeCAD Debugging

Powerful software programs often have macro programming languages that you can use, and if you know how to program, you probably appreciate them. However, sometimes the program’s built-in debugging facilities are lacking or even nonexistent If it were just the language, that wouldn’t be such a problem, but you can’t just grab a, for example, VBA macro from Microsoft Word and run it in a normal Basic interpreter. Your program will depend on all sorts of facilities provided by Word and its supporting libraries. [CrazyRobMiles] was frustrated with trying to debug Python running inside FreeCAD, so he decided to do something about it.

[Rob’s] simple library, FakeFreeCad, gives enough support that you can run a FreeCAD script in your normal Python development environment. It only provides a rude view of what you are drawing, but it lets you explore the flow of the macro, examine variables, and more.

Continue reading “FreeCAD Debugging”

Youtube-dl Makes Their Case, Returns To GitHub

Last month, the GitHub repository for the popular program youtube-dl was taken down in response to a DMCA takedown notice filed by the Recording Industry Association of America (RIAA). The crux of the RIAA complaint was that the tool could be used to download local copies of music streamed from various platforms, a claim they said was supported by the fact that several copyrighted music files were listed as unit tests in the repository.

While many believed this to be an egregious misrepresentation of what the powerful Python program was really used for, the RIAA’s argument was not completely without merit. As such, GitHub was forced to comply with the DMCA takedown until the situation could be clarified. Today we’re happy to report that has happened, and the youtube-dl repository has officially been reinstated.

Represented by the Electronic Frontier Foundation, the current maintainers of youtube-dl made their case to GitHub’s DMCA agent in a letter this afternoon which explained how the tool worked and directly addressed the issue of copyrighted videos being used as test cases in the source code. They maintain that their program does not circumvent any DRM, and that the exchange between the client and server is the same as it would be if the user had viewed the resource with a web browser. Further, they believe that downloading a few seconds worth of copyrighted material for the purpose of testing the software’s functionality is covered under fair use. Even still, they’ve decided to remove all references to the songs in question to avoid any hint at impropriety.

Having worked closely with the youtube-dl developers during this period, GitHub released their own statement to coincide with the EFF letter. They explained that the nature of the RIAA’s original complaint forced their hand, but that they never believed taking down the repository was the right decision. Specifically, they point out the myriad of legitimate reasons that users might want to maintain local copies of streamed media. While GitHub says they are glad that this situation was resolved quickly, they’ll be making several changes to their internal review process to help prevent further frivolous takedowns. Specifically the company says they will work with technical and legal experts to review the source code in question before escalating any further, and that if there’s any ambiguity as to the validity of the claim, they’ll side with the developers.

The Internet was quick to defend youtube-dl after the takedown, and we’re happy to see that GitHub made good on their promises to work with the developers to quickly get the repository back online. While the nature of open source code meant that the community was never in any real danger of losing this important tool, it’s in everyone’s best interest that development of the project can continue in the open.