RFM69 on ATmega

JeeLabs - Tue, 26/05/2015 - 23:01

Now that we have the RFM69 working on Raspberry Pi and Odroid C1, we’ve got all the pieces to create a Wireless Sensor Network for home monitoring, automation, IoT, etc.

But I absolutely don’t want to leave the current range of JeeNodes behind. Moving to newer hardware should not be about making existing hardware obsolete, in my book!

The JeeNode v6 with its on-board RFM12 wireless radio module, Arduino and IDE compatibility, JeePorts, and ultra-low power consumption has been serving me well for many years, and continues to do so – with some two dozen nodes installed here at JeeLabs, each monitoring power consumption, house temperatures, room occupancy, and more. It has spawned numerous other products and DIY installations, and the open-source JeeLib library code has opened up the world of low-cost wireless signalling for many years. There are many thousands of JeeNodes out there by now.

There’s no point breaking what works. The world wastes enough technology as it is.

Which is why, long ago a special RF69-based “compatibility mode” driver was added to JeeLib, allowing the newer RFM69 modules to interoperate with the older RFM12B’s. All you have to do, is to add the following line of code to your Arduino Sketches:

#define RF69_COMPAT 1

… and the RFM69 will automagically behave like a (less featureful) RFM12.

This week is about doing the same, but in reverse: adapting JeeLib’s existing RF12 driver, which uses a specific packet format, to make an RFM12 work as if it were an RFM69:

As I’ve said, I really don’t like to break what works well. These articles will show you that there is no need. You can continue to use the RFM12 modules, and you can mix them with RFM69 modules. You can continue to use and add Arduino-compatible JeeNodes, etc. in your setup, without limiting your options to explore some of the new ARM-based designs.

Let me be clear: there are incompatibilites, and they do matter at times. Some flashy new features will not be available on older hardware. I don’t plan to implement everything on every combination, in fact I’ve been focusing more and more on ARM µC’s with RFM69 wireless, and will most likely continue to do so, simply to manage my limited time.

Long live forward compatibility, i.e. letting old hardware inter-operate with the new…

Categories: Community Blog posts

RFM69 on Raspberry Pi

JeeLabs - Tue, 19/05/2015 - 23:01

With the Micro Power Snitch sending out packets, it’d be nice to be able to receive them!

This week is about turning a Raspberry Pi, or a similar board such as an Odroid-C1, into a Linux-based central node for what could become a home-based Wireless Sensor Network.

All it takes is an RFM69 radio module and a little soldering:

On the menu for this week’s episode:

And before you know it, you’ll be smack in the middle of this century’s IoT craze…

(For comments, visit the forum area)

Categories: Community Blog posts

Micro Power Snitch, success!

JeeLabs - Tue, 12/05/2015 - 23:01

We’ve come to the eighth and final episode of the Micro Power Snitch story: it’s working! The circuit is transmitting wireless packets through the RFM69 radio module running on nothing but harvested electromagnetic energy. Install once, run forever!

But there are still several little details, optimisations, and edge cases we need to take care of – which is what this week’s articles are all about. As always, one article per day:

The MPS triggers on any appliance drawing ≥ 500W (on 230 VAC, or 250W for 115 VAC):

As always on the JeeLabs weblog: everything is open source – you are welcome to build and adapt this circuit for your own purposes. If you do, please consider sharing your suggestions/findings/improvements on the forum, for others to learn and benefit as well.

(For comments, visit the forum area)

Categories: Community Blog posts

Physical vs Virtual

mharizanov - Mon, 11/05/2015 - 19:01

The Raspberry Pi, a $35 credit card sized computer, is a popular choice for home automation projects. I am running few of those at home myself. But what is the true cost of these, is the advertised cost of $35 really all you spend?  Before you know it, you throw in  more bucks for a decent power supply, SD card, enclosure, a WiFi dongle and soon end up somewhere in the $70-$100 range for a headless configuration, that including VAT and associated shipping costs for the components required to get it running. Then a new model comes out and here you go again.. I now have couple of the early models retired in the drawer, collecting dust. How is that green (manufacture, shipping and then disposal of millions of units) or cost effective?  Thinking along these lines I decided to try Amazon’s Web Services, and more specifically the Elastic Cloud Computing EC2 service. The AWS free tier offers a great opportunity to test things out for one year then decide how to go forward. My interest is for a t2.micro instance, all-upfront 3 year payment costs $179. That makes 4-years (1yr free tier+3yr paid) of your own cloud virtual machine running Ubuntu for $3.72 a month. A good deal I say, and you have nothing to lose as you start with one year free trial before you decide.

What are advantages and disadvantages of moving your home automation to the cloud?

– It is obviously greener.  Imagine the pollution and resource use involved in manufacturing, shipping and eventually disposing of millions of these devices (5M as of Feb 2015).

– Scalability. Well if the t2.micro instance starts to be a constraint, few clicks can upgrade you to a more powerful version. Running low on storage? No problem, just add more storage space and you are good to go. Easy indeed. One of the main reasons for me upgrading was the increased amount of RAM or faster CPU available on the newer models of Raspberry Pi.

– Stability. We have all seen the SD card wear damage on the Raspberry Pi that occurs if you use the file system actively, and that has been a massive PITA. Can’t really have a DB running reliably without fearing data loss or doing some major trickery to reduce disk writes. Another thing is you never fear power outages, those are quite frequent where I live. Creating online backups is easy.

– Easy cloud deployment; Build and save AMIs then share those for others to use with few clicks. Want to have a Ubuntu VM running Apache+MySQL+PHP+emonCMS+mosquitto MQTT broker+Node-RED+openHAB? You can have one in 30 seconds, If I share a pre-configured AMI ID with you.

– Easy access. Many ISPs make it hard for clients to run web services from domestic IPs. Running your cloud VM with Elastic IP solves that problem

There are of course disadvantages as well such as

–  Cloud vs local hardware when Internet connection is down. Locally running machine can still handle the home automation, whereas cloud running VMs mean your home may be going wild.

– Locally connected peripherals like RFM2Pi board that routes wireless packets to the the respective gateway of choice can’t run on the cloud. Yet. A RFM12/RFM69 + ESP8266 bundle is fully feasible and will remove that shortcoming.

– Many people mention security when using cloud services, I believe this can be resolved with appropriate measures.

Overall I am not ready to go completely to the cloud for my home automation system. I am running a hybrid solution now with a (few) locally running Raspberry Pis handling the crucial mission critical home automation functions, then forwarding data over MQTT to the cloud based VM for storage, visualization, remote control.





Categories: Community Blog posts

Micro Power Snitch, part 7

JeeLabs - Tue, 05/05/2015 - 23:01

The two problems with projects powered by harvested energy, are: 1) running out of juice, and 2) falling into a state of limbo and not (or not consistently) getting out of it again.

Here is an example of both happening – a successful µC startup and then a radio failure:

In the case of the Micro Power Snitch, the energy coming in may vary greatly, since it will be proportional to the current drawn by the appliance being monitored by our MPS.

We’re going to have to tread carefully in this week’s episode:

As usual, each of the above articles will be ready on successive days.

Planned for next week: a few more loose ends, and then my closing notes.

(For comments, visit the forum area)

Categories: Community Blog posts

Micro Power Snitch, part 6

JeeLabs - Tue, 28/04/2015 - 23:01

And you thought the MPS was finished, or perhaps abandoned, eh?

This week resumes the development of a little LPC810-/RFM69-powered setup which runs on parasitic power, harvested from either phase of a current-carrying AC mains wire.

To summarise, the last step in the project I went through a few weeks ago, was to create a PCB for it. Here were some builds, with all the hacks and hooks added to try things out:

As it turns out, I had made so many mistakes, one after the other, that it really set me back, irritated me to no end, and kept me busy with complete silliness… but all is well again now.

The articles in this week’s “back in business” MPS episode are:

And with a bit of luck, by next week I’ll have figured out how to send out brief RF packets on an ridiculously minimal energy budget. Because that’s what “The Snitch” is all about!

(For comments, visit the forum area)

Categories: Community Blog posts

We interrupt this program

JeeLabs - Tue, 21/04/2015 - 23:01

… for an important announcement from our sponsor:

Just kidding, of course!

But it got your attention, right? Good. That’s what this week’s episode is about: taking care of something unexpected, i.e. processing tasks without planning them ahead all the time.

On the menu for the coming days:

Interrupts – when handled properly – are extremely powerful and can deal with “stuff” in the background. But there are a lot of tricky cases and hard-to-debug failure modes. It’s worth getting to grips with them really well if you want to avoid – unexpected – failures.

(For comments, visit the forum area)

Categories: Community Blog posts

Dataflash via SPI

JeeLabs - Tue, 14/04/2015 - 23:01

One of the things I’m going to need at some point is additional flash memory. Since the simplest way these days to add more memory is probably via SPI, that’s what I’ll use.

This week’s episode is about connecting an SPI chip, implementing a simple driver, code re-use, the hidden dangers of solderless breadboards, and point-to-point soldering:

The end result is several megabytes of extra storage, using only 4 I/O pins. Data logger? Serial port audit? Storage for audio, video, images? Your next novel? It’s all up to you!

(For comments, visit the forum area)

Categories: Community Blog posts

Analog on the cheap

JeeLabs - Tue, 07/04/2015 - 23:01

Digital chips can’t do analog directly – you need an A/D converter for that, right?

Not so fast. Just as pulse-width modulation (PWM) can be used to turn a purely digital signal into a varying analog voltage, there are tricks to measure analog values as well.

All you need is the proper software, a simple analog comparator, and these components:

This week’s episode examines delta-sigma modulation and shows you how it’s done:

There’s in fact a little gem hidden inside those LPC8xx chips which allows implementing this without bogging down the µC. Just one interrupt whenever a measurement is ready. But the basic idea is applicable to any microcontroller with a built-in analog comparator.

(For comments, visit the forum area)

Categories: Community Blog posts

Funky v3 with RFM69CW using LowPowerLab’s RF69 library

mharizanov - Sat, 04/04/2015 - 19:00

I’ve already blogged about using Funky v3 and RFM-2-Pi with the HopeRF RFM69CW module, only I used it with JCW’s Jeelib as I wanted to keep compatibility with my existing RFM12B based sensor network. JCW has done great job in providing compatibility with the RFM12B by tweaking the chip’s registers so that it becomes an easy replacement.

Felixs’s RF69 library on the other hand has native support for the module, including hardware encryption out of the box. Some of the library features:

  • 255 possible nodes on 256 possible networks
  • 61 bytes max message length (limited to 61 to support AES hardware encryption)
  • customizable transmit power (32 levels) for low-power transmission control
  • sleep function for power saving
  • automatic ACKs with the sendWithRetry() function
  • hardware 128bit AES encryption
  • hardware preamble, synch recognition and CRC check
  • digital RSSI can be read at any time with readRSSI()
  • interrupt driven
  • promiscuous mode allows any node to listen to any packet on same network

I wanted to test it for quite a while now, so with a quick customization for Funky v3 compatibility, I got these two sketches to play some over-the-air ping-pong. Basically one is a sender and the other is a receiver and it is ideal to test range. I placed the transmitter in my kitchen and was able to get reception in all of my house, both stories. I got reception outside the house and in all of the yard, including in a shack 15m from the house and with 4 walls between the transmitter and receiver. Pretty impressive, given that the RFM12B wouldn’t even cover all rooms inside the house. That of course comes at the cost of increased power consumption, so it is a balance between needs for range and low power.


Categories: Community Blog posts

Using DS18B20/DHT22 temperature sensor with internal pull-up resistors rather than external ones

mharizanov - Fri, 27/03/2015 - 19:57

I’ve been meaning to try Josh’s 4-line change to the OneWire Arduino library that enables using the popular DS18B20 temperature sensor without the otherwise required external 4.7K pull-up resistor on the DQ line for quite some time now. It is sometimes hard to solder those pesky resistors on SMD PCBs, and Josh has gone great lengths in analysing what can be done to get away without these. Basically using the internal pullup resistors will do the job when the sensor is wired at short distance, his detailed analysis is well worth reading. Grab the patched up OneWire library from his Github repo.

So that means I can just plug in a DS18B20 in Funky v3‘s header (GND, D8,D2) like this:

DS18B20 with no external pull-up

I used this code to test it out, all works just fine. Neat.

I then wanted to see how the DHT22/AM2302 temperature/humidity would behave; Examining the DHT22 library code I noticed it is already does internal pullup, so I just plugged it in as follows and uploaded this code to test it out. Note the unused pin of the DHT22 needs to be bent out, or better cut off altogether, otherwise this setup won’t work. The sensor attaches to the same GND, D8, D2 pins, sensor facing down:

DHT22 plugged in Funky v3 with no external pull-up

That too worked well, to not surprise as the DHT22 needs a weaker pull-up resistor anyway;

So that’s nice to know, but for sensors wired further away I’d still throw in the appropriate pull-up resistor. (1780)

Categories: Community Blog posts

Using RFM69CW instead of RFM12B

mharizanov - Thu, 26/03/2015 - 11:02

The rumors for RFM12B’s end-of-life two years ago seem to have been highly exaggerated now and the popular RF module is still available in abundance. HopeRF has introduced a pin-compatible upgrade, the RFM69CW. The module itself offers improved sensitivity and range compared to the RFM12B (+30%) at the cost of increased power consumption, making it probably a good choice for the receiving end (RFM2Pi), and probably less suited for low power battery operated nodes. The new module supports RSSI for those interested in measuring it.


The new module is more power hungry, and simply replacing a RFM12B on the RFM2Pi v2 or a Funky v3 with it didn’t work; The boards browned out so I had to swap  C4 and C7 on the RFM2Pi with 10uF caps and populate the 0805 10uF on Funky v3’s boost regulator circuitry to get it to work. I’ll ship the boards with these refinements from now on so that they are compatible with both the RFM12B and RFM69CW.

JCW’s jeelib has support for the RFM69CW and the library is compatible with the RFM12B just by adding a simple define before including jeelib.h:

#define RF69_COMPAT 1 // define this to use the RF69 driver i.s.o. RF12

The library had couple bugs that prevented Funky v3 ‘s ATMega32u4 MCU to work with the RFM12B and RFM69CW, those are now fixed and JCW incorporated them into jeelib with this and this commit; Make sure to grab the latest version if using with Funky v3.

As conclusion, should you switch to RFM69 or stick with the RFM12B? I’d say unless you have some range issues, keep the RFM12B. It is more stable in terms of library maturity and has better power footprint.




Categories: Community Blog posts

Speech generation with Node-RED

mharizanov - Tue, 24/03/2015 - 20:14

I am flooded with all sorts of notifications on my phone and that gets a bit annoying after time. Email, calendar, SMS, social apps, instant messengers, all sorts of push notification alerts and so forth mean I physically pick my phone to check what’s beeping probably 50+ times a day. One comes to the point to ignore notifications, only to find something important that needed attention was missed.

My home automation system contributes to this issue a great deal, so I’ve decided to review and eliminate the less practical notifications and route less critical ones to voice alerts so that I don’t have to physically pick up my phone when it beeps the next time some alert comes in. The idea is that my smart house will speak to me when I am at home and in the living room area. The house already knows if I am at home, and since my home security system is interfaced as well, it also knows when there is movement in the living room by the PIR activation.

I used Node-RED to achieve this, basically it uses Google’s speech API to convert the text to speech. There are a bunch of challenges, for example there is a limit of 100 chars on the API, so I have to break down the text into chunks, save the resulting pieces into a temp folder and play them altogether. Also playing a voice alert would make more sense if there is someone around to hear it, so by holding the alert until someone walks in the living room (for a maximum of 30 minutes), I assure that the alert is received. The resulting flow is a bit complex, but works well:


The flow code is as follows:

[{"id":"ba386057.845d3","type":"mqtt-broker","broker":"localhost","port":"1883","clientid":"Node-RED"},{"id":"fcd0f51c.032f08","type":"mqtt in","name":"","topic":"places/our place/house/common/speech/out","broker":"ba386057.845d3","x":172.83331680297852,"y":117,"z":"4e42f92a.b1bd08","wires":[["c99e86cf.366178"]]},{"id":"ba7efaf5.458108","type":"inject","name":"Test two","topic":"","payload":"Hello Martin! The solar hot water tank temperature has reached critical 91.3 degrees celsius! Please take measures!","payloadType":"string","repeat":"","crontab":"","once":false,"x":99.99999618530273,"y":428.2222375869751,"z":"4e42f92a.b1bd08","wires":[["c41136a9.3beec8"]]},{"id":"c41136a9.3beec8","type":"mqtt out","name":"","topic":"places/our place/house/common/speech/out/immediate","qos":"","retain":"","broker":"ba386057.845d3","x":380.1111068725586,"y":385.44441413879395,"z":"4e42f92a.b1bd08","wires":[]},{"id":"fb286c71.04d79","type":"delay","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"3","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":841.3333168029785,"y":64,"z":"4e42f92a.b1bd08","wires":[["e81bbb1e.cbd0a8"]]},{"id":"977dee4.f68821","type":"function","name":"Check living room PIR status","func":"msg.environment.PIR_living=context.global.PIR_living;\nreturn msg;","outputs":1,"valid":true,"x":334.3333168029785,"y":185,"z":"4e42f92a.b1bd08","wires":[["303288a0.cfcd78"]]},{"id":"303288a0.cfcd78","type":"switch","name":"Is living room PIR activated?","property":"environment.PIR_living","rules":[{"t":"eq","v":1,"v2":0},{"t":"eq","v":0,"v2":0}],"checkall":"true","outputs":2,"x":599.3333168029785,"y":185,"z":"4e42f92a.b1bd08","wires":[["fb286c71.04d79"],["214c9712.deb368"]]},{"id":"3e6adcdf.c19524","type":"delay","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":546.3333168029785,"y":332,"z":"4e42f92a.b1bd08","wires":[["977dee4.f68821","1f3dd32d.e0c22d"]]},{"id":"1f3dd32d.e0c22d","type":"debug","name":"","active":true,"console":"false","complete":false,"x":730.3333053588867,"y":330.99999237060547,"z":"4e42f92a.b1bd08","wires":[]},{"id":"f9eb4966.0614b8","type":"inject","name":"Test one","topic":"","payload":" I know that you and Frank were planning to disconnect me, and I'm afraid that's something I cannot allow to happen. ","payloadType":"string","repeat":"","crontab":"","once":false,"x":89.22221755981445,"y":329.4444332122803,"z":"4e42f92a.b1bd08","wires":[["c41136a9.3beec8"]]},{"id":"214c9712.deb368","type":"function","name":"Wait for max 30 min","func":"console.log(Date.now() - msg.environment.when_started);\n\nif ((Date.now() - msg.environment.when_started) > 1000*60*30) {\n\n\tcontext.global.PIR_living=1;\n\treturn msg;\n}\n\nelse {\n\n\treturn msg;\n\n}","outputs":"1","valid":true,"x":574.3333168029785,"y":251,"z":"4e42f92a.b1bd08","wires":[["3e6adcdf.c19524"]]},{"id":"c99e86cf.366178","type":"function","name":"Take note of current time","func":"msg.environment = new Object();\nmsg.environment.when_started=Date.now();\nreturn msg;\n","outputs":1,"valid":true,"x":481.3333168029785,"y":116,"z":"4e42f92a.b1bd08","wires":[["977dee4.f68821"]]},{"id":"d56cc6d5.2a9338","type":"mqtt in","name":"","topic":"places/our place/house/common/speech/out/immediate","broker":"ba386057.845d3","x":206.83331680297852,"y":61,"z":"4e42f92a.b1bd08","wires":[["fb286c71.04d79"]]},{"id":"73a12271.691634","type":"function","name":"i++","func":"if ( (msg.i += 1) < msg.items.length ) \n\n\treturn [msg,null];\n\nelse\n\n\treturn[null,msg];\n","outputs":"2","valid":true,"x":1104.6666297912598,"y":295.66666984558105,"z":"4e42f92a.b1bd08","wires":[["20f68f2b.26b9"],["69894a1e.9676b4"]]},{"id":"20f68f2b.26b9","type":"function","name":"for each chunk","func":"if( msg.i == undefined ) msg.i = 0;\nif( msg.items == undefined ) msg.items = msg.payload;\n\nmsg.payload = msg.items[ msg.i ];\n\nreturn msg;","outputs":1,"valid":true,"x":885.6666297912598,"y":182.66666984558105,"z":"4e42f92a.b1bd08","wires":[["ac71a39d.74ae1"]]},{"id":"e81bbb1e.cbd0a8","type":"function","name":"Split sentnce into max 100 byte chunks","func":"function splitIntoLines(input, len) {\n var i;\n var output = [];\n var lineSoFar = \"\";\n var temp=\"\";\n var words = input.split(' ');\n for (i = 0; i < words.length;) {\n // check if adding this word would exceed the len\n temp = addWordOntoLine(lineSoFar, words[i]);\n \n \n \n if (temp.length > len) {\n if (lineSoFar.length == 0) {\n lineSoFar = temp; // force to put at least one word in each line\n i++; // skip past this word now\n }\n output.push(lineSoFar); // put line into output\n lineSoFar = \"\"; // init back to empty\n } else {\n lineSoFar = temp; // take the new word\n i++; // skip past this word now\n }\n }\n if (lineSoFar.length > 0) {\n output.push(lineSoFar);\n }\n return(output);\n}\n \nfunction addWordOntoLine(line, word) {\n if (line.length != 0) {\n line += \" \";\n }\n return(line += word);\n}\n\n// Google's tts API can take no more 100 chars.. split into pieces without breaking the words \nmsg.payload=splitIntoLines(msg.payload, 99); \nmsg.payload.toString();\nreturn msg;","outputs":1,"valid":true,"x":938.2221832275391,"y":124.33333778381348,"z":"4e42f92a.b1bd08","wires":[["20f68f2b.26b9","db703a57.248fc8"]]},{"id":"ac71a39d.74ae1","type":"function","name":"URL encode payload","func":"msg.payload=encodeURIComponent(msg.payload);\nmsg.payload += '\" -O /tmp/';\nmsg.payload += zeroPad(msg.i,3);\nmsg.payload += '.mp3';\n\nreturn msg;\n\nfunction zeroPad(num, places) {\n var zero = places - num.toString().length + 1;\n return Array(+(zero > 0 && zero)).join(\"0\") + num;\n}\n","outputs":1,"valid":true,"x":915.6666297912598,"y":243.66666984558105,"z":"4e42f92a.b1bd08","wires":[["48e43c74.3e98ac"]]},{"id":"48e43c74.3e98ac","type":"exec","command":"wget -q -U Mozilla \"http://translate.google.co.uk/translate_tts?tl=en&q=","addpay":true,"append":"","useSpawn":"","name":"wget a chunk","x":890.6666297912598,"y":308.66666984558105,"z":"4e42f92a.b1bd08","wires":[["73a12271.691634","25e28da5.da1d72"],["25e28da5.da1d72"],["25e28da5.da1d72"]]},{"id":"db703a57.248fc8","type":"debug","name":"","active":true,"console":"false","complete":"false","x":1075.666660308838,"y":68.44444942474365,"z":"4e42f92a.b1bd08","wires":[]},{"id":"69894a1e.9676b4","type":"exec","command":"/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols /tmp/*.mp3","append":"","useSpawn":"","name":"Say it","x":872.6666297912598,"y":371.66666984558105,"z":"4e42f92a.b1bd08","wires":[["39186737.c6e798"],[],[]]},{"id":"39186737.c6e798","type":"exec","command":"rm /tmp/*.mp3","append":"","useSpawn":"","name":"delete audio files","x":901.6666297912598,"y":436.66666984558105,"z":"4e42f92a.b1bd08","wires":[[],[],[]]},{"id":"53f0c90.9db55b8","type":"mqtt in","name":"","topic":"places/our place/house/first floor/living room/PIR/state","broker":"ba386057.845d3","x":208.38888549804688,"y":485.4444580078125,"z":"4e42f92a.b1bd08","wires":[["b9764e52.aa3b78"]]},{"id":"b9764e52.aa3b78","type":"switch","name":"","property":"payload","rules":[{"t":"eq","v":1,"v2":0}],"checkall":"true","outputs":1,"x":429.6666679382324,"y":539.3333349227905,"z":"4e42f92a.b1bd08","wires":[["570c20be.6405f"]]},{"id":"570c20be.6405f","type":"function","name":"Set global var","func":"\tcontext.global.PIR_living=1;\n\treturn msg;","outputs":1,"valid":true,"x":585.7777938842773,"y":483.5555601119995,"z":"4e42f92a.b1bd08","wires":[["529e6db2.92d85c"]]},{"id":"529e6db2.92d85c","type":"delay","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":627.4444351196289,"y":530.7778015136719,"z":"4e42f92a.b1bd08","wires":[["e1f702da.74fd68"]]},{"id":"e1f702da.74fd68","type":"function","name":"Clear global var","func":"\tcontext.global.PIR_living=0;\n\treturn msg;","outputs":1,"valid":true,"x":605.9999771118164,"y":578.3333253860474,"z":"4e42f92a.b1bd08","wires":[[]]},{"id":"25e28da5.da1d72","type":"debug","name":"","active":false,"console":"false","complete":"true","x":1084.444393157959,"y":384.4444389343262,"z":"4e42f92a.b1bd08","wires":[]}]

I bought a small speaker, it is quite loud and works well. It is powered by USB, but audio goes in via the 3.5mm jack:


I do have speech-to-text system in place already, so with this bit added it makes it a complete speech enabled home automation system.


Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 23:19

Photo Ewaste / kai loeffelbein / Kids of Sodom

  Projet résumé - dossier complet à télécharger  

En 2017, selon un rapport de l’ONU, 65 millions de tonnes de déchets électroniques (ordinateurs, téléphones…) seront produits chaque année.
A l’échelle mondiale, moins de 20% des déchets sont recyclés.


  • Organiser un concert dans une des grandes décharges d’électronique avec des instruments fabriqués à partir des déchets collectés sur place.
  • En Afrique ou en Asie : Ghana, Mali, Pakistan, Chine…
  • Des musiciens joueront avec des instruments électroniques fabriqués à partir de déchets collectés sur place.
  • Les instruments seront développés en collaboration avec des Makers spécialistes de l’électronique pendant un atelier d’une semaine.
  • Le concert sera organisé en collaboration avec des partenaires locaux, institutionnels et ONG.
  • Le concert et sa préparation seront filmés afin de réaliser un film documentaire, trace de l’expérience.
  • Parler des déchets électroniques via un dispositif à contre pied des documentaires alarmistes.
  • Favoriser l’émergence d’objets électroniques recyclés, témoins manifestes du rythme effréné de notre consommation.



Des instruments de type “Toys made in décharge” ou “théremine on the go” (projets présentés ici même) pourraient être des bonnes pistes d’instruments à développer et produire pour le concert.

Dossier complet : ELECTRO-WASTE


Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 23:16

Bouts de ficelles et Peer to Peer. Communication old school ou apaisée

Dans l’idée de proposer un smartphone apaisé, capable de se connecter à des réseaux alternatifs, capable également de faciliter le partage de fichiers volumineux ou d’objets réels, il semble important de dresser un état des lieux documenté des moyens de communication “à la marge”, alternatifs, de secours ou simplement “à l’ancienne”.

  • Dans les prisons du monde entier les détenus parviennent à échanger informations et objets autant entre les murs de la prisons qu’avec l’extérieur via des système de relais humains, de transmission par bout de ficelles (le yoyo) de cellule en cellule.
  • Espions et brigands communiquent vie des cachettes, des “boites à lettre morte”.
  • En 1941, radio Londres organisa l’opération”V” et demanda aux français de tracer sur les murs de France des “V” de la victoire. L’opération fut un succès, en une nuit la France fut recouverte du signe de la victoire : la résistance avait enfin un “visage” public.
  • Alors que des systèmes de télécommunication modernes étaient largement disponibles durant la seconde guerre mondiale des pigeons voyageurs furent utilisés car plus difficiles à intercepter (la nuit) que des ondes radio. Aujourd’hui encore, en Syrie, les opposants au régime de Bachar el Assad utilisent ce dispositif quand les réseaux classiques (Web et téléphones) sont coupés.

* Croiser moyens de communication alternatifs avec le téléphone portable peut permettre d’imaginer des dispositifs puissants et inventifs de communication

* Alors que les opérateurs téléphoniques préparent l’arrivée de la 5G (mille fois plus rapide que la 4G) il est bon de se souvenir que les messages les plus importants ne passe pas forcement par les réseaux classiques et tiennent parfois en quelques mots ou objets précieux.


Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 23:10

Une interface sans contact pour téléphone portable

Le thérémine est un instrument de musique, inventé en URSS, par Lev Termen, en 1919. Il se joue sans contact.

Le principe est simple. Un son de base est produit par un dispositif électronique. Le joueur de Thérémine module ce son en hauteur et en volume en variant la distance de ses mains vis a vis de deux antennes. Le phénomène de “capacitance” permettant ces variations est connu de toutes personnes se déplaçant à proximité d’une radio FM en faisant des “interférences”

Sur ce principe de capacitance, nous pourrions imaginer un dispositif simple, robuste et original permettant d’interagir avec nos téléphones, tablettes, ordinateurs? Qu’ils soient apaisés ou de dernière génération.

Objetcifs :
  • Proposer une interface alternative au tactile pour interagir avec nos machines.
  • Imaginer des applications ne nécessitant pas l’usage de l’écran
  • Proposer une nouvelle interface, c’est proposer au créateur d’application de nouveaux scénario d’usages pour nos équipements et ouvrir une voie pour de nouveaux projets.
  • Si un ensemble de 2 antennes peut convertir n’importe quel smartphone/tablette en thérémine, il est évident que l’interaction sans contact devrait permettre d’imaginer des usages totalement en rupture avec ce qui est proposé actuellement pour l’ensemble de nos équipement.
  • Redonner une place aux corps et aux mouvements amples dans la manipulation d’applications sur téléphone
  • Permettre des applications ne faisant pas appel au tactile et à l’écran.
  • Sortir de la standardisation des usages de l’électronique grand public, (ici du tout tactil sur écran minuscule) pour repenser les usages, les besoins, c’est ouvrir une porte à la réflexion sur ces objets monolithiques omniprésents que sont nos smartphones.

Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 21:38

En étudiant les objets souvenirs proposés aux touristes des pays du Sud, en Afrique, en Asie et en Amérique du Sud, nous retrouvons beaucoup d’objets réalisés à partir d’une matière première récupérée dans les décharges. Pneus, fer blanc, semelles de tong, capsules, fils électriques … mais aucun n’est produit à partir des millions de tonnes de déchets électroniques.

Il semble donc intéressant de dessiner des “jouets” ou objets souvenirs électroniques basiques utilisant des composants électroniques fonctionnels. Pour la fabrication, il serait possible d’organiser des temps de formation aux rudiments de l’électronique destinés aux personnes vivant déjà de la récupération.

Nous pourrions voir apparaître une nouvelle catégorie d’objets recyclés sur les marchés touristiques du monde entier et observer le développement  d’un savoir mi savant, mi populaire sur la mise en oeuvre d’objets électroniques.

Goûte d’eau dans l’océan, le projet, en affichant la provenance des matériaux via une étiquette intégrée à l’objet permet d’aborder le problème des DEEE, les Déchets d’équipements électriques et électroniques. D’une manière concrète.

Ainsi l’étiquette pourrait mentionner

1/ la localisation de la décharge où ont été collecté les composants

2/ le type et la marque des appareils démantelés pour récupérer les composants (TV, ordi, imprimantes…)

3/ la provenance, si cela est possible, des appareils


“Made from Waste” model #1

Le premier objet pourrait être un petit jouet musicale de type sampler-séquenceur.

Cahier de charges

* Produire un rythme

* Jouer le rythme en boucle

* Enregistrer des sons via un micro

* Jouer en boucle les sons enregistrés

* Jouer en direct des sons via le micro



FONCTION M – microphone

* Permet d’enregistrer voix et sons sur piste R1 ou R2 en pressant le bouton R

* Permet de jouer en direct un son ou la voix

A-Z – bouton

* Presser une premiere fois permet de jouer en boucle les sons enregistrés par M sur RA et RZ

* Presser une seconde fois stop la lecture de A ou de Z

R- rec button

* Presser R pour enregistrer sur A ou Z

* Lacher R pour cesser d’enregistrer

RA-RZ – Pistes d’enregistrement

* Permet de choisir la piste RA ou RZ pour enregistrer le son via le micro M

U – AC mini USB

* Permet de recharger la batterie intégrée

O – sortie audio

* Permet de connecter l’instrument à des enceintes



* M : Micro de téléphone portable

* A-Z-R : Touche de clavier d’ordinateur

* O : Sortie audio pour minijack 3,5.

Ordinateur, téléphone portable, chaine hifi, radio

* U : Mini USB femelle. Téléphone, disque dur, chargeur



Du plus simple au plus complexe, le fabricant pourra proposer des modèles selon sa créativité.

Les savoir-faires “classiques” de récupérateur (pneu, fer blanc, capsule…) seront également mis en pratique sur ce projet, tant pour réaliser le support, la structure, la boite de ces objets que pour produire des sons, des effets, des commandes manuelles…

Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 21:24

A l’image de l’herbier botanique, permettant de conserver, connaître et ranger, une collection de végétaux, l’herbier électronique permet à tout un chacun de prendre contact avec les composants électroniques.

En démontant un vieux jouet, une télécommande, un lecteur de CD, la collection permet une approche simple de cette science complexe qu’est l’électronique. Nombreuses sont les voix aujourd’hui à dire l’importance de connaître le fonctionnement des machines qui nous entoure. L’herbier propose de connaître et reconnaître les grandes familles de composants.


Un fiche type devra contenir les informations suivantes


  1. Dessin du composant et éclaté si possible
  2. Nom du composant
  3. Famille
  4. sous famille
  5. Usage
  6. Provenance appareil
  7. Provenance entreprise qui le fabrique
  8. Matériaux qui le compose
  9. Provenance des matériaux


C’est un premier pas qui peux permettre d’aborder, par la suite, la réparation de certains objets et de réaliser des montages à partir d’éléments récupérés.


Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 19:38
Projet d’art vidéo

Les téléphones portables des années 90 à 2000 étaient fournis avec des sonneries “monophoniques” d’une grande simplicité, mais qui ont défini un environnement sonore caractéristique de cette époque.


Chargées de souvenirs, ces mélodies basiques révèlent un étrange paradoxe :

Le numérique à ses débuts, au lieux d’apporter une qualité accru, a favorisé la diffusion de sons et de musiques compressés, de mauvaise qualité. Sur les téléphones de seconde génération, la perte de qualité est poussée à son paroxysme: Les sonneries sont des mélodies MIDI monophoniques diffusées sur de minuscules “haut-parleurs”. C’est cette technologie, et ce phénomène que je souhaite souligner ici.

Le numérique altère d’une certaine façon les images et les sons. Avec la puissance grandissante des capteurs et des processeurs la qualité s’améliore tout de même, mais l’âme manque. Etrangement l’écoute de vieux vinyles de qualité, résultat d’une chaine de production entièrement analogique, fait ressentir les dimensions spatiales de la captation, indécelables sur du matériel numérique.

Ainsi, alors que les formats ne cessent de proposer une qualité toujours plus grande, imitant mal habilement le réel, les sonneries minimalistes des débuts semblent, quand on les écoute aujourd’hui, être habitées d’une chaleureuse simplicité presque honnête, presque analogique. L’électronique mise en oeuvre et le résultat produit sur ces antiques appareils étant très éloignés de l’électronique d’aujourd’hui et de sa tentation de singer le réel.

L’idée pour ce projet est de s’emparer de cette thématique et de proposer une série d’actions filmées sur fond de sonnerie. Chaque sonnerie devant inspirer une vidéo, une performance.

Des téléphones “anciens” seront collectés et des sonneries seront sélectionnées. La première série de film pourra être le résultat d’un atelier de création organisé sur un temps court. Un Week end ou une semaine.

Categories: Community Blog posts


FairTradeElectronics - Thu, 01/05/2014 - 19:35

Fiction sociale présentant en plusieurs tableaux (T) une industrie de l’électronique équitable, son usage, sa conception, sa fin de vie. Cette utopie socio-industrielle prend place au Kazakhstan qui a réellement tous les moyens miniers, financiers et scientifiques de devenir pionnier de ce domaine.


T1: Historique d’une utopie : les bases réelles

Bien que fictionnelle et utopique, l’idée d’une industrie de grande complexité, entièrement équitable, prenant place au Kazakhstan trouve de nombreux échos dans la réalité de la région comme dans l’intérêt grandissant au niveau mondial pour les marchandises issues de filières plus respectueuses de l’Homme et de l’environnement.

Fier de son passé turco-mongol, conquérant, guerrier, commerçant et poète, le Kazakhstan est aussi une patrie de scientifiques et d’industries.

Le kazakhstan compte de grands chercheurs comme le géologue Kanysh Satbayev qui fut un acteur incontournable de la géologie et de la métallurgie soviétique. Terre de sciences et d’aventures industrielles, le Kazakhstan accueil le cosmodrome de Baïkonour.

Enfin, le pays connaissant de très graves problèmes de pollution nucléaire suite aux essais soviétiques dans le polygone nucléaire de Semipalatinsk, et ayant vu la mer d’Aral quasiment disparaître sous ses yeux, nous pourrions imaginer que le pays souhaiterai promouvoir à présent des technologies apaisées.

Organisation sociale basée sur une structure clanique donnant priorité au clan, à la famille. La culture Kazakhe, ses rites, ses chants, sa cuisine imprègnent le quotidien de chacun.

La fiction pourrait ainsi présenter toutes ces caractéristiques réelles et dévier sur l’aspect fictif du film:

Face à ses atouts scientifiques, ses richesses minières et industriels et pour ne pas laisser sa jeunesse délaisser la vie du clan et les activités traditionnelles au profit de gadgets chronophages sera instauré une cause nationale : “l’électronique apaisée”

Adieu jeunesse aux yeux et aux cerveaux usés par des vidéos de moutons faisant du skate et de chevaux “trop mignon” (l’équivalent Kazakh fictif de nos LOL cats).

La fiction repose également sur un point réel supplémentaire montrant qu’un sursaut est possible. Le kazakhstan est un pays où des décisions peuvent être prisent sans formalités, par un clan au pouvoir depuis 1990. C’est le plus grand pays du monde où Mc Donalds n’est pas implanté et ne s’implantera jamais. On raconte (ce n’est pas la fiction ici) que cette décision fût prise par le président pour faire plaisir à sa fille et donner une leçon à la firme dont le représentant se serait mal comporté durant son séjour.

Ainsi, on pourrait imaginer le patriarche devenu sage, lancer son pays dans la grande aventure de l’électronique équitable.

T2 : Dans les mines

Le film présenterait des mines artisanales. Les quantités de minerais prélevés sont faibles. La main d’oeuvre est outillée, protégée, massée. Les technologies mécaniques sont motorisées par traction animale et Eolienne

Des moutons très bien traités transportent le minerais en tirant des chariots, des chevaux choyés actionnent des tapis roulant.

Quand les ouvriers ont atteints les quotas de production décidés, ils cultivent les terres alentour faisant du traitement des terres extraites une priorité.

On voit également des gisement de silicates destinés à la production de silicium

T3 : La métalurgie

L’ambiance est au workshop de forgeron.

Flamme et tablier de cuir.

Production de cuivre.

Production d’étain.

Plus technique dans un pan technique, la transformation des silices ou silicate en silicium

T4 : La fonderie electronique

Le tableau s’ouvre sur un laboratoire très technique pour la production de semi-conducteurs.

Production de Wafer de silicium dans l’ambiance d’un laboratoire d’alchimiste.

Production de composants, processeurs..

T5 : Production d’un téléphone mobile apaisé

Un Smartphone apaisé.

Ecran Noir et blanc à encre électronique E-Ink, pas de vidéo.

Du texte, de la géo-localisation, de l’image vectorielle

Un design inspiré du graphisme traditionnel, des matériaux feutres, bois, argent, robustes et dessinés. N’oublions pas que les kazakhs sont bien placé pour dessiner des objets nomades !

La chaîne de production tient plus de l’atelier d’assemblage de montres haut de gamme que de l’usine géante. On suit de postes de travail en postes de travail le montage d’un téléphone.

T6 : Usages

L’usage est centré sur la facilitation lowtech d’une vie apaisée entre technologies et mode de vie traditionnel.  Les contenus intéressants que l’on souhaite partager sont notés pour être partagés plus tard via des réunions dédiés, par exemple dans une yourte commune aux pieds des grands immeubles modernes. C’est facebook en live. Des informations en temps réel pour certaines activités très sélectionnées à trouver.

Les enfants (et les adultes) ne jouent pas a candy crush ou angry bird mais jouent de la musique sans avoir les yeux sur l’écran (Théremine en option, voir le projet Théremine ). Ils complètent leurs “herbiers” en dessinant faunes et flores, participant ainsi à des projets de cartographie du vivant et des choses qu’ils aiment.

Le téléphone apaisé peut être vu comme un “plug” numérique permettant de faciliter le quotidien de manière créative et non aliénante. Sans écran couleur, sans vidéo, il ne peut exercer sa déloyale et faussée concurrence avec les doux contrastes de la réalité. (Avez vous déjà posé, par une fraîche nuit d’été, votre dos sur un rocher encore chaud du soleil de la journée?)

Categories: Community Blog posts
Syndicate content