30 Arduino Projects for the Evil Genius (2nd Edition)

This is the second edition of the best selling 30 Arduino Projects for the Evil Genius.

If you are looking for the website for the first edition of this book, please follow this link.

Download the Arduino  code.



The second edition, retains most of the projects from the first edition, but simplifies the construction of many of the projects. It also adds a whole new chapter on using the Arduino Leonardo’s keyboard and mouse emulation features.

The projects as designed to be built using solderless breadboard and part codes are listed for a number of suppliers, including, Sparkfun, Adafruit, Digikey, Mouser and CPC.


Strangely I don’t have the table of contents in electronic form, so here is a screen capture from Amazon.com’s “Look Inside” feature.





Thanks to Gitsnik who points out that the code for the keypad locks is easily crackable by a brute force approach. See this for more details: http://dracyrys.com/keypad

19 thoughts on “30 Arduino Projects for the Evil Genius (2nd Edition)

  1. admin Post author

    Hi George,

    Sorry for delay – we get a lot of spam to work through!

    Are you using Windows? And if so, which version please?



  2. Micha

    I am also getting errors unzipping the code zipfile. Running Windows 7, it looks like there are some files from Mac OS in some of the folders, and those files have invalid characters on them when trying to extract on Windows. Some examples are:

    I think these files are not needed for the projects, but there are quite a few of them and Windows can’t use them as named.



  3. Dave Kaye

    Just finished project 24 in Edition ONE of the book. The hynotizer does not reverse! I see there’s different code in version 2. I JUST bought v1 so could you maybe explain what changed in that project?

  4. Raymundo Ramirez

    Hello, I’m new with micricontrollers, your book has been very usefull, but I’m stuck in the simplified code for project 2, and i was wondering, (I have taken like 2 hours trying to understand it), how does, in the block shown below, the “duration” variable works?

    void flash(int duration)
    digitalWrite(ledPin, HIGH);
    digitalWrite(ledPin, LOW);

    How does the arduino knows “duration” has an specific value? It was not declared previously in the code.

    Also, i’ve trying to change the delay between the O and the second S and i cannot find a way.

    please, advice?

    thank you

  5. admin Post author

    Hi Raymundo, you will find it helpful to load the sketch for project 2 into your Arduino IDE.

    This line:


    in the loop function. This will take one of the durations from the durations array (the one at position ‘i’ that is). It then passes this as parameter to the function flash. Once in this function, that durations (lets say 200) will have the local name of ‘duration’.

    Functions and arrays take a bit of getting yourhead around if you are new to programming. You might like to take a look at my book ‘Programming Arduino’. It explains all this in a lot more detail.

    Hope that helps. Si.



  7. bob

    I use the first edition of the 30 arduino projects quite often and as I have just lost my old computer I wanted to load the sketches used in the book from the internet but it looks as if the address http://www.arduinoevilgenius.com is not there any more ?
    I also discovered that the library that Ken Shirriff produced for the IR Remote as mentioned for use with project 28 is not there either?
    Is it possible the sketches for all the projects have been moved to another address and can I still download them?
    Thank you,

  8. bob

    sorry, I have found what I wanted and sent a message on the page of your first edition. Just in case the two are not read together I am adding this last message.
    Thank you for the awesome book.

  9. David

    I need to get scope.pde file of project 18. But I can’t connect ‘http://www.arduinoevilgenius.com’ any more(I think the Domain is expired at DNS.).
    Where can I get scope.pde?

  10. Glenn Blakney

    trying to set up the oscilloscope. wired the breadboard according to the picture and the schematic (2nd Edition), plugged in my arduino, loaded up the sketch, opened up Processing, opened scope.pde, and it’s just a blank, gray screen with red, yellow, and green in the upper left, “scope” in the middle of the menu bar. any thoughts?

  11. Mike

    Hey, I’m definitely interested in the book, but I’m wondering: I saw a PDF preview of the book somewhere, and it mentioned how all the projects were written for a Duemilanove or a Diecimila. Do the projects in this book work for an Uno, since that’s the kind I have readily available?

  12. Jason


    I am not able to find one of the parts in the book. It is the tda7052 audio amplifier chip. I am so new to this, I have no idea what I can use as a replacement. I can’t do this project without this part. Please help.

    Thanks in Advance,

  13. Mike Jupp

    I am working from the first edition but may well be applicable to the second edition.
    Project 20 (Light Harp)- the circuit shows pin 4 of the TDA7052 connected to the Arduino pin 6 via a 1M and via a 100uF to earth. I have looked at the data sheet for the TDA7052 and pin 4 is NC (a no connect)! So I can’t figure out what was intended. Has anyone got this to work?

Comments are closed.