Posts with «general» label

Arduino-compatible VFD modular clock from Akafugu

There aren't many VFD clock kits out there that are software-compatible with Arduino (and by that I mean the "Arduino sketch" being compilable in Arduino IDE and uploadable through USB-FTDI).
Most of these kits come with the microcontroller pre-programmed, so they can be built quickly and easily, with minimal effort (totally understandable instant gratification; nobody wants to end up with an expensive dud). Upgrading the software usually requires familiarity with the microcontroller toolchain (compile-build-flash), plus an ISP programmer. (Note: The only processor I am familiar with is AVR/Atmega.)

I was going to build myself an Arduino-based VFD clock, one that can take a sketch through the FTDI cable. Instead of starting from scratch (choosing a schematic, making the board etc), I decided to try one of the only 2 open-source VFD clock kits I found that are based on Atmega processor and :

I settled for the VFD modular clock because the Akafugu people offered me the pair of PCBs in their kit (for a very reasonable $19, shipping included) and also because I already had most of the parts, including the two SMDs (that come pre-soldered in the kit: ATmega328 and HV5812) and the IV-17 VFD tubes.



















I built the clock following their great assembling instructions, but, as you will see, not without hitting a few stumbling blocks on the way.

I should clarify that this post is not a review of the VFD modular clock kit (since I did not have the kit), but just a record of my observations. It was my choice to not use the kit, thus forcing myself to try to understand the schematic and the software.

Since my goal was to make the VFD modular clock Arduino-compatible, I was aware of the challenges awaiting me:
- burning the bootloader for ATmega328 with internal 8MHz oscillator;
- connecting a makeshift FTDI header;
- adapting the software to work in Arduino IDE;

Once I figured out the fuses, burning the bootloader was straightforward. For this purpose I created this section in boards.txt:

intclock328.name= ATmega328 Internal clock 8MHz
intclock328.upload.protocol=stk500
intclock328.upload.maximum_size=30720
intclock328.upload.speed=57600
intclock328.bootloader.low_fuses=0xE2
intclock328.bootloader.high_fuses=0xDA
intclock328.bootloader.extended_fuses=0x05
intclock328.bootloader.path=atmega
intclock328.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
intclock328.bootloader.unlock_bits=0x3F
intclock328.bootloader.lock_bits=0x0F
intclock328.build.mcu=atmega328p
intclock328.build.f_cpu=8000000L
intclock328.build.core=arduino

Then I checked that the bootloader works, by uploading a simple sketch that outputs on D9 (which is connected to the buzzer). Before doing this, I had to connect the FTDI breakout to the board. Luckily (more probably intentionally), all of the required pins (Rx, Tx, Vcc, Gnd, Rst) are broken out on the female header, so just using wires worked, as shown in the next photo. This is not a nice solution though, since the top board (with the VFDs) needs to be removed before every sketch upload. (Hopefully the Akafugu team will also include an FTDI header in the next revision.)



















After I soldered all the parts on the base board, I realized the biggest problem of them all: some parts (sourced by me, and obviously of different size than those in the kit) stuck well above the two lateral headers, so the display shield (upper board) could not be plugged in the base board. Almost a showstopper at this point. The solution was to replace the tall 330uF/16V capacitor, bend both 47uF capacitors sideways, replace the 330uF/50V with a pair of thinner 100uF, push both inductors as much into the PCB as possible, then cut the top plastic wrapping on one of them. These, combined with the male headers not being flush to the display board when I soldered them, did the trick. I managed to have the clock looking as intended by its creators (if you don't look too closely), as shown in the next photo.



















The Akafugu designers tried to minimize the size of the clock, leaving little room for flexibility (that is, ability to use a broader range of components, of different sizes eventually). The sizes for the chosen components (especially the capacitors and the inductors) are really unique, any deviation would lead to the boards not fitting together.
Using (smaller) SMD components would not be a good solution, since these would also need to be pre-soldered (or otherwise potential non-SMD-soldering clients would be excluded). The only compromise I can think of is enlarging the base board a little bit, keeping in mind that this 4-tube version is the smallest of the display boards, all others extending laterally beyond both sides of the base board.

And finally, the last challenge: the software. I started from the original C code published here. This was written for the avr-gcc compiler and produces a hex file, which is then flashed onto the processor (no bootloader needed, nor provided) using an ISP programmer.

I changed the code (available here), mostly cosmetically, to compile with Arduino 1.0. It does not require any other external libraries and it includes its own I2C/Wire functions (does not use Arduino's Wire library).

In the end, I have an Arduino-compatible Akafugu VFD modular clock that looks just like the original one (I need to add the spacers though).



Wise time with Arduino 21 Jun 04:39
general  hacking  nixie  review  

Speaker Design With Arduino and 3D Printers

Robert Scoble interviews Charles Sprinkle, a systems engineer at Harman, a maker of audio equipment.   Sprinkle uses Arduino and 3D printing in the design, testing and improvement of new speakers at Harman.   It is good to see real examples of the maker toolset in the workplace. (via Scobelizer [...]
MAKE » Arduino 04 Dec 07:44

Suhhweeet! Nothing like getting paid! Great!


"Make: Special Issue: Ultimate Kit Guide" featuring Wise Clock 3

Thank you for the honor, Make: magazine!






















Here is the actual Make: web site dedicated to kit reviews.


Lexon travel clock

I am very "productive" lately (or maybe just wasteful with my time): this is my sixth post in as many consecutive days.

I recently "discovered", in a design shop, this great looking travel clock made by Lexon.















Things I like about it:
  • beautiful shape/form/dimensions (low profile, small, light) and nice finish (brushed aluminum);
  • apparent simplicity, with just one large(ish) button on the top and the lesser-used buttons placed on the bottom;
  • LCD screen covering the whole face, showing more than the time (date, day, temperature, alarm);
  • low consumption; powered by 2 CR2032 batteries, one for the clock, the other for the LCD backlight;
  • attention to detail is everywhere, including the bottom rubber bumpers: the front ones are higher than the back ones, as seen in the next photo.



















This Lexon clock should be good inspiration for clock makers and clock designers.
I hope one day my Wise Clock N will be as great as this is :)

Wise time with Arduino 06 Nov 13:12
general  

LunaTik "reloaded"

This is my original post on LunaTik.

Coincidentally (I guess the Apple iPod Nano team thinks that they found the ideal shape and size), the latest, 7th, generation of iPod Nano has the exact same dimensions as the one it replaces (and for which LunaTik was designed). So, LunaTik and TikTok get a new (and well deserved) lease on life, from Apple itself. More, LunaTik is actually mentioned in one of Apple's presentations, officially endorsing the brand. Actually, even the current (6th) generation iPod Nano can be software-upgraded through iTunes with 16 new clock faces (some of them shown in the photo below, courtesy of LunaTik team, sent by email via kickstarter).












But this is not all. As I anticipated, watch "modules" (shown below) are being developed to be hosted by LunaTik. This could become the flagship of the designer watches. Can you imagine high-end watchmakers producing watches that fit LunaTik? How far fetched is to see a custom made-for-LunaTik Omega, for example?












A metal (aluminum) strap is in the works too. This new design, shown in the photo below (also received via kickstarter email) is called "Lynk", and available starting December 2011.












On the other hand, clones have started to pop up (see ebay), at much reduced prices.
I bought, out of curiosity, the black "LunaTik" from a Chinese site for $24. Packaging is identical (and as hard to unpack as the original), the 2-page presentation manual is the same and the two small Allen keys are included as well.















You can't tell until you look at the content. My black "LunaTik" has shiny silvery buckle, scratched aluminum strap stop and white steel socket screws. You get what you pay for. I wouldn't be surprised to see the black layer worn out after a few weeks/days (I may be a little ashamed to wear it in public though).

Wise time with Arduino 06 Nov 01:06
general  

I’m a video star on Slate, sort of

SlateV had a feature on 3D printing and Makerbots entitled “How to Print a Bicycle”. Bre of course was the spokesman. About halfway through it though, my friend Jon saw my face. Whoop, I’m famous! Okay, so maybe not famous exactly. But they did feature one of my creations.

While I think it’s cool they used my laser-cut iPhone stand as the representative of what Thingiverse is about, they probably should have used something 3d printed instead of laser cut. :)

Todbot 07 Jun 02:39

Knowledge Updates

Recently I’ve moved into University. I’m doing a course in Electronic Engineering, and I hope to gain a masters at the end of it.

So far I’m in my 5th week (4rd week of teaching) and I’m finding it very different, but also very interesting. The day is split up into hour blocks, with the first 50 minutes for lectures, and the remaining 10 minutes so that you can rush to the next thing on the timetable. I get 6 hours a week in laboratories messing around with components, and then the rest is theory, and there is quite a bit of that, with me spending about 26 hours a week working. There is on top of that exercises and prep work to be done outside of lectures and labs. That makes it quite intensive as courses go.

I’m living in halls on campus, however there are only 7 people on my floor, 3 girls and 3 other boys. As our floor is none too spacious we have gotten to know each other quite well and enjoy ourselves. I’m a bit new to actually living away from home so things are very different for me, but I seem to be managing.

All this change in scenery has not slowed my electronics. Today I received my latest order from Rapid. This consisted of about 300+ 0.1µF capacitors, 50×2 header pins, a 35A 600V bridge rectifier and an AVR ISP MKII. I bought the 0.1µF capacitors because they are rather ubiquitous in electronics as de-coupling capacitors, they are also used in the Arduino Diecimila, but more about that later. The 50×2 header pins are for in circuit programmers, to go along with the AVR ISP MKII for the new AVR projects that I’m planning. However the 35A 600V bridge rectifier is for an older project, I wanted to see if it could be practically be used in the intended application, or whether it would just be destroyed, unfortunately the intended application is a secret for the moment. The AVR ISP MKII is, unsurprisingly, for programming AVR projects. I also wanted to get it for burning Arduino boot loaders.

Recently a new Arduino board, the Arduino Diecimila has been released. This board is an updated version of the Arduino NG, which I own. It features a couple of new features, most notably a 3V3 out and an auto reset function. With the NG you needed to press reset to load a new program onto it, and it took 10 seconds to initialize the program when power was turned on, with the Diecimila this is not necessary and it boots up much faster. Normally I’d need to buy a new batch of Arduino Diecimila ATMega168s and boards, but by making some small alterations to the boards, detailed here or here. I went and made the modification to my Arduino NG board as you can see here:

I also needed to upload a new boot loader onto the ATMega168 in order to take full advantage of the 0.1µF capacitor. To do this I needed to connect up the AVR ISP MKII that I also received today. This fitted onto the 2×3 pin header at the rear of the Arduino NG.

Once it was all connected I need to make a few modifications to the boot loader. I did this using Lady Ada’s instructions here, this ended up looking like this:

This was just after uploading the new boot loader to the Arduino NG. I found that this worked perfectly and I shall be doing the same to the rest of the Arduino hardware that I own. I’m also now aiming to start working more with Arduino.

Now with these improvements to my base Arduino I took another look at my accelerometer project, I’m aiming to get the code finished, all be it in a rough-ish form by the end of the week. Once I’ve done that I’ll be posting here about the hardware changed, aims and the code.


Knowledge Updates

Recently I’ve moved into University. I’m doing a course in Electronic Engineering, and I hope to gain a masters at the end of it.

So far I’m in my 5th week (4rd week of teaching) and I’m finding it very different, but also very interesting. The day is split up into hour blocks, with the first 50 minutes for lectures, and the remaining 10 minutes so that you can rush to the next thing on the timetable. I get 6 hours a week in laboratories messing around with components, and then the rest is theory, and there is quite a bit of that, with me spending about 26 hours a week working. There is on top of that exercises and prep work to be done outside of lectures and labs. That makes it quite intensive as courses go.

I’m living in halls on campus, however there are only 7 people on my floor, 3 girls and 3 other boys. As our floor is none too spacious we have gotten to know each other quite well and enjoy ourselves. I’m a bit new to actually living away from home so things are very different for me, but I seem to be managing.

All this change in scenery has not slowed my electronics. Today I received my latest order from Rapid. This consisted of about 300+ 0.1µF capacitors, 50×2 header pins, a 35A 600V bridge rectifier and an AVR ISP MKII. I bought the 0.1µF capacitors because they are rather ubiquitous in electronics as de-coupling capacitors, they are also used in the Arduino Diecimila, but more about that later. The 50×2 header pins are for in circuit programmers, to go along with the AVR ISP MKII for the new AVR projects that I’m planning. However the 35A 600V bridge rectifier is for an older project, I wanted to see if it could be practically be used in the intended application, or whether it would just be destroyed, unfortunately the intended application is a secret for the moment. The AVR ISP MKII is, unsurprisingly, for programming AVR projects. I also wanted to get it for burning Arduino boot loaders.

Recently a new Arduino board, the Arduino Diecimila has been released. This board is an updated version of the Arduino NG, which I own. It features a couple of new features, most notably a 3V3 out and an auto reset function. With the NG you needed to press reset to load a new program onto it, and it took 10 seconds to initialize the program when power was turned on, with the Diecimila this is not necessary and it boots up much faster. Normally I’d need to buy a new batch of Arduino Diecimila ATMega168s and boards, but by making some small alterations to the boards, detailed here or here. I went and made the modification to my Arduino NG board as you can see here:

I also needed to upload a new boot loader onto the ATMega168 in order to take full advantage of the 0.1µF capacitor. To do this I needed to connect up the AVR ISP MKII that I also received today. This fitted onto the 2×3 pin header at the rear of the Arduino NG.

Once it was all connected I need to make a few modifications to the boot loader. I did this using Lady Ada’s instructions here, this ended up looking like this:

This was just after uploading the new boot loader to the Arduino NG. I found that this worked perfectly and I shall be doing the same to the rest of the Arduino hardware that I own. I’m also now aiming to start working more with Arduino.

Now with these improvements to my base Arduino I took another look at my accelerometer project, I’m aiming to get the code finished, all be it in a rough-ish form by the end of the week. Once I’ve done that I’ll be posting here about the hardware changed, aims and the code.


Arduino Joy Part 2

Previously I had got both my Arduino and the accelerometer shield working, with it returning values of “x:453 y:450 z:395.” But I had no idea of what they meant. After doing a little detective work on the data sheet I figured that around 450 meant 0g, that is to say, it was not experiencing any gravity in those planes. This then meant that around 395 meant it was experiencing +/- 1g as I was unsure of the intended orientation of the sensor. After rechecking the data sheet it seemed the chip was designed to be facing down, this would mean that around 395 meant -1g. Doing some rough maths (450 – 390 = 60) I guessed that a change of 1g was equivalent to 60. This would mean that +1g would be about 510. I turned the Arduino module and the shield over and lo and behold I got a value of about 510 in the Z axis. What remains is to turn this int value into a float value of how many much g the board is experiencing.

I also very recently received a Babe bones Arduino Breadboard PCB and soldered it up, and this is what I received.

And a closer look at the top of the unpopulated PCB:

I then preceded to start soldering it up, starting with the surface mount inductor, then the continued with the smallest components, and ending with the largest. This allows me to rest it on the work surface as I solder, greatly easing construction. Below I have a picture of the Bare Bones Arduino board fully soldered up. I have to say i find it to be a great kit which is very simple to understand and then solder together. I only now need to figure out a way of getting a USB->TTL cable.

I found it fairly simple if not rather tight to fit it into my mini-breadboard but it fitted and seems to work perfectly. I’ll post again later with some news of how it’s worked for me.

One other thing I’ve been keeping an eye on is, again, at uHobby, where Mr Fowler has now finished development of a Signal Generator that is designed to fit on the header pins attached to the Bare Bones Arduino. You can see his post here and his earlier post on the Signal Generators development here. One thing that is touched upon often is the feeling that comes from ordered PCB’s arriving, begin soldered up, and then working! I, as yet, have yet to order PCB parts, but I have made my own, and I’ve found it to be very relaxing.