
I had my Roomba 551 for a long time (over 5 years). This model was only sold in Costco, but it’s basically a 550 model, slightly repackaged. It was a somewhat lousy vacuum cleaner, as it would require preparing room for it by blocking access to shaggy carpet where it would get stuck and removing all cat toys on which it would usually choke. So it’s been collecting dust for a a while (passively). At some point few years ago before I learned about Arduino I’ve got a “Hacking Roomba” book and tried to … well hack my roomba. I wanted to turn it into a mobile camera. I bought a RooStick which was DIN8 to USB interface (no longer sold) which allowed to connect roomba to computer. I even built my own roomba interface cable from old keyboard cable. However it got me nowhere at the time.
Recently having some success with Arduino, I wanted to build a moving camera platform to watch over my cats while I’m on vacation. Plan was to use Roomba as mobile platform and power supply. Since it can supply over 16 volts, I should be able to power WiFi IP cam, Arduino and small wireless router. Router would be used to control Arduino via internet. Because I already had ethernet shield and didn’t want to spend lots of money for WiFi shield I found this really cheap and small router TL-WR703n. With custom OpenWRT firmware it can serve as a bridge, but also because it has USB port I can connect WebCam to it (althought since I’ll be using motorized IP cam, it’s not really required).
But firs thing I need to do is to learn how to control Roomba with Arduino.
Read the rest of this entry »
My Etsy shop is now open, and I have 3 clocks for sale! Two with yellow middle button, and one with orange. New picture are here too! Don’t forget to check out official site xronosclock.com I’ve added source code and schematics!

Stumbled upon an interesting in depth (very long) article about 24/192 music downloads. Lot of good information about audio encoding, human hearing range, etc.
Even better, check out this Video Presentation about audio encoding. Nice site overall, gotta do some digging there

What is it?
Purpose of the Rapid BootLoader Shield (or RBS) is to quickly program 40 pin ATMega microprocessors (currently supported ATMega644p and ATMega1284p). It’s a no frills open source shield that plugs into Arduino Uno, and using Arduino as ISP allows to quickly burn Sanguino (or other) bootloaders quickly thanks to the ZIF (Zero Insertion Force) socket. It also has FTDI interface so you can program your sketch. No need to remove it from Arduino in the process.
It’s very useful if you need to program many chips in a hurry without much of an effort. I’ll provide all schematics and instructions below so you can build one.
Features
Not many to speak off
It has 40-pin ZIF socket, FTDI and ISP headers and 3 indicator LEDs (Green,Red and Blue) that will indicate you process of loading firmware/bootloader.
How to use it?
Read the rest of this entry »
Today I made another small tweak to the Xronos code. When changing Alarm hours/minutes with each button press change would be written to EEPROM. This would unnecessary wear out EEPROM which is rated for 100,000 write cycles. So I made small change to only write settings for alarm hh:mm upon exit from menu system and only if hh:mm were changed.
I’m also actively ordering parts to make a 15 piece batch of Xronos Clocks for sale. That’s probably too many to see if anyone buys it, but I had to order parts in bulk to get lower price… Enclosures have been ordered from Pololu, and electronic parts from various vendors. There was a set back with TaydaElectronis. I ordered some important parts (such as temperature sensors and RTC chips) but got lost in the mail, so after a month they gave me refund and I placed another order. Hopefully I will receive that one and soon.
Also I started working on new version of Xronos Clock this time on a bigger scale and for the wall mounting. It will have four 24×16 green LED displays, remote control and RF module to get temperature from outside. Already working on small enclosure for outside temperature sensor (based on moteino)

PCBs from iTead finally arrived! It took 12 business days from ordering to receiving them, not too bad! Strangely there was no text (silkscreen) on the back of the boards, which is not a big deal, but something I need to figure out. This is first time I got PCBs made from Gerber files, so it’s possible I did something wrong.
I immediately started assembling one to see if everything works, and it does!
Took me about 40 minutes to solder everything, but I’m sure I can do it a lot faster (15 minutes maybe?).


Removed old board from enclosure, plugged in new one, and bingo everything works!


Latest laser cut acrylics arrived and I finished assembling and painting. This is pretty much final design, so I took it on a basement photoshoot
Click “Read more” to see all the pictures and demo video!
Read the rest of this entry »

I just finished huge redesign of the Xronos PCB. Something I wanted to do for a long time but was scared to do is addition of the modified “Wave Shield” on the same PCB. I went thru it’s schematic again and again until I understood most of the components and added them to my schematic. Main modification to the original “WaveShield” is that I replaced SD card with microSD, got rid of headphone jack and replaced fancy pot with simple trim-pot.
Read the rest of this entry »
Yet another update about Xronos Clock project. I have received faceplate from Pololu and I’m pretty happy with how it came out. I had high hopes on mirrored one, but actually brushed aluminum (w/ black core) faceplate came out a lot better, so I’m sticking with that material for now. I didn’t have chance to take any new pictures yet, but believe me it looks hot
I spent most of the time finalizing code and added tons of “features” that should’ve been there form the beginning. Things like vocal announcement of day of week and alarm settings. Big one was addition of custom alarm. Now both alarms can be set to any day of week. At some point I ran out of RAM (again!). Fortunately getting rid of most “Serial.print” commands or replacing them with more efficient once, gave me back close to 600 bytes (which is a lot). I had no idea how inefficient Serial.print is in Arduino IDE. Speak of memory, I replaced all sprintf functions with safe version (snprintf) and made correct size arrays so I no longer have overrun buffers.
I think I’m pretty much done with code and hope it doesn’t have any major bugs in it. I also sent PCBs for fabbing at iTead (they are 10x cheaper than OSH Park) and they already shipping it back. New order with Pololu has also been placed for what I hope will be final prototype of the enclosure.
Time to start working on xronsoclock.com website. As soon as I have blog running there, I’ll stop posting these updates ClickGlide
Have a nice weekend and happy March 8th!
Small update today. Pololu let me know they finished cutting faceplates for the clock, can’t wait to receive it. Based on how it fits, I’m going to make final tweaks to the enclosure and make another one.
I decided to give iTead a try to make PCBs for me. They are a lot cheaper than OSH Park, but might take longer. Since they don’t charge per inch of PCB, I had to choose 10×10 cm boards, however it’s actually only around 6×6 cm, so I can make PCBs bigger in the future and it won’t raise price. Maybe I’ll finally integrate Audio on board
Read the rest of this entry »