Category Archives: tinyBrd

Wireless temperature sensor programmed with Arduino IDE

tinyBrd is small development board, with ATtiny84 and NRF24L01+ connector. With software provided by us, You get easy to use board which can send data by radio to Raspberry Pi or Arduino UNO and run many days (our most recent tests show it will run at least 2-3 weeks in this scenario) on single CR2032 battery.

When in sleep mode whole board with NRF24L01 and DS18B20 takes as low as 5 µA!

Tools and materials

To build this example You will need:

Of course You will need tools like solder iron, wire cutter, etc.

To receive data we suggest use Raspberry Pi and our NRF-Hat – simple board to connect NRF24L01+ directly to RPi, without mess (no cables required).

Continue reading

What new we have learned about NRF24L01

Nettigo tinyBrd i Raspberry Pi z NRF-Hat

Nettigo tinyBrd with RPi and NRF-Hat

In recent weeks we did a lot tests to our tinyBrd. This was due to new Nettigo tinyBrd Core (integration with Arduino IDE). With v1.1b release we have lowered current consumption even more.

Now, in sleep mode tinyBrd with NRF24L01+ and DS18B20 takes only 4-5 µA (vs 9-10 µA on previous software). During sending data it takes 15 mA (vs 18 mA before).

Our test case is sending data (temperature) read from DS18B20 to RPi every 30 seconds and tinyBrd is powered by singe coin battery (CR2032). How does it work?

Continue reading

Using tinyBrd library on Arduino to connect via NRF24L01

Our tinyBrd has very simple and easy to use interface for NRF24L01 radio. This library was bundled with Nettigo tinyBrd Core, add-on for Arduino IDE to program tinyBrd. Now we have extracted it as standalone and can be used on Arduino UNO and other boards.

Changes are minor, since we need to remove name conflict with bundled Radio library. Arduino IDE library manager was taking our Radio library as library for FM chips. So let us introduce RadioNRF24 library. With library name change we have changed main object name so all old examples are valid, just use new object name:

  RadioNRF24.begin(address, 100);

There is no other changes. With UNO You have use different begin form:

  RadioNRF24.begin(address, 100, 8, 7);

On tinyBrd CSN i CE are fixed so there is no need to give them in initalizer. That is not true with UNO, so in former example 8 is CSN pin and 7 i CE pin. Exactly as it is shown on following diagram – how to connect NRF24L01 to Arduino.

Connecting nRF24L01 and Arduino

Connecting nRF24L01 and Arduino

Library is for now available only on GitHub: https://github.com/nettigo/RadioNRF24

We will prepare more easy to use form as .zip file. Also – there are some examples as  gists: https://gist.github.com/netmaniac/dfd7eb4f884d58346480. Remember – as for today library bundled in tinyBd Core is still using  Radio name, so all code on tinyBrd should use Radio.begin and similar. On UNO use RadioNRF24. In future, we will update tinyBrd Core to use RadioNRF24 name.

tinyBrd – getting stuff installed

This post is part of bigger series. You can get all tinyBrd related information here.

Before You do any work with tinyBrd You have to install required libraries. We have prepared instruction how to do it.

Requirements

This tutorial was tested against Arduino IDE 1.6.7 from Arduino.cc and we assume You are using this version. To program tinyBrd You need some kind of ISP programmer, we recommend easy to use USBasp

Getting info

First You  need to know, where You have to install our code. Locate folder with Your sketches – check Arduino IDE preferences (Ctr+,).

IDE preferences

IDE preferences

In this example it is /home/seba/sketchbook15. In this folder create (if it doesen’t exists yet) folder hardware. Then get our Nettigo tinyBrd Core http://static.nettigo.pl/tinyBrdCore-current.zip and unzip it. Restart Arduino IDE and in menu Tools/Boards You should see new entries. Choose Attiny84 @ 8 Mhz.

Now, open example File/Examples/01. Basics/Blink and change LED pin from 13 to 0. Upload example to tinyBrd (if You have USBAsp just connect it and upload from IDE as usual). You can test with multimeter or LED connected to D0 that Blink is working.

Examples

We have prepared some examples, You can download it from http://static.nettigo.pl/tinyBrdExamples-v1.0.zip Unpack it to Your sketchbook folder.

All of them, in most current version You can get from GitHub: https://github.com/nettigo/tinybrd-examples

Raspberry PI

tinyBrd is meant to communicated with some central node. Raspberry PI is great for that! We have created Python library to get NRF24L01 going.

We assume You are using our NRF Hat to connect modem NRF24L01 to Your Raspberry.

You have to install pip for Python3 if You don’t have it on Raspberry:

sudo apt-get install python3-pip

Now just install our library directly from GitHub:

sudo pip-3.2 install git+https://github.com/nettigo/pyNRF.git

NRF uses SPI protocol, which is not enabled by default on Raspberry, run sudo raspi-config choose option Advanced config next A6 SPI and answer yes to next questions. Now reboot Raspberry, it is ready to work.

Revision history (this article and core versions):
  • 12-09-2015 – initial version
  • 30-12-2015 – core updated to work with Arduino IDE 1.6.7
  • 4-02-2016 – v1.1b – lower current consumption – only 4-5 µA in sleep mode

tinyBrd – NRF24L01 radio connectivity in Arduino style

Check tinyBrd page

All, most current and up to date documentation can be found on tinyBrd documentation page: http://starter-kit.nettigo.eu/tinybrd-documentation/ (since Mar 2016)

Previous content:

At Nettigo we did a lot work with NRF24L01. As a result we created small board, with ATtiny84 on board and connector for NRF24L01.

tinyBrd

This board is Arduino IDE compatible (You program it using Arduino IDE, most commands are ported), we have prepared some easy to use library for most important tasks: radio communication, power save modes and more.

With easy to use software interface You can get in few minutes running remote sensor, sending data to central unit and in power save mode using only ~10µA! For example – DS18B20 sensor sending data to central unit each 30 seconds can work on two AA batteries few weeks.

Hardware:

We have prepared some Polish documentation, now we start to translate it to English:

  1. Install required software to Arduino IDE and on Raspberry Pi (optional): http://starter-kit.nettigo.eu/2015/tinybrd-getting-stuff-installed/
  2. Build minimalistic temperature sensor working weeks on single CR2032 battery: http://starter-kit.nettigo.eu/2016/wireless-temperature-sensor-programmed-with-arduino-ide/
  3. How to receive and send data on Arduino using NRF24L01 and tinyBrd Radio library: http://starter-kit.nettigo.eu/2015/using-tinybrd-library-on-arduino-to-connect-via-nrf24l01/