Feb 23

Laser tag update 2/22/15

From last week, I had the following deliverables:

1. Get a larger lens/lenses 2"+ in diameter.
2. Build test set up and test 2" diameter lens (inside and outside) and record transmission distances at standard currents

So, I got a 4.5" lens from an old box of science stuff. I found its focal length by putting it under a light on the ceiling and measuring the height the light was off of the ground when it focused the light on the ground. I then built a (oh so sturdy) cardboard cut out to hold an LED at roughly the focal length away from the lens (I also learned that a hole punch is a little wider than a 5mm LED. I used that to make a hole. This is a test. Quick and dirty is the way to go. Does not need to be exact).

Now for the set up:

Basic Settings
Voltage for LED: 5 V
Resistance for LED: Three (x3) 24 Ohm resistors in parallel, resulting in 8 Ohm total resistance.
Current for LED: .6 (max is 1A)
Lens Diameter: 4.5"
Lens Focal Length: ~9.1"
Max Transmission distance: ??

Secondary components:
Voltage regulator: LM7805C
Transistor: TIP101G.

My goal for this iteration is to build a module that I can run around with and play laser tag with. I need to build a durable version that I can run around with and play laser tag. Then I can start adding things like different lenses, game types, etc.
However, before I build a durable model, I should max out the settings and get tag distances.


1. Change IR LED current to 1 A.
2. Get distance tests for 1 A with 4.5" lens and 1" lens.

Dec 17

Building a Sunrise Alarm Clock, 1

Sunrise Alarm Clock: 1

Have you ever woken up at 5:30 am to the most annoying sound on the planet? Yes, the sound that strikes fear in the most peaceful sleeper. The alarm clock sound. That dream crushing sound that jerks you back into reality. If only there was a smoother transition, one where I didn't wake up feeling angry that I was from my dreamscape so ungraciously taken. Enter the sunrise alarm clock.

Bill of Materials:

1. Arduino compatible (bare bones support for Atmega328p)

2. 12V 5A power supply (adafruit part number 352)

3. RGB LED strip (60 LED, adafruit 346)

4. TIP120 x3 (adafruit 976)

5. DS1307 Real Time Clock breakout board (adafruit 264)

Yes, I got a way beefier power supply than I needed. I could power a laptop off that thing. But then again, if I ever want more LED's, a motor, or a solenoid (hey, maybe I want my alarm clock to shoot socks at me in the morning out of my sock cannon? That'll wake me up.).

So, what is all this stuff and what does it do? Together, they make a sunrise alarm clock.

Adafruit has a lovely tutorial on hooking up the RGB LED strip here.

Adafruit has a wonderful tutorial on using the DS1307 real time clock here.

I'm using three PWM pins, 9, 10 and 11. 9 is connected to the green part of the RGB LED, 10 is red, and 11 is blue (see schematic). A diagram of what pins are what for the Atmega chip is shown on the arduino website: Atmega328 pin mapping.

If you follow the above Adafruit links, you will find everything you'd want to know on the parts. Now I need to wire it, code it, and test it.

Dec 07

Sunrise Alarm without a microprocessor, Cool password protected sketchbook, Mechanical Iris

Alrighty then. I came across a video on how to make a sunrise alarm clock using a timer, LED's, and capacitors for the fade in of the light. I thought it was cool, and may be an easier project than making one with an arduino. But then again, if I want to make my alarm clock wake me up with blue light, and put me to sleep with red light, then I'll want to control the color of my RGB LED's. But no matter, this is still a cool project.

Sunrise alarm clock (using passive components and a timer) video.

There was also a really cool password protected sketchbook video posted on adafruit. The video is here: Cool Password Protected Sketchbook. Is it really a password? No. It's a series of dials, buttons, and it even uses the door knock idea (there are many videos by now on knock door openers, you knock in a specific rhythm to open a door. Of all the one's I've seen, this one is the coolest. There's also a capacitive touch sensor version you can use on door knobs. I think some MIT video demonstrates that.). Anyway, this was cool.

Side Note: The link above for the garage door knock opener uses a mechanical iris as the surrounding structure. The DXF files for that are on page 2 of the following thread on the ShopBot forums. The link is here.

Oct 23

FTDI chips, a CNC Mill, Micro Arduinos and Hardware Confessions

Ok, I changed the order. But still. Here's some goings on in the outside world for inspiration.

The FTDI FT232 is (I guess) a very popular USB to serial converter. There's an article here about how windows made a driver to brick fake chips. Fun way to stop hackers, set their chips to "don't work."

This article is just titled like a hilarious joke from the past. It's called "What is This, A Microcontroller Board for Ants?" (Yep, Zoolander). It's about an ATiny85 board where the board is slightly bigger than the chip. Kudos for saving space (if I need a small arduino, I know where to go).

There is a MakerBot equivalent for a CNC machine. It's called Carvey. Article is here.

There is also a confessions of a hardware startup page. I haven't actually read it, so I do not condone what is said there. I will read it later and find it by posting it on my blog.

Jun 01

Electronics Out There

And we're back. This is a post of things for me to look at/emulate in the coming years as I go forth in the DIY community.

DIY.org is a website for kids to "make themselves into makers." It's a site where kids can earn patches for completing projects to learn skills and share their projects with other kids. I think it's a great way to teach kids things they'd never learn about another way and to give kids a sense that they can learn new things and forge their own path. They have a great video about the website called Fearless Kids.

Two Bit Circus is a steam punk circus designed to teach kids about STEAM (science, technology, engineering, arts and math). They are almost done with their kickstarter campaign. Hooray STEAM education! They also reach out to underprivileged students, which I think is awesome.

Peter Diamandis wrote an article about cutting costs when he made his company DIY drones. He talks about how he got people to help him build drones who he never could have paid because they wanted to solve those problems. I can try to replicate that by solving a problem that I want solved and will make efforts to solve even if nothing comes out of it.

There is an article in Open Electronics about documenting your work. The main point is that by documenting what you make, you can share it with people and potentially get in contact with people who build it too or want to work with you on the project. Networking to build a team and get more done than an individual can help create great projects.

There is an article in the EE Times about a $69 arduino board to plug people into the cloud. Nice.

MIT news posted about Ladyada, and it said some inspiring things about how she started doing what she loved and made a business out of it. If she can do it, then why not other people as well? Adafruit is a great company and a leader in the Maker movement.

Lifehacker had an article about getting started with DIY electronics. It goes over some of the basics, but it mostly made me realize how there isn't a structured path to learning this. Even a guide that is supposed to provide a path leads people to the internet, where hackers have been roaming towards whatever ignites their passion. I hopefully can help add yet another path to the tangle.

May 23

Arduino Serial References

One of the things that I'll need to explain is asynchronous serial communication, which is how the arduino communicates to the FTDI chip (or other serial devices) to communicate to a computer via USB. I found some resources for arduino Serial stuff (including an article about using PWM for servo motors so that the software serial library doesn't get screwed up by the current servo library's use of interrupts).

There's a good wikipedia article about asynchronous serial.

There is also the arduino description of the software serial library, which is useful for describing how serial works (and how to make it work without hardware serial).

Apr 23

A little Rant

I came across an article about an arduino class taught by a 14 year old in Sydney, Australia. I am pleased to see young people teaching others about technology. I mean, I'm pleased whenever anyone promotes science and technology irregardless of age. Although, I am still not satisfied with how things currently work.

For example, this 14-year-old boy was able to learn how to build robots using an arduino, build a web-server, create systems using raspberry pi. He learned for free through the internet. And that's great. I would have loved to have had something like that. But being able to learn a hodgepodge of technical knowledge on the internet doesn't make me happy. Having a multitude of arduino tutorials available to me does not give me a path to learn why an arduino works. I can learn how to build a robot. Someone has already written code to communicate with a radio transceiver and I can blindly put his or her library into my code and use it, but no one is there to tell me how it all works. Why it works. How electrons magically make a servo turn and stop at five degrees. Why it does that. What the control signals are that make that happen. How it uses interrupts to send the signal every 20ms, and what an interrupt is. Where is that tutorial?

Because I couldn't find it. When I was starting off learning about the arduino, there wasn't a path for me to take that could have shown me what I could do with electronics. Sure, there are plenty of websites that have lessons on electronics, arduino, etc. There's a series of books that teach electricity and circuits. There are the tutorials  on the adafruit learning center, a series of about 50 tutorials about lots of stuff you can do with arduino, lots of random tutorials on the arduino website, lists of tutorials on instructables, the list goes on. Google arduino tutorial and there will be lots of hits. They all have instructions to teach you how to use the arduino to solve a particular problem. You want to spin a motor? No problem. There's a tutorial that will tell you how to do it.

Great, right? There's a bunch of information out there about learning the basics of electronics. We're good. Wrong. There are a lot of wonderful tutorials to teach people specific things, but there isn't a formal path to take someone from beginner to someone who understands how an arduino works. There is no one to teach people what is under the hood of an arduino, to spark their interest in the world inside the ATMega328p, no mention of how a microprocessor, compiler or register works. We are still failing to teach the more important answer to the quest to knowledge. Why?

I don't want to just teach people how to blink an LED. I don't want to just teach people how to build a robot or laser tag or a mailbox that tweets when the mail comes in. If that's all you want to know, you can search online, find someone who's already done it and copy what they've done without learning why it works. Which is a great starting point, but that is not where the journey should end. There is so much more. So much left undiscovered by building something just to make it work.

I've never been satisfied with a black box, not knowing why I put one thing into it and it spits out another. I want to look inside the black box of technology, unpack its innards and understand what is really going on. And now that I've been lucky enough to study under professors who taught me, I know what I've been yearning to know since I was in high school. And it makes me angry that there still isn't a resource that I could've used to start me down this path earlier. To formalize my internet education from a random walk through youtube videos into a structured series of lessons that teach why an arduino works. That reveal what is going on in that little black chip.

Teaching someone how to do something is fine. But teaching them why is the key to understanding. There's nothing teaching people why an arduino works that is freely available and in a place where people who are looking for it can find it. There is no place to learn why an arduino works here on the internet that people can start at and learn from. So I'm going to try to change that. Even if I fall flat on my face, I will still be making forward progress. I hope to positively change a single life. If I can do that, then I will have succeeded.

Mar 22

Spreading DIY

I want to help spread the idea that people can understand and build things. Just as Mr. Rogers fought for people's right to control when they watched his show, I also want to throw in my two cents towards helping people understand electronics. Sure, I'm not going to have the impact of Mr. Rogers, but if I can help a single person because of this, then I think I will have succeeded. Other people and companies are trying to spread the understanding of electronics, hacking (hardware hacking. Not hack into credit card database hacking), and DIY (which I find to be thrown around as a general term for doing any building-like think yourself). Here are some of them to follow, learn from and maybe partner with.

Sparkfun has a national tour where they are traveling across the country and teaching arduino classes to introduce people to electronics. Good for them.

Adafruit, as always, is spreading the science. I really like this site and what the people there are doing.

The Hacker Scouts is a non-profit similar to the Boy and Girls Scouts organizations that focus on teaching kids STEAM (Science, Technology, Engineering, Arts, Math). I'm glad to see that this is a thing for kids to do now.

Note: There are many hacker spaces, a few Maker spaces and other organizations dedicated to spreading knowledge, hacking, DIY, etc. I haven't listed those. It's an arbitrary choice.