Skip to content

Posts from the ‘Electronics’ Category

24
Jul

3D Printer Power Supplies

Having built a dozen 3D printers, you get used to looking at parts that are top notch, some marginal, and some that you wonder why they were ever produced.

But there’s also some parts that you just take for granted. Case in point, the typical 12V, 20 or 30A (200-360 watt) power supplies.

Normal cost is in the $25 – $40 range (USD or CDN). Paying a premium for one, double or triple the cost, does not promise any higher quality than the budget ones in my experience.

The Tin Can

The typical tin can power supply takes 110-220 and drops it down to 12V (or whatever working voltage you need) that has a trim pot for fine adjustment. The majority of them look much like the one in the photo.

12V 30A Supply

The variation of these are ones that have a mesh covering and have no fan. Relying on convection to keep the wee beastie cool. For most of these types, 20A is usually the limit of their current rating, but I’ve seen a few 30A ones.

12V 30A Mesh

There’s a soldered fuse inside because using proper fuse clips would add cost and make no mistake about it, these things are cheaply made.

Cooling

The mesh covered ones are self cooling. Or as I found, when you fry one, they remain permanently cool. As you’ll eventually see this may not be a bad thing either.

The tin can versions all sport a fan. Considering the PCB’s in the ones I’ve looked at from various suppliers are all oddly similar, the fan voltages range from 12 to 16V. Or perhaps whatever is in the parts bins for that days assembly.

Paying a premium for one doesn’t ensure better quality but occasionally you’ll find a temperature controlled relay so the fan doesn’t run all the time. I blogged about this previously

For the MOSFET’s that do all the current handling, cooling is either them clamped to the case itself, or with an aluminum bar between the MOSFET’s and the case. Usually with some silicon material for insulation and goop for heat transfer.

IMG 1155

It’s not pretty, but it’s at least marginally functional.

Quality

Like most end users, I just wire them up and away I go. However, since I wrote the blog about adding a relay for fan control, I’ve modified half a dozen power supplies and that means I have to take them apart to do it.

What I found in TOO many is damned scary. Seriously. If you have one of these power supplies, my advice is disconnect it, take it apart and INSPECT THE THING! Yes, do it. If you get a new one before you put it into service, take it apart, INSPECT IT!

And don’t worry about the warranty sticker covering one of the screws, it’s a tail light warranty at best. I.e. when they can’t see your tail lights the warranty is up.

Disassembly

There will be a maximum of SIX screws on the top piece holding the fan. The “warranty” sticker might cover one. Don’t be surprised if some screws are missing, or stripped. I’ve found both. Standard M3 screws are what they use.

IMG 1151

Once you get the top screws off, you’ll see something like this, if not exactly the same if you’re disassembling a 12V 30A supply.

IMG 1153

Unplug the fan connector from the PCB and set it aside.

Remove the four or six screws holding the MOSFET’s to the case from the one side and end. Be careful not to rip the insulting gasket. If your supply has a metal bar between the MOSFETs and the case, wiggle it a little and slide it up out of the case. Set all those parts aside aside.

There are five holes in the PCB for holding it on to the case. I’ve yet to find a supply that uses five screws. Screws cost money, You’ll no doubt find four screws (one in each corner, one rarely in the centre) so remove them. Set them aside.

The whole PCB should now lift almost straight up and out of the case. And the fun begins.

Inspection

It doesn’t matter if you know zero about electronics or not. You’re not troubleshooting or doing component level repair.

What you’re looking for is potential hazards that will be pretty obvious once you know what to look for…

First, check the solder side of the PCB. You don’t want any untrimmed leads hanging down more than 1/8″ under the circuit board. On some of the supplies there is a plastic shield under the PCB, but I’ve also found a few that have nothing. If you see a long lead, don’t bend it over, trim it off. Use nail clippers if you don’t have wire nippers.

A reasonably good power supply PCB will look like below. All shiny, no dull solder joints, no leads poking out.

Good Supply

On the other hand, you can find something that looks like this one. See those BIG wire jumpers? That tells you SOMETHING is amiss with the PCB foil traces. Take a photo or two, put it back together, tell the seller it’s junk and don’t use it.

Not So Good

Moving on, flip the circuit board over so you’re looking at the component side. What you’re looking for is two things. Components that are bent over, shorting against other components and solder splashes.

I’ve only found one capacitor that was laying on top of a nearby resistor, which would have caused the supply to leak smoke when I powered it up.

On the other hand, solder splashes? LOTS..and LOTS. The trouble with solder is that it can stay fixed to where it settles, but at some point, heat, maybe a jar to the supply when you’re moving or transporting it and now it’s a shorting strip looking for a place to cause havoc.

Take a look at this photo…big thingie with coloured bands is a power resistor. But! What’s that “glint” of silver on the top of it? Solder splash. Get some tweezers and take it off. In some cases, you can flick it off with a finger nail. Just don’t flick it back on the circuit board.

Power Supply Solder Glob

Or look at this example on the last supply I checked…under the heavy jumper wires there is a piece of solder splash. Just. Sitting. There. I removed it with a pair of tweezers and it wasn’t attached to anything.

After which I thought I was done. Right….not! Take a look at the “400.”… that dot after the 400 silkscreen isn’t a dot, it’s a ball of solder. One touch and it moved.

Power Supply Glob 2

Tilt the board and look under any components you can. Loose solder loves to pin itself up against other component leads.

Summary

If you currently have a power supply in use and are under the impression that since you’ve been using it for “x” hours, it must be fine. Don’t assume, stop, check it.

The one I showed with the big jumpers on the PCB was one I’d used for over 400 hours. It worked fine. But every now and then the printer would do something odd and I blamed the firmware. So I took it apart. One of those jumpers wasn’t properly soldered. No, I didn’t fix it. I tossed it out.

I doubt these power supplies go through anything more than the briefest cursory glance for quality control. No doubt more about how fast they can be assembled, than can be they be assembled correctly. The old, time is money, problem.

Sadly, the end users, you and I, will end up the loser. Thus if you have one of these supplies, do yourself a favour and have a real good look at it. At least you’ll get a little piece of mind when you start one of those 33 hour print jobs.

26
Jun

3D Printer Noise – Not a Fan

One of the things that 3D printer reviews tend to gloss over is just how loud the popular Cartesian or Delta 3D printers can be. It doesn’t matter if the printer is a typical open frame type or closed up in a box, quiet is not a word that comes to my mind.

Given that the speed of the printer will affect the steppers, thereby transmitting said vibration through the printer frame itself, there’s not a whole lot you can do about some of it. Granted there are stepper dampers that are said to “lessen” the vibration transmission, or isolation feet so the printer doesn’t use the table/bench it’s sitting on as a “speaker”…

I tried the stepper dampers, ah, yeah. Didn’t seem to do as much as I’d thought. The budget dollar store rubber feet had a far greater impact though.

Fan Noise

However, what about when the printer is simply sitting idle? On a delta printer there is a fan on the hot end that needs to run continuously. Replacing that fan with a ball bearing low db fan is a good move. The original one that came with my printer sounded like a cement mixer.

Typical specs for the “cement” mixer would be as shown:

Noisy Fan

Considering the specs were from a ball bearing fan, it’s a noisy little brute. Basically, look for a 6,000 RPM, 0.15A max, and dB-A of 21 (lower is better). If you order these from eBay or some other equally sketchy source be aware that any specifications you see are going to be questionable. At best.

I picked up some Coolertec case fans OW4010DFS-2P hydro bearing, 15dB-A. You don’t more than 5 or 6 CFM. NASA wind tunnel fans not needed. The Coolertec fans? Wonderfully quiet, darned hard to get.

IMG 1175

Power Supply Fan

The second culprit, major source of annoying white noise is the power supply fan. On a typical 360 watt (12V 30A) switching supply I found that the fans on most of the ones I’ve worked on or bought, run all the time. Loud!

IMG 1151

I’d removed all the grating from one supply, replaced the fan with a quieter one and it’s still noisy.

By some sheer freak of nature I ordered a power supply from Amazon and when I installed it, the fan wasn’t running. I thought it was fried from the get go. I checked the voltage and it was fine. Once running for a while during a print job the fan would come on, run for a minute or two, shut off again.

I started to investigate why this happened.

The majority of these 12V 30A supplies “specify” a thermal controlled fan, so as the power supply heats up from current draw, the fan will cut in and cool it off. Oddly enough even though thermal control is stated, my experience is that the fans run all the time.

So….why? That’s the question.

Thermal Control

I took apart a power supply where the fan cycled and one where it didn’t. Started to look at what the differences were.

IMG 1153

It was surprising to find that the majority of the ones I have, from 4 different sources/companies, all use the same PCB. Or a minor variation thereof.

I tracked the difference down to a jumper of the “fan runs all the time”…see that jumper RT2? Yeah, there is supposed to be a thermal relay component there. But hey, that cost .97 so…jumper. Or as I found with a lot of offshore stuff, cost, not quality.

IMG 1154

The part that’s missing is a simple thermal relay, N.O. (normally open). It closes at 45C and opens at 33C.

KSD9700

To get the PCB out of the case is a little tricky. Remove the two screws that hold the heatsink bar on the MOSFET’s at the end and edge of the case.

IMG 1155

I found on my power supplies the screws were two different lengths. Thus, whatever comes out of the spare parts bins when they were assembled. There is an aluminum plate with some heat sink material on it, that needs to come off the side MOSFETs (where the thermal jumper wire is). You need the wiggle room to get the PCB out.

Next are the PCB screws. There should be five in total. One in each corner, one in the middle. Mine was built on a Friday at 3 minutes before quitting time, I only got four screws.

IMG 1156

To get the PCB out, slide it slightly forward (so the back edge of the PCB will clear the rear inset aluminum; about 1/8″). Notice on the side where there are no MOSFETS the PCB is notched so I just lifted that side up, but left the opposite edge with the MOSFETs where it was. Sort of rocked it back towards me. It’s a tight fit so don’t get heavy handed with it. It goes back in the same way.

Power Spply PCB

Once out, it’s easy to work on.

Thermal Relay

If you’re thinking the relay would attach to the case or the MOSFETS, ah, nope. It doesn’t. It actually goes inside the toroid coil on the PCB. And you glue it in there.

Start by bending the leads on the relay.

IMG 1159

Now you need some “glue”… but you want thermally conductive glue.

I found some on Banggood and eBay called “silicon thermal plaster”. It’s not inexpensive either and I decided that since I didn’t know what it was, couldn’t find any specs on it, and lastly didn’t feel like waiting for months to get it, I’d source somewhere else.

Which lead me to M.G. Chemicals. Who, oddly enough, seem to have a wonderful assortment of off beat items that fit exactly what I need.

One of which happens to be called, “Thermally Conductive Adhesive”.

IMG 1161

M.G. sells two kinds of this epoxy (it is a two part adhesive). One is called paste the other is flowable. I thought I would need the paste, but that was not available. I got the flowable instead.

I was hoping it was not as runny as five minute epoxy and I wasn’t disappointed! It’s about as “flowable” as silicon. I.e. you goop it, it stays gooped where you goop it. How’s that for technical terms…

As with the “silicon plaster”, 25ml isn’t inexpensive either. As in $31 CDN.

BUT, if you’re doing a couple of your own power supplies, a couple of friends as well, it cuts that cost down.

Seriously, and I do stress this point, when you buy something from a reputable company who supplies MSDS sheets, you know using it won’t cause a third eye to grow on your thorax three weeks later.

I got two mixing tubes with the adhesive and let me tell you, not only do they mix the epoxy PERFECTLY, you’re going to get a bonus hand work out shoving the mix through the tube…:-) The tubes are obviously a one time use but if you were doing a small restricted access and several of them, arrgghh matey, they be worth their weight in gold.

Otherwise, just put in a piece of paper and mix it like you do five minute epoxy.

Put the thermal glue on the edge of the toroid coil and don’t over use it. You don’t want to plug the air off from getting through the coil. Mine actually looks thicker than it really is. Maybe because I used a popsicle stick to put it in. I suggest a Q-Tip…

IMG 1162

The epoxy said it had a 45 minute working time and a 24 cure time. I left mine for about 6 hours to setup, then proceeded with the wiring. When I checked the joint 24 hours later, it was just like epoxy, hard as a rock.

Relay Wiring

Cut the jumper on the PCB and remove the two short wires.

IMG 1163

I used a solder sucker to clean out the holes…

IMG 1164

The relay is not polarized so there is no plus or minus to watch for. Simply solder in the two leads from the relay.

IMG 1165

Reassemble the PCB in the case, put the aluminum edge plates back in, PCB screws, case screws, etc.

IMG 1166

Make sure the relay wires are not chaffing on the heat sink clamp (yes, it’s a typical Mickey Mouse way the offshore guys do it) and button the case back up.

Rather than pop mine into a 3D printer I grabbed a bunch of LED strings and tested it.

IMG 1167

Kind of seasonal I must say, bright was the other thought…but sure enough, 10 minutes later I tested the heat of the edge MOSFETs, 45.6C, the fan came on, dropped the temp down to 33.2C and shut off. It works perfectly.

27
May

Word Clock – revisited

Back in 2014 I built a word clock that consisted of a strip of 111 Neopixels (WS2812B), controlled by an Arduino.

I got all fancy with it, wrote a custom application for the Mac for all the settings and changed the time base more than just a few times. Everything from picking up the GPS RF transmission here, to a direct GPS module, and even a RTC (DS3231).

It has been running fairly well until the last few weeks when the “Twelve” word started to exhibit some odd colours and wouldn’t completely shut off. Of course then I noticed other things like the printed paper mask I was using for the words had started to fade a bit, allowing the square boxes to shine through. Lastly the colours didn’t look all that vibrant any more.

I tried a couple of bandaid fixes for it and Carol suggested I needed to redesign it.

Redesign – Rip apart

I think I spent the better part of a week going through all the permutations of controls when it finally dawned on me that I needed to come up with a new face design. I took the foam board, paper and ripped it all apart so the only part remaining was the backplane with the Neopixels on it.

IMG 1080

The next thing was to write a quick Arduino test routine to make sure the LED’s are all working. Oddly enough, even though the Twelve word was failing for the last couple of pixels, my test routine proved there was nothing wrong with those pixels…mmmm Odd…

New Cell Design

Guess who has a couple of 3D printers? I kind of balked at first because it’s not just a design small enough to print in one afternoon. It had to be done in pieces, the pieces put together somehow, and so on. Oddly enough as I used Tinkercad to design what I wanted, it started to go together easier.

Each of the words, like the original would be a box on their own. I thought about how to put the cells together to make the grid and realized the easiest way was to use some of those M3 screws I have.

IMG 1081

I did a row at a time, screwed end to end, then fit them between the side frame rails. More screws and I just kept printing and assembling.

For the “lens”, I printed two layers of white PLA. I tried thinner and thicker layers but two seemed to work the best. I also tested some transparent PLA but you could see the Neopixels behind the lens so that wasn’t going to do. The white diffused the LED’s perfectly.

IMG 1082

Eventually I got the whole display done and then had to work on the electronic control.

Clock Electronics

To control the Neopixels all that is required is an Arduino. But then I was back to a RTC, GPS or RF signal catcher and I really wanted something, ah, different.

I remembered I installed my own NTP time server on my OS X Mac Mini so…why not use it. I didn’t want to use an Ardunio with Wifi or ethernet, so I decided on an ESPduino D1. The ESPduino is nothing more than an Esp8266 with a CH340G uart connection. I have a couple of them in my parts bin thus if I blow one up, I have a spare.

I found a few sketches that showed how to do NTP, and then I came across a sketch that did it with an 8 digit seven segment display. I have the same display and wired it up for testing just to make sure it worked. It worked quite nicely with my ESPduino D1.

I used the sketch as a starting point for my word clock because my logic and control is significantly different. About an hour later I had a working clock.

IMG 1085

Clock Box

The original box was still in good condition and I used it again. Even managed to reuse the matte from the original in 2014.

IMG 1086

I was going to use a dc-dc buck converter to drop 12V down to 5V but decided to make it even more simple and just use an iPhone charger to supply the 5V everything was going to run off.

Plugged it all in, connected to the access point, set it to use my wireless network and it sprang to life…

IMG 1092

The Tweaks

The original clock had bluetooth for adjustments, colours, brightness, light levels for auto dim and so on. Honestly in the three years it’s been running, I never adjusted any of that. Instead I kept the new build simple with one of the original tweaks left in. The auto brightness.

There’s an LDR mounted in the top of the frame. When the light level in the room drops below a specific level, the clock brightness drops to it’s night time setting. That’s it. Simple.

I printed a ESPDuino D1 mounting plate I found on Thingiverse, stuck it to the back of the foam board, plugged in a USB cable from the iPhone charger and away it went.

IMG 1093

Six connections to the ESPduino and it’s wired.

For the Twelve issue, when I went back through the original sketch I wrote, I missed the number of Neopixels in the strip. By one. My math is better now…

4
May

Ole Mega Ain’t What She Used To Be

The Arduino Mega2560 has been around a long time, at least in the world of micro controllers. Since 2009 so it’s not the new kid on the block by any means. In that time we’ve moved through to R3, revision 3, and it has been a robust hard working reliable platform.

Right up to the point that someone with the IQ of a stump decided to dump the ATMEGA 16U2 and incorporate the cheaper CH340G USB to serial mangler. In most cases, this piece of digital cruft will work. But there is no comparison if you lift the hood or try kicking the tires.

ATMEGA 16U2 VS CH340G

It’s decidedly easy to spot the CH340G, at this point. Course if the same low life decides to change the packaging it’s going to be a little tougher. In the photo, and probably what you’ll see more of than anything else is the one on the left with the CH340. It’s a 16 pin DIP package.

ATMEGA CH

I feel the CH340 has but one goal in life. It pollutes Arduino boards, and it converts from USB to Serial and back.

On the other end of the spectrum, the ATMEGA16U2 is a microcontroller that firmware can be programmed into. Thus you can change the firmware and your computer will think it’s connected to a mouse, joystick, or keyboard. This is impossible to do with a CH340G.

An Arduino MEGA with a ATMEGA16U2 is plug and play for the most part. Most computers will recognize it in a few seconds after you plug it in.

The CH340G on the other hand, requires a driver to be downloaded and installed. Because of its brain dead nature, no computer is equipped to communicate with it unless that driver is there.

From what I can see, there is little price difference between the two but the ATMEGA16U2 is far superior. It might take a little more time to program the 16U2 to be a UART, so perhaps they are more intent on saving time than a users sanity.

The Sheep In The Closet

If you’re thinking, big deal, doesn’t matter to me, it might, depending on what you want to do with the MEGA.

For example, let’s say you want to do some blinky lights, Neopixels, TFT/LCD display, or some sensors. No big deal, it’ll work just fine because the 2560 chip is doing all the work. The 340G is just the way you program the 2560.

On the other hand, let’s shove a RAMPS board on it, upload some MARLIN firmware to it and then connect to it and run our 3D printer. At a high baud rate. Where a LOT of printers like to live. Specifically 250,000 baud. Don’t be surprised if you see messages from PrintRun like this:

Connecting...
Attempted to write invalid text to console, which could be due to an invalid baudrate
Attempted to write invalid text to console, which could be due to an invalid baudrate
Attempted to write invalid text to console, which could be due to an invalid baudrate

Say WHAT? You might not see that with Repetier Host, because it tends to filter out stuff it doesn’t understand so you don’t get junk in the monitor. But you can still see some “resends” because it didn’t understand the last thing it received.

The issue truly is the baud rate. According to the “data sheet” for the CH340H:

CH340 supports common baud rates: 50, 75, 100, 110, 134.5, 150, 300, 600, 900, 1200, 1800, 2400, 3600, 4800, 9600, 14400, 19200, 28800, 33600, 38400, 56000, 57600, 76800, 115200, 128000, 153600, 230400, 460800, 921600, 1500000, 2000000 baud.

Notice there is no “250,000” baud rate in that list? The closest is 230,400.

So many have tried to just code in the 230,400 and use it. And found themselves with errors that just don’t make sense…dropping to 115K baud doesn’t help much either. Marlin’s default with RAMPS is 250K.

I have tried different baud rates and met with poor results so I leave it at 250,000 and it works best on a ATMEGA16U2.

The reason for the 250K was the ATMEGA16U I suspect. The divider of the UART of the AVR (ATMEGA16U2) used in the Arduino can create 250000 without an error, while 230400 has a 3.5% error in clock. Even if 250000 is itself a non-standard baud rate, it just works.

CH340’s Arrggh.

Solution?

The biggest problem is places like Amazon and eBay. Type in Arduino MEGA2560 R3 and you’ll find correct images of an R3 board but a wrong description, images showing a CH340G but all the ad text describing the ATMEGA 16U2, and any combination thereof.

Asking the seller if it’s really a ATMEGA 16U2, I’ve found out (the hard way) is pointless. The mass majority have no clue as to the technical specifications of what they sell. Some will tell you what you want to hear and send you the wrong thing any way.

I don’t think it’s a case of bait and switch, it’s more just a case of blissful ignorance.

So you’re left with getting someone to take responsibility for what they sell. Or trying to find someone who actually knows what they sell. Either way, it’s a path that shouldn’t have be ventured down. Sadly, it’s turning out to be a path all to common.

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.

23
Jan

Octoprint Webcam

One of the nice things about Octoprint is that it’s relatively easy to add a webcam so you can easily view your print progress from your local network, or from anywhere on the internet if you so choose.

What’s not so nice is trying to get a camera working sometimes.

I picked up a couple of Logitech C270 webcams when a local store put them on sale. Plugged them into the USB on the Rasp Pi 3 (the other went on a Rasp Pi 2), booted the PI and printer up. Working. No muss, no fuss.

And the first problem. I hadn’t thought about it but when sitting in front of a computer you’re about 30″ away from the monitor in most cases (arms length), so that’s the fixed focus point for the majority of webcams. On Thingiverse there are any number of focus ring hacks for the C270 cameras so you can actually adjust the focus as need be.

Therein exposing the second problem. Depth of field. Ever notice those telephoto shots in National Geographic are sharp on the subject but the background is typically out of focus?. Webcams suffer the same thing. If you focus on the center of your printer bed, when the head moves to the edges of the bed, they can go out of focus.

Once you get the focus adjusted to where you want it, the camera in a nice convenient position, I’ve found that the field of view is very narrow. In other words, you see about a 4″ square in the center of the bed. Outside of that is beyond the cameras view.

For a webcam to work nicely, it should be a wide angle lens, and adjustable focus.

First Webcam Test

I scoured fleaBay for some of the cheapest webcams I could find and ordered some. As in $3 webcam. No doubt the ultimate quality. Or not. For the price, if it didn’t work, who cares.

The first one I tried was described as: 8 Mega Pixels 50M 6 LED USB Webcam Camera. Whatever the heck all those numbers meant. Essentially 640 x 480 with a manual focus ring. USB 2.0.

When I plugged it in, no soap. Where the image should have shown in Octoprint there was a place marker.

8 Mega Pixels 50M 6 LED USB Webcam Camera with Mic for PC Laptop Computer | eBay 2017 01 23 12 44 58

Octoprint really doesn’t do the webcam any way, there is a jpeg Streamer it links to on the Raspberry. Obviously something was off.

A quick Google and I found the Octoprint Webcam Compatibility List.

Reading down through the list I found this reference:

Webcams known to work  foosel OctoPrint Wiki  GitHub 2017 01 23 12 50 07

I didn’t bother checking the USBid of the camera, just looked at the configuration needed to make the camera work and what file to modify. This info is right at the top of the webpage as boot/octopi.txt

Going to have to SSH to make the change. So off to another computer on the network to run a terminal program. Mac guys can use the Terminal app in /Applications/Utilties. Windows users seem to prefer using PuTTY. Since I’m not a Windows user, I can’t help with PuTTY but most term programs work the same any way so my screen shots should look more or less like what you might see.

Raspberry Pi IP

You’ll need to know the IP address of your Octoprint installation. If you can’t figure it out, there’s actually a plug-in for Octoprint that’s quite useful. It’s called “Detailed Progress”.

Oct Detailed

To install it, click on Settings–>Plugin Manager–>Get More and look through the list of plugins you can download.

After the plugin is installed, the Pi will reboot and when it starts back up your LCD display will show the IP it has on your network. That’s the IP you’ll use in the Terminal program to SSH to it.

The plug in will also display, during a print, the elapsed time, the time that the print will finish, the estimated elapsed time of the print, and percentage done.

SSHing We Go

Run your Terminal application and you should get a prompt where you can type in commands…and you type in the following line replacing the IP with the IP of your Rasp Pi and press return:

SSH PI IP

On the Mac, you might see something like this if you have never SSH’d into it before:

SSH PI Authen

What it’s saying is it doesn’t have a ECDSA, encrypted digital signature for the host, so…type in yes, we want to make sure in future the Term program knows who this host is.

Next up you’ll be greeted with the Password prompt. No brainer, if you’ve never changed your Pi’s password, it will be raspberry

If you’ve used a different password, use it. A successful login looks like:

SSH PI LOGIN

When you arrive on the Pi, you’re in your users directory so use this line to give yourself admin status and go into the text editor on the Pi:

sudo nano /boot/octopi.txt

This is a text editor, you don’t use the mouse. You use CTRL keys and your keyboard arrow keys to move around.

SSH Nano 1

Use the arrow keys to move the cursor down to just below where it says, “# for available options”. The # symbol means the line is a comment, not a command.

Press Enter to start a new blank line and type in the configuration for your webcam. In my case the line will read:

camera_usb_options=”-r VGA -y” and end the line with the return key.

Press CTRL O, this will write out the file and yes, you want to overwrite the old file.

Press CTRL X, to exit the Nano text editor

Back in the terminal now, type in:

sudo reboot

You can now quit your Terminal application.

The Rasp Pi will drop the connection to your computer, reboot and you should then be able to pull up Octoprint and have your web cam work.

19
Jan

3D Printing Power Meter

Just wandering through fleaBay sometimes produces a “hey that looks kind of interesting”…which then unlocks the labyrinth of bunny trails.

Since energy seems to be a topic, when I spotted a simplistic energy monitor, well, heck, let’s take it for a spin..

Energy Monitor

This is a 20 AMP AC monitor, a cumulative monitor no less. For the rock bottom cost of $10 CDN. For bucks like that, it’s probably so accurate it’s even used in medical applications. Or Not.

IMG 2295

A whopping four screw terminal is all you need to connect said wee beastie to the AC source. Which in my case (in the event you are not in North America) 120VAC.

IMG 2297

The unit brags that polarity is not an issue, none the less I tried to keep the neutral and hot leads where they might go logically. This is using the broad assumption that the engineer who designed this anticipated such logical thinking. Or Not.

Instead of leaving those uber friendly 120VAC lines laying around, I made a quick box and printed it to house the hazards.

IMG 2301

Next, up, what to measure?

3D Printer

This was solved fairly quickly since I had a 16 minute print job to do. I plugged in the Energy Meter, turned on the printer. Darn thing worked. Am I surprised? Yes, I am. Many is the time I have received things from fleaBay only to have the smoke leak out on the first power up.

From the first power up, with no printer even turned on I got this information:

PM Start

Next I turned on the printer. In my case it’s a Kossel 360W 12Vdc 30A power supply, Raspberry PI Octoprint AC adapter). I initiated the print and the bed starting heating. According to the Energy Meter, it’s using 10.3W of power, 140ma. Not exactly a power sucker.

I examined the 12V power supply to see what the current draw was when connected to the AC line. Yeah, what was I thinking. I dunno. Line voltage is the only spec for AC they give you.

PM Bed Heating

Once the bed was up to temp, the hot end kicked in. Oddly I thought the bed would be the demanding one. Turns out the hot end is actually the energy sponge. At this point the bed is not on. Just the hot end.

PM Printing

And then the bed kicked in, with the hot end. With both heaters on, we have a 2A load. Not exactly a heavy power user. To put it perspective, five of these printers would use less than an electric kettle, although it will run longer…

PM Bed Printing

After the print job was completed, the energy meter displayed the Wh (watt hours) used for the 16 minutes. Of course the printer was still on and drawing power so that is displayed as well.

PM Complete

Summary

So what’s the point of all this? Honestly it was more curiosity than anything else.

I can’t see this saving any money or anything, and considering the energy meter itself is a load, if left on for long enough it would add itself to the energy cost.

Plus it’s not like companies who build/clone 3D printers are going to suddenly get energy responsible any time soon. You can’t compare energy costs of this printer vs that printer, magazines don’t even give out that sort of info in their reviews.

I’ve never a review that stated, “While this printer turns out incredible print jobs, the energy cost is far above/below normal”. Wait. I’ve never seen the latter, I’ve seen the former too many times without any supplied hi-res photos of actual print output.

So there you go, for what it’s worth. Which could be slightly less than some of the reviews you’ve read. Or not.

6
Dec

Raspberry PI Monitor Mount

I’ve been using a couple of Raspberry PI’s for Astroprint (Astrobox) and Octoprint (Octopi) for the last few months and both of them have been performing perfectly. Although, what I have noticed is that running two Octoprints on two Rasp Pi’s Wifi connections take a little longer to establish.

Whereas with Astroprint, easier to setup, easier and faster to connect to. Resizes well to fit smaller screens like iPads or mobile phones. The gotcha is you give up a fair bit of control (like speed, flow rate, etc). Thus, pros and cons.

But I digress so…I have a couple of Rasp Pi’s that I use for various purposes and they work well. Except for a few things. Like being small, compact, easy to access and so on. While the Rasp Pi is billed as a true $35 computer, in fact it’s probably closer to a $250 computer. Add a keyboard, mouse and monitor, power adapter (a good one), Wifi dongle if you use a Pi 2 and it doesn’t exactly look like so good of a deal.

If you have spare components laying around, of course it does get more cost effective, but it’s still going to cost as much as a budget laptop in the end. Something to keep in mind.

What I loathe is setting it up, plugging it in to a monitor, keyboard, rat, because I want to do something in the GUI (Pixel) not the command line. Then tear it down and put it away. Ugh,

I have an ancient Samsung monitor, VGA, and that’s not going to plug into any Rasp 2 or 3 easily. So off I go to find an VGA to HDMI adapter…Amazon has them so I order one and it shows up.

Adapter

The adapter works but I do wish there was side nuts on that VGA portion so I could screw in the VGA cable from the monitor. Good thing it holds fairly well…

Unfortunately now I have this unruly 6′ VGA cable, power adapter cable for the PI and so on… It’s still not neat…

The back of the monitor doesn’t have any place to mount a Rasp Pi, there is no room on the swivel base that allows easy access to the microSD slot, HDMI and USB ports…so…

IMG 2023

I found a VESA mount for the Raspberry on Thingiverse…and printed it out. Then I looked at the back of the monitor and thought, what about if I designed a hanger…

IMG 2022

The expression is quick and dirty. I used a protractor to measure the angle off the back of the monitor the PI would need to be mounted at to make it vertical. Designed a simple hanger, screwed in the PI, added some stand off feet…and then zap strapped the VGA cable to the monitor stand.

IMG 2026

No cables running on the desk, all behind at the back of the monitor. When I need access into the PI to remove the flash card or get to the ports, it’s exposed and easy. I can use bluetooth or 2.4Ghz dongles for keyboard/rat and less cables.

Before I had a 3D printer, there would have no doubt been some project box, double sided foam tape, and an appreciable amount of misery involved when it comes to stuff like this. This is one of the aspects that really draws me into 3D printing. Making needed stuff…

28
Sep

Wi Fi Fo FM

I’ve had a cheesy FM radio over the work bench in the shop for a considerable time now. A simple FM radio that can play a memory stick, runs off 5V, maybe 3 watts of audio power. Big maybe actually…

To use it you can smack a bunch of tactile buttons or an IR remote. When I can find it.

Wandering through eBay a while back I came across an FM radio, that looked a little better than my previous “cheese special” but what caught my eye was the “serial control” option for the radio. There is no card reader or USB port so it can’t play from a memory stick. But I rarely did that any way.

The radio itself isn’t much bigger than a standard sized business card. The usual jacks give you power in, speaker outs, a serial connection port and something labeled GRSV which I have no idea as to its purpose.

IMG 1759

There’s a blue LED backlight in the LCD display and the display is quite difficult to read at any angle other than straight on.

The eBay listing gave the basic serial port config (9600, 8, N, 1) and you send commands like AT+FREQ=1035 with no line endings to direct select a frequency. Which to my shock and surprise works quickly and seamlessly. There’s even a squelch setting in the radio so you can “omit” weak stations if you’re doing a seek up or down.

In reference to “seek”, the radio does not scan through the band and store the stations for you. That wasn’t why I wanted it any way. I normally just flip around between a few stations until I find something tolerable to listen to.

The FM radio works best when you power it from 3.3V, but it will take up to 5V. I found at 5V it got a little noisy at times, whereas at 3.3 it was better behaved.

I’ve found no way to have the backlight on all the time, in spite of others who outline a procedure to make it do so. But I don’t look at it much any way.

I had an old set of Apple speakers from an aged iMac. Put some Dupont connectors on the cables, shoved them into the FM board and they work really well.

IMG 1763

There’s no fancy EQ, if you can call what passes for EQ in these budget things an EQ any way. Sounds nice, that’s all I care.

The MOST annoying thing about the radio is fact that the knobs work backwards. Turning them clockwise decreases the volume or the frequency. I think who ever drew the PCB was either mounting the rotary decoders from the rear or with a jumper cable. So I modified mine to work like it is supposed to.

IMG 1760

Took all of 5 minutes. Works perfectly this way too.

For serial control, you can test things out with a USB to Serial adapter (keep the voltage at 3.3V) but I wanted Wifi control so I don’t have to go looking for a silly remote, I can turn off the radio from the network.

The simplest WiFi control I’ve used, over and over, is the ESP8266’s. Either as stations or access points. Great little work horses. And cheap as borscht… I used a Lolin version 3, with the cruddy CH340G on it for usb to serial and programmed it with the Arduino IDE.

IMG 1762

I didn’t use the RX/TX since that’s the USB serial connection. To keep the separate i used the Serial.swap() command. This moves the 8266 TX/RX to pins D8/D7 respectively. Ran those to the FM radio’s serial TX/RX and it works like a charm for control. In the sketch for the 8266, I hard coded in the FM stations I wanted.

Type in “radio.local” in any browser on the network and the radio shows up (it has MDNS or Zeroconfig as some call it). Pick what you want, away you go.

Radio FM Web UI

The buttons labeled Radio ON/OFF are not actually power ones. They are the MUTE controls for the radio.

The volume goes from 0 to a maximum of 15, and with a 3D printer running in the room, about 7 is good enough. With the printer off, 2 or 3 is ample for background music. According to what I read if you run the volume fairly loud, the two IC’s on the back for the amp tend to run hot so a heat sink for them is advised. At a setting of 7, they don’t even get warm.

Last, there is a place to solder in a wire for an antenna, and true for some stations just adding a few cm’s of wire helps reception. However for the most part the radio is quite sensitive any way.

One of the things I would have liked would be for the radio to have RDS (that’s where they broadcast the station name, and the song title; buried in the music broadcast itself). The radio IC in use has it, but the PIC chip that is controlling it obviously doesn’t support RDS. Which may not be a bad thing anyway since I’d have to put a full display on the radio so I could read it. Once in a great while…

A cool little one afternoon project that I’ll have to print a box for after I’ve tested it out for a while…

15
Feb

Fan Noise

One of the benefits of owning a 3D printer is that they encourage endless amounts of tinkering if you’re so inclined.

One of drawbacks to owning a 3D printing is the same reason.

Truthfully, I have spent a magnitude of time doing everything from software hacks in the firmware to compensate for the inaccuracy of the printed parts, adding bling to it like power supply hangers; job timers; wireless control, to sitting in front of it just watching it print. Which, in some cases has more value to me than whatever might be on the TV at the time.

When I get too focused on some aspect of 3D’ism, David, one of the local FVMakers tends to be my voice of reason and sanity. I think he missed his calling as a Kossel Owner Therapist.

However, there has been something that has annoyed me from day two. Keywords there, DAY TWO.

Day one it didn’t, I was just happy that it barfed some PLA out of the nozzle at that point.

Therefore as the topic of this blog post points out, noise. Specifically fan. As in power supply cooling fan. BOEING wind tunnel. Shuttle launch.

I have a couple of 12V 30A supplies so I took the one apart that wasn’t in the Kossel. Found it’s a 6015 fan. The 60 is the size of the fan, 15 is the depth, 60mm x 15mm. What floored me was the working voltage 14VDC. Now what engineering resume polisher would use a non-standard voltage fan like that? Try to find a source for them. Right. Good luck with that.

That shelved the idea for a while and then, well, noise is noise. It started to bug me again. You know the old saw, “The squeaky wheel gets the grease.”, I just changed that to, “The squeaky wheel gets replaced”.

This time I took the power supply off the Kossel and opened it up. Incorrectly I’d assumed that 360W supplies would all be relatively the same. Nope. The one I took off has a [insert drum roll here]…12V .11A fan. Standard. I suspect this engineer still has his job.

Power Supply Fan Replacement

Now, if I’d have found a 14V supply for the fan in the power supply, I’d have wired two silicon diodes in series with the positive side. At .7V drop per diode that would have dropped it within the 12vdc fan working range.

The replacement fan I got is a GELID Silent 6 fan. These have hydro dynamic bearings instead of the usual sleeve bearings. So longer life, lower noise. The GELID is rated at 3400 RPM, 16CFM, 24dBA. 12V .22A. So the amperage is higher than the original fan, but when I measured it, it certainly wasn’t .22A. Closer to .16A.

Fan RPM is a good indication of just how noisy the fan is going to be. A 5400 RPM fan is going to be a lot noisier than a 3400 RPM fan. But of course the trade off is CFM. Then again, noise doesn’t always correlate with CFM either.

Inside the fan is a standard 2.54 spaced connector, which I just happen to have a lot of. No problem there. You can see it in the photo at the bottom center of the pic, CON2.

Power Supply 360

The GELID fan is actually a 3 wire fan. It reports how fast it’s going on one of the wires. Since my power doesn’t give a fig about how fast it’s turning, I never used that wire. Leaving it disconnected means the fan will run full speed if you connect it directly to 12V. However the supply in these power supplies is temp controlled so they vary in speed any way hence feedback from the fan is not required. Ignored in fact.

One of the sources of noise is the path of the air. Most of these supplies have fan “cut outs” that are supposed to do. Something. Maybe keep you from dropping screw drivers or bowling balls into the fan. Or. Something.

41gXr 7NPFL SY355

My power supply is mounted on the top of the Kossel frame and it sits atop a fairly high work bench. I almost need a step stool to get to the top…I could never lift a bowling ball that high… The cut outs induce noise.

I measured the amount of noise with the fan and cutouts in/out. First in, original fan @84dB. With GELID fan, cut outs in, 77dB.

Armed with a nibbler, there was no going back.

Power Supply Fan Hole

Put the GELID fan back in, remeasured the noise, 71dBA. Yep. The little holes make noise. If I wanted to protect the fan, I’d put one of those foam grill covers on it. I’ll wager that would lower it slightly more.

Power Supply New Fan

So that’s how it sits now. When the Kossel isn’t heating something the fan noise is less than 70dBA. When it’s printing, the steppers are now noisier than the fan is. Used to be that the two would be in competition for who could be the loudest.

My last test was with an IR temp probe and even at the low CFM of the GELID fan, the difference is 2 degrees C warmer. Big deal. There’s more than enough air flowing through the power supply to keep it cool. Maybe in the summer heat that might go higher but not enough to be a concern.

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

30
Dec

Octoprint, Astroprint and Wireless – Oh My!

One of the not so nice things about owning a 3D printer is the fact that it’s tethered to your computer. With a USB cable. Probably a short one. And if your computer goes south as you’re working on it at the same time as you’re doing a print job, well, it does tend to expand ones vocabulary.

In some cases a tethered 3D printer means you need to clean your stuff off the table so dinner can have a place to be served. Providing your have an understanding spouse. Who wishes you had a faster printer. And to save you the time, no, this will not work as a ploy so you can BUY a faster 3D printer. Nice try sparky. Don’t ask me how I know this.

According to the USB 2.0 specifications the cable length can be 6ft 7in to 16ft 5in.

My experience with cables is that unless the cable is well made, i.e. properly shielded and decent sized wire inside, you want to stay with shorter cables. But, I’ve seen a 10 foot cable with a USB extension cable jammed together to make a 20 footer plus in some cases. Followed by a question of why the printer “seems” to have an issue printing. Hint, it’s not speed, it’s noise and signal degradation.

I see a lot of long USB cables that would serve better as jump ropes than for reliable data transmission.

If your printer setup is in that particular kettle of sardines and you need a longer cable, do yourself a little favour and look for an ACIVE USB cable. I have a 20ft active cable that works just peachy.

Of course the dream of many is to get the printer released from the computer altogether. As in wireless. And that’s the gist of this article.

When I started down this rather 4×4 rocky road, I had a great a mythical vision and a tankful of dumb. A dangerous combination to be sure but since when did that ever deter anyone?

I started by looking at the problem. Wireless. I have lots of plain RF and RF UART modules. We’re talking short range for the most part. Should be a snap. The Arduino MEGA in the Kossel has spare serial ports so I could shoe horn into the USB port one (TX0/RX0) or I could use some of the unused pins on the MEGA for raw RF.

I modified the Marlin software and stuck these in.

433Mhz

Insert first rude awakening here. The modules I used are one way only. Turns out that the software in Marlin sends an OK after it processes each line of G-Code. When the host that’s sending the GCode doesn’t get the OK, it waits. You know, like forever. While I was burning some of the dumb from my tank, I also found that these things can manage 4KB per second.

To put that speed in perspective think dial up modem speeds. From about 1982. Good. Got that out there.

The Kossel wants 250,000 baud. Time to look for something that will do that. Next up, I tried Bluetooth (HC-05) and I actually got the thing working. Course there was no way in the real world it was going to work at 250K so I started to crank the speed down.

Two new problems reared their ugly behinds. The first is when you get a speed that the Kossel will run at, you find that there’s a delay in the transmission rate in Bluetooth. So you send GCode, the MEGA immediately (it seems like it anyway), sends back OK. The HC-05 does not like to be pestered this fast. Better for slow speed mice and keyboards. Secondly, there’s a buffer in the HC-05 of 20 bytes.

Rude awakening number 2. But I’m on a roll and really burning through the dumb fuel now!

To make this short, after trying numerous other RF “things” I came to the conclusion it is like the engineering triangle. You have cheap, fast, reliable. Pick any two.

Abandoning RF, I decided to tackle a 3D print server idea. Repetier has host software that you can run on a computer that is connected to your 3D printer but it means you are tossing a full desktop/laptop computer at the problem. Fail.

Which led me to the Raspberry pi.

An all in one Linux based SBC (single board computer). Dreamt up by some guys in the UK as a solution to a problem that they seen. I mean all you have to do is connect up a keyboard, monitor, power supply, and a powered USB hub. Heck, a second hand computer has to be in the same ballpark for cost and a heck of a lot more friendly than Linux/Python and Scratch. It’s like “instant water!”, just add water, stir and you’ll have….wait for it…water.

I picked up a Rasp pi B+ Model 1. I didn’t even know there was a model 2 with double the ram and faster speed.

Try to imagine what happened when I put Octoprint on the lowly pi and watch it stutter PLA. Now apparently this combination works for some, but at the same time trolling through the various forums it certainly doesn’t work for a lot of people. I am one of those.

Jason, one of our fellow FVMakers, was kind enough to loan me a Model 2 Rasp pi to try out. Stuck Octoprint on it and was printing in a matter of minutes. Admission, Linux is for nerds, I am a nerd.

See, at this point, I was down to less than half a tank of dumb. Things were indeed looking rosy. Ah ha. I thought I had the solution. Nah, just setting myself up for the next head banging session.

I ordered a couple of Rasp pi’s MODEL 2’s from Adafruit, along with various Wifi adapters.

Then I got a WooToo powered USB 3 hub from Amazon so I could power everything. You read that correctly.

The pi runs off 5V input but cranks it down to 3.3V internally. The USB ports on the pi are severely underpowered and I’m told there is a fuse on the input to the pi that makes sure you don’t draw too much current via the USB ports. I don’t want to find out.

So how do you know you’re sucking too much power? Turns out the pi, if you plug it into an HDMI monitor and boot it up, will show a colour rainbow icon towards the top right of the monitor. I had a Wifi adapter, USB keyboard plus mouse and I was seeing this “blinkin'” icon during my tests.

The Raspberry pi only has 600ma of current available and that is shared for it’s four USB ports. So the design team on the pi made some rather goofy choices since USB standard is 500ma per port. But hey, it’s Linux. So hackable. You can modify the pi’s boot up config to give you 1.2A. Course at this point you just might need a fan. To cool the pi’s voltage converter because I don’t think it was ever designed to handle that amount of current.

Finally down to a reserve tank of dumb, I finally sat down and started to read specs. Because the internet is full of such accurate information.

If wireless 3D printing is your goal, here’s what I found works, reliably. And fast. Notice which one is missing? Good.

There are other Wifi adapters for the pi. I tried several different ones, all of them a LOT smaller than the Ourlink one. First thing I found was they drew more current and the range on them was pathetic. Great if your router is in the same room, not so good otherwise. And really, these dongles all cost about the same anyway.

The Kossel doesn’t plug into the PI’s USB ports. It goes into the powered hub. I found when I had the Wifi dongle and Kossel plugged into the pi, the LCD display on my Kossel would flicker. I don’t see this as a good sign.

Now that I finally had all the hardware, it was time to try out the software. First I tried Octoprint. Download it from a precompiled IMG (image), dumped it onto a microSD card and good to go.

Right. In an alternate reality.

See the catch is the microSD card. Although some SAY it will work on as little as a 4GB card, forget it. Get a 8GB card and make darn sure it’s a CLASS 10 card. The Rasp PI site says class 6 is a good trade off, but I found the class 10 cards work better than the class 6 cards do. The main difference is the class 6 card works slightly better when dealing with lots of small files. Whereas the class 10 handles larger reads and writes better. GCode files aren’t all that small…

Some class 10 cards also sport UHS-1 (3) as in ultra high speed. I had a lot of trouble with some of these cards and I can’t find any info from Rasp themselves that say they even support this higher speed card.

The next order is an SD card formatter. No, not the one that’s built in your computer. One from the SD manufacturers. And if your card supports it, use the option to optimize the card format.

Good the card is formatted. Now you need the downloads:

Octoprint
Read the text on the site, if you’re using Wifi you need to edit a file on the SD card after you write it.

or

Astroprint (astrobox)

Oh wait, how do you get those images on the SD card? Right you need more software…

For Windows – Win32DiskImager

For Mac users – ApplePIBaker

Essentially select the image, select the card, write. Make a coffee while it’s doing it.

If you wrote Octopi and you need Wifi you’ll need to edit a file on the card.

In my case the easiest one to get running is Astroprint. It starts up as an open access point, you connect it to, configure it to connect to your Wifi router, reboot it. Do a few settings, good to go.

Octopi, not so easy. Lots more settings, not mobile or tablet friendly. But there’s vids on setup works a lot like Repetier Host.

I’m not going to review the two packages, but I’ll tell you that Astroprint is a fork of Octoprint. The main difference is in three areas. Complexity, control, and features. If you want MAX control and feedback from your print job, Octoprint. Hands down. Octoprint will even do time lapse videos of your print job, not to mention realtime video streaming of your job (about 5 or 6 seconds lag).

If you want to send a GCODE file, start the printer, then go about doing something else. Astroprint. Hands down.

Both of them are easy to access via your LAN or WAN if you want to open up a tunnel in your router and use an access password. They use Apple’s Bonjour (zeroConfig, mDNS). This is built in every Mac out there, but you need to install it in Windows. If you use iTunes in Windows you probably have it already installed. Or you can download it directly here

Running your browser and typing in astro.local or octopi.local will bring up each servers control pages. So you can control the printer, upload files to the sd card to print, or directly to the SD card in the Kossel…well, Astroprint doesn’t always like the SD card in the Kossel so I don’t have one in mine.

It’ll take a few seconds to connect to the pi server, if you need it faster, I don’t know what you’d do to speed it up. If Octoprint is busy with a print job, I found I can make it stall for a split second when I connect. I have a hunch that because it’s streaming live video that sucks all the CPU power up from the pi.

Astroprint does no do live streaming but offers you the option of plugging in one of those old USB cameras like Logitech makes and selecting to do a still capture at that moment.

A popular feature of Octoprint is the time lapse photo ability. It takes a series of photo shots as your print is happening. These look great on YouTube when compiled into a video but beyond that I don’t really see much of a use for it. Plus the jpeg streaming that the pi does tends to tax it’s wee little processor. Even the PI 2. Enter overclocking for the PI. I don’t do it.

Using either server via a browser is simple, but Astroprint is far better designed for mobile browsers. Octoprint doesn’t have the same capability. Thus controlling your printer from a phone or tablet is easier with Astroprint.

One of the better reviews I found online for Octoprint vs Astroprint is this one. The thing to keep in mind that it’s more like an arms length review. There’s no lifting the hood to see what makes it tick, nor any real world tips or techniques. Or things to watch out for. I like to kick the tires on these things and see what rattles.

I ran each one for a month and put both through their paces. In my humble opinion neither one of them is perfect. Both have flaws in different areas. Therefore you have to examine each to figure out exactly what the most important parts are for you and then use that setup.

In addition I found that you really don’t want to leave them running 24/7. I have my PI 2 setup along with the Kossel on a power bar. When I want to print, I power them all up at the same time. Both Octoprint and Astroprint work more reliably for me that way. In not doing that, I found the Octoprint would lose it’s connection via USB to the Kossel, and Astroprint would screw up the controls if I cancelled a print job. REBOOT….:-)

There are still things I am trying to figure out, one is the amount of SD card space left when you send a design to print. Octoprint makes this easy, Astroprint I have no clue. It says nothing about available space that I have found.

Lastly, for whatever reason, printing from the computer via a USB cable is faster than having the PI with the servers to do it. It makes zero sense at all to me why this should be, but timing the same print job always takes less time coming from the computer. Just weird.

There are other 3D print servers that run on a PI as well but not free of cost. Like PrintToPeer. While the software appears to be open source, you need an account with PrintToPeer so need an internet connection where you send your STL file, they slice for you, then send it back to your printer for printing. Judging from the web site it looks to be aimed more at commercial applications than home users.

Setting aside the cost of whatever a PrintToPeer account is, connecting to the internet so I can control a LAN based 3D printer sitting 10 feet away me means they must have found my empty dumb tank and possibly a few others and overfilled them for their own use. Words “self reliant” have been lost on these guys. I just don’t get it. But they aren’t the only ones doing this net/cloud based stuff for your local control. Honeywell and Accurite do as well. They should pay you for doing their market research.

Hopefully you got something from all this info, because I’ll tell you straight out that the water’s pretty murky when it comes to print servers. There’s a lot of time when you feel like your row boat only has one oar. Hence when you see the caption that says, “Untether your 3D printer for $35”, you want to do a oar count.

28
Dec

3D Benchy – Netfabb – Printer Torture Test

Apart from replacing a nozzle on my Kossel, recalibrating it, testing PETG (which is weird stuff) and doing a LOT of PLA printing, I’ve also been testing wireless printer control options. Specially AstroPrint and OctoPrint. But I’ll leave those for another day.

Today, it’s once again, Benchy time. Benchy, for those who have never heard of it, is a 3D printers worst nightmare. It’s small, complex and shows any weak areas in your printer setup/calibration in a heartbeat. Frustratingly so.

I printed one, ages ago when I was cutting my teeth learning the in’s and out’s of 3D printing. It printed, but it wasn’t nice. It’s out at the FVMaker space if you want to see it. Take a look at the photo and you can see the bow has some areas where the PLA shrank and you can see the bridging is a mess.

IMG 0366

Keep in mind I’d done a lot of 3D printing up to the point when I first printed the 3DBenchy. So I assumed that the print would be a walk in the park. Nope. More like a stumble in the dark.

First thing I found was Slic3r didn’t like it. For some reason I couldn’t fathom, other than Slic3r, like most open source software, isn’t perfect and makes its own limitations fairly obvious. Secondly it showed me that there is a direct correlation between printing speed, PLA brand and PLA temp. Every printer I have looked at will get to some point where it does the best job it can given its current settings. Go above or below those and quality becomes an issue. My Kossel is no exception.

At the time I thought I could slow the print down because laying hot PLA over hot PLA was part of the problem. So that was about as wrong as one can get. What you really need is cooling somehow. My Kossel kit like everyone else’s has no provision for cooling. Thus, on small quick prints you are doomed before you even start.

Second, but only slightly less important is the PLA brand I print with. Some brands flow fabulous. And some don’t. You need to find the temp they work well at and remember it. Some brands will print and flow well, but tend to ooze every time you get near a border jump. Strings are the indicator. Thus the secret is, which is not brain surgery, find a brand you want to stay with and tweak the daylights out of it for your printer.

I’ve done numerous software (Marlin) tweaks for accuracy and trust me, you can tweak Marlin until you’re blue in the brain and it still won’t be perfect. For example, tweak the Z setting, it will affect the X, and Y. And vice versa. It would be super nice if there was a way where it could tweak itself sort of like a marble in a funnel concept so it would be 100% accurate. But it’s a delta printer, pendulum swinging plastic squirter. Be happy if you get close to accurate.

Anyway, back to Benchy. I’d just replaced the nozzle in my Kossel. No, I didn’t wear it out, the PLA broke off inside the printer head and I had to take the whole thing apart to get it out, just as easy to replace the nozzle. I spent a little more time than usual re-calibrating the printer to get dimensional accuracy. So when 3DBenchy appeared on Thingiverse, I thought what the heck. I’ll try it. Again.

Just checking on Thingiverse, 386 people have printed the little brute out. Wander through some of the prints made and you’ll see some good, not so good and prints (where the person is pretty happy) but it’s a good thing that plastic floats because Benchy wouldn’t hold out the water.

Screen Shot 2015 12 28 at 10 47 48 AM

Or:

Screen Shot 2015 12 28 at 10 48 54 AM

Or:

Screen Shot 2015 12 28 at 10 52 11 AM

Only this time, I changed one thing. I added a fan. No, not on the print head, a big 100mm fan off to the side of the bow so it was blowing right down the bow line of the boat.

IMG 0866

And then I just let the chips fall where they may… for printer settings… this is what was suggested:

  • Scale: 1:1 (unmodified in size, from bow to stern #3DBenchy.stl measures 60.00 mm).
  • Layer height: 0.2 mm
  • Infill: 10%
  • Print speed (extrusion): up to 50 mm/s
  • Print speed (travel): up to 150 mm/s
  • Print nozzle diameter: 0.4 mm

The Benchy web site gives you the dimensions that your finished print should be. Pull out your digital micrometer and prepare to drive yourself nuts. If you’re so inclined…

My only variations were that I set the infill to 25%. It’s my default infill I just left it. The speed I left to what I normally use for print jobs. I didn’t slow it down or speed it up.

I first tried slicing the 3DBenchy.stl file in the download but Slic3r had some issues with it. Like 3,000 errors that were “fixed”. I never understood what this error was so I figured it was time to figure it out.

I have a group of friends who live in this 3D world and they said it’s that some of the triangles in the objects overlap. Slic3r has trouble dealing with that so it tries to repair them. They also strongly suggested that if that happens, don’t let Slic3r fix them, use a piece of software called NetFabb to do it.

So….. off to find Netfabb. I downloaded the BASIC version. Ran it, did some registration that was required and then opened the Benchy file. It takes about 5 mouse clicks to fix an object:

1. Click on the + icon.

Screen Shot 2015 12 28 at 4 42 10 PM

2. You’ll see some results show up in the dialog, some in RED. Click the UPDATE button to fix those.

Screen Shot 2015 12 28 at 4 42 29 PM

3. You should now see 1 shell as you see below. If you see more than 1, well, don’t use the file…

Screen Shot 2015 12 28 at 4 42 41 PM

4. At the bottom right corner, you’ll see an Apply Repair button (skip the auto repair button). Click it:

Screen Shot 2015 12 28 at 4 42 50 PM

5. A new dialog will appear asking you what to do with the old design. Toss it:

Screen Shot 2015 12 28 at 4 42 59 PM

6. In the “parts” list right click on the “part” and a submenu will appear. Select Export as STL.

Screen Shot 2015 12 28 at 4 43 19 PM

Netfabb will use the same name as the file you loaded but will add (repaired) to the name. I see this as a good thing. Oh, Netfabb might also pop up one more dialog to ask about the “accuracy”, just click the okay button to have it fix that too. Usually only happens on some STL files.

Open this new repaired file in Slic3r or whatever you use for slicing and there should be no repair error messages generated.

I have used Netfabb now a number of times to fix Thingiverse files or files that I have modified that give the slicers fits. The basic version has worked perfectly every time on those troublesome STL’s.

Here’s the old Benchy (hard to see the mess of the bow):

IMG 0365

And the new Benchy with the fan running:

IMG 0870

While they might appear similar in the photos, when you physically look at them in your hand, it’s day and night.

So there you go. Small prints benefit from cooling. You don’t always need to mount some uber fan on the print head, and NetFabb can be your best friend.

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….

4
Nov

IoT – ESP8266

IoT or Internet of Things has been gaining momentum for a while now. The first I’d heard of it was last year when I was introduced to a Spark Photon. A 3.3v Wifi enabled controller with some I/O and a cloud based programming software solution.

My initial reaction was disappointment. First off, 3.3V, my world revolves around 5.0. A new “language” or “script” to learn and being tied to a cloud for developing for it. So with three strikes against it, it wasn’t something that I was getting any warm fuzzies from. Another solution looking for a problem to solve.

Then along came the Photon, Spark Core and a plethora of Wifi things for Arduino (well, micro controllers in general). The Wifi things caught my eye since most could be a access point or client. I think I ordered almost every variety of them that came out.

Thus everything from the USR-232_WIFI, CC3000’s to ESP8266-01. They all shared pretty much the same communication route. That being of Hayes modem AT style commands. Yeah, Hayes. From the early 1980’s. I got the feeling we’d come full circle on that dog and pony show. Ugh.

However the ESP8266 was so economical that guys would devise all kinds of circuitry to restart them to maintain connections, or spend hours to make them more reliable. Finally adding a LUA interpreter because reliable the early ones weren’t. But they were cheap. You just knew folks would keep hammering at them.

As it turns out the ESP8266 is a fairly powerful micro controller with WiFi capability. So from the first sign of it in August 2014 until now, there’s been a LOT of people beating this thing into submission. For them, my hats off to you because we are now at a point where I can actually use them without spending time and energy debugging them.

So what’s the specs on the 8266?

  • 32-bit RISC CPU: Tensilica Xtensa LX106 running at 80 MHz
  • 64 KiB of instruction RAM, 96 KiB of data RAM
  • External QSPI flash – 512 KiB to 4 MiB
  • IEEE 802.11 b/g/n Wi-Fi
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • WEP or WPA/WPA2 authentication, or open networks
  • 16 GPIO pins
  • SPI, I²C,
  • I²S interfaces with DMA (sharing pins with GPIO)
  • UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
  • 1 10-bit ADC

There are two devKits 0.9 and 1.0 that make connection and programming MUCH easier! Starting with version 1.6.4 of the Arduino IDE you have the ESP8266 core libraries built in. You program the 8266 just like it was an Arduino, even the blink sketches.

GitHub has instructions and information…really once the IDE boards manager has installed the ESP8266 and its variants, using it is pretty simple.

I’ve built a couple of projects now where at one time I’d have an Arduino, ethernet board, Wifi dongle just to get WiFi. Now I do the whole thing with the single devKit 0.9 or 1.0.

I’ve connected LCD’s, DHT sensors, RTC’s, switches, and even NeoPixels. All work flawless. If there’s one area that you can get caught with, it’s that it’s still a 3.3V chip and jamming it with 5V signals is not good if you want longevity from the board. Use a level shifter or voltage divider if need be.

In closing, now that I have used the ESP8266 12 and 12E devKits, I can’t imagine using Wifi any other way. I feel we finally have a product that’s worth of the tag, IoT.

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…

10
Jun

It’s a Sign – Parola

The Makerspace group that I’m involved with, Fraser Valley Makers, got to setup a booth this year at Vancouvers Mini Maker Faire on June 6 & 7. I was asked if I could lend them a few of my finished projects to display in their booth. And I happily obliged.

The group had made a rather large wooden sign advertising them at the faire but they remembered my matrix displays that I use when I build my scrolling clocks and asked if I could put a little sign together for them.

Any one who knows me, well, is aware that I don’t half do things. So I grabbed 24 of my little matrix displays, routed out a pine plank to fit them, installed them in it and it was hung at the booth for the show.

Parola FVMakers

The modules all use the Arduino Parola library.

There are three messages for the sign display. Each of them cycle 5 times before going on to the next.

Parola FVM Sign

The third message in the sign I decided to make programmable so they could change it what ever they wanted. The kicker was trying to figure out the best way of changing it. Of course the simple method would have been just connect up a USB cable from the Arduino to a nearby computer, change the sketch and re-upload it.

True, that would have been simple, but also a pain in the rump because the computer was going to be 15 or 20 feet away. And then they had to have the sketch and so on. So my mind started to think wireless thoughts. Could be simple RF with via a serial link from the computer to the sign, but then I started to think “access point”.

I briefly entertained the ESP8266 but for all the accolades I read about them my experience is they are cheap for a reason. And not exactly easy to use (like an AT command set from a bad 80’s movie). I understand this is changing but the steps for putting whatever firmware they require to make them “friendly” is not exactly documented in any easy to follow step by step method that I can find. Nor are they Mac friendly when putting firmware on them. Thus until such time as that changes, to me, they are still just junk. Destined to sit in my parts bin.

Then I remembered I had a couple of USR232 WIFI-T’s in the parts bin.

Parola FVM CTRL

Setting them up as an access point is stupid easy. Because I didn’t want to screw around with HTML coding, I decided I’d use plain old TCP to send messages to the sign.

On my Mac’s, that was easy. Change my wireless to the sign’s AP, then fire up the Terminal, type in Telnet 10.10.150.254 8899 and presto. Worked perfect. Anything I typed showed up on the sign instantly.

Thus Mac control was simple. However, for all the makers in our group there’s only two of us with Macs. All the others are Windows. Took me about 10 seconds to research enough about Windows to find it essentially has nothing like Terminal built in. Actually, someone told me the only thing Windows did have built in was obsolescence. Since I know beans about Windows, I don’t think I’d put much stock in that statement. After all, all computers are designed to be short lived. Nature of the market and all.

At any rate, I set off to find a Windows TCP client and I ended up with puTTYtel (TCP Telnet). After changing the “session” from active to passive, it worked perfectly as well.

The sign ran perfectly for the entire faire but the funny part was that the other makers who looked at it, assumed it was a commercial sign and not one that someone had hacked together with Arduino control. Talk about hiding in plain sight…

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.

18
Apr

WeatherMate – Arduino Style

When you’re an avid golfer, weather tends to play an important part in trying to book advance tee times. I’ve found that in shoulder seasons, 10 day forecasts tend to be sprinkled with pixie dust. On many occasions that pixie dust turns to something you really don’t want to be out playing golf in.

The first task was to find someplace to pull weather from. This lead me to a service called Wunderground. This service pulls weather data from “PWS”, personal weather stations, all over the world via the internet.

Documentation and how it works is a little scant but the drift is this. You can sign up for a free “ID key” and with that key you can send an HTTP request and receive weather data for just about any where in the world where they have stations reporting. If you want to know what stations are around, that’s a little tougher but you can use your ID KEY with a geolocate tag and Wunderground will supply the info. Sort of. Don’t get fussy, it’s pretty generic data.

With a standard query, you name the country and area and Wunderground will deliver the weather info from any one of several stations in that area. If you want weather from a specific station, you can request that as well BUT be aware that I’ve had these stop for a few hours from time to time or not respond at all. Whereas with the area report it is 100% responsive.

With a basic non-paying Wunderground account you can pull in 500 queries a day. Should more than enough and I found any more than about every 20 minutes is largely a waste. Every half hour would be perfect I think.

You can request the data as a “.json” or “.xml” file. At this point, we have the data. Now what to do with it?

Enter the Arduino.

I had many options at this point. So, start off simple. Use an ethernet board and an LCD 4 x 20 display. Theres a “.json” parser for the Arduino, probably even an XML parser someplace. I never got that far. The display on an 4×20 LCD looked pathetic. Text. Ugh.

So I grabbed a TFT. A 320×240 3.2″ from ColdTears Electronics. I already had an Arduino Mega adapter board for it.

Whoops. Snag. Darn. I’ve yet to find a way to get a TFT display and shield to work with an ethernet shield. They both use SPI and don’t play nice together. At all.

Then I remembered I had all these WIFI modules. Some ESP8266’s, HC-21’s, HLK-RM04 and USR-WIFI232-T’s. So I started with the ESP8266 and worked my way through each of them. To see which one was the most reliable and easiest to use.

To make a long story short, formatting and sending out requests and getting stuff back is a work of frustration with these modules. Everything is an “AT” command from the 80’s when Hayes modems were in vogue and if you send too fast, time out, or the phase of the moon is wrong, these are anything but reliable. When I DID get one to work for a few hours, at some point they’d lock up and require a reboot to get going again. And parsing the data was a pain in the butt. No contest.

Bah.

As I was reading the docs for the HC-21 (translated from something I don’t natively speak) I noticed the phrase “transparent” in a number of places. Okay. Transparent. Maybe that’s something. After reading way too many poorly translated pages, I found that if you simply wanted to do a TCP connection with the HC-21’s, you set them up and anything you sent out serial got sent as a TCP packet and anything that showed up on the HC-21’s IP address/port got shoved right through to the UART.

No frigging around with HTTP, parsing or anything else…mmmm. Since I have a server in the office here that runs 24/7/365 I decided I’d write a Mac program for it that would pull in the data from Wunderground, parse it, and send it out to the Arduino every “x” minutes as a TCP packet.

I connected the HC-21, set it up with a web browser, then connected it to a USB to serial converter, and finally Telnet into it from another computer and read the TCP data that showed up through the UART.

I also managed to get the USR-WIFI232-T working equally well. The RM04 and ESP8266, not so much. There was even a firmware for the ESP8266 that said it turned it into a “transparent” device but what I found was that it made it an access point with transparency, not a STA (station/bridge) with transparency.

IMG 0601

That’s a DC-DC buck converter to go from 9VDC down to the 3.3 that the HC-21 uses. I tried a simple LDO 3.3V regulator but that didn’t work at all. Instead of 3.3V, I got about 2.6 out of it. So I just grabbed a buck converter to do it, but even this one needed some adjustment under load to get it to 3.3V. The HC-21 wants 200ma! Be warned.

The HC-21 basic info:

HC 21

The UART settings for the MEGA (could have set the UART faster because the MEGA has four hardware serial ports, but I didn’t). My full string I send from the Mac is 48 ASCII characters and I use strtok on the Arduino to parse that. Works quick and simple.

HC 21 UART

Note the PORT. When I send to the HC-21, it’s like 192.168.1.51:8000 since anything that goes to port 8000 goes right out the UART.

To bridge the HC-21 to one of the office routers:

HC 21 Bridge

Notice I set the Wireless Mode to “g”. Yeah, too many of these little things like to default to “b” (like the ESP8266). So this works fine.

Lastly, set the IP info up:

HC 21 IP

I set up a STATIC IP and in my router I use the MAC address of the HC-21 wifi to make darn sure it stays at that IP.

For initial testing, I left the HC-21 connected with the USB to Serial interface. I wrote the Mac application and sent the data to the HC-21 to make sure it got there. No problem. Worked like a charm.

The HC-21 has an indicator LED on board and when it flashes about once a second like a heartbeat, it’s not connected as a bridge. When in bridge mod it flashes a double blink.

As I used the HC-21, the more I liked it. But I also found some interesting stuff out about it. First off, forget using the 3.3V output from any Arduino. When the HC-21 is running it pulls upwards of 200ma, the Arduino barely puts out 60ma on that 3.3V line. The HC-21 runs WARM, not hot, but most assuredly warm.

Once programmed, from a cold boot, the HC-21 will connect to your router in under 5 seconds. With some of the other modules, it was more like “later that same afternoon”…so the HC-21 is a nice performer that way.

After verifying that the data was getting to it, it was time to start building the Weathermate remote display.

With a strip board I put on the buck converter and a level converter. I’m not 100% sure that one NEEDS a level converter with the HC-21 to a 5V Arduino for the TX and RX but I used one any way.

IMG 0602

Then I wrote the sketch to receive the TCP data:

IMG 0603

The icons are stored on a 1GB SD card so if I have to update them, it’s easy. Although I could have stored them as an image right on the Coldtears display (it has room on its Font IC). I use the ColdTears library and the UTFT library.

Why the ColdTears one? Simple, fonts. Cold tears puts out some good quality displays and include what they call a “Font IC” which means there’s a number of fonts in the different sizes installed in a ram chip on the display. Rather than an external font or one that you have to add in to your upload, it’s built in. In sufficient sizes that Ive rarely had to use any of the TFT external fonts.

For a project case, I used a 4x4x6 plexiglas box that was meant for a LED matrix display. I mount the display in a piece of 1/4″ foam board so I don’t have to cut holes in the plexiglas.

IMG 0605

A printed graphic on the foam board gives a nice effect:

IMG 0607

The image itself is from my home golf course here. NorthView Golf & Country Golf Course, Canal course, #17. Depending on the wind, it can be an intimidating shot. By year end there’s enough balls in that pond that you can almost walk across it and not get your feet wet…

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…

1
Apr

Acurite – 00592TX

Lots of Arduino ideas start off with a simple enough goal. Essentially you want to accomplish “X”. What ever “X” is.

So you start with Google to see if someone has already done any ground work to save you some time and, inevitably, frustration.

As an avid golfer, weather plays a very important part in getting out to play. When I was a working stiff like most others, on days off, if you wanted to play, you went. Rain or shine, did’t matter. There was only so many hours you had to work with.

In retirement now I’ve got a lot more fuzzy about the weather. Cold is not so critical but rain, hail, and exceptionally high winds are. You know those weather conditions where you ask yourself, “What am I doing out here?”. And you usually don’t have a logical answer?

The weather stations I have at the Wanch here work good for todays weather. So does walking to the window and looking outside. So future weather starts to play a very important part. I have a couple of Acurite weather stations that “predict” tomorrows weather because on some “magical” formula laden with pixie dust.

And thats how it all started… innocent enough.

Searching around indicated that most of these companies don’t publish their protocols so you have to reverse engineer the data stream with a probe and some software (Audacity seems to be the software of choice). Fortunately all the RF seems to center on the 433MHz band. There are scads of those things for the Arduino.

During my searching I happened across this web site:

TechSpin.info

Low and behold Brad had decoded the stream and even writing a sketch for the Arduino UNO to show how it was done. He wrote a three part series in a clear and concise manner on this so if you have the same TX unit, read all three. Worth it!

As fate would have it, I have the same 00592TX that Brad used but my base station was a little more involved than the one that Brad used. I have a 1097B station remotely connected to mine.

I decided that for clarity, I’d use a ColdTears TFT 3.2″ display (320×240). My thought was that I could use the fonts and icons that are in the FONT IC that’s included with the ColdTears displays to make some of the graphics programming easier. And to that end, it does work nice.

There are many TFT displays out there and I have many different ones here as well. From 1.8″ to 5″. Plainly stated if I want a premium display I use one of Coldtears products (they have matching shields). Keep in mind that you won’t be using one of these large TFT displays on an UNO. Mine all run on MEGA’s (2560).

So after a few false starts and problems, I got it working:

IMG 0570

I know…AcuWrong…well, when you have enough software errors cause you shouldn’t be coding when you’re tired, projects tend to take on a name of their own…

The two icons are from the IC that ColdTears has on the displays. Easy to use. The battery in the remote and the “signal strength” are shown. The battery is sent in the data stream from the remote so you can decode it and display the amount of battery remaining.

The signal strength had me going for a while. On my base station there is a four bar signal strength graph and I found that it’s not signal strength in the RSSI mode. The TX sends out four packets that are identical. The receiver then calculates the checksum on each packet and display how many packets were correct.

Some how that equates to signal strength. I guess.

I could read four packets but because of the way the interrupts work, when the signal dropped off, and I’d receive less packets I couldn’t accurately detect it. So I gave up trying.

A real time clock (DS3231) was added because I had the idea that I’d show the high and low info for the day. If you try to use my sketch you’ll probably find that there is no DayOfTheWeek2 in your RTCLib like mine. Here is my library:

RTCLib

The Arduino sketch for the 3.2″ TFT display. After working on this for a few days I started to realize that I really need to know what the weather will be in 2 or 3 days from today. So while this works, I think I’m going to see what I can do with API/wunderground and some XML.

Just sayin’

22
Feb

TFT Word Clock

I have a number of TFT displays that I use for all sorts of projects and depending on the outcome of the project, sometimes I recycle them. In to new projects of course…

I have a few 2.4″ displays, TFT, that require level shifters to work with the Arduino because the Arduino’s that I commonly use are all 5V, not 3.3V. I’ve tried the “resistor / divider” and ended up just using a small PC board, some breakout pins and a 74HC4050 level shifter to do it. Which for me works just fine (although I do wish all those TFT displays handled 5V)…

So while I was toying with the recycled 2.4″ display, I was also testing a GPS and I thought, what the heck, let’s make a word clock out of it. So I did.

The first obvious difference being that it was going to be smaller than the 12″ square ones I made for Christmas last year. I have some small plexiglas cases I buy off eBay and they work great for these little projects.

Parts are an Arduino Mini Pro, TFT 2.4″ (ILI9431), GPS shield (serial 9600 baud; it’s hidden behind the TFT so you can’t see it), two DC to DC buck converters (one for anything over 7 to 5V and the other for the 3.3V for the 74HC4050 level shifter).

IMG 0484

I used Adafruit’s ILI9431 library, a time library and so on. Mainly because this is also a calendar and it knows when day light savings time happens.

The little dots at the bottom of the display are the “extra minutes” because a word clock only works in five minute increments. The whole thing is about 4″ x 4″ x 1.5″ deep. So yeah, small. But amazingly easy to see from several feet away.

For the calendar portion, It’s leap year savvy, knows what day of the week it is and I wrote in my own scheduling routines so I know what happens on what day, based on a specific cycle. Thus you need some Julian routines, some scheduling routines and then a routine to display the clock. All in all, not that terribly difficult to do.

IMG 0487

I also put the typical “digital” clock readout on the calendar display. You know, just for nostalgia.

22
Jan

433Mz Learning Receiver

In my ongoing investigation of 433MHz RF control, I got a new module from eBay today.

433Mhz Module

It runs off a 12V supply and has a SPDT relay. Thus it doesn’t use a MOSFET or something else to control power output, it merely runs a relay to turn things on or off dependant on how you wire it.

And program it…There were no documents with it, which comes as no surprise since it is from off shore and I’m starting to think if you’re born there, you are born with the natural instinct on how all these things work. Or not.

The device is labeled as an “AK-RK01SX-12”. Judging from others I found in this “series” of receivers, the -12 (or -220) is the voltage these things work off of. In this case, it’s a 12Vdc receiver.

The receiver portion of the circuit is not your run of the mill 433MHz one. Rather it’s a superheterodyne version. Thus, better selectivity and sensitivity than some of the other junk I’ve seen.

It is also a “learning” receiver so…according to the eBay listing blurb it can be used to learn those rolling codes you use for garage doors.

The official company description of the module (and yes there is a company website in Chinese that has this info, just takes a bit to find and translate it):

The company design and manufacture of small size 12-volt single remote control switch with 10A relay, can load 1500 watt appliances; can learn multiple remote control, remote control and each can learn all the buttons, a remote control can control multiple switches can also be more than a remote control switch, simple and flexible supporting any combination.

Mainly used in lighting, electric doors, windows, lifting equipment, gateways, lifts, industrial control and security industries.

Second, the technical parameters Operating voltage: DC12V
Operating frequency: 315MHz / 433 MHz

Output: switching signal Maximum load: 1500 watts work: self-locking, jog, interlocking (via pad switch)

Board Size: 41 × 20 × 15mm

Okay. Makes a fair bit of sense. Unless you read electronics.

Notice the 10AMP relay, controlling 1500 watts? If you’re in North America with 110VAC, that would be 12.6A (if you have 110V coming out that’d be 13.6 amps). Want to hazard a guess at how long a 10Amp relay will fair when you’re drawing more through its contacts than it’s rated for? Yeah, me neither.

Secondly, when you get to the line that says, “Output:” and then either the translation fails, or they use a lot different terminology than we do in North America. I’ll cover this a bit further on.

If you look at the photo you’ll see there is a “button” on the module. A single button. And if you’re thinking that must be the “pad” switch, nope. It’s not. Discard that idea. This is the LEARN button.

For programming this is the description I found (translated again):

Third, learning methods

Press and hold the button for three seconds to learn light off, then press any button on the remote control, the indicator light is looked after flash, then learns success.

★ Note: This controller can learn a fixed code (PT2262, SC2260 chip, etc.) / learning code (EV1527, HS2240, etc.) 20 different codes, any button on the remote control, will be followed by purging the oldest beyond learning remote control.

Fourth, the removal method

Press and hold the button down for about 8 seconds to learn the indicator off to recover from a long bright that clear success.

V. Work mode switching

Switching work in different places through the pads 1,2,3 short circuit board behind it.

1. Jog –1,2,3 three vacant land, without connecting

2, interlock – Short 1,2

3, self-locking – shorting 2,3

Notice the “To LEARN LIGHT OFF”? statement? Yeah, I know. So here’s how it works:

Learn:

  1. Press button and hold until LED goes out
  2. Press button on the remote to “learn”
  3. – LED will start to flash
  4. Press button on the remote to “learn” one more time
  5. – LED will come back on, it has learned the code

I noticed that I could use the same procedure multiple times to learn different remotes. So I grabbed my garage door remote. I couldn’t get the receiver to learn the code, it would just time out and return to the LED on mode. On a hunch I checked the frequency of the garage door opener, 318MHZ. Yeah, no way a 433MHz receiver was going to work with that code…

So I have no idea if it will work with a rolling code (although they say it does) or not since I don’t have any rolling code 433MHz transmitters.

Once you have fiddled around with the receiver, you’ll no doubt want to get rid of those codes it learned.

Erase ALL

  1. Press button and hold until LED goes out
  2. Continue to hold button until LED comes back on

It’s back to no codes.

Finally, we have the OUTPUT…according to the translation we have Jog, Self-Locking, inter-locking.

My translation:

  • Jog – MOMENTARY – long as you hold the transmitter button ON, relay is energized.
  • Interlock – LATCHING – Press transmitter, relay energizes. Press transmitter, relay de-energizes.
  • Self-Locking – Press transmitter, relay energizes and STAYS THE WAY. Until you break the connection at pin 2&3.

Flip the receiver over and you’ll find the “lands” or solder pads for the operation of the relay. Thankfully they are numbered.

IMG 0427

  • Momentary – no jumpers.
  • Latching – short pins 1 & 2
  • Self Locking – Short pins 2 & 3

EDIT: The Self Locking feature I originally wrote about was incorrect. One of the commenters was correct in the way it works so many thanks for that Leo!

I got it working correctly with a 4 button transmitter I just received. In self locking mode, I pressed button A to LEARN that code. When I pressed button A, the relay latched. When I pressed button B, C, or D, the relay would unlatch.

When I tried that same setup with a four (and a two) button transmitter I have here, it didn’t work the same way. Relay stayed latched. So…either something wrong with the transmitters I was testing, or the planets were not aligned.

I attribute it to another mystery of the universe.

7
Jan

Arf…Arf…Arf….RF I mean

What’sa matter girl, did Timmy fall into the well? Yeah, that dated me somewhat.

Lately it seems I’ve been playing with more 433MHz transmitters and receivers than normal sane people should have to. It all started with my brother’s truck where we wanted to hide a RF receiver under the hood and control it from a remote to turn on some running board LED’s.

While it worked great in my driveway, after my brother got home to his place, the awesome range we had was pretty much gone. As in 200 ft to less than 1ft. Now admittedly sticking a receiver under the hood of a truck and blasting it with spurious amounts of high voltage in the area and cooking it with the engine heat is probably not good ingredients for the recipe of success.

At the same time, the distance lost didn’t make a fat lot of sense either. The unit I had used is one of the typical ones off fleaBay.

SafariScreenSnapz010

The receiver looks small, but really, inside you could house 6 receivers, easily. And it’s not water proof. Sigh…

Any way I ordered two more of the same units because I assumed that I might have received a defective one. The second one I tried in the house would barely manage a distance of 25 feet and that had to be light of sight. Which makes it pretty much useless.

My next step was to take an Arduino with a 433MHz receiver and see what distance that would get. So I did that. Same lousy distance. Great outdoors though, again, no floors or walls in the way.

This peaked my curiosity as to just how much relative power these little transmitters put out. I built a dead simple field strength tester (two diodes and a multimeter on a millivolt scale). Not to measure absolute power but just to see what, if anything, was happening.

I’ll start with the original culprit, notice the meter is on the 200mv max scale.

Remote Crap

Whopping 2mv. Wow. Doesn’t exactly give you all the confidence that the signal is going to get past the end of my hand.

Next up is a remote LED switch transmitter. These sell for a couple of bucks on fleaBay and I admit the transmitters have given me problems.

Remote LED Switch

Not getting all the warm fuzzies, I grabbed a remote from one of the RF switched powered outlets in the house. This remote will stretch from the work bench at one end of the house to the other. I have an 433Mz transmitter with an Arduino that will simulate it so I know how far it can go.

Power Outlets

Okay, so it’s a bigger number…At this point I am inclined to believe that the receiver on some of these is more finely tuned than I would have expected. Still, that’s not a lot of movement for a transmitter.

Then I remembered a 12V RF relay and matching transmitter I got some time ago. Again, another 433MHz. But this one is different. It has a sliding cover on the case so you can’t accidentally trigger the switch and there is a 4″ antenna with it. I tested it first with the antenna collapsed.

Remote Antenna Closed

This is a MAJOR bump. As in huge…I extended the antenna and retested.

Remote Antenna Open

Okay, jumping from .7 to 9.6 is a fairly large leap. Ah yep.

According to most of the docs I can find these little RF units are roughly 10dbm, or 10mw of power. How far does 10mw go? It’s pretty variable in my experience, heavily influenced by things around it like other transmitters, walls, floors and so on.

I might carry this a step further to see if I can “tune” the receivers to be more accurate than they are. But then again these aren’t crystal controlled transmitters so I’m guessing they splash the signal over a big enough spectrum that you shouldn’t need your clothesline to be able to pick it up. Clothesline. There. I dated myself again.

31
Dec

Wii – or not to Wii

Seems like the Nintendo Wii is about 90 years old, well, in dog years any way. Both my daughter and I have one although she’s the only one to use hers. Ours has become a paper weight. Of which it is doing an excellent job.

The kicker with the Wii is the controllers and those batteries that it seems to eat. We’d all bought the rechargeable controller packs that fit in a base station. The Wii fits into the base station, a fan circulates air up through the Wii itself from the base station.

IMG 0244

To power the base station, there is a short USB cable from the back of the Wii to the base. It powers some blue LED’s, which do nothing more than “glow”, and provides enough power to charge the two controllers.

Which is where the first problem comes in. The fan in the base unit is your typical piece of junk. At best. Probably designed to fit in some power supply, provide some sonic icy blast of air and sound like a jet turbine all at once. I suspect sleeve bearings in these things because they sound like a muffler-less John Deere tractor when the bearings go.

As in LOUD! Real loud. The daughters fried last year and I tried replacing the fan and gave up. Who has 5V supply fans that are quiet? Not me. So I gave her my base and away she went. Until this week. And then, well, the bearings in my unit happened to go south.

In the meantime I’d been playing a lot with Arduino’s so I have built up a stock pile of parts. One is a 5V 14dba fan (40mm), the other is a DC to DC buck converter.

Take apart the base and you find a single circuit board and fan. I’ll warn you now. Getting that old fried fan out without enlarging your vocabulary is impossible. I finally took my side cutters and literally cut it out.

I wired in the BUCK converter, took leads for 12V to fan.

IMG 0240

Since I was going to run the base off a standard 12V adapter, I wasn’t going to worry about the 5V coming out of the Wii. The LED’s still work as well since the 5V output of the buck converter is supplying the charge part and the “uber” LED’s. Insert BIG WHOOP here…:-)

IMG 0242

Everything fits back in, I measured the “current” the whole thing draws. Charge and LED’s, 100ma. The buck converter is capable of 1A so got LOTS of headroom. The AC adapter doesn’t even get warm so…I charged up two controllers and the thing works like a hot damn. Not ready for the landfill yet…