Designing, Simulating And Testing A Simple Radio Duty-Cycling Protocol For Contiki

A few days ago we featured [Marcus]’ Contiki port to the TI Launchpad, Contiki being an open source operating system dedicated to the Internet of Things created by [Adam Dunkels] at the SICS in Sweden. Part of [Marcus]’ work involved designing a simple radio duty-cycling protocol that achieves 3% idle listening duty cycle while allowing for an average 65ms latency with no prior contact or synchronization.

As a few readers may already know, it takes quite a lot of power for a wireless device to listen/send data. A platform therefore needs to have an algorithm that minimizes power consumption while allowing a (regular) planned data transfer. After creating his protocol named SimpleRDC, [Marcus] first simulated it using the Cooja simulator in order to check that it could perform as desired. He then implemented a real life test and checked the protocol’s performance by sniffing the SPI lines connecting his MSP430 to the wireless module and by monitoring the platform power consumption with his oscilloscope and a shunt resistor.

Porting Contiki To The TI MSP430 Launchpad

For many years Contiki has been one of the main choices when it came to choosing an IPv6 over Low power Wireless Personal Area Networks stack (aka 6LoWPAN). It is developed by a world-wide team of developers with contributions from Atmel, Cisco, ETH, etc… and is open source. As most platforms to which Contiki has been ported are quite expensive, [Marcus] decided to bring the operating system to the TI Launchpad. For our readers that don’t know, the latter is based on a msp430g2452/2553 microcontroller, which only have 256/512 bytes of RAM and 16kB of ROM. As a side note, Contiki typically requires 10k RAM and 30k ROM.

[Marcus] therefore had to remove several features from Contiki: queue-buffering, energy estimation and regrettably uIP. His test setup (shown above) uses the TI CC2500 radio that can be found for less than $2 on Aliexpress, for which he wrote radio drivers from scratch. He also coded his own radio duty-cicling layer, as the one included in Contiki was too big.

Chameleon Emulates Contactless Smart Cards

chameleon

Researchers at Ruhr University of Bochum in Germany have been busy working with RFID and related devices for quite some time now. They call the fruit of their labors Chameleon, a versatile Contactless Smart Card Emulator. Contactless Smart Cards are RFID style devices that also contain a smart card style memory. These cards are often used for payment, replacing mag strip style credit cards. Philips MIFARE Classic cards are a common example of contactless smart cards. The Chameleon is set up to emulate any number of cards using the common 13.56MHz frequency band. Adding a new card is as simple as loading up a new CODEC  and application to the firmware. Currently Chameleon can emulate MIFARE cards using the ISO14443A.

The Chameleon is completely open source, and can be built for around $25 USD. The heart of the system is an Atmel ATxmega192A3 microcontroller. The 192 is a great microcontroller for this task because it contains hardware accelerators for both DES and AES-128. An FTDI USB interface chip is used to provide an optional communication link between a host computer and the ATxmega. The link can be used for debugging, as well as manipulating data in real-time. A host PC is not necessary for use though – the Chameleon will operate just fine as a stand alone unit. We definitely like this project – though we’re going to be doubling down on the shielding in our RF blocking wallets.

Get Tangled Up In EL Wire With Freaklabs

[Akiba] over at Freaklabs has been working with electroluminescent (EL) wire.  An entire dance company worth! We know [Akiba] from his post tsunami radiation monitoring work with the Tokyo Hackerspace. Today he’s one of the engineers for Wrecking Crew Orchestra, the dance company that put on the viral “Tron Dance” last year. Wrecking Crew Orchestra just recently put on a new production called Cosmic Beat. Cosmic Beat takes Wrecking Crew’s performances to a whole new level by adding stage projection mapping and powerful lasers, along with Iron Man repulsor style hand mounted LEDs.

As one might expect, the EL wire costumes are controlled by a computer, which keeps all the performers lighting effects in perfect time. That’s where [Akiba] came in. The modern theater is awash in a sea of RF noise. Kilowatts of lighting are controlled by triacs which throw out tremendous amounts of noise. Strobes and camera flashes, along with an entire audience carrying cell phones and WiFi devices only add to this. RF noise or not, the show must go on, and The EL costumes and LEDs have to work. To that end, [Akiba] He also created new transmitters for the group. He also changed  the lighting booth mounted transmitter antenna from an omnidirectional whip to a directional Yagi.

The EL wire itself turned out to be a bit of a problem. The wire wasn’t quite bright enough. Doubling up on the wire would be difficult, as the dancers are already wearing 25 meters of wire in addition to the control electronics. Sometimes best engineering practices have to give way to art, so [Akiba] had to overdrive the strings. This means that wires burn out often. The dance troupe has gotten very good at changing out strands of wire during and between shows. If you want a closer look, there are plenty of pictures available on [Akiba’s] flickr stream.

Continue reading “Get Tangled Up In EL Wire With Freaklabs”

SkyJack: A Drone To Hack All Drones

Quadcopters are gradually becoming more affordable and thus more popular; we expect more kids will unwrap a prefab drone this holiday season than any year prior. [Samy’s] got plans for the drone-filled future. He could soon be the proud new owner of his own personal army now that he’s built a drone that assimilates others under his control.

The build uses a Parrot AR.Drone 2.0 to fly around with an attached Raspberry Pi, which uses everybody’s favorite Alfa adapter to poke around in promiscuous mode. If the SkyJack detects an IEEE-registered MAC address assigned to Parrot, aircrack-ng leaps into action sending deauthentication requests to the target drone, then attempts to take over control while the original owner is reconnecting. Any successfully lassoed drone doesn’t just fall out of the sky, though. [Samy] uses node-ar-drone to immediately send new instructions to the slave.

You can find all his code on GitHub, but make sure you see the video below, which gives a thorough overview and a brief demonstration. There are also a few other builds that strap a Raspberry Pi onto a quadcopter worth checking out; they could provide you with the inspiration you need to take to the skies.

Continue reading “SkyJack: A Drone To Hack All Drones”

Turning A Pi Into An IBeacon

beacon

Nowadays, if you want to ‘check in with Foursquare’ at your local laundromat, deli, or gas station, you need to take out your phone and manually ‘check in with Foursquare’. It’s like we’re living in the stone age. iBeacon, Apple’s NFC competitor that operates over Bluetooth 4.0 changes all that. iBeacon can automatically notify both iOS and Android users of where they are. [Kevin Townsend] over at Adafruit came up with a tutorial that turns a Raspberry Pi into an iBeacon, perfect for telling you that you’re somewhere in the proximity of a Raspberry Pi, and some other cool stuff too.

The iBeacon protocol is actually very simple. Basically, the only thing the iBeacon transmits is a 128-bit company/entity value, and an optional major and minor values (to differentiate between locations and nodes within locations, respectively). After plugging in a Bluetooth 4.0 USB dongle into the Pi, it’s a simple matter of installing BlueZ and entering the iBeacon data.

iBeacon by itself doesn’t really do anything – the heavy lifting of figuring out exactly which Panera Bread or Starbucks you’re in is left to the apps on your phone. If you’re a mobile developer, though, this is a great way to set up a very useful testing rig.

A Low-Cost Modular High Altitude Balloon Tracker With Mesh Networked Sensors

[Ethan] just tipped us about a project he and a few colleagues worked on last year for their senior design project. It’s a low-cost open hardware/software high altitude balloon tracker with sensors that form a mesh network with a master node. The latter (shown above) includes an ATmega644, an onboard GPS module (NEO-6M), a micro SD card slot, a 300mW APRS (144.39MHz) transmitter and finally headers to plug an XBee radio. This platform is therefore in charge of getting wireless data from the slave platforms, storing it in the uSD card while transmitting the balloon position via APRS along with other data. It’s interesting to note that to keep the design low-cost, they chose a relatively cheap analog radio module ($~40) and hacked together AFSK modulation of their output signal with hardware PWM outputs and a sine-wave lookup table.

The slave nodes are composed of ‘slave motherboards’ on which can be plugged several daughter-boards: geiger counters, atmospheric sensors, camera control/accelerometer boards. If you want to build your own system, be sure to check out this page which includes all the necessary instructions and resources.