Sunrise, Sunset, Repeat

Sunrises and sunsets hardly ever disappoint. Still, it’s difficult to justify waking up early enough to catch one, or to stop what you’re doing in the evening just to watch the dying light. If there’s one good thing about CCTV cameras, it’s that some of them are positioned to catch a lovely view of one of the two, and a great many of them aren’t locked down at all.

[Dries Depoorter] found a way to use some of the many unsecured CCTV cameras around the world for a beautiful reason: to constantly show the sun rising and setting. Here’s how it works: a pair of Raspberry Pi 3B + boards pull the video feeds and display the sunrise/sunset location and the local time on VFD displays using an Arduino Nano Every. There isn’t a whole lot of detail here, but you can probably get the gist from the high-quality pictures.

If you wanted to recreate this for yourself, we might know where you can find some nice CCTV camera candidates. Just look through this dystopian peephole.

Thanks for the tip, [Luke]!

Assembly Language For Real

We all probably know that for ultimate control and maximum performance, you need assembly language. No matter how good your compiler is, you’ll almost always be able to do better by using your human smarts to map your problem onto a computer’s architecture. Programming in assembly for PCs though is a little tricky. A lot of information about PC assembly language dates back from when assembly was more common, but it also covers old modes that, while still available, aren’t the best answer for the latest processors. [Gpfault] has launched a series on 64-bit x86 assembly that tries to remedy that, especially if you are working under Windows.

So far there are three entries. The first covers setting up your toolchain and creating a simple program that does almost nothing. But it is a start.

Continue reading “Assembly Language For Real”

Two-Part, Four-Wire Air Quality Meter Shows How It’s Done

The Bosch BME680 is a super-capable environmental sensor, and [Random Nerd Tutorials] has married it to the ESP32 to create an air quality meter that serves as a great tutorial on not just getting the sensor up and running, but also in setting up a simple (and optional) web server to deliver the readings. It’s a great project that steps through everything from beginning to end, including how to install the necessary libraries and how to program the ESP32, so it’s the perfect weekend project for anyone who wants to learn.

The BME680 is a small part that communicates over SPI or I2C and combines gas, pressure, temperature, and humidity sensors. The gas sensor part detects a wide range of volatile organic compounds (VOCs) and contaminants, including carbon monoxide, which makes it a useful indoor air quality sensor. It provides only a relative measurement (lower resistance corresponds to lower air quality) so for best results it should be calibrated against a known source.

The tutorial uses the Arduino IDE with an add-on to support the ESP32, and libraries from Adafruit. Unfamiliar with such things? The tutorial walks through the installation of both. There’s a good explanation of the source code, and guidance on entering setup values (such as local air pressure, a function of sea level) for best results.

Once the software is on the ESP32, the results can be read from the serial port monitor. By going one step further, the ESP32 can run a small web server (using ESPAsyncWebServer) to serve the data to any device wirelessly. It’s a well-written tutorial that covers every element well, and complements this other BME680-based air quality meter that uses MQTT and Raspberry Pi.

Mini CNC Mill Goes Horizontal To Reuse CD Drives

Here at Hackaday, we pride ourselves on bringing you the freshest of hacks, preferably as soon as we find out about them. Thanks to the sheer volume of cool hacks out there, though, we do miss one occasionally, like this e-waste horizontal CNC mill that we just found out about.

Aptly called the “CDCNC” thanks to its reliance on cast-off CD drive mechanisms for its running gear, [Paul McClay]’s creation is a great case study on what you can do without buying almost any new parts. It’s also an object lesson in not getting caught in standard design paradigms. Where most CNC mills mount the spindle vertically, [Paul] tilted the whole thing 90 degrees so the spindle lies on its side. Moving it back and forth on a pair of CD drive mechanisms is far easier than fighting gravity for control, and as a bonus the X- and Y-axes have minimal loading too. The video below shows the mill in action, and it’s easy to see how the horizontal arrangement really helps make this junk bin build into something special.

We think [Paul] did a great job of thinking around the problem with this build, and we’re glad he took the time to tip us off. Apparently it was the upcoming CNC on the Desktop Hack Chat that moved him to let us know about this build. Here’s hoping he drops by for the chat and shares his experience with us.

Continue reading “Mini CNC Mill Goes Horizontal To Reuse CD Drives”

Checking In On The Damn Linux Tablet One

Tablets, slates, phones, and fablets, there are no shortage of electronics that take the Star-Trek-ish form factor of a handheld rectangle of glass that connects you to everything. This is the world we live in, but unfortunately it’s not currently a world with many Linux options, and certainly not one that includes modular design concepts. This is what motivated [Timon] to design the Damn Linux Table one, a “Proper Linux Tablet” built around the Nvidia Jetson Nano board.

The design really took off, because who isn’t interested in the ability to upgrade and customize a tablet? During last year’s Hackaday Supercon we caught up with [Timon] for an interview the morning after he won the Best Design prize for DLT one. Check out that video below, then join us after the break for an update on the latest from the project.

There’s only one week left to get your project entered in the 2020 Hackaday Prize. We won’t know this year’s winners until the Hackaday Remoticon rolls around this November. The Call for Proposals for that virtual conference is still open!

[Timon] is realistic about the limits of modular design. He readily admits you’re not going to upgrade a graphics card on a mobile device, but when it comes to the peripherals, why not? You might want to choose between micro-USB, USB-C, barrel-jack, or do something completely custom. One hacker’s NFC equipment might be replaced by another’s SDR or LoRa. This tablet design sees a world where connecting PCIe components to your mobile devices is completely doable. The point is to make a base model that works great, but has the potential to be what each different user wants their device to be.

Continue reading “Checking In On The Damn Linux Tablet One”

Frances Allen Optimised Your Code Without You Even Knowing

In 2020, our digital world and the software we use to create it are a towering structure, built upon countless layers of abstraction and building blocks — just think about all the translations and interactions that occur from loading a webpage. Whilst abstraction is undoubtedly a great thing, it only works if we’re building on solid ground; if the lower levels are stable and fast. What does that mean in practice? It means low-level, compiled languages, which can be heavily optimised and leveraged to make the most of computer hardware. One of the giants in this area was Frances Allen, who recently passed away in early August. Described by IBM as “a pioneer in compiler organization and optimization algorithms,” she made numerous significant contributions to the field. Continue reading “Frances Allen Optimised Your Code Without You Even Knowing”

The USB Null Modem Cable Is Now A Thing

The classic serial null-modem cable was, among other things, used to connect two computers together for communications and file transfer. Largely eliminated in daily use by the advent of home networking, there are still fringe applications where such a thing can come in handy. [Nick Sayer] needed just such a tool, but one that would work in a modern USB environment. Enter the isolated USB null-modem.

The device consists of two USB Communication Device Class, or CDC chips, creating a USB serial port for each attached computer. The TX and RX lines are cross-connected to allow communication between the two sides. Rather than directly connect the lines, however, they pass through an opto-isolator. This is important, as it allows two computers at different ground potentials to be safely connected to each other without damage.

[Nick] originally created the device to solve a specific problem at his day job, but community response was large enough that he was kind enough to share the project online. Expect to see devices available on Tindie in future for those that need a hookup. While it’s not something everyone will need, for those that do, it should come in handy. If you’re looking for other useful applications for USB-serial devices, there’s plenty – you can even try your hand at software-defined radio!