Skip to content

Posts from the ‘DIY’ Category

5
Jul

Gibson Robot Guitar – Revisited

I was in the studio the other day, went to tune up the Gibson Robot and…meh. Nothing. Plugged in the charger, and couple hours later. Nothing.

Swell. Just swell.

Back in 2014 I’d fixed it with a couple of El Cheapo rechargeable batteries I sourced off eBay. Fast forward three years and those batteries were toasted.

Of course this is pretty much standard for NiMH so…no big surprise. And those 2000 to 3000ma rated batteries off eBay, keep in mind those are just NUMBERS. For example I charged up some Eneloop’s, got 1.48V full charged. Did the same with some A3300 batteries (and some unmarked ones) off eBay and the best I got as 1.37V. Maybe you’re thinking 1/10th of a volt isn’t much, but trust me, in this case with a robot, it’s huge (for other reasons).

As it happened someone emailed me within the last week about that original blog post and since I had some time I decided to dive back into the Tronical murky waters.

The Examination

Instead of grabbing another set of junk batteries I decided that I needed to adjust my thinking for “long term”. If the batteries were going to be replaced every three years I might as well make it easier to do.

Next I didn’t want to use cheap batteries. My choice was to go with the Sanyo or Panasonic Eneloop batteries. The problem here is that the batteries don’t have solder tabs on them so one has to solder right on the battery terminal.

I started by looking for a dual AA battery holder than would fit in the confined area of the Gibson. I found a couple of these in my parts bin.

Bholdaa

The one I had fit, the second one was wider than the Gibson cut out so no go with it. I soldered up the wires, plugged it in and was rewarded with a flashing sequence of blue LED’s around the MCK ring. I have NO idea what that indicated. But there’s no way the thing would respond or tune. Cool flashy LED’s though….

In trying to figure out why, I originally thought the electronics might have fried itself, I came across the specs for these holders. Specifically 1 AMP output MAX! Any more than that the contacts/wire can heat up. Even with the connection I did have there was a large voltage drop. Mostly they want FAR less than 1 amp to be happy.

Last time I tried to power the Gibson with a bench power supply, it failed miserably. Apparently my new bench supply is of higher quality and it powered up the robot just fine. My goal was to measure the current used at idle and when tuning.

At idle the robot used around 340ma (one third of an amp). That surprised me, I didn’t think it would be that demanding.

Kicking the robot into tune mode, wow. Anywhere from 800ma to 1.6 Amps. Depending on how many tuners were running.

No wonder the batteries were soldered in.

The Options

I could either replace the batteries with some new soldered ones or find a battery holder that would fit.

According to what I could find, Eneloop does make tabbed batteries but I could find no source in North America for them. And really, I wanted to avoid soldering in new batteries if I could.

Which lead me to decide on a battery holder.

Armed with some electrical data, I started looking for “spring less” battery holders. Springless holders typically have large metal tabs that rub against the ends of the battery. The current through these connections can be far higher than the typical brass button and spring units in the previous photo.

Try as I might, all the holders I found weren’t going to fit into the Gibson’s battery area.

So you think that would be the end of it right? Nah.

Unleash the Maker

Back in 2014 I didn’t have a 3D printer. I do now. Couple of them as a matter of fact. I used Tinkercad and started designing a box that would fit in the area. A tray is what I finally found worked best.

But first, I needed some UBER springy metal to make battery tabs with. Off I went to eBay, Banggood, etc and found a few things, but not what I thought I could use. So I started to look around the shop for springy tin and presto. It darned near jumped out at me…

Jacks

When I was building guitar stomp box pedals, I was using a lot of these jacks on the PCB for connections. Nice springy tin connections. Yep. I cut the plastic off two of them to get four terminals. Bent them so they’d hold a battery.

Then it was off to add in the design to hold these. So the first couple of designs didn’t work but eventually I got a design that was going to work, at least good enough to test with.

IMG 1195

I couldn’t solder the wires on the tabs when they were in the battery housing I’d made or the PLA would melt. I decided to put the wiring on the bottom of the holder. Didn’t really matter any way.

IMG 1196

I used two terminals with a 16 gauge jumper wire. Took some wrangling to get it in but I got it.

IMG 1197

From the battery side it looks like this:

IMG 1198

Oddly enough, there is a LOT of tension in those little spring clips. So once the batteries are inserted you can see the force of them pressing against the ends.

IMG 1199

I finally put the whole thing back in the Gibson and it works absolutely perfect. As good as or better than the original Tronical design. When I plugged in the charger, it sync’d right up with the guitar and quickly charged the batteries to full.

IMG 1200

Summary

Is this perfect? Will it stand up? I don’t know.

I do know the batteries are wedged in the holder pretty darn good BUT, if they do come loose, I’ll put a zip tie around them and the holder so there’s no way they can budge.

Looking at the clips, I can also see another way to do this. A couple of M3 screws, some terminals, no spring clips needed. But then again, this might not work as good as the spring terminals…

All I know is that when the batteries go again in three years, I’ll be putting in another set of Panasonic Eneloop’s and it’s going to take me about two minutes to do it.

10
Feb

Soldering Gear

Soldering

A word that can strike mind numbing fear into first timers. I kind of remember learning how to do it, from a ham radio operator no less. Frustration for me, laughter for him. When I was 10 years old.

Now admittedly most parents wouldn’t dream of letting their 10 year old grab hold of a hot soldering iron because, well, they’re kids. And you never know what could happen.

Fortunately I was born in an era that believed if you grabbed something hot and burned yourself, you instantly gained the experience to never do that again. My parents bought me a wood burning kit for Xmas when I was 10, and with it came the responsibility that I wasn’t going to “burn the house down”. To their delight, I’m sure, it was never an issue.

Soldering came to me because I was a model train nut in my pre-teens. Running wires and switches for tracks, sidings, lights and so on with nothing more than electrical tape was, really, more of a hazard than my wood burning set.

This blog won’t teach you how to solder. Neither will too many of the online videos or “instruction” pages I’ve seen. You want to learn to solder, find someone who can do it well, beg or bribe them to teach you. One on one. Makerspaces are a fabulous resource for this.

The dead giveaway for someone who lacks soldering skills? They use the gun or iron as a “paint brush” to “flow” the solder around the connection. You don’t wipe a solder joint with an iron to flow the solder. Unless you’re sculpting.

Guns, Irons, Stations, Torches

When you’ve got soldering under control, and don’t expect instant miracles, you may want to actually buy some soldering gear of your own.

If you’re under the impression that you can buy a 25W soldering iron and you’re good to go, my best advice would be save your money. Go see a movie. Why? Because the pleasant experience of the movie will last a heck of a lot longer than a 25W soldering iron experience will.

So let’s start with the cheapest thing that will melt solder..and the thing to avoid buying if you can…

Wellar

First, Weller makes some truly great products. A pencil styled soldering iron isn’t one of them. Think of these more as a fabulous wood burning tool and you won’t go wrong. True, they will solder, in some cases, but as you get better with soldering, you’ll toss this thing. Main drawback? No temperature control adjustment.

Next up we have soldering guns. Like this one:

Weller 8200n

Runs 100 to 140 watts, easy tip to replace. You can use it for almost any gauge of wires from 14 to 26. You won’t use it to solder any components on a printed circuit board. The tip is too large. If you’re building a 3D printer, the one place you need this gun?

IMG 1218

That’s right. When you soldering the wires on to the bed heater. The bed heater is a big chunk of aluminum with a copper pattern on it. The metal dissipates the heat so fast from a soldering iron, only a gun will work. Plus the gun has to match the area. That’s a 220mm plate with a 100/140 watt gun. If you have a large metal plate, like 300mm, you need a 220/260 watt gun.

These old Weller guns last, well, at this point…here’s a snap of me at 15 when I was fixing my guitar amp (yeah on the kitchen table)…that is the SAME gun in the heated bed photo above. It is 50 years old and it still works just fine and the only repair was I put a new plug on the end of the power cord.

Mel Soldering

Plus in a pinch when I didn’t have a replacement tip (they do wear out), I’ve grabbed a piece of house wiring, 14/2 (NMD7), stripped the insulation off it, bent it in the shape of the original tip and it works, just fine until I can get a replacement tip. Which they still make…

As to why I am fixing my amp, I couldn’t afford to take it to a tech so I learned enough electronics that I could do my own repairs.

On the list next are soldering stations. To me, even a lousy one of these is better than a pencil iron.

Stations vary in quality. A lot. Typically a Hakko (genuine) is the cream of the crop, everything else is a wannabe. However, if you don’t do a lot of soldering, you don’t need a top of line station either. Again, match what you want to do with the gear to do it.

What you want in a station is first, replacement tips, with a chisel tip of 1.2mm or 1.4mm being the standard tip for component use. There are scads of tips to pick from if you have special requirements. Order a few extra when you buy the station. If they stop making tips for your iron, the iron is a conversation piece.

Second, you want temperature control. And not some analog gauge that looks like the black/green/red one from an old battery tester either. A digital read out one that has a knob to control not push buttons.

Below is an example of a relatively inexpensive station that will do a decent enough job and not put you in the poor house. Notice the place that holds the iron? It has both a sponge and a wire shavings area to keep the tip of the iron nice and clean. Oh, and don’t forget to wet the sponge before you use it. It’ll last a lot longer…:-)

Station

Last on the list is a torch. And again it depends what you’re doing. Like plumbing. Torches are great! Working on a printed circuit? Not so great. Pay attention to what the pros use, get something along that line.

Solder

Of course, having the melting tool isn’t going to do anything unless we have something to melt. In this case, solder.

And all solder is created equally right? Nope. You need to match the solder to what you want to use it for. Unless it’s an emergency or some stop gap measure in which case, yeah, we’ll use whatever we can lay our hands on.

Lets start with the big stuff…as in plumbing…typically 60/40 or 50/50 (lead to tin mix). You’ll need some solder paste, clean joints and a spool of this stuff:

50 50

And a torch. This is big heavy stuff, takes a fair bit of heat to melt it.

Moving on, we get to electronic stuff. Printed circuit boards, wiring, finer detail stuff. And in a pinch, automotive as well.

Solder Type

Here things get a little complicated because there are two very different types of solder in use. One is the age old lead/tin and the other is lead free. There are pros and cons for both so pick a camp on your own choice. One thing to keep in mind is that if you’re repairing something that was made with lead free solder, you need to use the same.

Solder Diameter

Soldering diameter is also important. You want something with a .31 or .32mm diameter if you’re doing PCB work (or general smaller gauge wiring). Buying by the pound, Kester for example, is usually the best way to buy. But it’s not cheap and if you have to mail order it, keep in mind that it is a pound weight…

Quick Review

I recently got a tube of MG Chemicals solder, lead/tin, to try out. My normal brand is Kester 44 sn63/pb37 (tin/lead).

The first thing I asked myself is who in world decided to ship solder in a tube? So I thought about that for a minute and I think that they are saving on packaging. Normally solder comes on a plastic spool, inside a cardboard box. By shipping it in a tube, for a small quantity, they move away from that problem. Cost effective, don’t know about the plastic tube in landfill though…

Course the day I buy a small quantity of solder isn’t going to happen any time soon.. So the first thing I did:

IMG 2360

Yep, pull it out of the tube and coil it up. And I have to say it does make a nice sized coil. But it got me to thinking… MG sells solder wick, and I readily admit I have used wick about 3 times in fifty years), in a “spool”. I’d suggest the plastic tube would be better served with a simple spool like the wick. But I’m not a marketing guy so…just what I’d prefer.

IMG 2361

As I mentioned before, I’ve used Kester solder for a long, long, long, oh heck, since I started.

When using the MG, I found that it doesn’t flow as easily or nicely as the Kester does. And really, 63/37 solder is 63/37 solder. Thus the difference has to be in flux.

MG Chemicals says, “RA-like flux core” and “It generally exceeds J-STD-004 and J-STD-006 specifications

Kester says, “The high mobility and fast-spreading action of this flux results in more reliable production line soldering. 44 is classified as ROM1 per J-STD-004

Whatever all the heck that means. Me? I’m just an end user and I like the flux wetting action of the Kester by far.

While I really like the new MG Chemicals PLA, the solder? True is does do the job, but …meh.

19
May

Just spoolin’ with ya

After having constructed more Kossels than the average person, one thing that annoys me about them is the spool handling setup, or lack thereof.

Normally what you get is something like this:

Kossel Peg

Which in all fairness does work, but it sticks out some place, usually in the wrong place. Filament spools come in every size width and you need a long peg to handle those Kg spools.

Thus, I’ve never been a fan of them.

Next up we have the spool rollers like this one:

PLA spool holder

Now one would think these would be the perfect holder. And they are. Right up to the point that your Kossel does a massive retract and extract. And then this spool has a nasty tendency to unspool itself from the momentum. I built one of these but used skate bearings on the ends. I was checking the printer and found it had unwound several feet all on its own. With bearings it was frictionless. Not good.

The variation of this is the horizontal spool roller that sits at the top of the Kossel.

Kossel Horizontal

Again it works but I have the power supply mounted on the top of my delta so I don’t want the power supply fan restricted by a big reel of filament.

So this brings me what I worked with, when I actually worked for a living, a straddle winder. Course when I worked with it, the rolls were a lot larger than a 1Kg roll of filament. But the principal remains the same.

Stradle winder

Scanning through Thingiverse will give you any number of these types and one by AirTripper has been one of the best.

Airtripper s Pocket Filament Reel Rollers by Airtripper  Thingiverse 2016 05 19 15 59 11

I built one of these early on and have been using daily ever since. When I built my second delta printer I decided to see what else I could come up with. Something that used less bearings for example.

This lead me to a design called “Spool Foot” on Thingiverse.

Spool foot

It uses four 608ZZ bearings, some 8mm nuts and bolts. So I printed one. And immediately found that with the foot print of the cradles it would not go close enough together to fit my narrow spools from eSun. Opps.

Over to Tinkercad and made some modifications.

IMG 1454

With the offset foot design, I can move them very close together. I also decided to use 5/16″ x 1 1/4″ bolts. The final design looks like this:

IMG 1455

The only thing that moves is the bearing, the filament spacers either side of that clamp it in and keep the filament spool in alignment. It works super.

If you want to build your own, here’s a link to my design

26
Jan

Kossel Layer Example

For printing on the Kossel, unless it’s something special, I normally slice with a .3 layer thickness. This generally gives good speed and acceptable quality. Kind of a win-win if you like.

When I am doing something that is more detailed or I want a nicer finish, I might print at a .2 layer thickness.

Rob, one of the FVMakers, mentioned he was printing with a .1 layer thickness and I think that’s what got me thinking about it. But I had some serious doubts at the same time.

Consider this, we’re squirting PLA or ABS from a .4mm nozzle, that merrily swings from a mathematically nightmarishly controlled upside down tripod, driven by an 8-bit CPU, that we’ve levelled on the print surface with a piece of 20lb bond paper. Of course we expect maximum accuracy with a setup like this and we should have it! Or not.

If you’ve ever looked at the bed maps from any delta printer, you’ll see high and low spots all over the map. Even if said printer is perfectly calibrated for “flat”. Or whatever flat implies.

Conventional thinking says you print at a layer height that’s about 60-75% of the nozzle size. Thus a .4mm nozzle is usually the happiest printing at .3 or so. But if the bed is calibrated flat fairly well, you can indeed print at .2mm.

Truth be told, I only had the auto-level probe installed on my Kossel for 3 days when I first built it. I could see so many failings with it and the software, I’ve always manually levelled the bed. Takes me about 15-20 minutes and I don’t do it very often.

Tonight I thought what the heck. Throw caution to the wind. Let’s take this baby for a spin and she what she’ll do.

I blame Rob, at least partially, for this lack of judgement on my part. What? Well, yeah okay I spread the blame around so if bad stuff happens it’s not 100% my fault. I know I didn’t fool anyone with that so just let me have my dillusion.

I have a small print (80mm x 60mm), Slic3r creates it’s usual spasticated tool path, printed at .2mm.

Google point 2

Notice as you move around the eyes follow you? See I was trying to distract you. Did it work? No? Blame “he who’s name I mentioned previously”. Okay, so blame me. It’s easy to see the layers. Kind of looks like a relief map of some canyon actually.

The same print, but this at .1mm layer.

Google point 1

Can you say blended? Ignoring the cats whiskers I didn’t bother cleaning off, the transitional lines between layers are minor. Although the eyes still follow you…weird huh.

Flipping the print to the top side you can see the crevice is not as cleanly defined with .2mm. I am using a macro lens here so bare that in mind too.

Google point 2 Top

Take the same print but this time with .1mm it looks very smooth. And if you look closely at the circles around the eyes, not the bags under them, you’ll see they aren’t really circles at all. Nope. STL doesn’t have circles. You see polygons which is the best you can hope for with STL.

Google point 1 top

I admit that when I started the .1mm print I had my hand on the mouse for the job kill function. Turns out I didn’t need it.

When I read all the ads stating that these filament droolers are capable of 100 micron prints I lumped that into the same boat as a used car salesman’s pitch. Makes for good ad copy and never thought about it again. Till tonight when I remembered “he who will not be blamed” had seeded the idea in my cobweb encrusted mind. Then I printed out these two objects.

While my objects are purple, you can colour me amazed. Thanks.to..ah…you know who…;-)

26
Jan

Kossel Timer V2

I’ve put the concept version of the Kossel timer through it’s paces, been printing for 6:55:03 over the course of a couple of days and it hasn’t missed a beat. Thus, it’s a solid design, probably due mostly in part to the simplicity of the design.

During this time I’ve had to abort a couple of prints, and it’s performed just fine. I haven’t had to actually kill the power to the Kossel and I know if I did I would lose the elapsed time for that print. I could put in a routine in the sketch to write out the time to EPROM every minute so at worst I’d lose a minute on a power off situation.

However, the number of times I’ve had to actually power off the whole thing is pretty rare. At least in comparison to the number of times I’ve had to abort a print. The EPROM in the Arduino has a limit to the number of times you can erase/write stuff in EPROM as well. The genuine Arduino states 100,000 times. I have no idea what the limit is on the clones or if the 100,000 is a minimum or maximum. In any case, a lot of print jobs…

For the first version of the Kossel timer it was more of a “build it and see if it works” test than anything else. Low and behold it works. So time to make version 2. You know, cause hardware is like software and never done…

I wanted to keep the Micro Pro because I like that size and it doesn’t need a USB to Serial adapter to program it. A pro MINI would work just as well though. Building a daughter board for the Micro to perch on was the start (a shield is the more familiar but incorrect terminology).

The Micro would cover the wiring and components easily. A cut up piece of PCB, some headers, components and jumper wires.

Kossel Timer V2

The completed “PCB” really doesn’t have a lot of parts on it, wiring is not all that difficult either. On the left side there are 4 Vcc, 4 GND, two trigger pins. I always find it handy to have more Vcc and GND pins that I think I will need.

On the other end of the board is the I2C output for whatever display (OLED in my case) and a RESET time pin.

Kossel Timer DB

The bottom of the board, does have some jumper wires and some wire wrap connections to get to where signals need to be, but you could probably lay it out proper style on a PCB and etch it without a lot of issues. I find for these one-ups, it’s just as quick and easy to bread board them up this way. Making 5 or 10 of them would change that attitude.

IMG 0944

Plugging in the Micro makes a nice neat design without wires travelling between the trigger circuit and itself.

Kossel Timer Vcc Trig

Plus the timer is not all that physically big either. Add the wires for the trigger (and some power), the OLED display and it stands like this.

Kossel Timer Connected

While I could have also built it so the display fits onto that bread board as well, it does limit where you can put the timer. The main drawback was its physical size when it’s made as an all-in-one. The OLED display is 30mm x 12mm x 5mm. Four wires make it work and it can literally mounted, wedged, stuffed, inserted or jammed anywhere.

Wiring wise, I have three wires heading from the RAMPS board to the timer and four from the timer to the display. That allowed me to hide the main body of the timer in the Kossel RAMPS area. Building an all in one, there would be three wires coming from the RAMPS board but it would be more limited to where I could attach the timer because of the larger size.

A trade off for sure. Therefore I just built what would work best for me. As the diaper policy states, YMMV…:-)

24
Jan

Kossel Hour Meter

I think I spend a considerable amount of time not only tweaking my Kossel 3D printer, but I spend a whack of time documenting the changes I make as I do it. So I can refer back to see what I screwed up. Usually.

The problem is that as I do this, I might make half a dozen changes in a day. So just writing down the day in my Kossel notes doesn’t really help much. Actually, it doesn’t help at all…if I was programming, I’d have versioning working so changes can tracked easily.

Last year I’d been keeping a log of the hours that the printer was printing and I stopped in Dec 2015 at 942 hours. Just adding them up as I merrily printed along. But since then I haven’t bothered. Got busy in December and never got back into the habit.

So I’m not sure if that was part of the motivation for my Kossel project or not. But I decided a couple of days ago I’d like to have an hour meter on the silly thing so I could simply write down the hour (like a time stamp). If I make 5 changes in a day and test print, the hour meter will reflect it.

eBay sells a number of hour timers, some even work from a 12V power source. Many don’t. The 12V ones I did find don’t seem to have any reset function in them. They work in 10ths of hours (6 minute blocks). Probably fine for driving a vehicle but I decided I wanted it more like a clock than a timer. Elapsed time clock in any event.

Rummaging through the junk box I found an Arduino Pro Micro that was going to be the brain of the timer.

IMG 0929

Next a display was needed and there it was. A tiny 128×32 pixel OLED display (I2C). OLED display take less power than the typical LCD 1604’s that have a backlight. Mainly because if the led is on with the OLED it’s using power, if it’s black, nope. Plus you get font sizes.

IMG 0928

As it sits, it will record up to 9,999 hours, 59 minutes and 59 seconds. Probably get me through the end of the month any way…LOL

I tried a number of different ways to start and stop the “timer” and finally ended up with a opto-isolator that connects to a single pin on the RAMPS 1.4 board (one of the servo pins; pin 6).

IMG 0930

I bread boarded the circuit to test. Used an 817C optocoupler. The socket on the bread board is just an 8 pin one I cut in half to fit the opto. The multitude of pins on one end are 3 Vcc, and 3 GND, 1 analog output. Why the multiple pins? Power comes in from the RAMPS board (2 pins), from there to Arduino (2 pins), Vcc and GND to the OLED (2 pins). Hence, handy to have all the pins there.

Why the analog pin? Oddly the circuit worked better at detecting the voltage than it did detecting binary HIGH and LOW. I suspect the transistor in the optocoupler wouldn’t allow the voltage to drop far enough to trigger a LOW on an Arduino digital pin. Detecting the analog voltage, thus, was far easier and 100% reliable. One 817C, 2 x 1K2 resistors. Done.

The dual pins on the ABCD end, only the B is connected to the optocoupler, I was going to use A as a GND if I needed it but I don’t.

How It Works

When RAMPS powers up, the PIN is low. So the optocoupler is off. No timer runs.

When the pin on the RAMPS board goes HIGH, the timer starts, when the pin goes LOW the timer stops, the Arduino writes the result to EPROM. From a cold start the circuit loads the elapsed time from EPROM and displays it as the start point.

Because the RAMPS board always powers up PIN 6 servo signal LOW, the timer doesn’t auto start at power up.

Matter of fact, you have to start and stop the timer in GCODE!

In Slic3r I have some start up and end custom GCODES entered so I added this line to the start up code:

M42 P6 S255

M42 is a custom command for Marlin version 1.0.2, P6 means we want to control pin 6 (this is pin 6 on the Arduino MEGA), and the value we want to send to it is 255 (or 5V). I’m not sure if M42 was supported in earlier versions of Marlin.

For the end custom GCODE:

M42 P6 S0

Which simply tells the MEGA to switch pin 6 to LOW. Stops the timer.

The more astute may have been asking themselves what happens if I kill a print job. Good question!

I use Astroprint (Astrobox) as my 3D print server and the current version of Astroprint allows custom GCODE to be sent when you kill a print job. I added the line M42 P6 S0 to it and it works perfectly. If I was using USB to send the GCODE I’d have to manually send the GCODE or program a macro to stop the clock.

Mounting The Timer Parts

I printed a simple box with a hole in it to hold the Arduino and trigger circuit. This fit easily under the heated bed. The wires running out, 2 for power, 4 for the OLED, 1 trigger, 2 for the reset to zero push button.

Kossel Timer Box

I’d already designed an LCD mount for the front of the Kossel to hold a 2004 LCD. I used the same basic frame parts and modified them in Tinkercad for the timer. The OLED is actually pretty small even though it’s easy to read.

IMG 0933

A front view looks a little better:

IMG 0936

The Arduino code is pretty brain dead but if you’re interested in it you can download the zipped file HOUR_METER. I used Arduino 1.6.5 and some ADAFruit libraries. Nothing earth shattering in there.

Now I am looking forward to keep better notes and hours from my Kossel.

4
Jan

12V LED Bench Lighting

Over the course of a couple of years we’ve managed to toss almost every incandescent light, along with all those CFL landfill mistakes and switch to LED lighting. Which has its own pros and cons.

My work bench area used to have nine (9) 50W Halogen MR16’s on the ceiling and while it did provide some decent lighting, it was also equivalent to a Kenner Easy Bake Oven. I’d swapped out the Halo’s for some 6 watt LED lights a couple years back so I was getting not blinding but acceptable lighting without the heat.

But as anyone with a work bench knows, having acceptable lighting is one thing. Having it where you need it and enough of it is quite another.

With my work bench, I’m almost always between the lights on the ceiling above me and whatever it is I’m trying desperately to see. When I was younger I swear I could see in the dark. Now I just know when it’s dark.

I’ve looked at all kinds of lighting, even installed an LED strip under a shelf above my bench. It helped but not quite as much as I’d have liked.

Wandering around Thingiverse I came across someone who’d printed his own lights.

Thingiverse 12V LED Lighting

They looked like they might do the job so…I downloaded the design and had a look at it in Tinkercad. His LED lights must be significantly longer than mine (mine are almost the same dimensions as a 50W Halogen bulb) so I suspect they are the bulbs that won’t fit in a Halogen 50W housing. Mine will.

My LED’s are 4W, 12VDC MR16’s. Rightly 450 lumens at a metre. Gotta watch those LED specs sometimes because the ones off eBay can be, well, anywhere on the map. Not to mention colour temperature. I normally look for ones in the 3100K range for colour temp since that feels the most pleasing to my eyes. 2600 to 2800K appears yellow, and 5000 to 6000K+ is almost blueish white.

I printed out the globe part it is very well designed. Printed out nicely. Next I had to make the arm fit my self because his were designed for 18mm shelving. Mine are standard 3/4″ pine. I printed one arm and immediately didn’t like it. Way too flexible with the weight of the bulb on the end, so I added some gussets to it and reprinted. Great.

IMG 0882

The clamps that go on the shelf aren’t screwed down or anything so I made sure one of my bench power supplies was parked on top of it. There’s a ring that holds the LED bulb in place and I was wondering how hot it might get (4 watt bulbs can run 50C when on) but after leaving it on, no big deal. The globe is ventilated well enough that any heat just goes up.

LED Bulb

If you look at the LED you’ll see its a single cell, well not really, it’s what they call a COB (Chip On Board) LED. These are the best types to use in my opinion. Lots of times you’ll see individual LED’s, and I’ll tell you have some of those and they run HOT. COB are much more efficient and tend to give you a wider dispersion of light. Usually in the 45 to 65 degree angle range as opposed to the others than are focused in the 18 to 25 degree range.

To power these, you need a 12VDC power supply approx 500ma per bulb. I use a 12VDC 2A switching power adapter. One of the billions you can find on eBay. If you’re thinking you need to watch the polarity on the DC adapter, nah. Doesn’t matter what is positive or negative on the leads. Just plug them in to DC. They must have a bridge rectifier inside to handle this but I’ve never taken one apart yet.

I set my LUX meter that I built on my bench with only the ceiling LED’s on. Lux measures 210. And you can see the heavy shadows in the photo.

IMG 0886

Then I powered up the two LED lights and remeasured the LUX. Distance from LED shelf to bench is 29″.

IMG 0887

While the shadows are still there in the photo, mainly because the lighting is directly overhead, my hand is lit up much better and the LUX has jumped from 210 to 735. In brightness that’s a huge increase!

I was fortunate enough to have a shelf just above the bench to attach these LED’s to. Ultimately it sure is nice to have the additional light.

To turn the LEDs on and off, I use one of those 433Mz learning remote controls and a simple key fob type transmitter. These things are about $5 on eBay. Easy to program.

12V remote

23
Dec

The Papa Light

I was building some 3D printed lamps for the studio and I ended up with a bit of a miscalculation. The original idea was to print a single layer cone and then print a space ship atop of it. The lamp would shine up from the bottom and it would look like the spaceship was hovering with light coming down from under it.

So the concept was good. The execution left something to be desired. A lot. Really…

I printed the cone in luminous green and it turned out perfect. 120mm in diameter at the bottom. 38mm at the top. Beautiful.

Then I designed the “space ship”. Yeah. 100% senior moment there. It turned out perfect:

IMG 0735

Except it weighed about a pound. Because I had a lot of infill and some pretty solid areas. Sigh. So rather than chuck it out, I set it aside. And went on with the lamps.

Couple weeks later I’m talking to my brother and I mentioned my snafu. He piped up that he wanted a nightlight for his grandson. I could see the space ship being repurposed in hurry…

IMG 0733

I designed a stronger cone base for the space ship and even put a name on it. This base was going to hold up that space ship no problem.

When my brother showed up for the “build day” he brought along some 12V Canadian Tire LED strips. These are ones that you normally put under the hood of your vehicle so if you need to open the hood at night you have some light. These puppies run off a pair of 12V batteries so completely portable (with double sided mounting tape too).

IMG 0761

Amazingly enough when we bent the strip around the inside of the space ship the LED’s lined up perfectly with the holes (12mm) I had in the ship. A real bonus.

I made another electronic on/off switch the same as I’d made for the Tardis project earlier and I let Roland solder up the connections. He’s become quite proficient with a soldering iron so I don’t have to worry about cold connections or missed joints. Must run in the family.

IMG 0762

After a couple of hours we had the basis ready for testing. Stick in a 12V DC adapter, hit the button and presto. Worked perfect.

IMG 0763

Since it was late in the afternoon when we did this, I turned off all the shop lights and took a photo of the night lamp.

IMG 0765

Definitely lit up the area pretty good. Away Roland went with the lamp.

A few days go by and he gives me a call. Laughing. Says, we didn’t build a night light, we designed and built a light house. He says when he tried it at home in a completely darkened room, the LED’s shone out the holes in the ship and display circles of light on the walls in his condo. So bright he didn’t need room lights.

Opps…

If you look at the photo above you’ll notice circles of light on the wall and on my hot air work station. Ah yep. Kind of missed that. Way too bright.

He came back to the shop again and I printed up some orange stoppers for the light tubes in the space ship, and a much better bottom to keep his grandson out of the inner workings. We toned down the brightness a LOT.

IMG 0786

I’m kind of hoping he takes some pix of it when it’s in the grandson’s room because I don’t have any photos of the extra mods we did.

But all this has been interesting because I never realized how much our eyes can adjust to darkness and how little light we need to see anything in low light conditions. I built an alarm clock for the bedroom to replacing the aging one in there and with the 4 LED’s on the ESP8266 and the Arduino (and GPS) it lit up the bedroom…LOL

28
Nov

Tardis NightLight

My bassist showed his wife a photo of my Tardis clock and apparently that was all it took for her to express a desire for a version that was not a clock, but a nightlight (manually controlled).

Which meant it was time to fire up the 3D printer again…and do some designing, electronic wise.

First off, the Tardis. I used the same files that I had originally but without the cutout for the clock digits. Plus I used my modified roof so I could add the small tactile push button to turn the power on and off. Yep, it was going to be battery operated. Ah yes, the bane of landfills everywhere but hey, keeps those Energizer folks in business…

The Tardis parts I actually managed to print in the proper colours this time. Plus I printed the white backgrounds for the windows so you couldn’t see inside. Armed with some diamond files, we got the parts to fit very nicely.

IMG 0691

I let my friend assemble what he could (forgot his close up glasses at home). The following picture looks like a magicians act…but it was crazy glue and he didn’t want to “stick” around…:-)

IMG 0692

And it was sort of obvious that he commonly works with a LOT bigger pieces of material than what I commonly work with around here. Scrap wood, clamps, not my normal mode of operation…LOL

For the circuitry, I didn’t want to have to turn the Tardis upside down or reach around the back to turn it on or off every time. Which meant I needed an electronic switch that drew beans for current and would latch/unlatch with each press of the roof tactile button.

I found one on Daves EEVBlog, but I never could get it to work. No idea why. But I happened across one that I gave a try to, after subbing the parts for what I had on hand:

Anthony’s Latching Power Switch

Latching

For the MOSFET, IFR5940, Q1 – 2N3904. I tried some different values for C1 and 330nf didn’t seem all that critical either I just stuck in a 39nf and it works fine. For drop out voltage, the power circuit will toggle until the voltage drops from 5V (3 x 2AA) to about 3.0, which is pretty much dead any way.

IMG 0738

Assembled it on a small piece of perf board, not strip board.

IMG 0740

Near as I can measure when the circuit is off it’s drawing uA, as in darn little. Batteries would probably go dead and leak before the off circuit load would drain them.

Here’s the Tardis without the internal lighting off:

IMG 0695

And in a darkened room with the LED’s (4 white) activated… We did add one more LED in the top chimney after this photo was taken. Because it looked better…

IMG 0696

Should make a nice Christmas present for his wife, a Dr. Who fan. And no, I’m not a fan, in fact I think I only watched about 15 minutes of an episode once. But I like the look of the Tardis so…campy show, cool props…:-)

6
Nov

Minecraft Cube – LED

The second project I made for my granddaughter for Christmas this year is a Minecraft cube. Of course, not just any cube, but hidden inside is an ESP8266 NodeMCU 0.9 devKit programmed from the Arduino IDE, running some AdaFruit Neopixels. Now there’s a tech mouthful…

I started off with the basic panel, typical of what you see in Minecraft as a building cube.

IMG 0672

That’s a 210mm bed you see it printing on so, yeah, skippy, it’s big. Darn big. As in 120mm square. I purposely left holes in the panel and I rotated each panel on the side so they don’t all look alike. While I could have printed it in just about any colour, her favourite colour is purple so, purple is what it is…

Each panel took about 2 1/2 hrs to print out. There’s 5 panels to the dude, you do the math for printing time…:-)

The panels are sort of interlocking in that one side is a slot and the other is a groove. I made extensions on the top and bottom of the panels for a roof (yet another panel) and a simple base ring.

Instead of leaving the holes in the panels to where you could see inside, I printed a two layer white plate that I glued to the inside of the purple panel.

IMG 0673

The flange on the top of the white panel is for mounting the electronics part inside. Testing fitting it all and from the bottom it looks like this:

IMG 0674

Top view:

IMG 0675

If you’re thinking that it doesn’t exactly mirror a Minecraft cube because of my corners, you’re right. The cubes that I’ve seen others print were simply edge butted together and glued, some didn’t align all that well.

I also saw some that were printed in one piece (top down and then a box so they looked like the previous bottom viewed picture.

A 120mm square cube would no doubt take a long time to print in once piece, any problem would mean completely starting over. But that’s not the main reason I didn’t print that way. What I didn’t like was all the supports for the openings that had to be trimmed out. I like nice finished edges…so I made design concessions.

At the onset I’d decided to put LED’s inside and I was going to use an Arduino to do it. However I’ve been experimenting with the NodeMCU’s and programming them directly from the Arduino so I thought I’d give that a whirl with some Neopixels. I was more or less shocked when it worked. First time. Scary. Big time.

My electronics consist of a NodeMCU 0.9 and a dual dc-dc buck converter power supply board. The power supply board has both 5V out for Neopixels and 3.3 out for the ESP8266 WiFi module.

IMG 0681

The power supply board has two regs on it so I always test before I assemble…I applied power (9Vdc 1A), got the Wifi going, turned on the brightest setting and all the LED’s I could. And things got interesting. Very interesting.

The regs on the power supply board started to get warm, no, let me rephrase that. Hot. Not soldering iron hot, but damn toasty. I flipped the power over to my bench supply and checked the current, 300ma. One third of an amp if you’re not familiar with milliamps. The regs were good for 1A max so I was well within their limits….time to hit the spec sheets..

According to the Adafruit specs, each LED can use 60ma when you have them showing WHITE. Since these are RGB LED’s, white is full red, blue and green on. Which works out to 20ma per colour. Thus a 10 LED string can, at worst case, use 600ma if they are full brightness and showing WHITE.

Couple this with the ESP8266 power requirements of 100-275ma and obviously it was the reason why the regs on the DC converter were becoming room heaters.

I am using 20 LED’s. Needed to rethink the power part.

Digging through my parts bins I found some 5V 3A DC buck converters and that’s what I ended up using. That worked perfect. Left it on for 48 hours to “burn” it in and it never dropped off the network, never missed a LED transition and never over heated.

IMG 0688

For control, Wifi, you end up writing some rather ugly looking HTML code. That works. But it’s not going to win awards for pretty. The ESP8266 has a library where you can use ZEROConfig or as Apple coined it, Bonjour. You don’t have to type in a url that looks like 192.168.1.94 to get the web control page, you simply type in something like “cube.local”. It’s resolved for you and presto, the web page will appear.

Cube Control

Clicking on the buttons in the web interface will send a bit of info from the browser. You parse that in your sketch and act on it. What I haven’t been able to do at this point is click on a button and have the page auto refresh after the click. Hence the “Status” button at the bottom of the page. I’ve tried everything I can think of to make it refresh (using OnClick in the button code) but nothing seems to make it refresh. An HTML coder I am not.

The nice thing about the sketches is that if you use ANY “Delay()” commands at all, they still do a background service for WiFi routines in the 8266. So it’s actually fairly responsive even when it’s off doing some led chasing. Nice touch Arduino guys!

IMG 0686

All in all a very satisfying project and I’m sure the Minecraft girl will get a big kick out of it….

5
Nov

Minecraft Torch – 3D Style

With Christmas looming in the not to distant future I usually start looking for gifts that aren’t exactly mainstream. Of course the easiest people to shop for are kids. Their world is leaps and bounds wider than any adult.

My granddaughter is no exception to this rule. She is pretty much tethered to her iPad playing Minecraft. Now to be honest I don’t get what the fascination with Minecraft is for kids. Having said that it’s been a long time since I was a kid, but I do remember getting all agog when ColecoVision appeared with the same pixelated graphics in their games…

As a Thingiverse lurker I find a lot of things that people have done, which of course generate ideas for what I can do. Sort of an enhancement if you like. The first thing I did was a Minecraft torch. Really it’s a big piece of PLA with a flashlight hidden inside.

There is the body, screw in insert, flashlight, and top. The original came from Thingiverse as an Scad file. You enter in your own flashlight dimensions and it generates the part based on that. And to a point it works okay. But if you want something a little better fitting, like most of the stuff from Thingiverse, you learn to edit it yourself.

Thingiverse Torch

My torch is very much the same, but I changed the inside housing that the plunger fits into so it holds the flashlight in place better. Printing the torch and parts took about 7 hours total. So not fast but it came out pretty good.

First time I ever used the “Vase” mode in the Slic3r software and it works fabulous!

IMG 0676

Assembling the torch is a matter of dropping in the light, screwing in the holder and plunger.

IMG 0679

And then pressing the plunger to turn it on…

IMG 0680

I printed the top in white, single wall thickness and it’s amazing how much light it actually gives off. It would even be good enough for a reading light on a power outage.

1
Aug

OpenSCAD Bezels

One of the things that got me interested in 3D printing was the ability to make faceplates or bezels for some of the Arduino projects that I construct.

I’d found some LCD 2004 bezels on Thingiverse and while they did print out, I could see there was room for improvement.

Thus, I decided I needed to learn how to design my own stuff. I downloaded a number of 3D drawing programs that advertise as being intuitive. Perhaps I’ve been in a 2D world too long, or been a programmer for too many years. Whatever the case, I found none to which I would even remotely attach the word intuitive. More like “steep” learning curve. Steep as in the case of a cliff.

What I wanted was something where I dropped an object, clicked on it, entered all the measurements and carried on to the next object. Apparently CAD has never been done that way. Not exactly out of the box thinkers I’m assuming. Hence if you never grew up with that mindset, trying to wrestle control of it would be frustrating. Exactly what I experienced.

There are some commercial software packages, SolidWorks was one that was suggested. Still, it didn’t appear to work the way I wanted it to. The remaining free ones I tried and tossed just about as fast.

One of the members of the FVMakers, while listening to my 3D lament, suggested I try something called OpenSCAD. Essentially it’s a programming environment where you use shapes to build what you want to design. The catch is, you need to understand programming.

Fortunately for me, I do understand programming. So I downloaded and took a look at it. At first glance it didn’t look any more “friendly” than the other GUI 3D design programs. I was a little disappointed by this. It did obviously plant a seed though because some of it made some sense and stuck with me. Over the next couple of days (about 3 or 4 hours) I found some examples, looked at a fair bit of code and suddenly the light went on. Dang. It made some sense.

Honestly in a bit of a goofy way though. They way they do it is not exactly straight forward but once you get about half dozen of the commands figured out and how the union/difference works, you can use it.

I have a current project that uses some seven segment digits. Typical size…20 x 27mm x 10mm.

Seven Segment

With openSCAD you build the design more or less the way it prints. In layers, starting with the bottom first. In each layer you position and then combine or subtract or whatever with the previous layer (or object). The numbers you use are mm so making stuff to size is a piece of cake.

Plus OpenSCAD does math. You can resize, scale, well, pretty much whatever you want.

My first design was basically three objects (or layers if you like to think of it in simple terms). The face with smaller cut out, a second face with a different size cut out (full size of segments) and then a box to hold the digits.

I hard coded everything first, which means I had numbers every where. Not a good way to do it but I was learning.

The outcome was pretty exciting! Here’s the first one with a single digit in it. There’s a lip so the digit can’t fall out the face.

IMG 0304

I was pretty excited at this point but I could see all the stuff I did wrong. Those digits were SQUEAKY tight. The reason is the segments are square but the 3D print isn’t exactly a perfect square corner. There’s some gusseting going on. I could file it out so it wasn’t wasted.

The other issue was that I didn’t have the border around the digits quite right. Cause I’m learning. Time for version 2…

IMG 0305

And the back:

IMG 0306

I made the frame (cube) to hold the digits 1mm wider and .5mm taller and they fit easily. To hold them in a dab of silicon and that’s all you need.

Of course as a programmer, I started to mull over how I’d get the code to do more than 2 digits. Say I wanted, 4 or 6? What would I have to change. Maybe I could create different versions of the code for different digit counts.

That’s the point the programmer in me returned. Variables. Let the code calculate the size based on the digits. Yeah. As it turned out, pretty darn easy to do. For me. Probably not for non-programmers.

I re-did the code like so:

OpenScad Code

Whip out the digits and a digital micrometer, edit the values, render and presto:

OpenScad 3D View

Export as an STL file, slice it, print it and for four digit counts:

IMG 0307

And six digits:

IMG 0308

The openScad code follows. Next up, I plan designing some bezels for push buttons and some TFT displays.

And this, is exactly what I got the 3D printer for.

22
Jul

Me & 3D, printing that is…

I decided to build a 3D printer a month back. Right after deciding that I’d never have any use for one.

A friend pointed out with all the Arduino stuff that I do, a 3D printer could be a valuable asset for doing mounts, panels, widgets and doodads. Especially the latter two.

At the Maker Faire in Vancouver last month there was a glut of 3D printers. Oddly I didn’t see any of them printing anything. I know why now. It’s a black art. In other words, you just don’t take one out of the box, plug it in and start printing. Sure there are some that imply this, but when I’ve talked to the owners of the same, they all admit there is some “tweaking” to be done.

Since I like building I thought I’d rather build one. My second reason was that if the thing broke, at least when I built it I’ve had a good idea of how it worked so I could fix it. As it turns out that was a good idea.

3D Types

There’s two main types of 3D printers, both available in various configurations in kit form. The first is the standard Cartesian models. In these types, normally, the head moves X & Y and the Z (height) is a table that moves up and down.

Then there’s the Delta. These work within the Cartesian plane but can’t be confused with one because they have three arms that do all the moving. The printer bed is fixed below the three arms in a triangular tower. These are designed for speed and a bed that does not move.

Lastly there are machines that use Polar coordinates. You have to see one of these in action to marvel at how it works. They are fairly rare at this point.

Kossel

The local makers that I’m a member of is selling a Kossel 3D kit and since I knew beans about 3D printing, I figure I’d be a good test for the kit. In other words I went into it blindly and completely unarmed.

This is what the kit was supposed to be like after it was assembled:

Kossel 01

Unfortunately many of the parts in my kit were printed incorrectly and I ended up rebuilding it a couple of times after one of the members graciously reprinted some of the parts for me. As a gag I sent them a photo of what my build was going like:

Kossel Turbo Encabulator

That photo was hanging on the wall at the Maker Space for a while…

Kit

I’ve built plenty of kits in my life, but this was more of a box of parts than a kit. The “assembly” manual was a PDF online that actually refers to the same “delta” printer but it has different components so, you can’t really follow it 100%. And since you don’t know what’s going to be critical and what isn’t, failure is almost guaranteed.

Thus, you have to build one, to know what you really need to pay attention to. I learned the hard way and even with help from one the most astute members in the group, I hit brick walls. Hard. A lot.

As it turns out, building the kit is the easy part. Calibrating it is a nightmare. For a number of reasons. The least of which is because no one seems to be able to explain the calibration process in simple terms. They kind of know what has to be done but they don’t seem to have a procedure for doing it.

Calibration

The really VAGUE “how” is you find dead center on the bed, measure some distances on your printer, you put that in the firmware (Marlin), you send that to the printer. Make sure it always goes back to dead center. If not, you adjust the values again, re-upload the firmware, retest, until it does.

You use software like PronterFace or Repeatier to control the hot end.

Once the middle is found, you setup the height of the print area. More firmware update.

Next you measure the gap at four points on the bed. One by the X, Y and Z towers, one dead center. The gap is a piece of 20b bond paper you use as a feeler gauge. All four POINTS MUST BE EXACTLY the same “drag” on the paper. If it tears the paper, too close, if it doesn’t touch the paper, too far away.

I found a web site that kind of describes it. Check the May 30th, 2013 and Dec 22, 2012 for the info. Read them both.

Delta Calibration

Using PronterFace I managed to get mine “flat” in less than one hour. That’s huge. But it only worked that way because I modified my printer. To do the “gap” test, you adjust the top end stops higher or lower, each one at a time, until things work. And if you change one, it does tend to affect another. I used a 3mm screw like this:

Kossel Adjuster

So you home the end, run it down to the bed, check the gap, and adjust the screw to raise or lower the hot end. I was using less than 1/8″ of a screw turn to tweak mine at the end of the adjustment phase. But it’s a major easy way instead of trying to move the end stop switches up or down by .1mm or less.

When you finally get the bed “levelled” you breathe and think you’re done. Ha. No way.

Next thing is to set up the extruder to give the right amount of PLA, and then finally, print something.

I assure you that if you print a 30mm x 30mm square it will not be. Measure it with a digital micrometer. Either the X or Y will be out. For sure.

Back into the software you go and adjust one of the numbers in DELTA_DIAGONAL_ROD. Of course when you do this, well, you have to go back and adjust all the gap points at the towers and in the middle again.

At some point in all this you’ll get close. Maybe even exact. Now you can print! Maybe…

Slic3r

The objects are in STL files and you need to “slice” them into layers for your printer to print. And I’ll tell you there are a LOT of numbers in the Slicer software that you need to set. No one can tell you what those numbers are, so you get ballpark numbers for a start.

On my printer I’m not running it at max speed. I run it about 60% of max. And it runs just fine. To me speed isn’t as important as a reliable print. Other guys want to print maximum speed. If you’re doing a coarse print resolution that might work. I use a depth of .24mm for the first layer, .3 for each layer after that.

Heating the hot end and the bed is another thing. I run my hot end at 210, first layer at 215. That’s where it’s the happiest. The bed is heated to 50c for PLA and I use some Elmers Glue Stick to LIGHTLY coat the print area. It sticks REALLY well so don’t add too much!

So my printer works very nicely now and I was testing some glues to glue PLA pieces together the other night. Two different kinds.

PLA Glue Test

The glue on the left doesn’t work well at all. The Crazy glue sticks! So I printed a Minion and glued him together.

PLA Glue FrankenMinion

Kind of looks like a FrankenMinion but he’s stuck together quite well. Next I printed some feet and a base for the little guy.

PLA Glue MinionFeet

Finally I glued him to the base.

PLA Glue Minion W Feet

And yes, he’s supposed to be bent over like that. Because this is not just a printed thing, it’s my

PLA Glue Cellphone Holder

Cellphone holder…now how cool is that…

21
Jul

Nixie Clock Kit

Apparently I have an affection for clocks. Of all types. The latest is is a bit of a throwback to when I was.. ah.. a lot younger..

Specifically a nixie clock. Nixie tubes are those cool looking neon tubes with numbers inside:

Nixie

The tubes take 170vdc to “light” up a number so there’s a bunch of leads on the bottom of the tubes. Digits 0 to 9, two decimal places and an anode. Appearing in the mid-1950’s, they fell out of favour in the late 70’s but were still being made in Europe and Russia. For a while any way.

Now that no one makes them any more, they are becoming more valuable and the driver chips for them even more so although there is a Russian knock off that’s around. None the less a search on eBay will turn any number of sellers of them (usually in Europe someplace) and of course all manner of tubes. Some removed, some NOS (new old stock) not to mention a slew of different types.

My favourite Nixie have always been the IN-14’s. Large, easy to read, I like them. My first “digital” voltmeter, a Heathkit IM 1202 used Nixies:

IM1202 front1

Used it for twenty plus years before going to LED. Kind of wish I still had it…

I decided that rather than design one, I’d start with a kit. of course my idea of a kit and what others idea of a kit is can be vastly different. When I think “kit” something like Heathkit or Tamiya comes to mind. Lately my “kit” experience has been quite different. More like a box or bag of parts and an online PDF.

There’s a number of different companies producing Nixie clock kits and I chose PV Electronics in the UK for one reason. I liked the concept of an easy to replace Nixie tube because I know they don’t last forever. PVE sells on eBay and I ordered one of their kits. It arrived in short order consisting of some PCB’s and a bag of parts.

At least someone had the forethought to put a URL on the parts bag so I could find the assembly manual online.

Thus armed with a PDF I started to assemble the kit. At the same time a letter shows up from the eBay seller with a fuse part inside. Apparently it was missing from the parts so it was a good thing I’d delayed a few days before starting to build the clock any way. Now that’s what I call support. Rare indeed.

My 55 year observation is there are people who can write assembly manuals and there are people who shouldn’t. To their credit PV Electronics falls right in the middle. The information is in the manual, but it’s not organized in the best way that’s going to walk you through the build. I.e. the parts are on one page, the result on another, and no outlines on the result picture to show you the area you’re working on. Nope. Just a R12-R28, R32-R34 XYZ resistor and your PCB should look like this.

Considering the quality of the PCB and the parts, the assembly manual was a bit of a downer. But at the same time, not all that surprising.

I spent considerable time examining the silk screen of the PCB looking for where the parts go.

The resistors are metal film types and if you can’t read the colour codes or have access to a resistor tester you’re up a creek.

Hence right off, this is NOT a kit for a novice in my opinion. Certainly it’s one thing to know how to solder but to get this kit working I had to do some trouble shooting for defective parts. Parts that I have replacements for and know how to trouble shoot. Whereas a novice would be up that creek again…

The complete assembly took me just over 3 hours. Mostly spent flipping back and forth on my iPad reading the PDF.

At the end of it, I fired up the clock and it worked. All Nixies were perfectly. But one of the RGB LED’s was missing the blue component. I traced it to a faulty RGB LED. I replaced that and the clock worked as it should. But I have these components in my parts bin so not a big deal for me.

The heart of the clock is a PIC chip. Which means it’s a software clock. It is adjustable. How accurate is it? Compared to the lowly DS1307 or the more robust DS3231? No idea. No pun intended but time will tell.

The kit does sport a serial port so you can connect up a GPS to it, program in the offset to where you are and it will compensate. This is the route I took. I got one of my GPS breakout boards that I use on some of my Arduino projects and wired it, via a jack, to the Nixie clock board. It works absolutely flawless. Even if you forget the GPS chip when you move it around (I took it to some meetings to demo it), the Nixie will tell you when it hasn’t sync’d in a while. I plug in the GPS and with seconds, it’s running perfectly on time again.

Also some of the parts have changed since the kit was done in Dec 2014. A 15pf cap was replaced with a 33pf cap. No doubt to help with the software clock. There was supposed to be a piece of paper in the parts bag that told me this. Keyword was “supposed” to be. I never saw one if there was.

The “super” capacitor has changed value so if you go looking for the one in the assembly manual you won’t find it. You’ll find one that’s physically identical but a different value.

That’s one of my pet peeves with kits. If there are substitutions, update the assembly manual. Simple. Do it.

Here’s a shot of my completed build.

IMG 0214

And

IMG 0213

Thats right, there’s LED RGB lights under the tubes that you can create custom hourly colours with.

I still really like the concept of the tube sockets but I’d say it’s a kit aimed at more experienced builders.

My brother looked at it and I got a “cool” thumbs up from him. He loved it…

15
May

Arduino TFT

As of late I seem to be back working with TFT displays for my Arduino projects. From the 1.8″ up to the 2.4″.

The most common sizes, small enough to work on SPI with an UNO are 1.8″, 2.2″ and 2.4″.

TFT 1.8″

These TFT’s give you 128 x 160 resolution in reasonably good colour. An ST7735 driver chip is the work horse for the display. Adafruit’s library works just peachy.

The major benefit for the 1.8″ TFT is you don’t need logic level shifting and it runs off 5V perfectly. I usually run a 39 ohm resistor from 5V VCC to the LED. However, as mentioned no logic level converters are required.

TFT 2.2 and 2.4″

Resolution for these is the same, 240 x 320. Just the physical size of the display changes. Controller is ILI9341.

The larger TFT’s are different animals. They are designed to run off 5V because there is an on board regulator to drop to 3.3V. And 3.3V is where these displays are designed to work. Thus, if you do what I did and just plug them into a 5V Arduino, you won’t see smoke, but you won’t see any image and you’ll cook the controller. That’s what I did with my first one. Sigh…:-)

The majority of the inexpensive ones I use all look like the photo below. Some are labeled QVGA. You can see in the photo that some have a touch screen option, but look closely and you’ll notice the IC for the touch portion is missing (top left side).

If you buy one off eBay and the listing photo shows the IC in place, don’t assume that the one you get will indeed have the touch screen. I’ve gotten some with the chip, but none, unless clearly stated in the listing, have come with the front touch membrane.

IMG 0023

Working with TFT’s

If you’ve never used one before, they work with SPI and there’s a couple of libraries for them. One is the Adafruit library and the other is a super speed version of the Adafruit Library you can see here in action:

FAST ILI9341 Library for UNO

While the 1.8″ is pretty much wire and go, the 2.2 and 2.4 aren’t. You need logic level converters.

Originally I was using CD4050’s to do the job and a nice job they do. Excellent waveform from them. But the Arduino isn’t really a speedster any way and I noted that some of the knowledgeable Arduino users were simply using a resistor divider. So I decided to give it a try.

Here’s my first attempt and on the top you see 2K7 1/4W resistors. Right side connectors go to the Arduino, left side connects to the TFT (first 8 pins; but you only use the first seven). You can see my 39Ohm resistor feeding from 5Vcc to the LED pin.

IMG 0026

Underneath is a 4K7 common resistor. An octal version here with some pins cut off because I only needed 5 resistors.

IMG 0025

So what you have a simple voltage divider to take 5V down to 3.1, 5 copies of them:

Divider

The wiring is standard SPI and I used UNO pins 8,9,10,11, 13. Note you don’t need to wire up the SDOK (MISO) pin, it’s not used. If you need to use the SD card slot, I found it’s 5V friendly and you can just parallel up the same pins (SD_MISO–>MISO, SD_MOSI–>MOSI, SD_CLK–>SCK) except for the SD_CS, that needs to be a pin of it’s own.

After running the 2.4″ display for a few days to make sure everything was going to work fine, I could see that a smaller converter board would be nice. Sure a little more difficult to make, but nice just the same. Maybe even SMT.

I started searching for something that would work and found a breakout PCB on eBay that looked promising. A little pricey for shipping but what the heck.

IMG 0630

I got them quite quickly and found they would work very nicely. At first I tried to use my hot air rework station to solder the resistors on and that didn’t work. Even with the fan on a lower speed it blew those little resistors all over. And these are double sided boards so when one side soldered the other side fell off…LOL

Using SMT solder paste and a normal temp controlled iron worked perfectly. The bottom where the 4K7’s commoned are.

IMG 0647

And the top, compared to the original test one I built.

IMG 0027

Quite a bit smaller. If you check the video link for the super speed library, you’ll see just how fast the TFT can be. Of course, it’s not super speed for everything but it is significantly quicker, albeit it does take more memory on the Arduino.

I should mention that when you first run the demo that really shows the speed, it’ll use up 21K of your flash memory. If you go into the library and look for the fonts.h file, you’ll find the writer is using a custom font. You can default back to Adafruit’s GLCD font and save a pile of memory if you want. I did.

8
Apr

Spitfire – Arduino

A friend dropped off a poster that is mounted on 1/2″ MDF. The poster size was 42″ x 24″ so it’s fairly large.

IMG 0581

Apparently at some point in time he had someone drill some holes in the picture in strategic spots and install some grain of wheat bulbs and some LEDs. The problem was the job was never finished and he’d lost touch with the person who started the job.

Taking over with someone else’s project isn’t something that I normally do but in this case, all he wanted was some LEDs and a little flash. Right up my alley of course. So I took on the job.

First thing was to flip the board over and try to figure out what was left to do.

IMG 0580

Obviously there was a sale on hot melt glue for the project and after checking it out, I found none of the connections were soldered, just wrapped and the connections were corroded. To the point some of the bulbs and LEDs worked. I think I stared at the job for a while and decided it was just as easy to strip it and start over.

IMG 0586

The next job was installing all the LED’s, red, green, orange, white, where the old holes were drilled. I didn’t want to drill any new holes and as I worked I put in 18 LEDs.

IMG 0589

I used a little heavier gauge wire than the original wire wrap that was used. And of course, I HAD to use the handyman special, duct tape, to hold the parts in place. No way I was going to hot melt glue it. In the event he didn’t like it or wanted something changed duct tape was a lot easier to remove than glue.

The next choice was how to make the LEDs work. Sure I could have just wired them to a wall wart and had them come on, but I know my friend likes flashy lights so…I thought an Arduino could be pressed into service here.

Of course the stumbling block was that the Arduino doesn’t have that many outputs (18), nor does it have that many PWM outputs so brightness control was going to be awkward. Which of course made me break out the manuals to look for IC LED driver chips. Which eventually led me to the TLC5940 from TI. A nice chip, runs off 5V, has 16 PWM outputs and after a quick search, you know, someone already wrote an Arduino library for it.

I have some double sided perf boards and I thought of those first and then I spotted the single sided strip boards I have here. Oh yes, those made things much easier. I built the LED driver on a strip board.

IMG 0582

Inputs on one side, the 16 outputs on the other side. Back side of the board I cut the strip between the IC pins and soldered in the parts.

IMG 0583

I used a 10 turn pot for the current adjustment. About 1K8 would give 30ma through the LED’s but I set the pot for 2K8 to reduce that to about 12ma. There’s a formula for the resistor you can find on the data sheet. The LEDs I have are fairly high candle output so even at the “reduced” current, they are plenty bright.

Next I built up a test bed to see what I could control and how fast I could control it…and as it turned out, good thing I did.

IMG 0584

The library for the Arduino works nicely, and you simply make all the changes you want to the LEDs (you control EACH one with PWM) and them you send a “tlc.update()” to make the changes work. What I found was that if I tried to update too soon after setting the various outputs, nothing would happen. I needed to add a “delay(1)” before some of the update commands to make it work. No big deal but worth noting if you’re having some issue with nothing changing.

For the Arduino end, using a MINI Pro was the choice. Small, 5V, reasonably inexpensive. I’d also decided to incorporate multiple modes of display for the LEDs. A static, animated, and navigation LED’s (strobe) only. But how to control that when everything was hanging on the poster back and it’s on the wall. RF was the obvious answer.

I had a small RF key fob remote left over from another project so I added an RF receiver to the MINI Pro. I used the RC Switch library and it worked perfectly. I thought it might interfere with animation but it didn’t. Bonus.

IMG 0592

For wiring between the TLC5940 and the LED’s, I used a standard computer ribbon cable. Worked out perfect.

The first time I fired it up with all the LED’s on the poster I swear it almost lasered my retinas out. Bright doesn’t begin to describe it. Which is the point I was patting myself on the back for using a PWM LED driver IC. I added an array for the 16 LEDs that I could store their maximum brightness in. I could make all of them roughly the same intensity. This worked out better than I had hoped as well.

So how does the finished project look? Well, when my friend seen it he was in awe. When he asked if I could speed up the rate of cannon fire (it’s animated) he was surprised that I could do that with a sketch change in a matter of seconds. When he left with it, he was off to protect the skies like Snoopy & The Red Baron…

14
Dec

Arduino HC-11 RF 433Mhz

A few months back I’d ordered some RF modules for a project and after working with them a while, I’ve found they work fairly well. So well in fact that I ordered some more.

If you’ve done any Arduino work with RF at all, you probably noticed the trend that a lot of RF modules are sporting UARTs these days. Why? Well for one thing serial is always easier for most to use than I2C or SPI. Plus when you want to program these things you can use what they call “AT” command set.

That’s right, “AT” like from the Hayes modems back in the early 80’s. Did I just imply progress? Good. Didn’t want to get off on the wrong foot here. The main difference is the “new” UARTs use a MCU with a control pin, not the old “+++” escape like the Hayes did.

The RF modules are called HC-11 and you can find them littered all over eBay where they will generally be advertised as “replace bluetooth”.

HC 11 433Mhz

While replacing Bluetooth is a bit of a stretch because these don’t exactly fit in a computer nor are they really anything remotely like Bluetooth (in operation or protocol), they are close range transceivers with good reliability.

The first batch I got had somewhat of a dog’s breakfast for firmware. From 1.7 to 2.2. I tried to do some of the operations in the manual where you could use them as a remote switch and I managed to cook one. Plus the 2.2 version didn’t work with the commands you can find for the 1.9 versions.

A quick email to the seller and he said in future he’d only get 1.9 from his supplier. Any way, according to my last order of them, every one of the 15 I ordered was version 1.9 and rock solid.

For documentation, there’s a dumbed down version that outlines about 5 of the commands for the modules. However some of the companies like SEEED have better docs, use this LINK.

You can program these directly from a USB to Serial adapter, but I thought I’d write a sketch to do it. Might save someone a bit of headache.

First off the connections:

IMG 4983

It uses +5V so that’s helpful, and I use SoftwareSerial on pins 2 & 3. The “control” pin is pin 4. The sketch tells you which HC-11 pins goes to which Arduino pin.

When the sketch starts up, it polls the HC-11 looking for a reply so it can use the baud rate:

HC Programmer Screen

You can see the Mode, Baud, Channel, Address and transmit power. So now some notes of what I’ve found.

  • Mode 1: Normal serial. Good if you have power for it all the time. This is the default.
  • Mode 2: really a low power mode. Like if you used it for a remote transmitter you woke up once a minute. Max baud rate is 4800.
  • Mode 3: Fast SINGLE character transmit mode! Don’t send any more than ONE character!!!!
  • Mode 4: Lower the baud rate, further the transmit distance. 9600 baud max top end.

Channel: says “000” to “255”. More like “000” to “020”. High baud rates and high channels don’t mix well. I suspect it doesn’t scale up the channel spectrum well. Remember to make at least two with the same channel because it will only “talk”, “listen” to another module with the same channel. And yes, you can reprogram the channel in software to send to different channels as need be. There is no “broadcast” across all channels.

Address: you can “ID” each module. No idea where it’s used. Maybe for the “wireless I/O” control.

Power: Transmit power. Eight (8) is full power 10dBm. In the real world, somewhere between 40 and 100 metres. To save you the work, 10dBm is 10mw. More North America walkie talkies from years ago were 100mw. This is no RC aircraft unit…

The chip that’s doing all the RF work is the TI CC1101.

The HC-11’s sport three antenna connections. You have a U.FL connector, you can solder on a U.FL connector and use a duck or you can solder in a typical helical antenna (aka pen spring). What I have not done is range check those to see what difference they might make. I do have some ducks on order though.

For the Arduino UNO sketch, download it from this LINK. I used IDE 1.0.6 to compile.

As I noted before, I tried the “wireless I/O” control and ended up cooking one of the modules. Good thing they aren’t that expensive.

3
May

ArduBank

The wife has had an old style “piggy” bank for years but the coins don’t always find their way to the pig and she likes to play slot machines. For her birthday this year I decided to combine both of those into the “ArduBank”.

The physical size of the bank is about a foot square and 16″ tall. I used back glass from a real slot machine for lighted top. For the “reels” I decided the easiest way was to build a 3×3 matrix of LED’s, then print the 7’s on some self adhesive transparent film. To hold the LED’s in place, I used pill bottle caps.

ArduBank

For the coins (CDN) we have six dominations (actually five now that pennies are gone but I still coded in for them) I used a SparkFun 6 coin accepter. This generates an RS232 signal when it gets a good coin so it’s a piece of cake to use.

The display keeps track of the “total” in the bank (it writes the total to EEPROM). It also tracks the number of each coin so if you’re going to roll them up to take to the bank, you know how many you have of each coin type.

For the “slot” machine part, I wanted a payout, but paying out with money didn’t make much sense so I decided a “win” would be paid out in gumballs or jawbreakers. The lines for winning, 3 horizontal, 2 diagonal depend on the amount “wagered”. Thus a $2 coin and all five way wins are possible. With a .05 coin, horizontal middle line win only.

The reels spin down more or less like a real slot machine would and I found typically about every 30-60 coins you could hit a win. But depending on the denomination entered, it may not be a valid win. Sort of like a real slot machine where even if you win you can still lose.

Gumball Internal

The gumball mechanism uses a 5V stepper that’s attached to a 4 slot wheel (in the photos you can see the slot in the axle that the stepper shaft inserts into). A win rotates the shaft 1/4 turn where it pays out a gumball and picks up another.

Gumball Payout

Lastly, inside there is a keypad to “load” the gumball wheel and reset the coin total. With a few keys left over for future enhancements.

I decided early on to use an Arduino MEGA 2560 because it gave me a lot of pins for I/O and it’s running the 16K sketch.

Don’t have to worry about loose change be left around the house any more. Matter of fact, I have to hide mine now…

The inside:

Ardubank Internal

18
Apr

Festoolin’

As a new Festool convert, I tend to jump at the chance to try out some of the new tools I get. The recent acquisition was the Domino joiner.

I’ve owned a biscuit joiner for quite a while and used it a lot over the years. But in spite of the fact that it’s supposed to help align things, I found it only marginal at that and really those little pressed sawdust biscuits have never proven themselves to be pillars of strength.

I needed a new shelf for the work shop so I chose a fairly simple design but I decided to make all the joints with the Festool Domino joiner.

But before I get to the Domino joiner, I got to use my new Carvex jigsaw. The Carvex replaced my Bosch jig saw. And after comparing the two, I can to the conclusion, you can’t compare them. Not even close to the same class. At any rate, I used the jig saw with the attachment to round the ends of the shelf.

IMG 4570

Then I used my Festool router and put a sculpted edge on the shelf.

IMG 4572

The router is VERY impressive. Of course the one I was previously using was a Sears Craftsman that was about 20+ years old. It did have electronic speed control but the worst positioning adjustment ever. Again no comparison in tools.

IMG 4573

Since this was going above my work bench, I routed out a channel for the LED strip lighting I was going to put in it, and I cut the Dominos at the same time. The fastest job was making all the Domino cuts. It’s an amazing tool.

IMG 4576

I finished the shelf with some Polycrylic Gloss (nice stuff).

IMG 4582

So far, the most awkward Festool to use that I have is the track saw. Seems I always want the scrap piece to be on the wrong side of the track when I cut. And it’s not really all that ideal for working with small pieces. Probably a knack I haven’t developed yet.

26
Feb

Ford SXT Box Lighting

My brother has a fabulous looking black Ford F-150 SXT. He put a tonneau cover (black) on the box to keep things dry and the side effect was that, at night, it’s next to impossible to see anything inside.

Which makes him unhappy:

IMG 4524

So you either get used to packing a flashlight around in your pocket (or are you just happy to see me?), or he calls his older LED fanatic brother and asks, “Whatcha got to fix this?”

I started sleuthing fleaBay (where else) and found scads of LED strip lights. However, one of the requirements was that the LED’s had to be battery operated. There’s a few companies that sell strip lighting strictly for truck boxes but it’s silly expensive in my opinion. I do have to admit they did steer me in the right direction.

What I saw was the great majority of the installs used three double A battery packs. So about 5.25V with fresh batteries, at about 4.5VDC the LED’s probably won’t work well. Typical draw is 16ma per LED. Thus if you put a lot of LED’s on a 3 cell battery pack, you get less battery life and perhaps not a lot more light either. Fine line.

Oddly enough, 5VDC LED strip lights are rare. I found one or two sellers on eBay that offered them. The seller I ordered them from advertised two lengths both with a USB cable for supplying power to them. One strip is 1.65ft, the other 6.6ft. The USB cable is almost 5ft itself. Which turned out handy later on.

LED USB

I chose the 6.6ft strip because it’s better to have too many than not enough. About $18 USD.

When they finally arrived in the mail, they were waterproof and unlike other waterproof ones I’d ordered, they didn’t stink because of the waterproof coating. Well, not too badly anyway. It went away in a few hours.

WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!

I almost plugged in the string to the USB port on my computer to see if they worked. I say almost because I had a moment of devine intervention telling me NOT to do that!

Instead I plugged them into my home built 5V bench supply that I have a panel of USB connectors on. It can supply 5A at 5VDC through the USB connectors and I have an ammeter on the output to see what the current draw is. A 6.6ft string of these 5050 LED’s pulls 1.65A!

A stock USB port couldn’t supply that kind of current. Max for those, and that’s iffy, is 500ma. Closer to 350-400ma in my experience.

When I looked up the 1.6ft strips the same seller had, I found it used 350ma. So it would be okay to run from USB, but not the 6.6ft!

For a battery box, I decided that I’d use a 4xAA size and modify it. I made it a 3 cell holder and the fourth cell area would be for the switch:

IMG 4523

The switch is a SPDT, 10A and I use one of my helicopter JST battery power connectors so I can disconnect the batteries from the LED’s to change the batteries. The important part is the switch fits right inside the battery pack itself.

We’d decided that we were going to mount the battery pack and LED’s on the plastic box liner itself. Close to the back so it’s easy to reach. I used automotive double sided tape to stick the battery box and the LED’s. True the LED’s come with tape, but the red automotive stuff I use sticks better I believe.

IMG 4526

Where the battery and LED’s are mounted it under the tonneau cover so they stay dry. And even if corrosion sets in, the battery box is under a couple of bucks to replace. We put strips on BOTH sides at the back so it wouldn’t matter which side you were on, there is a set of lights there. Turn on both sets if he needs it.

In operation:

IMG 4527

If you’re counting, there are 12 LED’s and at 16ma per LED, that’s 192ma. The batteries aren’t going to go dead in 10 minutes.

So what’s the illumination like? Well that’s the surprising part. We tested it in the garage at night and it didn’t really seem that bright. Even when I turned off the ceiling lights in the garage it was sort of meagre at best. BUT when we moved the truck outside where there is little to no light, our eyes adjusted to the darkness. When we flipped the LED’s on both sides, HUGE bright inside! Thus, the darker outside, the better!

So what looked like a cave, is now lit up quite nicely:

IMG 4531

The other area that’s dark in the truck is the rear passenger area. The dome light is too far forward to adequately light the rear seats and floor. If you drop something on the floor back there, check for it the next day when the sun comes up. Or find a flashlight.

Since I still had the LED strip with the USB connector attached, and the Ford has a USB plug on the dash, we started looking at using it.

I wish I’d have taken a photo of it, but on the console, there is a rear drink tray that folds down for the rear passengers. Under the tray (it sits right on the floor) there is a recess that’s about 1/2″ high and 9 inches long. I trimmed down the string of LED’s to fit in this recess, ran the cable under the front seats to the dash. The rear LED’s draw 96ma (6 LED’s).

We got a 12V/USB power switch adapter than fits in the cigarette lighter and with a simple flip of a switch, the LED’s light up the whole rear floor area. Works really slick. The drink tray still works the same and doesn’t interfere with anything. Plus even with it down, the LED’s still flood light out on the floor.

All in all, a very illuminating evening with my brother.

18
Feb

ArduWalk

I was taking the garbage out to the road the other night. Course it was one of those cold, rainy, dark nights that occupy much of the winter in our area. The back of the house in the middle has a motion detector outdoor light as does the side middle of the house.

However, those two lights don’t do anything to light up the back corner of the house where the gate is. So it’s a pain to navigate around out there in the dark.

Which of course got me to, well, thinking. I have lots of LED strip lights. Unfortunately, non-waterproof ones as it turns out. I did some rough calculations and I decided I needed two 15 foot strips of water proof LED’s. I didn’t want to have to dig up anything around the sidewalk or put in those silly solar lights on a pole. I’d probably rip those out out the first time I used the weed whacker.

I noticed that where the side walk is darkest there are two bays that over hang the sidewalk. One is for the family room window, the other is for the fireplace. In both cases, neither go all the way down to the sidewalk. My plan, at this point, is to build a subframe under the bay portions and attach the LED strips to that frame. Thus, the LED’s are on order.

Next up, I needed to light them. According to the spec’s of the LED’s, about 12V at 10A. I immediately thought of one of those computer type power supplies. I found a reasonably priced 12V 15A switching power supply on eBay and that’s on order.

Which left, how best to control the lights. I looked at some timers, and then I figured I’d be out there setting the time that I want them to come on and go off. The time to shut off is not a big deal really. But the on time is because in the summer it’s daylight until 10pm. Who needs lights to come on at 5pm. Whereas in December, at 4:30pm it’s already dark. Thus, the timer was out.

I then looked at the dusk to dawn controllers. Kind of pricey little guys aren’t they. My experience with them is that I’d rather not use them.

Then I remember my house address lights. Those come on at sunset, go out at sunrise. And, yes, they are run by, no less than, an Arduino with a GPS and transmitter. Since that master GPS clock transmits the date information around the house, I decided to use its date and time and forego putting in a RTC chip. But I could have used an RTC.

I also thought I’d use one of my Arduino Pro Mini’s so, I coupled it with a relay board, RF transceiver (for the GPS signal from my TimeMate), LCD display, and rotary encoder. I modified a basic sketch from my GarbageMate and I was up and running.

IMG 4509

While I could have had the lights stay on all night (until sunrise), I decided that I’d put in a stop time setting, so that’s what the rotary encoder does. I can set the hours and the minutes to shut off.

Which is the point where I ran into the first snag. For the rotary encoder to be useful, it needs an interrupt routine. I was using the “Encoder.h” and “SoftwareSerial.h” libraries and that wasn’t going to happen. I got redefined vector’s. True, I could have used the transceiver on pins 0 and 1 as the normal serial port, but this is a pain if you do code updates because it overlays the normal serial port from USB.

The solution was found at PJRC. Obviously they’ve had the same problem with SoftwareSerial, so they came up with AltSoftSerial. Safe to say with the rotary encoder library “Rotary.h” it works like a champ.

The relay board is just a standard 5V shield with a 10A relay. If it burns out, it’s cheap enough to replace. The Arduino MINI Pro has no USB port, I use a CP2102 breakout shield to program it.

The control unit, is going to be mounted in the crawl space with a single cable leading outside to the LED’s. A nice small project box would be next on my list.

IMG 4510

Inside the left edge of the box is a DC-DC buck converter. I use scads of these things for Arduino projects because they will take the 7-12DC input and drop it down to the 5V the Arduino needs (at a couple of amps too). Then progressing clockwise around the inside of the box, MINI Pro (328/5V), CC1101 serial transceiver, and relay board. The rotary encoder is sitting outside the box on the right.

I use a terminal block on the outside for the connections in, and out of the box.

IMG 4511

For mounting, I don’t screw in the shields. I use an automotive brand double sided tape (it’s red in colour). I used to use foam tape but it’s not as good. The automotive stuff sets up within a day, and while you can still peel it off, it sticks great. I use multiple layers so the solder connections on the bottom of the boards don’t interfere.

Wired up it now looks like this inside:

IMG 4513

Love those Dupont wire cables. For testing I use my 12VDC bench power supply.

Rather than leave a plain aluminum faceplate, I use Rayven Repo Film through a colour laser printer to create something a little more colourful.

ArduWalk

The left arrow indicates it’s DST time (important to know if you want to calculate sunset and sunrise). The “*” shows that the outdoor lights are ON. I.e. sunset is 5:30pm and the current time is 10:26pm so the LED’s are on for the sidewalk. The sketch checks the time every minute and will shut off the LED’s when the trigger time matches.

I’ve included the sketch with this posting so feel free to use it to create your own ArduWalk. Or whatever you need. That’s what Arduino’s are all about.

27
Nov

iBarometer

The single most addicting thing I have on my work bench is…wait for it…an Arduino.

MEGA, UNO, and MINIPro just unleash the TinkerToy complex in me. I feel like Simon Bar Sinister. That’ll give you something to mull over.

Since I’m an avid golfer, I’m also a sucker for weather stations. I have two AcuRite’s, and recently just bought a third, er I mean turd. Say what?

That’s right. As far as I’m concerned, it’s a turd. But it’s a trending turd I’m seeing so…The one I purchased is this one, ACU-RITE® 0135CCDI:

ACU RITE® 0135CCDI

Comes with AC adapter, screen is always on so you can see it (you can turn it off), according to the package it connects to your “pc” and you can read the data on your computer or your iPad, iPhone. Since the fine print required my glasses that I did not bring, I couldn’t read the print that said, “Windows”. Don’t you hate fine print.

Thus, I don’t have “Windows”. I have five Macs. At any rate, I’ll explain how the “magic” works, because I downloaded and read the manual before becoming throughly disgusted and returning it.

AcuLink System Requirements: PC with always-on Internet. Mobile device with app access (optional).

You need Windows, the main weather station connects to Windows via USB. Your computer must be POWERED ON 24/7 to read the data and then sent to a web site (maybe AcuRite’s web site, I didn’t bother looking) where you sign up for an account. When you want to read the data with your iPad or iPhone, you log onto the “web” page and read the data.

So apart from the fact you need a Windows computer, on 24/7, you don’t actually connect to your own LAN to read the data with a mobile device. You wander out on the world wide wait to do it.

Ask yourself WHY would they do this?

The answer I think is, cost. They can hire any number of minions (apologies to Gru) who can write Win code to parse the data or just send it to the remote server. There after the data is stored in some SQL database. When you connect to said web server, the host then serves your data.

Because first off, your bandwidth doesn’t cost them any money and second everyone knows leaving a computer on 24/7 is energy responsible.

I can think of any number of ways that this would have been better implemented, apparently AcuRite doesn’t have that forward vision. Not exactly a progressive bunch of thinkers there.

If at some point in the future AcuRite decides they can charge you to use “their” service, hey, you supported them by purchasing their product, so like any good politician they’ll assume they have the mandate to do whatever they want.

An energy conscious person might decide that leaving a PC on 24/7 is not the best use of energy nor is it free. AcuRite has the solution for this in their AcuLink Internet Bridge. Which they sell you for about the same price as the weather station. Yep, requires an always on internet, still sends it to their site. Big whoop.

The paranoid may like the idea of Acurite handling the data since they can send you “weather alerts”. Because you know that the AcuRite weather alerts are going to be more accurate than anything you hear on the local TV or radio stations. Big whoop x 2.

As I said, this is a trend I see in a number of new devices that I don’t like. No, not the fact you need Windows, the fact that you need an always on internet connection and someone else manages your data. Maybe their idea is to use your data to create the most accurate and awesome weather station the world has ever seen. That’d be the control fetish of the century.

There’s been a number of people who have successfully decoded the Manchester encoding from various weather stations and as far as I know AcuRite doesn’t publish their protocol. You know, because of that control fetish they have. I briefly considered going that route and getting a station that had been decoded. But where’s the fun in that.

So out came the Arduino MEGA2560, DS3231 RTC, a BMP085 barometer and a ColdTears 5″ TFT display with matching shield. This is NOT an economical project. Matter of fact I wouldn’t really advise anyone other than a dyed in the wool tinkerer with doing it.

Having said that, I did it any way because I have that many spare pieces in my parts bins. The DS3231 and BMP085 are standard I2C devices and I have them wired together and they play nice together.

I added one of my Bluetooth HC-05’s so I can connect to the station and do minor programming changes on it (like setting the clock/date or something), or get a CVS listing of the previous 24 hour pressure readings.

IMG 4262

The Coldtears 5″ display is 800 x 400, and the two reasons I use it is that first it’s BIG, second is that it has a font IC in flash ram on board with eight or so different fonts. So I don’t need any software fonts, I just use the built in ones.

So this is what the display looks like:

IMG 4259

I hard coded the lat and long for the sunrise, sunset calculation. I record inHG/mBars from 900 to 1100. If it goes above or below those, well, that should prove to be interesting. I save the full results from the past 24hrs, and every three hours I check for rising, falling or steady. The icon at the top right will change based on the rate of change in that three hour span.

The graphics are stored on a 1GB MicroSD card on the display.

I’m still trying to figure out weather “prediction”. Acurite seems to have some small degree of success with that in spite of the fact that it is nothing more than a best guess.

And while I’m taking AcuRite to the task, I have two identical AcuRite units outside here. One is in the front yard, one is in the back. They are 4 feet of elevation different. Neither one agrees with the other on barometric pressure. The one in the front reads 29.91, the one in the back reads 29.97, my BMP085 is reading 29.86.

I suspect it has something to do with the altitude correction. There is no way to set the altitude on these barometers so I think it takes a flaming guess at it and “adjusts” itself based on the temp or carrot production. Some where. Is it right? No idea.

What I found was you really want to see the trend and having a weather prediction would be nice but not critical. And to put a nail in that, according to my back yard barometer it’s going to rain, the front yard one says mix of sun and cloud. Gee, does that sound like the weather report you get on TV? I think they have 60 different words or phrases to describe rain.

Ultimately, if you really want to predict weather with any degree of success, it’s going to take a lot more than a backyard weather station. Like maybe a satellite photo or two. Or wait a few years until enough people use AcuRite stations so they can do an “Our Man Flint” weather control scheme.

31
Aug

Message Board – Parola

As anyone in my family will attest, I’m a sucker for winky blink lights. Thus, you, as the reader, have been forewarned.

I’m an Arduino junkie and of course, winky blink LED’s just HAVE to be done with an Arduino. Those 8×8 LED matrix displays caught my eye last year and I’d put one together that was controlled over the network and was pretty decent. Except that when you had more than four modules connected (32 x 8 LED’s) the scrolling speed went from slow to glacial.

A couple months back I came across this video that was in the Arduino forum:

The speed of the display was simply amazing, and of course, I had to research it all out. Turns out the creator is Marco Colli and he has really invested a lot of time and effort it perfecting this project. I decided I’d build a couple of units, 10 displays in each. One for myself, and one for a present.

Early on I knew I was going to make the boxes out of wood. I choose to use birch ply wood that they use for underlay on lino. Nice wood and easy to work with.

The Arduino bits and pieces look like this:

IMG 4037

Then the sheet of birch underlay I cut up on the table saw:

IMG 4038

When I got all the pieces cut up, admittedly there isn’t much too it. I went to a local plastics shop for two pieces of plexiglas for the front display:

IMG 4039

I cut into the 5/16″ birch to give the plexiglas a solid fit and then I test fit all the pieces:

IMG 4040

Of course the wood has markings on it so you know “which way is up”. And by that I mean a lot of markings. The only thing missing to complete the game was the O’s…LOL Any way, out came the Festool sander and just like a magic eraser the “X’s” were gone.

IMG 4041

Putting the box together proved to be harder than I anticipated. My large clamps aren’t really designed for putting together what amounts to a slightly oversize jewellery box. So you just make do with what you have and go for it.

IMG 4045

Boy I love carpenter glue…

The cabinets were made out of birch so a natural Polycrylic finish (gloss) is what I applied. Now if you’re thinking that putting this stuff on was easy, let me straighten you out. If you brush it on, you get bubbles and streaks. Granted you need the right light to see them but when you do, oh my, do they show up. I honestly think you’d be further ahead to try to spray this stuff. Or, put on a coat, sand with 400. Another coat, 600. Another coat, 800. And so on until you get to the point that all you want to do is buff the crap out of it to smooth it out. No, I don’t have that kind of patience.

IMG 4046

Also, the tape I put on the plexiglas to stop the Polycrylic from getting all over it, well, yea. Of course. It leaked. On the bright side, it was a simple little bit of a damp rag and some elbow grease and all was well.

For the Arduino I used a prototype shield and soldered on all male pins because it made using dupont connectors to all the modules easier and more secure. I like easy. I used a Bluetooth HC-05 that acts as the gateway to the module so you can program in the time, effects, and scrolling message. Why not Ethernet? Simple reason is the Parola displays run on the SPI buss and all those WIZNET and ENC ethernet boards don’t like to share the SPI buss with anything.

The drawback is you can’t use an iPhone and a bluetooth terminal program to connect to the project. Apple only connects to BLE (Bluetooth Low Energy). But any laptop or computer with Bluetooth will work. For the time keeping I didn’t use the DS1307 because they aren’t all that accurate. I used a DS3231 and I found those are pretty good.

There was a problem I encountered with the Parola boards though. I’d get junk on the displays at a cold start. So I built a power board for the displays to delay their start time until the Arduino was running. And it worked just fine and if there was still junk, a warm reset always cleared it 100% of the time.

Macro and I have since determined that the INIT code to get these displays running is a little odd. We attribute it to the fact these are no doubt clone chips (MAX7219’s). So I added a single line of code to the library and away we go.

IMG 4054

The finished project from the front:

IMG 4059

And from inside:

IMG 4060

Note on this one I have the power board attached. On the second one I made, I left it out. That’s a DC buck converter to take 9-12V down to 7VDC to feed the Arduino.

Happy to say, they both work like a champ and look very pleasing to the eyes…

20
Jul

Laundry Sink Facelift

After having the ensuite updated, we’d been using the laundry room a lot for cleaning up. And we’ve come to hate the taps on the sink. The sink isn’t one of the fibreglass ones, it was a deep stainless one. Almost like a bar sink.

So after mulling it over for, oh, 10-15 seconds, we decided to change the faucet. Not a big deal.

Having done sink work before, I know what it’s like to reach around behind the thing and work on the plumbing. It hurts muscles, joints and makes your install a royal pain. So, first order of business? That’s right.

Take out the sink:

IMG 3883

The sink was held in by a bunch of brackets underneath the countertop. A 3/8″ socket in a drill made quick work of taking it out.

The tap looks like it was for a bathroom or something. There was no aerator in it so water mostly just splashed all over the place. You can see the old plastic supply tubs that had copper inserts around them to make them fit. Sheesh. Probably acceptable in 1990 when the place was built.

Next, time to take out the tap:

IMG 3884

It seems that after 23 years and some water “issues” the nuts holding this piece of crap together was rusted pretty darn good. What’s that you say, “Brass doesn’t rust!”. Yea, I’d agree. If it were brass or copper. Nope, the retainers holding on “ole junko” was stamped steel. Probably done by a “drive by” plumber.

I’ve done a number of faucet installs (as a home owner, I’m NOT a plumber) and I’m a big fan of the braided lines. That’s what I used for this install:

IMG 3886

The old taps were on 6″ centres and the new ones were on 8″ centres so I had to drill some new holes. Used a drill with a hole cutter bit and it makes a nice neat job. I’m big on using the proper tools for the job.

Considering the water “wear” around the old holes, new holes is a good thing. Five minutes to put the new supply tubes in. Hand tight, wrench with extra 1/4 turn. You do NOT want to wrench them on too tight.

All that was left was to reinstall the sink. Another 10 minutes (trying to reach around in there with a socket) and presto:

IMG 3887

A faucet (Moen Danika) that allows you to get a bucket into the sink, taps that turn 1/4 for full off to full on, water that goes from the tap right down the middle of the drain (not on the bottom and splashing all over).

Of course the proof was when the wife gave it her 100% seal of approval. Those are hard earned…

19
Jul

Renovations – The Good, Bad and Ugly

Nothing says “renovation” like a house full of drywall dust, floors that look like Hannibals Elephants just marched through and that “lighter than air” feeling in your bank account…

We recently had a bit of a plumbing leak in the ensuite bathroom and decided that it was about time to give it a face lift. We’d had a few quotes and decided on a contractor to do the work. And as anyone who has ever hired a contractor, you know you’re at their mercy and you really hope they aren’t just a “general” contractor.

We started with a 23 year old bathroom:

IMG 1395

The view into the room:

IMG 1396

Which, about 8 minutes after a crew arrives sudden turns into this:

IMG 3686

Ever watch Mike Holmes on TV when he “makes it right”? That’s the guy you want. Although you probably don’t have his budget. In reality, you get what you pay for. It’s not Mike. Or even a remote descendent.

Any way, after two months, we ended up with a look like this (tiled shower, new fixtures, 12mm glass door):

IMG 3878

New tiles around the tub and fixtures:

IMG 3881

And then new tile floor, countertop and cabinetry:

IMG 3880

So the view each morning is this:

IMG 3882

Admittedly I did some of the work myself (and fixed some of the contractor oversights; and wish I’d caught more), I did the baseboard heater, mirror frame, the baseboards and countertop.

The single annoying thing is the floor tile is not flat. How you can lay floor tile and notice it’s not flat is beyond me. Take a straight edge, lay the tile, and it doesn’t have to be level, it has to be flat. A no brainer. Apparently the helper was a no-brainer.

So for all you homeowners that are wondering if you should hire a contractor, my advice is… only use their services for what they are good at. And trust me, it will NOT be everything. If there’s tile involved, ask the tile store to recommend someone. They’ll always have a good idea of who knows their stuff and who doesn’t.

If there’s plumbing involved, get a real licensed plumber to do the work.

For hardwood, be sure you use a guy who does nothing else but hardwood floors.

Drywall is probably within the capabilities of the contractor. Not sure I’d advise trusting them with more than that unless they have professional people they use. Contractors are always good at demolition.

So apart from the floor for our renovation, everything is acceptable. Notice I didn’t say stellar, or, outstanding. It’s no doubt better than an untrained homeowner could do, but it’s just as far from what a pro could do. Yes, the price will represent that.

As they say, the devil is in the details.

The odd part? The contractor seems to feel it’s a good job. We obviously use different measuring sticks.

12
Jun

LCD Display

I’d picked up a display off eBay a little while back from “WIDE.HK”.

LCD 23008

The display was a standard Arduino 1602 style with an I2C interface. The reason I bought it was because it offered GREEN LETTERS on the BLACK background. And I will be the first to say, it delivers on that aspect. Using it though, not so much.

The big stumbling block was that the display didn’t use the same LiquidCrystal_I2C library that my YWRobot displays used.

Wide.HK uses a MCP23008 expander to drive the LCD display. I scanned around a bit and found a couple of places that sported a similar type display with an 23008, but unfortunately they were wired differently. Those Arduino libraries didn’t work.

I asked for, and received an Arduino library from Wide.HK to make the display work. Wide.HK supplies a library called “LCDI2C4Bit” and it won’t compile on the Arduino 1.0 or newer. So I knew it was old. I managed to fix that quickly enough but the library was basically limiting. Two hard coded print commands, some goofy keywords for moving the cursor and that was it.

I’ve never written a library or even modified one for the Arduino before. But I liked the display so much I decided to invest some time in working on the library. After six failed attempts at it, I finally had a library that worked almost exactly like the Liquid Crystal library I was used to. I even posted it on the Arduino forum and another user tested it out and reported it worked perfectly. I felt pretty good considering.

For those who have a WIDE.HK LCD display, you can download my Arduino Library from here:

LCDI2C4Bit MCP23008 Library

While I was checking out some of the other offerings of Wide.HK, I found they sold the backpack as a standalone item:

IMG 3757

If you look closely, you’ll see that the edge of the board has “half holes” and not the full holes we normally see on these backpacks. On the end are the Vcc, GND, SDA, SDL solder pads. When you get an LCD like this from WIDE.HK they piggy back the board right on to the back of the LCD. This makes for a thin installation for sure. It also means you can’t use that backpack on anything else.

IMG 3760

I’d decided a while ago to make any new backpacks I bought removeable. So might as well start here and solder a male header right on the LCD display and a matching female connector on the backpack:

IMG 3762

Of course with this connection method, the display is significantly thicker:

IMG 3765

Which as it turns out is not a deal breaker for me. The backpacks were selling for around the $6 US mark off eBay and that’s not a bad deal either because if I remember correctly I was paying more than that for the YWRobot ones.

Really, if you wanted to make your own I2C backpack, it’s not that hard to do. Plenty of wiring schematics around to help out.

After attaching the backpack to my LCD, I powered up the Arduino and had a moment of “oh-oh” because the display was blank and then I remembered the contrast pot. A quick adjustment and..

IMG 3767

Works like a hot darn. According to Wide.HK, the backpack will work with a 1602, 1604 and 2004. I’m going to have to find some other ones to test my library with since I only have a 1602 right now.

None the less, it’s sure nice being able to run a full LCD display via and I2C thus leaving a lot of Arduino pins freed up.

29
May

Balancing Act….with air…

Experimenting with an Arduino usually ends with me travelling down, oh so many, bunny trails. I see a potential, or get a brain wave or just want to find out more about something associated with this intriguing piece of harnessed electrons.

I’m a bit of a weather station junkie so I was trying to figure out a way to get one of my wireless Arduino rigs to communicate with my Acu-Rite Weather Station. This proved to be fairly futile since there’s little published data about the Acu-Rite stations. However as I was learning all this, usually the hard way, I came across a number of people who’d built their own weather stations of bits and pieces. Which of course, lead me to “rain” detectors.

Of course, like all bunny trails, I stayed long enough to decide that rain detectors weren’t as foolproof as just looking out the window and saying, “Yep, raining”..but I then found myself migrating to “air”, another necessary component in a weather station.

Air is a whole different kettle of fish. So to speak. I’d have to build some weather vane thing, then an anemometer to check wind speed, a battery powered Arduino with wireless connections and and and and…well, you get the idea.

So how does one measure “wind”? I’m sure you’ve seen the hand held anemometers on eBay that advertise maximum accuracy, no doubt on some planet other than Earth. So I started to think (dangerous I know), hey I can build one of those. Turns out, it’s a little more difficult when dealing with low volumes of air. But I found one of these at Modern Device:

Wind Sensor

While not a Pitot tube, this is a hot wire anemometer and according to the specs, sensitive to low air flows. Like breathing. To which I can attest. It does pick up a breath from 12″ away.

Something I’ve always wanted to do was try to balance out the forced air from our ducts. Or at least see where the air is all going.

I’d picked up a GLCD from eBay:

GLCD

It’s 3.1″, wired a little different than most of the GLCD’s and I’d originally wanted an I2C version of it. Actually I’m glad I didn’t get an I2C version because this one is FAST at updating. The I2C version is like watching grass grow.

I used a MEGA expansion board for connections to the GLCD:

IMG 3717

I hardwired the contrast POT (a 10 turn trimmer) right onto the GLCD board itself:

IMG 3716

Spent some time writing a sketch to read the “air flow” and then added a DHT11 temp sensor to it:

IMG 3715

Granted the “HVAC Air Balancer” is a bit of an over statement, in line with those eBay wind speed devices, it does allow you to see a comparative reading as I place the sensors over the various ducts. And really, for a budget project like this, it was all I had hoped for.

I still have to put the whole thing in an enclosure and then mount the “probes” but for all purposes it’s done. And darned if it doesn’t actually work pretty good.

It is true that I have no idea on the real air speed or CFM’s or anything else. I’ll wager that someplace someone has some way of calibrating these sensors, adding in a fudge factor and coming out with some fairly decent numbers in that respect.

As an offshoot of the project, because the sensor is very good at sensing minimal air movement, it actually finds draughts extremely well.

All in all, a fun project!

8
May

USB to TTL – Done differently

I’ve purchased a number of RF transceiver modules from eBay and found that while the majority of them worked right from power up, it would be nice to be able to preconfigure them on the computer and then move them to the Arduino.

IMG 3619

I started off by downloading a Windows program that did a configuration but then decided to write my own Mac application to do it. So the first hurdle was that I needed a USB to TTL converter. I had a couple of these:

IMG 3625

Trouble was these “interfaces” and I use that term with some sarcasm, are RS232 but swing +5 not +12 like the old RS232 ones did. I decided to sacrifice one and see what made it tick and, if possible, hack it.

After ripping off the plastic/rubber cover from the DB9 I had this:

IMG 3626

A close up of the main control board:

IMG 3628

It’s easy to see these were made a LONG time ago now (2006) and some off shore warehouse is cleaning out their closet/basement. It don’t cost more than a Starbucks coffee for the USB to Serial converter so I decided to build my own TTL converter and connect it into that interface.

Amassing the two transistors, some resistors and a diode from my parts bin was pretty easy:

IMG 3629

The schematic I used:

TTL

I cross referenced the transistors and ended up using a 2N5401 and 2N5551. Both of those were lower gain than the usual 2N3904/06 switchers you find, but slightly higher gain than the BC557 and BC547.

IMG 3632

The final circuit board with the four lines tagged onto the serial portion, give me TTL switching and a 5V lead. Some of these RF modules require a 3.3V lead so I could have used a regulator to take the 5V down to 3.3 or maybe used three inline diodes in a pinch. Luckily my modules all require 5V.

Any the interface still works perfectly with my RS232 devices and now it also works with my RF modules for programming.

7
May

House Address Update…

After my recent tests with the RF1100 modules, I found they work rock solid. Unless, of course, I’m testing one and it happens to transmit some junk that the other slaves pick up. Yep. Then things go a little “south”.

I removed the GPS module from the house address control (this runs the house address LED’s outside from dusk to dawn). Then I plugged the RF1100 into the same leads as the GPS used. Easy fit. Took longer to drill the antenna hole in the case than change the wiring.

Here’s the old setup with the GPS module held in by double sided tape:

IMG 3617

No, the steel ruler isn’t doing anything under that box, it’s sitting on my tool rack..:-)

The LED board inside you can see is a buck converter to take the 12VDC for the LED’s and knock it down to about 6.8VDC for the Arduino power. I left a short USB cable connected to the UNO so I could easily reprogram it when need be. The power is running in the AC adapter jack.

After mounting the new RF1100 it looked like this:

IMG 3620

The whole job took about 10 minutes and it’s been running peachy ever since.

IMG 3622

Arduino’s…habit forming little things…

12
Apr

TimeMate RF Completed

Got enough time today to assemble the master time server using the RF1100-232 modules. Got a plastic box large enough to build the project in, added an LCD display (so I can see if the silly thing it working).

The nice thing I found with the RF modules is the antenna jack actually extends far enough through the plastic box, you don’t need to mount it inside, the antenna that screws on holds it all in place nicely. Obviously if I’d have gotten the RF modules with the coil antenna this would require a different approach…

IMG 0421

I used an old Arduino clone I got off eBay. It came with both female and male pins for connection (both sets are installed on the PCB). I just used some short Dupont cables for wiring it together.

Which brings up an interesting point. With all these little modules using power, Arduino boards need a lot more ways to get power to the external boards. I guess that’s what the expansion shields are for though. I just soldered my own daisy chained power cable to connect all the modules. Worked fine.

Finished TimeMate:

IMG 0423

For the sharp eyed, that’s my scrolling LED matrix clock in the background. I was testing out some DS1307’s vs the DS3231’s as someone said the 3231’s are far more accurate.

Next up was to take the GPS module out of the GarbageMate and replace it with the RF1100 module:

IMG 0425

I used an expansion shield on this version. Apparently…:-) Rewrote the sketch to read the RF module instead of the GPS, which was actually pretty easy. I like easy.

Any way, the whole “rebuild” took about 20 minutes. Installed it back in the family room where it reminds us what garbage can goes out (and it’s actually quite useful). Works like a charm at picking up the time info from the master. The master is about 2 walls and 25 feet away.

Don’t you just love it when stuff works the first time…ahhhhhh….satisfying…

9
Apr

RF TimeMate

Every now and then something comes along for an Arduino that literally leaps off the page at me.

Last year it was a GPS module with Serial output. Adding it to a sketch along with the superbly written TinyGPS library is about as easy as things get. Set the communication to 9600 and wait for the data to show up.

So far the GPS module has been running for months with a clock in my recording studio, a garbage can “reminder” and my garage auto house light for sunset to sunup. None of them has so much as missed a beat regardless of the weather and being indoors…

The downside of these GPS modules is they aren’t exactly economical. However, the reliability out weighs the cost in my opinion.

Which brings to the topic of this blog entry. RF.

First, an admission. When it comes to RF transceivers I’m challenged. I’ve built scads of these things and I think two of them actually worked. I have no issues with any other facet of electronics except this so it’s my Achilles Heel. Big time.

Over the last year or so I’ve experimented with a couple of RF modules for the Arduino. I started with a CC1101 and it’s library, then over to the NRF24L01+ modules with their library. I never managed to get the CC1101 shields to work properly. No soap as they say.

With the NRF24L01+, I’ve had mixed results. The demo sketches seem to “kind of” work, but when I try to incorporate any of that into my own sketches it’s patently obvious I “don’t get it”.

The CC1101’s are around $10CDN with spring or stub antenna (the GPS modules are over twice that cost). Whereas the NRF’s are slightly more expensive than floor sweepings. Actually some of the ones I got look like floor sweepings.

The strangest things get you thinking, in my case I was writing a data logger on my Mac for a MasTech 8040 digital multimeter. I realized that I’ve worked with serial for…oh..ever it seems. Never had any problems with it. I GET it…:-) Which started me thinking, what if there’s a transceiver with a serial interface for the Arduino.

There’s the XBee series that work well but costs add up quickly when you need a few of them.

Off to “FleaBay” and what do I find? These:

IMG 0416

Essentially these are a CC1101 coupled with an UART. Cost is less than half of what the GPS shield does. If you’re trying to find them on Fleabay, search for “RF1100-232”. In spite of the fact they are advertised as 1100, mine were 1101’s. According to the data sheet:

CC1100:400-464 MHz and 800-928 MHz

CC1101:387-464 MHz and 779-928 MHz

I found a very good write up of the modules from this web site. The blog entry gives you the info so you can change the serial baud rate, channel (there are 256 channels) and even read the “config” from the current settings. Well worth the read.

I took my RF1100’s and added an angle pin connector to it (they use standard pin spacing YEAH!):

IMG 0418

From there, it’s a four wire cable, +, -, Txd, Rxd. I used the Arduino SoftSerial to set up two pins for the UART. Again, really simple to do.

Next I added in my GPS shield as the master. At this point I ran into my first and only snag. In Setup I used .begin(9600) for both of my serial ports but the whole thing stalled at that point. What I discovered after some reading is that you can’t have more than one serial port active for listening. Thus “gps.listen()” was all I needed to make it go. I don’t plan to use the radio to receive anything, just send to the slaves.

An interesting side note, the RF1100’s have 256 channels. If you have all of them on the SAME channel, they will all receive what the master sends… you don’t need to specify a specific module. Although, there is a function that allows you to assign a unit number to a module. In this way, you “could” use the same channel, but have the RX unit check for it’s ID number in the message from your TX unit. I didn’t bother, just kept it simple.

After writing a TX and RX sketch, it was time (that’s a pun if you missed the point of this whole blog entry) to send time across the air of my “desk”.

IMG 0412

Left hand unit is the RX. Right side is the TX and you can see the GPS module. I broke it out to a breadboard for power connections. Nothing more.

IMG 0414

And there you have it. The TX module sends the remote the “time” once a second. At 9600 baud that’s 960 characters a second, if the wireless wind is right, so the three that I am sending it’s probably laughing at. I do all the time formatting in the RX after getting the raw numbers. Pretty simple stuff really.

Distance wise, how far do these modules send? At maximum power 10dbm, I could get about two walls worth of distance in the house. So the best location to put a master module would be as close to the center of the house as possible. Which of course is my next experiment.

The RF1100’s I have come with a short stub antenna but they also have some that have a coiled wire one. Is there a difference in range? No idea but I have a couple on order so I’ll know sometime in the future.

According to the “scant” docs I could find, you can send or receive 30 characters maximum. I haven’t tried a test to see if that’s true or not, but I suspect it is.

None the less, these small, simple to use transceivers are just the cats meow in my opinion. You don’t need a custom library just the built in SoftSerial in the Arduino (1.0.4 is what I am using). And now I can move forward on my “one master time clock” for the whole house theme…:-)

From now on, I’m going to keep my eyes open for other shields that have an embedded UART. Sure makes life easy.