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”

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”