Month: August 2013

Be an unreasonable person

“The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.”
— George Bernard Shaw

How to control any infrared device using Arduino

If you want to control your TV, Ar-conditioner or any other device that uses a infrared remote control using an Arduino, then you need to know this project:

http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html

The source code is available at github:
https://github.com/shirriff/Arduino-IRremote

NOTE: This tip could be used for people looking for Timer/TPM programming for Freescale Kinetis: https://community.freescale.com/thread/309444

Controlling a LED strip using a Lilypad board

I’m using this example to control my LED strip:
http://bleaklow.com/2012/12/02/driving_the_ws2811_at_800khz_with_a_16mhz_avr.html

Just download the source code from here:
http://sourceforge.net/p/abavr/lib/ci/21a95bf1f6c437cac414e8efb0c80558e5c369db/tree/WS2811/

Compile it using the tips from this site:

$ avr-gcc -g -Wall -Os -fno-inline-small-functions -fno-split-wide-types -mshort-calls -mmcu=atmega328p -DF_CPU=16000000L threepixeldemo.c -o led -std=c99

Generate the Intel HEX file:

$ avr-objcopy -j .text -j .data -O ihex led led.hex

Flash it on your board:

# avrdude -p m328p -c usbasp -e -U flash:w:led.hex

Connect the VCC and GND to your board and to LED strip. Then connect the IN wire from LED strip to Lilypad pin label 8.

UPDATE: This guy implemented a PWM to control this WS2811 LED strip: http://techblog.zenrobotics.com/2013/04/bit-banging-ws2811-led-strips-with-pwm.html

UPDATE2: Nice tutorial to getting started with AVR and GCC: http://www.micahcarrick.com/tutorials/avr-microcontroller-tutorial/getting-started.html

Wardriving on your pocket using Android

A reason I was wanting most to install Ubuntu in my Android smartphone was to get Aircrack program working. No more the main need, because these guys hacked Broadcom chip and got airdump working on Android:

http://bcmon.blogspot.com

They also managed to get everything working without kernel modifications, just userspace application to inject a modified firmware into WiFi chip and to issue right ioctls to kernel. Then you just need to install an APK and everthing is done. Unfortunately only for BCM4329/30, but fortunately this WiFi chip is very common. My Sony Xperia S is using BCM4330 and it worked like a charm.