Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

3D Printering: The World Of Non-Free 3D Models Is Buyer Beware

There are more free 3D models online than one can shake a stick at, but what about paid models? Hosting models somewhere and putting a buy button in front of the download is certainly a solved problem, but after spending some time buying and printing a variety of non-free 3D models online, it’s clear that there are shortcomings in the current system.

What the problems are and how to address them depends a little on the different ways models get sold, but one thing is clear: poorly-designed 3D models are bad for consumers, and bad for the future of pay-to-download in general. Continue reading “3D Printering: The World Of Non-Free 3D Models Is Buyer Beware”

New Arduino JPEG Library Focuses On Speed

Working with graphics on microcontrollers has always meant focusing on making the most of limited resources. Particularly in the 8-bit era, all manner of tricks were used to get low-performance chips to achieve feats beyond their lowly station. However, these days, we’re blessed with 32-bit workhorses with clock speeds in the tens, or even hundreds, of MHz and many kilobytes of RAM to match. It’s these higher performance chips [Larry] had in mind when writing his JPEGDEC library.

As [Larry] discusses in a blog post on the topic, JPEG libraries already exist for the Arduino platform. However, many of these are aimed at 8-bit platforms with tiny amounts of RAM. While it’s possible to decode JPEGs piece by piece with some intelligent code under these conditions, it’s possible to go much faster when you’ve got a little more headroom. [Larry] does a great job of explaining the variety of optimizations he’s developed in the two decades since writing his first JPEG decoder back in 1994. From eliminating unnecessary marker checks to ignoring unneeded data for scaled-down output, it all adds up to get the job done faster. The library targets the Cortex-M0+, or any chip with a minimum of 20K of RAM, as its bare minimum to operate. Faster chips with higher clock rates naturally do better, and [Larry] provides benchmark decoding times for various common hardware using the library.

We’ve featured [Larry]’s GIF decoder for the Arduino platform before, again a useful library that’s optimised for good performance. If you’ve got your own neat tricks for image processing on microcontrollers, you know how to call!

Circle Guitar Creates Wall Of Sound

In the 60s a musical recording technique called the “wall of sound” came to prominence which allowed artists to create complex layers of music resulting in a novel, rich orchestral feeling. While this technique resulted in some landmark albums (Pet Sounds by the Beach Boys for example) it took entire recording studios and many musicians to produce. This guitar, on the other hand, needs only a single musician but can create impressive walls of sound on its own thanks to some clever engineering.

Called the Circle Guitar and created by [Anthony Dickens], the novel instrument features a constantly-rotating wheel around the guitar’s pickups in the body. Various picks can be attached in different ways to the wheel which pluck the strings from behind continuously. This exceeds what a normal guitar player would be able to do on their own, but the guitarist is able to control the sounds by using several switches and pushbuttons which control a hexaphonic humbucker and are able to mute individual strings at will. Of course, this being the 21st century, it also makes extensive use of MIDI and [Anthony] even mentions the use of a Teensy.

While details on this project are admittedly a little fleeting, the videos linked below are well worth a watch for the interesting sounds this guitar is able to produce. Perhaps paired with a classic-sounding guitar amplifier it could produce other impressive walls of sound as well. Either way, we could expect someone like [Brian Wilson] to be interested in one once it is in production.

Thanks to [Mel] for the tip!

Continue reading “Circle Guitar Creates Wall Of Sound”

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”