Skip to content

And the Arduino Giveaway Winner’s are…

Casey Kikendall and April!  Congratulations!  You should have an email from me tonight.

Casey plans to make a custom ESC motor controller to play with PWM.

“I would make a custom ESC motor controller. This would give me a chance to play with the PWM frequencies and see what kind of trouble I can get into with that.”

April wants to giver her dog something to smell.

“I would love to create a project that gives my dog a chance to sniff different smells each hour while she is inside my apt waiting for me to come home. A container would be divided into 4 different sections, each section holding a different item to smell. The container would be hooked up to an Ardunio. A servo would turn the container each hour to let out a different scent. My dog would get a smell treat each hour!”

Both of these projects sound fun. Here is some, maybe, helpful advice for each project.

I have been using the TimerOne library for high frequency PWM. Running the PWM frequency up near 100KHz to make an analog DAC. Here is a previous article about using Arduino PWM for an audio DAC.

Dog Sniffer
My first thought here is that turning over a container with a servo might be challenging. Also, if you want to hide the smell so it’s a surprise…  Maybe you can use the servo to uncover a seal on the compartment.  Maybe a disk turns opening a path for the smell, the disk covers all 4 sections, but moves to open one at a time via the Arduino

Stay in touch
Good luck on your projects Casey and April…  Use my email address, from the message I send you, to let us know how your projects are going. Maybe we can do an article for you here.

Posted in Uncategorized.

Win a Arduino from Newark at uCHobby

Contest Done! Winners announced.

We all love receiving free stuff and here at uCHobby we have had the pleasure to run several contest where we have given away cool microcontroller stuff to the hobby community.  This time we are giving away two Arduino boards from Newark Electronics. We will pick two winners who will each receive an Arduino shipped from Newark Electronics.

To enter the contest, dream up a project idea and post it as a comment to this article. We will look though these comments and cull out any spam or “me too” type post.  Next Friday, June 6th, we will pick two winners random from the qualified comments. You only need to have an idea, does not have to be new or unique, just something you want to make. For example, “A Cylon LED thingy for fun.”   You can describe it all you like but we only need the idea, plain and simple. A sentence or two is enough. Look over the Arduino projects here for inspiration.

You must supply your name and a valid email address which will not be shared with anyone outside of uCHobby or Newark Electronics. Only the two winners will be contacted, and only in relation to the contest. We are not collecting email addresses for marketing…  Note: that you will have a spot in the comment form for your email address, don’t put the address in the comment text or it will be seen by spam bots. Your comment will not show up instantly, give us a day to moderate and approve them.

Once the winners are chosen, we will send you and email, copied to Newark Electronics, asking you to supply your shipping address. You need only reply so that Newark can ship the prize to you.

Have fun, be creative, and good luck to everyone.

Posted in Uncategorized.

KiCAD for Schematics and PCB Layout

It’s been a while since I’ve done my last hobby PCB project, the SBBPWR moduleSBBPWR stands for Solderless Bread Board Power Supply.  I did this design and several other BB adaptors using KiCAD. Sometime after that I had a paying contract where I moved to Eagle CAD.  At my day job we use Altium.  So I’ve been around the block with CAD tools.

Altium is a Cadillac tool we all wish we could afford but it’s very far out of reach for hobby work. I could probably get away with using it but I want to use an open source tool as a matter of principal.  Eagle is a great package but if you ever plan to sell your work, you will have to fork over significant cash. This leaves KiCAD.

Just to be clear, I don’t mind at all that Altium and Eagle want to be paid. If you are doing hobby work, without any plan to sell it, Eagle is probably the best answer. They have a free or nearly free option, with limitations on board size, layers, schematic sheets etc.  Eagle wants to help the maker community and has these limits to protect their business. It’s all good.

I’m leaning toward KiCAD to get away from limitations which would cost me about $1,500 to overcome with Eagle. I’ve used KiCAD in the past and found it to be a good tool.

There is a long and very good debate on KiCAD vrs Eagle on the Adifruit Fourm. Read this for a good coverage of the argument.

What do you think?  Comments?

I think the trade-offs are basically the following.

KiCAD is free, unlimited, maybe a bit harder to use, unpolished etc..  Does not directly have scripting support and has a very much smaller community supplying libraries etc..

Eagle, is polished, well supported, has a huge community around libraries etc..  It cost nothing if you use it only for hobby projects. There are several PCB houses that take Eagle CAD files directly which saves you the pain of generating Gerber files…

Posted in Development Tools, Projects, Review, Tips.

Playing with Digispark

The Digispark is a tiny, very inexpensive, Arduino compatible microcontroller board. The idea is to make it small and inexpensive so you just use them in your project, just wire them in. Each one cost about $9. You don’t even need a USB cable to work with one.

I backed Digispark when they started at Kickstarter. You can see some of my collection below. The boards with the USB tongues are the little Digispark’s. The other boards are shield board which connect on top. There is a USB male to female module with power switch makes the programming more convent, at the bottom left below.



These little guys have 6 I/O pings used for I2C, SPI, PWM, ADC and general I/O like an Arduino.  They have a slightly modified Arduino IDE but any Arduino user would be right at home.

USB Devices too

Digispark’s don’t use an FTDI chip to do USB to serial, the boot loader and USB is built into the part. This means the Digispark can emulate a keyboard, mouse, joystick, serial port etc..  Is a very cool thing.

The boot loader process is a bit strange and threw me off for a bit. I’m used to the Arduino looking like a serial port. I went looking for the port to set up the IDE etc.. Don’t do that…  When the Digispark powers up, the boot loader starts up and it’s detected by the code download process, then it “goes away” leaving your code in place. You just plug it in when told to, everything else is automatic. 

A Trick for the Breadboard

Instead of soldering in a three pin socket (power signals) on one side and a 6 pin (I/O) on the other side to accept the tiny shield boards, install headers facing down, leaving off the VIN signal (2 pins instead of 3). Now the Digispark mates with a solderless breadboard and can even supply power to your project.


I will try some of the stacking sockets used on the Arduino boards to adapt to the breadboard while still allowing for shield boards too.


Have you got a Digispark? What have you made?

Posted in Uncategorized.

Digitron Light Engine Experiments

I mentioned finding a great photodiode in a previous post.  I also found a Digitron Light Engine. You can follow the link here but don’t expect to find much. They don’t seem to have anything more then pictures and marketing stuff at their site. I have a white LED model as shown below.  This thing is bright and operates from 8-30V. It will work to lower voltages but at about 7V the output is fixed and regulated.

Update: I found a datasheet via Octopart. Got to love Octopart!


The 5-pin SMT device, shown near the yellow wire, is a ZXLD-1350. 30V 350mA LED Driver.

The LED Driver has an ADJ pin which can be used for PWM brightness control. Unfortunately this signal is not brought out to a connection point. There is a pad set there for an optional component. I soldered the yellow wire you see in the picture above to that pad set. Note that this connection would be very fragile. I taped the yellow lead to the power leads to provide some stress relief.

Sure enough, pull the ADJ pin to ground and the light goes out. I watched the current used and it goes to a mA or less, I was not looking for currents under a mA.

For some applications being able to switch these LEDs on and off quickly would be important so I wanted to test the on/off delay of the ADJ input. The data sheet recommends that this pin is driven from an open collector transistor. I scrounged up a NPN for this.


Here is my test setup. Not pretty but works for me.  From left to right, a tiny Arduino compatible board, the photodiode mentioned before (upper), the LED engine shining at a low voltage (hurts eyes, and camera), the NPN transistor is a little black spot near the center, the red yellow black wires from the LED engine on a header plugged into the breadboard and finally  some stray wires and my scope probe.

The transistor wiring is simple, a 1K resistor from a digital I/O pin to the base. Emitter grounded. Collector to the yellow wire, ADJ pin of the LED controller.

I rigged up the photodiode to show light levels on my oscilloscope and tested it’s response with an LED driven directly from the I/O signal. The  photodiode is fast, spec sheet shows something like 5MHz so I’m calling it good for measuring the on/off time of anything.

The Arduino is running a small sketch that just toggles the I/O pin constantly so I can measure things.

Here are the scope traces. First is turn off. Blue trace is signal the transistor, going high to turn on the transistor, which comes on to turn off the LED. You can see it takes about 400uS before the yellow trace goes all the way up, off signal on the detector. I’m sure all these signal phases are making this complicated…


Here is the turn on timing..  The blue trace goes down, turning off the turn off transistor (LOL). The yellow trace goes down to show the light level. It’s faster at turn on, about 110uS to full on.


The ZXLD-1350 LED controller switches fine using an open collector drive to it’s ADJ pin. It switches on fully in about 110uS and off fully in about 400uS. For my experiments I will use 200uS for on the on time and 500uS for off.

Posted in Development Tools, Discovering, Electronics Links, Parts, Scrounging.

What is this thing?

I was looking though some of my interesting parts and found something I had bought at
Electronic Goldmine
some time ago. The bag was labeled G19054. Easy right, just go to the Electronic Goldmine site and look it up.  Unfortunately they sold out of this part and removed the description.

I like to browse around for interesting parts and just buy them on a whim. Someday I will need that, or that would be fun to play with etc…


Lesson Learned!  Always download any data you can get when you buy a part from Electronic Goldmine.

Do you know what this is?  Let me know if you do.

Update: They replied with: Large Area Silicon Photodiode – Large area (0.175″ square) photodiode encased in a round metal/glass case and mounted to a flexible flat ribbon cable with 4 slot female connector on end.

Photodiode.  The metal can is a TO5 with a super good photodiode. I suspected it was a photo-detector due to the clear window.. Good guess I know…  The part had a tiny number on it, 1223.  Some searching got me to a HAMAMATSU S1223. These devices sell at Newark/Element14 for about $19 each.

The S1223 is a high performance photodiode with a fairly broad spectrum sensitivity peeking at 960nm (NIR).

The other thing on that assembly looks like a piece of foam with two connections. I have no idea at this point.  What is it?

Here is a closer photo.


I did contact Electronic Goldmine via their web site. I hope they provide some more details. I will let y’all know when I hear back from them.

I wish the photodiode had longer leads, they were cut very short so I’m stuck using the flex cable. Scroungers cant be choosy I guess.

Comments? What is the foam thing? What was this thing used for? Any cool ideas for using this or the parts?

Posted in Uncategorized.

Is this thing on?

Hello friends, David here.  I hope to get back to doing interesting things here. Is anyone still around?

Posted in uC Hobby Site.

uCHobby Has a Google+ Page.


Not much there right now, but it is a start.

Posted in Electronics Links, uC Hobby Site.

Replacing delay() in Arduino Sketches – IsTime() to the rescue!

TipsGraphicThe problem with delay() is that your code is stuck waiting for the time to elapse. What if you wanted to do something more in that time? There are places where you don’t need to do anything with your processor resource but more often then not, you need to be doing something useful. The IsTime() function introduced lets you use all that time to do more things.

This is the first of two related articles. First we discuss the limitations associated with using delay() type functions and introduces the IsTime() solution. The second article will introduce the PolledTimer library which simplifies things even more.


Posted in Arduino, Discovering, Hacks, Ideas, Microcontroller, Projects, Tips.

Site Update – Things are Changing

UCHobbyLogoChipOnlyHappy New Year!  I hope you call can keep your New Year’s resolutions. One of mine is to get back to blogging at uCHobby. I have been doing lots of projects but just don’t find the time to blog. There are so many things to distract me…

We have moved the site to a Linux server with help from Eric Wolf. The new server should improve performance while at the same time helping with cost. Eric is a Linux wizard so it was painless. Thank you Eric!

Eric blogs about his projects at: “The Ramblings of a Crazy Man

As always, leave a comment with any suggestions. I do have a backlog of articles, some that I need to write and a few that were submitted.

Posted in uC Hobby Site.