Soundproofing A CNC Mill Conversion

The Proxxon MF70 is a nice desktop sized milling machine with a lot of useful add-on accessories available for it, making it very desirable for a hacker to have one in his or her home workshop. But its 20000 rpm spindle can cause quite the racket and invite red-faced neighbors. Also, how do you use a milling machine in your home-workshop without covering the whole area in metal chips and sawdust? To solve these issues, [Tim Lebacq] is working on Soundproofing his CNC mill conversion.

To meet his soundproof goal, he obviously had to first convert the manual MF70 to a CNC version. This is fairly straightforward and has been done on this, and similar machines, in many different ways over the years. [Tim] stuck with using the tried-and-tested controller solution consisting of a Raspberry Pi, an Arduino Uno and a grbl shield sandwich, with stepper motor drivers for the three NEMA17 motors. The electronics are housed inside the reclaimed metal box of an old power supply. Since the Proxxon MF70 is already designed to accept a CNC conversion package, mounting the motors and limit switches is pretty straightforward making it easy for [Tim] to make the upgrade.

Soundproofing the box is where he faced unknown territory. The box itself is made from wooden frames lined with particle board. A pair of drawer slides with bolt-action locks is used for the front door which opens vertically up. He’s also thrown in some RGB strips controlled via the Raspberry-Pi for ambient lighting and status indications. But making it soundproof had him experimenting with various materials and techniques. Eventually, he settled on a lining of foam sheets topped up with a layer of — “bubble wrap” ! It seems the uneven surface of the bubble wrap is quite effective in reducing sound – at least to his ears. Time, and neighbours, will tell.

Maybe high density “acoustic foam” sheets would be more effective (the ones similar to “egg crate” style foam sheets, only more dense)? Cleaning the inside of the box could be a big challenge when using such acoustic foam, though. What would be your choice of material for building such a sound proof box? Let us know in the comments below. Going back many years, we’ve posted about this “Portable CNC Mill” and a “Mill to CNC Conversion” for the Proxxon MF70. Seems like a popular machine among hackers.

Push It To The Limit: SSD1306 At 150 FPS

A good deal of the projects we cover here at Hackaday are not, in the strictest sense, practical endeavors. If we required that everything which graced our digital pages had a clear end result, the site would be in a rather sad state of affairs. Sometimes it’s enough just to do something for the challenge of it. But more often than not, you’ll learn something in the process which you can use down the line.

That’s precisely what pushed [Larry Bank] to see how well he could optimize the frame rate on the popular SSD1306 OLED display. After several iterations of his code, he was able to achieve a blistering 151.5 FPS, with apparently still some room for improvement if he’s feeling up to the challenge. But considering his first attempt was only running at 5.5 FPS, we’d say he’s already more than earned his hacker cred on this one.

A few different tricks were used to achieve such incredible performance gains. To start with, while the official I2C specification says you’re supposed to wait for an acknowledgment back from the device when communicating with it, [Larry] realized the SSD1306 didn’t actually care. He could continuously blast commands at the display without bothering to wait for an acknowledgment. He admits there are problems with this method, but you can’t argue with the results.

To really wring all the performance out of the system he could, [Larry] donned his Assembly Cap and examined how the Arduino IDE compiler was interpreting his code. He identified a few areas where changing his C code would force the compiler to generate faster output. He notes that this wouldn’t normally be required when working with more advanced compilers, but that the Arduino toolchain needs its hand held occasionally.

This isn’t the first time we’ve seen somebody try and push more pixels through the very same OLED display, and it’s interesting to see the two very different approaches to the same goal.

Stomping On Microcontrollers: Arduino Mega Guitar Effects Pedal

Effects pedals: for some an object of overwhelming addiction, but for many, an opportunity to hack. Anyone who plays guitar (or buys presents for someone who does) knows of the infinite choice of pedals available. There are so many pedals because nailing the tone you hear in your head is an addictive quest, an itch that must be scratched. Rising to meet this challenge are a generation of programmable pedals that can tweak effects in clever ways.

With this in mind, [ElectroSmash] are back at it with another open source offering: the pedalSHIELD MEGA. Aimed at musicians and hackers who want to learn more about audio, DSP and programming, this is an open-hardware/open-software shield for the Arduino MEGA which transforms it into an effects pedal.

The hardware consists of an analog input stage which amplifies and filters the incoming signal before passing it to the Arduino, as well as an output stage which does the DAC-ing from the Arduino’s PWM outputs, and some more filtering/amplifying. Two 8-bit PWM outputs are used simultaneously to make pseudo 16-bit resolution — a technique you can read more about in their handy forum guide.

The list of effects currently implemented covers all the basics you’d expect, and provides a good starting point for writing custom effects. Perhaps a library for some of the commonly used config/operations would be useful? Naturally, there are some computational constraints when using an Arduino for DSP, though it’s up to you whether this is a frustrating fact, or an opportunity to write some nicely optimised code.

[ElectroSmash] don’t just do pedals either: here’s their open source guitar amp.

Continue reading “Stomping On Microcontrollers: Arduino Mega Guitar Effects Pedal”

The Adafruit Feather Is A Thing

A few years ago, Adafruit launched the Feather 32u4 Basic Proto. This tiny development board featured — as you would expect — an ATMega32u4 microcontroller, a USB port, and a battery charging circuit for tiny LiPo batteries. It was, effectively, a small Arduino clone with a little bit of extra circuitry that made it great for portable and wearable projects. In the years since, and as Adafruit has recently pointed out, the Adafruit Feather has recently become a thing. This is a new standard. Maxim is producing compatible ‘wings’ or shields. If you’re in San Francisco, the streets are littered with Feather-compatible boards. What’s the deal with these boards, and why are there so many of them?

The reason for Adafruit’s introduction of the Feather format was the vast array of shields, hats, capes, clicks, props, booster packs, and various other standards. The idea was to bring various chipsets under one roof, give them a battery charging circuit, and not have a form factor that is as huge as the standard Arduino. The Feather spec was finalized and now we have three-phase energy monitors, a tiny little game console, LoRaWAN Feathers, and CAN controllers.

Of course, the Feather format isn’t just limited to Adafruit products and indie developers. The recently introduced Particle hardware is built on the Feather format, giving cellular connectivity to this better-than-Arduino format. Maxim is producing some development boards with the same format.

So, do we finally have a form factor for one-off embedded development that isn’t as huge or as wonky as the gigantic Arduino with weirdly offset headers? It seems so.

Crawling A Dungeon, 64 Pixels At A Time

The trend in video games is toward not being able to differentiate them from live-action theatrical releases, and games studios are getting hard to tell from movie studios. But quality graphics don’t always translate into quality gameplay, and a lot can be accomplished with minimalist graphics. Turn the clock back a few decades and think about the quarters sucked up by classics like Pac-Man, Space Invaders, and even Pong if you have any doubts about that.

But even Pong had more than 64 pixels to work with, which is why this dungeon-crawler game on an 8×8 RGB matrix is so intriguing. You might think [Stolistic]’s game would be as simple as possible but think again. The video below shows it in action, and while new users will need a little help figuring out what the various colors mean, the game is remarkably engaging. The structure of the dungeon is random with multiple levels to unlock via the contents of power-up chests, and there are mobs to battle in a zoomed-in display. The game runs on an Arduino Uno and the matrix is driven by a bunch of 74HC595 shift registers.

It’s fun to see what can be accomplished with as little as possible. Looking for more low-res goodness? Check out this minimalist animated display, or a Geiger counter with a matrix display.

Continue reading “Crawling A Dungeon, 64 Pixels At A Time”

Building Badges The Hard Way

What’s a hacker to do to profess his love for his dearest beloved? [Nitesh Kadyan] built his lady-love this awesome LED pendant – the LED BLE Hearty Necklace Badge.

The hardware is pretty vanilla by today’s hacker standards. An ATMega328p  does most of the heavy lifting. An HM-11 BLE module provides connection to an Android mobile app. Two 74HC595 shift registers drive 16 columns of red LEDs and a ULN2803 sinks current from the 8 rows. The power section consists of a charger for the 320mAh LiPo and an LDO for the BLE module. All the parts are SMD with the passives mostly being 0603, including the 128 LEDs.

128 LEDs soldered wrong way around

[Nitesh] didn’t get a stencil made for his first batch of boards, so all the parts were painstakingly soldered manually and not in a reflow oven. And on his first board, he ended up soldering all of the LED’s the wrong way around. Kudos to him for his doggedness and patience.

The Arduino code on the ATmega is also quite straightforward. All characters are stored as eight bytes each in program memory and occupy 8×8 pixels on the matrix. The bytes to be displayed are stored in a buffer and the columns are left shifted fast enough for the marquee text effect. The Android app is built by modifying a demo BLE app provided by Google. The firmware, Android app, and the KiCAD design files are all hosted on his Github repository.

[Nitesh] is now building a larger batch of these badges to bring them to hillhacks – the annual hacker-con for making and hacking in the Himalayas. Scheduled for later this month, you’ll have to sign up on the mailing list for details and if you’d like to snag one of these badges. To make it more interesting, [Nitesh] has added two games to the code – Tetris and Snakes. Hopefully, this will spur others to create more games for the badge, such as Pong.

Continue reading “Building Badges The Hard Way”

Tiny Arduino + FPGA = Sno

Alorium rolled out a new product late last year that caught our attention. The Sno (pronounced like “snow”) board is a tiny footprint Arduino board that you can see in the video below. By itself that isn’t that interesting, but the Sno also has an Altera/Intel Max 10 FPGA onboard. If you aren’t an FPGA user, don’t tune out yet, though, because while you can customize the FPGA in several ways, you don’t have to.

Like Alorium’s XLR8 product, the FPGA comes with preprogrammed functions and a matching Arduino API to use them. In particular, there are modules to do analog to digital conversion, servo control, operate NeoPixels, and do floating point math.

Continue reading “Tiny Arduino + FPGA = Sno”