Category Archives: Projects

Attempt to Build a CNC Router

A few years ago in 2013, I’ve attempted to build a CNC router in order to quickly make parts for other projects.  My goal was to have the machine to be desktop sized with a work-area about 16″x16″ and be powered by LinuxCNC.  The project wasn’t a success, but I have learned a lot in the process.

CNC AssemblyMy first attempt to build the machine was built with 1/4 plywood, 10mm rod, and linear rail bearings.  The machine was designed with auto-desk inverter and then the parts were cut with a much larger CNC machine at work.  I was initially proud of the design, but after cutting and assembling the parts it would not work as well as I hoped.  The machine had far to much flex in all of the axis’ and wouldn’t have the precision needed.  This design did help with designing the next version of the machine.

CNCcad1The second machine will use a similar design, but utilize OpenBuild’s v-slot linear rail and use aluminum for the body.  The v-slot rail was much sturdier then the 10mm rod linear bearing.  The ACME screws and NEMA stepper motors would be recycled form the old machine to the new machine.

All of the machine’s parts was designed in Autodesk Inventor and the parts were milled from the design from aluminum on a much All the parts arranged to be milledlarger CNC machine.

Once the design was complete, all of the parts were laid out on a 2D drawing and the G-code was generated for milling.

The parts to the left were for the z-axis assembly.  Most of the parts for the assembly were brazed together, except for the two pieces of v-slot rail, which could be disassembled to change out the rotary tool.

Once the machine was fully assembled, it still had some problems with accuracy but it was a vast improvement over the wood version.  There was still plenty more work to be done to make the machine accurate enough for milling.  I found that the design for the X and Y axis worked pretty well, but the Z-axis needed to be re-engineered.  After two years of off and on work, I decided to scrap the machine and sell off most of the parts.  There are now plenty of off the shelf machines that are aimed at the hobbyist market that are better designed and more accurate.   I don’t have any regrets  building the machine for I have learned a lot

Here are some more photos of the completed CNC machine after the break.

Continue reading

Repairing M-Audio AV 30 Speakers

AV30-Repair1I have been hearing a 60Hz buzz though my M-Audio Studiophile AV 30 Speakers and suspected a problem with the filtering capacitors.

One of the capacitors failed producing the nasty buzz, but it was an easy fix.

After ordering a pair of Nichicon 4700μF capacitors from a seller on eBay, it was an easy job desoldering the old capacitors and soldering the replacements.

AV30-Repair2AV30-Repair3The speakers now perform as well as they did when I first bought them.

Using Opus & Codec2 to Compress Podcasts

With my current job, bandwidth is sometimes limited and can be expensive. I have been thinking about how to better enjoy all of the podcasts that I listen to every week. Each episode can be anywhere from 50Mb to 150Mb, resulting in 1-2Gb of bandwidth being used just for podcasts. I am working on a system that would run on a VPS, downloading the podcasts and transcoding them to a more efficient codec. Opus is an excellent codec for voice, especially at low bitrates but what if I wanted something more extreme.

David Rowe’s Codec2 is being designed for amateur radio for use on the HF & VHF bands. Codec2 isn’t being designed for audio storage, and there isn’t any container format that supports it but I was able to transcode the original podcast to a raw bitstream that can be saved to a file. There currently isn’t a player that supports Codec2, so you have to feed the bitstream though the decoder to save it as audio that you can play.

For the source I will be using the first minute of episode 747 of the No Agenda Show as the source for the demo, it can be listened to below:

The original podcast is 143.4 MB.  I’ve experimented with encoding the podcast with three different codecs (Mp3, Opus, and Codec2) at different bitrates.

Codec ChartThe file sizes are similar at the same bitrate (as expected) but Opus does a much better job with the lower bitrates.  Mp3 has a lot of compression “warble” while the Opus maintains the treble and base tones of the host’s voices.  The samples at different bitrates can be found below:

Mp3 Opus
32 kb/s
24 kb/s
16 kb/s
8-6 kb/s

Opus performs well, even down to 6kb/s while Mp3 is completely unlistenable at it’s minimum at 8kb/s.  But I want to try something more extreme, so I started playing with Codec2.  To create the test example I used Audacity to down-sample the original to 8000Hz mono raw PCM file.  The raw PCM audio was processed by the Codec2 encoder at different bitrates and saved.

Codec2
3200 b/s
1600 b/s
1600 b/s

At 3200 b/s Codec2 does a reasonable job with the presenters voices, but the introduction and sound effects doesn’t compress well.  Even down to 1200 b/s still sounds intelligible, but any non-voice audio doesn’t compress well at all.  In order to make this work, some significant audio preprocessing would have to be done for it to be compressed properly. I am excited for the possibility for having 3+ hours of audio being compressed to a 5Mb file.

My next task is to get a script working on the server to act as a podcatcher and automatically transcode the content, then create it’s own private RSS feed for my device to make the much smaller podcast available for download.  For now I will be using Opus, but more research will be done with Codec2.

Olympus Micro Four Thirds Lens Repair

After a short day of shooting in Nawiliwili, Hawaii I dropped my bag with my camera inside. The lens of the camera separated from it’s mount that was still attached to the camera, breaking the ribbon cable that allows the lens to communicate with the the body. I desoldered the old ribbon cable and make my own wiring harness by recycling the wires in an old pair of bluetooth headphones. The new bundle of wires now fit snuggly in the lens. After gluing the lens back together it worked perfectly.CameraLens2

CameraLens1

Bluetooth Audio to Stock Saturn Radio

Saturn Radio DisplaySeveral years ago I received an iPod Touch for Christmas and I wanted a better way to get the audio from the device to my car’s stereo.  In the past I have used FM transmitters that worked pretty well, but the audio quality can be poor and you have to adjust the transmit frequency when traveling between radio markets.

I found iSimple’s iPod2Car adapter.  It emulates a factory CD Changer for a bunch of different radios from a variety of manufactures.  The device unlocks the auxiliary audio input for the radio and passes the control commands from the radio back to the iPod.  The setup worked for several years with my iPod, allowing me to enjoy my music collection as well as podcasts and audiobooks in my car.  After I bought my first Android phone I needed a way to connect it to my car to enjoy streaming Internet radio.  A simple iPod Bluetooth adapter hidden behind a cup holder has worked very well, it passes the audio to my car stereo as well the control commands back to my Android device.

I may have the only Saturn S-Series with a factory radio with Bluetooth audio input.

Continue reading

EuroLight LD6230

EuroLight setup

I recently purchased a pair of Behriner EuroLight LD6230 dimmer packs used from a seller from eBay.  Each pack supports six channels at 10 amps each and support DMX, an analog input, and a manual mode.  There are also some advanced features such as adjusting the dimming curve and lamp preheat.   The packs do not include their own power input and channel breakout so I had to build my own.

Continue reading

The DMXuino [Working Title]

DMXuino PrototypeFor the past couple of weeks I have been working on a portable DMX testing device.  The hardware is based off of the Arduino platform and  utilities the max485 to convert the serial data to RS-485 for DMX, a 16×2 LCD for the display, and a 16 button keypad matrix for the input.  The unit can be powered by four AA batteries or from a USB adapter.  The keypad is originally intended for use in telephone test equipment.  A few printed labels on the keypad map the buttons for lighting use.

The hardware appear to work pretty well on the different dimmer packs and relay boxes that I have tested it with.  It currently only has the ability to transmit DMX, but receiving DMX in entirely possible.

The software is still in development and has a few bugs and is missing a few features, such as having the option of displaying the values as a percentage or as its decimal value.  It is also currently missing the ability to record and recall saved looks from the universe edit to make it easier to use while out in the field.

After developing this prototype I have ran into the limits of the small screen and the limited buttons on the keypad.  I would like to build a second prototype with a larger screen, perhaps one that is 20×4 and add a few function buttons under the display that can be remapped on the fly.

Continue reading