Repairing Alba CR305IP FM clock radio alarm

I bought this Alba FM clock radio a very long time ago at a car boot sale for £2. Seller was selling a bunch of them. It had everything in the box: power supply, cables, various iPod dock plastic bits and even AV cable. Took it home, plugged it in and… it was working, but no audio at all. I could control the iPod, set the clock and etc, but it just did not make any sound. Well, you know… it was just £2 :) So it was left in a cupboard for a very long time until today I decided to take it out and have a look at what’s inside.

Continue reading “Repairing Alba CR305IP FM clock radio alarm”

Using USBTinyISP to program ATTiny45 and ATTiny85

There are a few different ways how to program ATTiny microcontrollers – lovely little chip with so much potential. I tried programming with Arduino Uno, but the solution was too clumsy with lots of wires connected to the breadboard from Arduino. Then I remembered that I have USBTinyISP and apparently it is one of the best ways to program these chips.

Continue reading “Using USBTinyISP to program ATTiny45 and ATTiny85”

Adventures with RepRap Prusa Mendel 3D Printer

My highly anticipated 3D printer has finally arrived! I bought it from eBay as a fully assembled device, just because I didn’t want to bother assembling it myself or looking for parts to build from scratch. I was hoping it to be plug and play, but it turned out to require a bit more work to get it working.

Continue reading “Adventures with RepRap Prusa Mendel 3D Printer”

Arduino touch sensor ky036

I received a few Arduino touch sensors from DealExtreme just because they were dirty cheap and I have a few ideas where I could use them as device power switches. There is probably an easier way to build a touch sensor for Arduino without that many additional components, but let’s see what we can do with this cheap sensor for just $2.6 or less than £1.7.

Continue reading “Arduino touch sensor ky036”

APC.IO – a $49 all in one PC by VIA: a bicycle for your mind or a big disappointment?

There was a lot of excitement in the hardware hacker community back in May 2012 when VIA announced APC.IO – a $49 all in one Android PC. I was excited too, but my excitement quickly faded away when I received my two APC’s a few weeks ago and booted them up…

Continue reading “APC.IO – a $49 all in one PC by VIA: a bicycle for your mind or a big disappointment?”

Forwarding Arduino serial port from Windows host to Linux guest using VirtualBox

Forwarding Arduino from Windows host to Linux guest is straightforward, just select it from the list of available devices:

Once that’s done, the device will appear as /dev/ttyUSB0. The only problem is that file permissions for the device are 660 so you won’t be able to access the device unless you are root or set the permissions to 666 with

sudo chmod 666 /dev/usbTTY0

Note, that you would have to do this every time you forward the device or start the guest VM.

A more elegant solution exists (at least in Ubuntu). Just add yourself the the dialout group:

sudo adduser your-user-name dialout

Reboot your PC and you will be able to access the serial port without anything extra just by forwarding it to the guest Linux OS.

Mute/Unmute sound in Ubuntu 12.04 using command line

Stumbled over this strange problem with Ubuntu and sound muting using command line interface (CLI). Everywhere on the internet I found that it can be done with amixer:

amixer sset Master mute

amixer sset Master unmute

amixer sset Master toggle

For some reason, muting works fine, but unumuting or toggle has no effect. Upon further investigation I noticed that by muting Master channel, “PCM” and “Master Mono” channels are muted too. Unmuting Master does not unmute those two channels. I could have solved this issue by running a bash script that mutes the sound with

amixer sset Master mute

… and unmutes all channels with

amixer sset Master unmute
amixer sset PCM unmute
amixer sset "Master Mono" unmute

… but what fun is that? You can however mute and unmute with pactl. This requires just a single command line per action:

pactl set-sink-mute 0 1
pactl set-sink-mute 0 0

Notification icon in Ubuntu with Unity and Mono C# example

Ubuntu Unity changed the way notification icons are handled and StatusIcon object no longer works for Mono and C#. In order to make it work you have to use ApplicationIndicator object with newer version of Ubuntu. It seems easy enough when you know how to do it, but I couldn’t find a full example anywhere on the internet. Here is one now.

Continue reading “Notification icon in Ubuntu with Unity and Mono C# example”

JaguarPC is a hosting company to avoid

After being a customer of JaguarPC hosting service for almost 7 years, I finally decided to move away from them. I wouldn’t recommend them to anyone for 3 main reasons.

Lack of loyal customer care

I had been using their services for quite a while. Hosting is a very competitive business and as with all businesses, prices seem to drop over time. JaguarPC in fact did drop the price of my hosting packaged back in the 2009, but they failed to notify me about the change. I was paying about 25% higher price for 3 years.

Reward points without a reward

They also have this reward points system. Over the years I accumulated 4758 of them. Sounds great, but there is no way of using those points!

File size limit

They have about 150MB file size limit on their shared hosting accounts. They claim that large files affect their server stability on shared hosting plans. This is such a stupid reason. They are running Linux for their shared hosting plans and I’ve never heard that large files could cause stability problems on this operating system.

To sum everything up, JaguarPC feels like a dinosaur in the age of Internet. I would recommend to avoid them at any cost.

 

Fixing a Seagate 7200.11 hard drive with Arduino

I received a Seagate 7200.11 hard disk in a BSY (busy) state. The hard disk drive spins, but it’s completely invisible to the BIOS. Apparently all these models are affected by a bug in the drive’s firmware: ST31000340AS, ST3500320AS, ST3750330AS and others too.

I found this very well written guide on how to fix the BSY state on Seagate 7200.11 drive. I needed some sort of serial TTL adapter to hook up to the drive’s serial port, but didn’t have one at hand. Then I remembered that I have an Arduino clone Freeduino lying around and I knew that it already has a FTDI chip that does the USB to serial conversion for the Atmega chip. Ok, so it’s not technically Arduino AVR chip used to fix the drive, just the board.

Continue reading “Fixing a Seagate 7200.11 hard drive with Arduino”