Created: 2014-05-18 23:13
Updated: 2018-10-24 07:32
License: gpl-3.0
c++

README.md

Equail

Description

Audubon society plush toys modified to activate on BTLE beacons.

DEMO

youtube video

Explanation

This is designed to interface with toys that run on batteries. The device uses a NRF24L01+, set with a very specific destination address, on channels 37-39, which happen to overlap with some of the Bluetooth LE spec.

By configuring the radio to ignore stock (Nordic) crcs, and by implementing the BTLE CRC and whitening algorithms, we can interpret legitimate beacons and respond to them.

Prior Art

Software Prerequisites

  • ATTiny Arduino Core
  • Included Libraries installed
  • Something to send a BTLE beacon (a linux computer)

Hardware

  • ATTiny85
  • nrf24l01+
  • An NPN transistor to switch on your device (2N3904)
  • 3.3V Power supply (2X AA batteries)
  • Some sort of ISP programmer

Schematic

See the schematic_eagle folder for my first attempt at a schematic ever.

Server-side

I use OpenWrt on a TP-Link WR703N plus an inexpensive Bluetooth 4.0 dongle.

Combine this with an HTTP interface on an xinetd script and you have an API!

See openwrt_setup for more details on this. Having a dedicate computer that can respond to requests to generate beacons is cool.

Once you have server, you can emulate the Audubon Singing Bird Clock!

0 7  * * * /usr/sbin/send_beacon CalQuail
0 8  * * * /usr/sbin/send_beacon CaliGull
0 9  * * * /usr/sbin/send_beacon NrthCard
0 10 * * * /usr/sbin/send_beacon PrplFnch
0 11 * * * /usr/sbin/send_beacon EastBlue
0 12 * * * /usr/sbin/send_beacon WestMead
0 13 * * * /usr/sbin/send_beacon CaliWren
0 14 * * * /usr/sbin/send_beacon WillowPt
0 15 * * * /usr/sbin/send_beacon BrnPelic
0 16 * * * /usr/sbin/send_beacon CactusWr
0 17 * * * /usr/sbin/send_beacon WestMead
0 18 * * * /usr/sbin/send_beacon HermitTh
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more