Close

You have to start somewhere

A project log for 433MHz canon remote

One of those supposed quick hacks that turns into a complete nightmare...

davedarkodavedarko 07/22/2015 at 22:312 Comments

On saturday I will attend the wedding party of my boss and his wife and I joked that I would totally be able to come up with something that I could take a picture with myself on the picture, without running from the first floor down to the group of guests. She said "oh well something with a raspberry pi, I guess?" - well not really, but an arduino/attiny will do.

The first idea I had was using some of the #Snail Mail Notifier pcbs, but I wasn't sure about the parts (no labels). So I figured I could totally use my AttinyX5 timelapse board which I designed to hack into a keyfob camera. I had to solder one together because I gave away the first prototyepe to @Stefan-Xp at the #Hackaday Munich: Hot Irons and Crunching Compilers - and he send me a trigger remote cable once - thanks again for that! By the way, there is a little design issue!

There is no common ground on the transistors and they are not connected to the ground pin of the board. Sounds stupid? Meh - it worked for the application I had in mind, since the tiny and the keyfob camera would have shared the battery. But not the canon camera. With a ground cable flying around that was fixed in an instant.

Next stop was finding a library that works for arduino and 433MHz - easy thing with google, here is what I found [german] http://fluuux.de/2013/12/einfuhrung-in-umgang-mit-einem-433mhz-funkmodul/ I had to download the VirtualWire from [http://www.airspayce.com/mikem/arduino/VirtualWire/] library as well. Copy, pasting and running the script gave me this:

In function 'void vw_setup(uint16_t)':
error: 'TCCR1A' was not declared in this scope
error: 'TCCR1B' was not declared in this scope
error: 'WGM12' was not declared in this scope

Turns out that the Attiny85 is covered in the VirtualWire, but not the Attiny45 (because reasons). So after a while I found out how I could fix it.

// look for __AVR_ATtiny85__ and add or replace with
#if defined (__AVR_ATtiny85__) || defined(__AVR_ATtiny45__) 
#if  __AVR_ATtiny85__ || __AVR_ATtiny45__

When I finally had it compiling - felt good - it was 32byte to big - but with some restrictions to my code I got it compiling and uploading! But now I really don't know how to debug the ATtiny45, if I can't add any line of code - D'oh! Seems like I have to jump to the Attiny85, where I thought myself safe using "only" a tiny45. Maybe I should go back a little more and use arduinos first, since I got so many anyways.. ah well. Murphy get's you every time.

I wrote that with the wonderful voice of Dave Jones from the EEVblog in my head... watched him a lot again lately! Learned a lot and still had some fun with that so far!

Discussions

Stefan-Xp wrote 07/22/2015 at 22:47 point

I think you would gain some bonus points for a remote controlled Gimbal-System ;-D

Well i now feel even more honored ;) 

btw: where is the documentation to the Attiny45 Board? ;)

  Are you sure? yes | no

davedarko wrote 07/22/2015 at 23:37 point

You're so right on every point ;) just found out that my Attiny45 also has a faulty footprint in eagle - two signals are mixed up :D damn it. I'll add notes to a picture so you'll know what belongs where.

  Are you sure? yes | no