First experience with my new Robomow RC306

I am sitting in my hammock while writing this article – watching my brand new Robomow RC306 cutting the grass in our little garden. I bought the guy a couple of days ago and he is doing his third round in autonomous mode today. As a robotic fan (but also as a lazy person in general) i must say, i am impressed. Ok, to be fair – i was not too impressed in the beginning because the setup procedure is really kind of dumb. Not the software, it comes with an app and even without that the configuration of the device is really ok. What i mean by dumb is how you tell him where your garden is. To do that you have to install a wire around the green parts of your garden, separate it into zones if needed (that’s not your decision), take care if there are difficult trees or other objects that might cause trouble etc. – in 2015 i thought a company with the tagline “friendly robotics” would do a little smarter. But i shouldn’t blame them because it seems to be the standard among these kind of robots at the moment. I read a quote somewhere saying that irobot is working on a different solution without the wire – but yet they have no grass mover in place.

robomow

The thing with the wire is – it’s not just a pain to install it, you even have to check very carefully whether the Robomow is ok with it and can use it as a guide to drive around safely. Plus: just today he cut the wire twice and i had to solder the pieces together to get him working again. Increase cutting height of the robot and position of the wire again, will see…
Besides that i really like it – he is much more silent than a manual mover and once the wire-problem is solved does his job quite nicely. The algorithms to avoid being stuck seem to work ok as well. Although i took the 306, which is meant to work for 600 square meter the battery does not last to do my significantly smaller garden in one approach – but i don’t bother too much. He just moves back to his station and starts over again some hours later.
As said – an app is available for iOS (and Android i guess) which works quite well. All relevant settings can be modified here which is much more convenient than on the device itself.
The Robomow does have a rain-sensor, can’t tell yet how good that works, but i think it’s a crucial feature because cutting in the rain is not a good idea – not so much because of the machine but because the ground starts to get muddy and the mover will not only get stuck but also start messing around with the ground.
We do have an iRobot in the house since quite some time but stopped using the automatic (timer-based) mode bacause it was not really convenient in the end (noise, the need to prepare the ground to some extent etc.). Not sure how this will play out with the Robomow and whether we will use him in full autonomous mode or turn him on manually from time to time. But even in that case – a nasty bit of work has vanished from my life, thank you Robomow.

Posted in Allgemein | Leave a comment

Physical effects of a missing index in MysQL

Last night i had one of these nights where you think about throwing the sh*** out of your window – which in this particular case would have been quite impressive as i was working on my lamps that are made out of concrete…

What happened? Well, we are close to shipping these lamps for our installation at re:publica next week in Berlin. The code on the Ardufona-Boards inside of these lamps has been tested several times and the file-name comes with the obvious “final_final_ship_real2_final” extensions already. I only wanted to add a tiny switch to every lamp to ease up the handling a little bit more. So i checked on these 29 lamps and figured out – most of them were not working properly anymore. After some investigations and test-drives i figured that they seemed to have problems with the network connection, although the LED sequences indicated everything was going well. Spent the rest of the night trying to figure out what was going on (serial console and all that shit) and went to bed angry and depressed. All the lamps should have shown the same test-color – instead they all did something different, different colors, some were off etc. – totally frustrating.

This morning the idea came to my mind to check the get-query the lamps were performing manually in the browser. Bang! Took ages to respond. Went to the source-code, grabbed the most tricky SQL-query (that proved to work fine and quick before), pasted it into the SQL-console – 2.3 seconds (i have three of them in the code)! Asked MySQL to explain the query and saw that it was not using indexes properly – which had no effect in the beginning of the project but now the data had grown a lot…

Still the question – did that cause my problem? Replaced the SQL/PHP-Script with a fake text-file including a static answer. Waited a few minutes and then went down in the cellar. For the first time in my life i saw the physical effect of a query-optimization, i was blown away:

IMG_3635

Posted in Allgemein | Leave a comment

Building a cellular tracker: Part 8 – the Case

As described earlier my cellular tracker did not only have a couple of electrical and software challenges – running autonomously in the wild also would require a safe housing for it, something that can handle rain, high and low temperatures, carry a solar-panel etc.

Below you can see the different cases i tested out – in fact you can see two families of cases – one known as “Otterbox“, the other with the easy mountable screws on the edges are from Adafruit and can be ordered in a small and a large version. The otterboxes can be ordered in three different sizes – also in the Adafruit store (the one in the picture below is medium on the right and small on the left). Then there is the “project case” on the front left side which can be found at Sparkfun and their distributors.

Foto 1(4)

The latter is a very nice and handy enclosure, but it just did not fit into my requirements because it is not made for outside applications. But if you need a non-waterproof solution i can recommend it.

The Otterboxes (just saw that adafruit does not sell them anymore for whatever reason) are really awesome – i take every promise they make regarding durability for granted, these are really absolutely robust and professional boxes, their closing mechanism is very handy and stable in the same time – you don’t need a single screw to fix them very tight. For my purpose a critical disadvantage (besides the price) was the fact that they are shaped in a special way and that the plastic is not perfectly translucent. As my sensor would have to measure light from the inside this was quite an issue. The other problem i faced is mounting a solar panel on it. If you want to do this a “standard” size and flat surface is critical to use the maximum space for your solar-cell. As the surface of the Otterboxes is not flat they were out (in the picture below the one in the middle is the mid-sized Otterbox with a Solar-Panel mounted on the outside). But i would really recommend them if you are looking for the most robust and in a sense beautiful housing for your project.

At the end i chose the Adafruit system, both the bigger and the medium box are in use at the moment. For both versions you can find solar-panels that fit very well into the box, for the small one i used the tiny 0.5w panel from seedstudio that comes in very cheap. The bigger one can easily host this 2w panel from Voltaic Systems for instance that can be bought at Adafruits shop as well. These cases are also of a very nice quality, i like the big plastic screws that can be screwed in with a knife or even with your fingers. They are robust enough for outdoor use and can stand a lot of rain and snow without letting too many of the bad H2O molecule guys in.

Foto(5)

Ah – and not to forget – the guy in the middle. Yes, i was inspired by the GPRS-tracker from Seed that has been sold in a similar enclosure in the past (couldn’t find a picture anymore). I really liked the idea to put the electronics simply into this glass-enclosure originally made to conserve food and marmelade. Unfortunately i cannot recommend it because it is not safe in heavy rain. I think the reason is that the whole concept is made for stuff that get’s heated up and the conserved which creates under-pressure inside the enclosure while cooling down. As i do not plan to do something like this with my Arduino the rubber between cup and case could never really get under pressure, therefore this case would not get tight enough.

Birchsensor_alpha

 

Posted in Arduino | Tagged , | 1 Comment

Finding Europe with Lights – a pan-european Internet of Things installation

One of the reasons why i wanted to have this cellular tracker was a proposal i made to the founders of re:publica – the biggest web- and blogger conference in Berlin, that takes place on May 5th to 7th this year. As i read that they are putting it under the motto “finding europe” this year something immediately jumped into my mind: You cannot find Europe in 2015 without the Internet of Things!

So i made my proposal to distribute 28 color-sensors across all european member-states* and let them measure light information and upload that into the internet (yes, my ubidots installation). And put 28 RGB-Lamps on the ground at the event, that are connected to the sensors and display their color-information. This would offer a way to “find europe” by sensing the different color-informations from these countries, see where the sun is shining at the moment and which country is in the darkness earlier than the other etc.

Foto-164

Well, they said yes, do it. Wow. So i heated up the production of sensors, the finalization (and production) of Ardufona (which will be in Shenzen by Seeedstudio) and the production of some nice, hand-made lamps with a bottom made out of concrete. Here you can see how we are engraving the city-name where the lamp belongs to with a laser:

There is a website that gives more information on the project and has some nice pictures of the lamps and the sensors as well.

We got some nice press-coverage about the project already, Make-magazine Germany covered it, the Adafruit-Blog posted it and a lot of traffic and applications came in. This really was a blast already, but the project has just begun.

At the moment we are trying to get all member-states in with at least one application to host a sensor per country – you can follow this and many other aspects of the project on it’s Facebook-Page. As i am writing this post 20 out of the 28 EU-states applied already, some of the countries with a two-digit number of applications from individuals, maker-spaces, companies and other projects. This is really amazing. And it already gave me a very concrete feeling about the current state of Europe, and what digital could mean to it. For instance, Malta does not have a single Maker-Space at the moment and it seems to be very hard to reach anybody over there. Other countries, most of the other countries do have maker-spaces, even in smaller cities and sometimes surrounded by an impressive crowd – check Radiona as an example, a Zagreb based Space from the youngest EU-memberstate Croatia – what a beautiful webpage they have!

Once the sensors are being shipped to their destinations, you can track their journey through this interactive app (scroll down), it also shows the current color-values for each sensor.

I am so proud and excited about this! Not just because of the technology that is involved. My main motivation behind it is two-fold – i love the internet of things and it’s revolutionary potential for a better society, of course being aware of the huge risks that are coming alongside with it. But i truly believe, that the internet as such and the internet of things in special can be utilized to make our society more connected, more aware of each other and a better civil society. Internet of Things can be more than tracking of air-pollution, parking slots and traffic density. It can even be more than tracking ourselfs, our heart rate, runs and eating behavior. If we get it right, it can mean so much more, presence for example. Presence can mean a lot in a world where things are getting more global, more digital and old institutions and principles less reliable. Presence can mean being in contact with that Makerspace in Zagreb, build strong digital ties between people that share a vision and believes etc. – Finding Europe with Lights is a lot about presence.

The other reason is the political vision behind the European Union. Nationalism has caused so many bad things in history and the idea of a European Society is such a great and peace-driving one, that it deserves every support we can organize. I know this sounds naive and like a dreamer, especially in these days. I even know that the current setup of the EU is far from fulfilling that vision, sure. But that’s the reason for this project, call it a dream: A connected civil society from Lisbon to Helsinki, connected with an open-internet and without mass-suveillance. Finding Europe with Lights.

— Update —-

Just as i posted this i got another application from Greece – let me quote the reason these guys gave why they would be a good host for the sensor:

Impact Hub Athens is a social enterprise which belongs in a universal community and supports innovative ideas which aim to change the society and the world! It is located in the centre of Athens, the capital of Greece and the core of business life and action. Therefore is the perfect host for interesting efforts like this.

 

*yes i intentionally am talking about _the_ EU, the European Union of the 28 member-states, headquartered in Brussels (the Brussels sensor btw will be installed inside an office in the European commission) – not because i think they offer the only solution that is worth considering, but i indeed think they do offer the best political implementation of a civil and open society in this geographical region at the moment. But also intentionally it is possible to apply as a sensor-host for the project even if your country is not a “member-state” at the moment or even in the near future. We already have one non-EU application in, which is Switzerland, great! It will be one outcome of this project to see, whether more of these are coming…

Posted in Arduino, Maker-Movement, Society | Tagged , , , , | Leave a comment

Building a cellular tracker: Part 7 – Please welcome ArduFona

If you followed the previous posts on this matter, it’s not a surprise that i was thinking of a custom board sooner than later. So here it is – Ardufona: It is a low-power Arduino which runs straight from the battery (pretty much the design of any Bareduino project including ADC-regulation) + Grove-Connectors, 2 for I2C, one Digital, one UART and one for Analog Readings.

Foto 1(3)

It can hook up Adafruits Fona and talk to it and also turn it on and off etc. On the right hand side it has an additional circuit which works as an external watchdog as i figured out that the internal one is not reliable enough to operate the board autonomously in the wild. You can read the considerations behind that guy in this earlier post, but the general principle is easy – if the board turns on the 555 circuit gets also turned on and the capacitor starts to load. If the operation of the board would take too long the 555 would switch and trigger the reset-pin of the Arduino. If everything goes fine the Arduino turns off the 555-watchdog before going to sleep.

I will post the Eagle-Files for this Board and probably also an Order-Link at my favorite PCB-manufacturer soon, but if you want to have a look, find the circuit design below.

Special thanks are going to my friend @chaosblog, who helped me to get this awesome board into my hands.

–> this board is the engine of the awesome “Finding Europe with Lights” project which takes place in cooperation with re:publica, the biggest european web-conference in Berlin on May 5-7. Find out more about the project here: findingeuropewithlights.eu.

Foto 2(3)ArduFona555

Posted in Arduino, gsm | Tagged , | 5 Comments

Building a cellular tracker: Part 5 – Which mobile Service Provider to chose for a Worldwide Coverage at low price

As said in the first post of this series – the idea is to create a cellular tracker. Not just because mobile internet makes more sense in the wild – i also believe that IoT Devices will be operated on mobile networks even if they are at home or in an office.

Anyway – one thing that had to be sorted out is the mobile service provider, at the end i needed a SIM-Card for my device. Of course i could just have used my local mobile provider (in my case Deutsche Telekom) – and indeed my first tries were conducted with a secondary SIM-card from my iPad. But of course this approach does not scale in many ways: It is too expensive – even if you buy a prepaid data-only card you will end up with more or less 10EUR monthly fee. No Roaming included of course. Another point – if you think about many devices you would want to have a sort of management dashboard or so to see your SIM-cards, activate and control them etc. – with no surprise consumer-oriented SIM-cards are not coming with a service like this.

We need a dedicated machine to machine SIM-card provider that comes with a management console, affordable prices, ideally international roaming (because you might quickly want to sell your product outside your company or use your tracker while traveling) and in my case at least a 2G coverage (Fona does only need 2G, it couldn’t even handle higher networks).

Surprisingly my provider Deutsche Telekom indeed are offering M2M cards as well – they even have a dedicated Website for it and are offering interesting starter kits, a developer community etc. – So i ordered a testkit right away. Unfortunately i did not receive anything until today, no email, no call, no kit. But i ordered months ago. Well…

Fortunately i had a chat with Alexandra Deschamps-Sonsino, the Designer of the famous Goodnight-Lamp. I asked her how she solved this and she named a company called eseye.com.

To cut it short: They are great! Contact was established with an email and a response time within a day and i got a first test-card within another 2-3 days. And it worked with no further ado – although it was already on roaming as these guys are sitting in the UK and the SIMs are registered as roaming in a german network*. They do have a management console/portal that shows you all the SIMs you are running including details like traffic consumption etc. They have affordable prices based on volume only. It’s really the solution you are looking for if you want to do something in that field. Ah – and not to forget: their SIM-Cards are coming with international roaming in all European countries + Canada and the US (the website currently says 96 countries all together)! That’s really awesome!

 

*ok, i had to modify the fona-sketch because it would not work with a roaming-response initially – but this is just one line of code

Posted in Allgemein | 1 Comment

Building a cellular tracker: Part 9 – Solar Power

One of the more exciting tasks while building up a cellular tracker is the Solar-Power part. Below i will describe my first results – this article will be updated later on when i am running some more tests and gathered more experience and data in general.

The reason why i am considering a Solar-Panel as part of my setup is quite obvious – i want the guy to run forever without human intervention ideally, at least for a very long time.

Foto(5)

I thought it would be easier to do this. Buy a solar panel, connect it to a charger and you are done. Especially as my Fona-Board has a charging circuit onboard it looked very straight to me. Thus my first approach was to solder a Mini-USB-Connector to the Solar-Panel and connect it to Fonas USB-Port – which is explicitely designed for charging the attached battery only. The fact that the charging LED immediately lit up made me even more confident that i found the right way to do this. While waiting for an effect on the charge state that was transferred to the Web every 30minutes i read a little bit more on the Adafruit Website which has some excellent articles on batteries, charging and also solar-charging. And as nothing changed on the battery status even after hours of sunshine i stumbled upon this article by Lady Ada: https://learn.adafruit.com/usb-dc-and-solar-lipoly-charger/design-notes Continue reading

Posted in Arduino, electronics | Tagged , , | 2 Comments

Building a cellular tracker: Part3a – Circumventing unreliable Watchdog with external 555 timer

In my current endeavor to build a cellular tracker that can run autonomously for months i stumpled upon a strange problem during outdoor tests which could only be resolved the hard way…

Initially i intended to use the built in ATmel-Watchdog feature in two ways – for the sleeping function and for resetting the system in case of failure. According to the official documentation this is a supported use of these functions.

And it worked – the system goes to sleep for an hour, wakes up, does some measurements and uploads them to the internet. If something strange happens which takes longer than 8seconds (the longest possible watchdog timeout) the system will reset itself and startover. Quite nice – especially as the communication with Fona sometimes has issues and can have unexpected delays etc. this is very useful.

Unfortunately my outdoor tests showed a strange behavior, sometimes after days of normal operation. Suddenly the board got stuck and hangs with power on at the System-LED (which sits on PIN13), obviously in a loop or so. This is strange because the watchdog should prevent something like this specifically and normally it should not be possible to let the guy hang himself. Perhaps it’s also an issue with my code, asked a few people but nobody could help (it does not seem to be a memory issue).

Anyway – i got tired of trying to find the source of the problem and btw during my research i found a few others reporting watchdog hanging etc.

So i tried to find an alternative solution – this is where i asked the stackexchange community for help and got exciting support.

The basic idea is to use a 555-timer chip and configure it in a way that it triggers the reset pin of the arduino after the given time. My first contact with that famous chip to be honest and am grateful that newer variants exist that use less power, because the original NEC 555 from 1970 (which is still sold) will consume about 10mA _permanently_. The younger CMOS-versions are pin-compatible and consume 10-times less energy + the can work under less voltage.

As you can see in the video below my first tests work quite well. Currently i am testing a setup where i really replace the software watchdog with the external one completely, which means permanently resetting the board. Which is not too beautiful. I will try another setup where the 555 is only triggered as a fallback-watchdog that is powered while the Board in on and will reset if this takes longer than expected(**see Update at the end). Clearly more elegant, but also comes with some dependencies as well which could undermine stability again because the Arduino has to power a PIN and shut it down properly in this case. As i don’t really know yet what exactly is happening in these cases of failure this more elegant version might have a disadvantage compared to the brute-force approach…

** have this version up and running as well now. It works like this: it’s a normal 555 astable circuit, which would stay high for a few minutes and go low for a second after that. This Output-Pin is connected to the Reset-Pin of the Arduino with a 1K resistor. A Mosfet connects the positive leg (–> please check update below) of the Capacitor in the 555 circuit with Ground and is being triggered by an Arduino Pin. So i am turning this Pin low when the sketch starts and high again at the end. This way the 555 is charging it’s capacitor during the sketch and will hit reset if the sketch takes too long. If not the Arduino discharges the Capacitor during sleep to prevent unintended resets.

—- UPDATE —–

With the help from a friend i figured that the above circuit also works without the Mosfet – you just have to use the right resistors. I do connect to Reset with 1K and to the Arduino control PIN with a 56K resistor. The control-PIN is configured as INPUT when the board wakes up – that way it is practically not existing for the 555-circuit which therefore starts to load. At the end of the code before going to sleep the control-Pin is set to OUTPUT. As this is LOW on default the capacitor starts to unload through this Pin instead of the 555 which has a higher resistor (100k). This way the 555 is not triggered during sleep but it will be triggered during execution if it takes too long.

BTW: this additional circuit consumes about 43micro-Amps on top of the sleeping Arduino (be careful to use a CMOS-version of the 555, the original NEC will consume much more energy and requires higher operating voltage!) which is not great (the Arduino consumes 10x less in sleepmode). But the benefit of a failover procedure can be worth it if autonomous operation is key.

555watchdog

Posted in Arduino, electronics | Tagged | 2 Comments

Basic Electronic tinkering set

The idea was to assemble the cheapest and most straightforward tinkering set for beginners. It’s designed to be used in a huge Workshop at a conference. All parts together (including packaging) cost less than 1 EUR.

2015/01/img_2584.jpg

2015/01/img_2585.jpg

2015/01/img_2582.jpg

Posted in Allgemein | Leave a comment

This is why i love the Internet so much…

One of the reasons for this blog is that i wanted to share my learnings with the world, because i learned so much by shared stuff of others, it’s just amazing. Yesterday i asked a really tricky question on the electronics forum of stackexchange – only a few hours later i received the perfect answer, exactly what i was looking for. In a nice and readable form. This is not just awesome for practical reasons – because it let’s me find solutions so much quicker, cheaper…

I also like it, because i like the attitude behind it, it’s a friendly, warm and open habit to answer questions for free and invest time to make the answer even good, provide code-examples and help if further problems occur. I mean, these people could get money for this, they could decide to hide information and rather invest their time into their own stuff. But they are not doing it. And it’s clearly something that is not just happening in the Internet by accident – if you read the history of the Net and the World-Wide-Web specifically you will see that it was intended that way from the very beginning. And yes, i know that this also started to become a kind of reputation-currency, because developers are being hired based on their Karma-Status on Stackexchange (i did hire that way by myself). A currency based on friendliness and helpful behavior (+competence of course) – still great.

But of course this is always at stake – many of the recent developments do not carry this beautiful idea in their DNA or even try to drive it further. Sometimes you can get the feeling that it is rather a behavior from the past when Usegroups and Forums were reasons to “get online”. I would hope to see more of this beauteousness in future Internet applications, platforms and companies. And perhaps it could also help improving our society beyond the digital borders, make us more open, friendly and supportive if a refugee is in front of our house or the question is at stake, whether we invest in a society, that takes care for the needs of others instead of optimizing wealth of a few. Sorry, am just overwhelmed and dreaming a bit.

— Update —-

Of course i had to give it a try as i came home – here is my first touchdown with a 555

Posted in Maker-Movement, Society | 3 Comments