Thanks for visiting this post.
In the meantime, do check my youtube channel:
Fun with electronics
Using the HMC5883L magnetometer sensor of the GY-80 module from ICStation to monitor a garage door and notify when it has been opened or closed. The Cayenne service provides much of the monitoring and notifying functionality. A major feature of this project. Cayenne takes care of all of the complicated work behind the scenes, making it easy to connect your Arduino to the cloud and allow you to monitor your garage from virtually anywhere.
This project was created specifically to monitor a garage, but you will soon discover that this project could be used to monitor a whole host of other things. Monitor your front door, your back door, your bag, your chair, your cookie jar.
Monitor for peace of mind, or catch someone in the act of stealing your stuff. This project has got you covered. Let's see how:
You can find the datasheet for the HMC5883L pretty easily by searching on the internet.
HMC5883L datasheet - Sparkfun
Here is a link to the Arduino IDE download. The IDE is required to upload code to the Seeeduino Cloud.
You need the Cayenne Library installed in your Arduino IDE.
You can find the Cayenne library here:
There are libraries on the internet for the GY-80 module, however, it is relatively easy to use the magnetometer on this module. And therefore no libraries are required for the sensor. If you would like some more information about using the magnetometer sensor, and how to get the most out of it, then please have a look at my previous tutorial which goes into much more detail.
You need to make sure to insert your OWN Cayenne token into the sketch above. You will get this token when connecting your Arduino to the Cayenne service. Watch the video for further explanation.
Please make sure to watch the video to see how to connect the Seeeduino Cloud to Cayenne and how to create the Cayenne widgets. Cayenne widgets are necessary to create the dashboard on your phone or browser. They will also interact with the Arduino sketch, and will also be involved in creating the notification system. The following links will take you to the relevant part of the video:
The Master switch button is used to switch monitoring from OFF to ON (and vice versa). Therefore you can choose when to monitor the garage and when to stop monitoring. When first installing the project onto your garage door, and turning the Seeeduino Cloud on, it will automatically calibrate each sensor to a value of 1000.
If you experience any drift away from 1000 for whatever reason, simply press the Request calibration button, and each sensor will be recalibrated back to 1000. The x,y and z axis widgets are there so that you can see the readings coming from the magnetometer sensor. And when any of the axis variables breach the threshold away from 1000, it will trigger the Door Status widget. This is how we can tell if the door is open or closed.
We also use the Door Status widget to help with the notification system. When the Door status changes from "Closed" to "Open", a notification trigger will be activated, and a message will be sent via email or SMS. This notification is useful for monitoring when the door was opened. If you happen to recalibrate when the door is open. You will get a notification when the garage door closes.
This project is relatively simple, and quite easy to set up. What I liked about this project was the versatility and alternate uses. You can use the same setup to monitor many different things. It is not just limited to monitoring a garage door. But being able to tell whether my garage door is opened or closed, especially after I have driven away from my house , is really cool. Now I don't have to drive all the way back home to check. Let me know if you have replicated this project, and also what kinds of things you decided to monitor with this project.
We’ve been waiting for this one. A worm was written for the Internet-connected Arduino Yun that gets in through a memory corruption exploit in the ATmega32u4 that’s used as the serial bridge. The paper (as PDF) is a bit technical, but if you’re interested, it’s a great read.
The crux of the hack is getting the AVR to run out of RAM, which more than a few of us have done accidentally from time to time. Here, the hackers write more and more data into memory until they end up writing into the heap, where data that’s used to control the program lives. Writing a worm for the AVR isn’t as easy as it was in the 1990’s on PCs, because a lot of the code that you’d like to run is in flash, and thus immutable. However, if you know where enough functions are located in flash, you can just use what’s there. These kind of return-oriented programming (ROP) tricks were enough for the researchers to write a worm.
In the end, the worm is persistent, can spread from Yun to Yun, and can do most everything that you’d love/hate a worm to do. In security, we all know that a chain is only as strong as its weakest link, and here the attack isn’t against the OpenWRT Linux system running on the big chip, but rather against the small AVR chip playing a support role. Because the AVR is completely trusted by the Linux system, once you’ve got that, you’ve won.
Will this amount to anything in practice? Probably not. There are tons of systems out there with much more easily accessed vulnerabilities: hard-coded passwords and poor encryption protocols. Attacking all the Yuns in the world wouldn’t be worth one’s time. It’s a very cool proof of concept, and in our opinion, that’s even better.
Thanks [Dave] for the great tip!
Recently presented at Disrupt SF Hackathon 2016, this modified hamster ball rolls and dispenses treats while you’re away!
Creators Anthony Alayo, James Xu, and Lawrence Chang don’t like the idea of leaving doggies alone all day to fend for themselves. Although these companions will generally wait for their owners to get home, this surely gets boring. To help solve this problem, they created the DogeBall–a hamster ball equipped with advanced electronics including what looks to be an Arduino MKR1000. This allows it to roll around under remote control via an accompanying app, and can even give your pooch a treat, perhaps as a reward for not chewing up your shoes!
Say you’re at work and your dog has been alone for a while. If you have a nest cam or other home cameras setup, playing with him/her is easy. The app we created acts as a remote controller, connecting to the ball over the internet. Shoot your dog a treat, hit the speak button to talk with him, or control the ball as if you were right there beside him/her.
[Aleksejs Mirnijs] needed a tool to accurately measure the power consumption of his Raspberry Pi and Arduino projects, which is an important parameter for dimensioning adequate power supplies and battery packs. Since most SBC projects require a USB hub anyway, he designed a smart, WiFi-enabled 4-port USB hub that is also a power meter – his entry for this year’s Hackaday Prize.
[Aleksejs’s] design is based on the FE1.1s 4-port USB 2.0 hub controller, with two additional ports for charging. Each port features an LT6106 current sensor and a power MOSFET to individually switch devices on and off as required. An Atmega32L monitors the bus voltage and current draw, switches the ports and talks to an ESP8266 module for WiFi connectivity. The supercharged hub also features a display, which lets you read the measured current and power consumption at a glance.
Unlike most cheap hubs out there, [Aleksejs’s] hub has a properly designed power path. If an external power supply is present, an onboard buck converter actively regulates the bus voltage while a power path controller safely disconnects the host’s power line. Although the first prototype is are already up and running, this project is still under heavy development. We’re curious to see the announced updates, which include a 2.2″ touchscreen and a 3D-printable enclosure.
To establish the realtime communication between the Arduino and a web browser, the PubNub Data Stream Network (DSN) is used. PubNub provides global infrastructure and allows you to build and scale real-time apps and IoT devices quite easily.
Back at Arduino Day 2016, Massimo Banzi explored the true meaning of the Internet of Things in a more philosophical, approachable way. During his presentation, the Arduino co-founder touched upon the current state of the industry, some guiding principles, as well as what the future may entail.
“A lot of people are trying to build products that are connected, but not a lot of stuff makes a lot of sense right now. There’s a lot of strange stuff happening. It’s the beginning of an industry,” Banzi explained. “There’s a couple of misconceptions. A lot of people tend to equate the Internet of Things with smart thermostats for your home, and it’s much more than that. The part of the IoT that right now is impacting and can impact your life the most is the least sexy one.”
You can watch the entire talk below:
Great news for Makers working on IoT projects! The Arduino and Genuino Yún Shield — now available on our online store for $49.90/€43.90 — is a device that enables you to easily bring Yún features to Arduino and Genuino boards supporting shields.
It’s the perfect shield to start connecting your projects to the Internet thanks to the Yún Web Panel and the dedicated ”YunFirstConfig” sketch. This new feature, implemented in the new Arduino Software (IDE) 1.6.9, allows you to manage your shield preferences and upload your sketch on the attached Arduino or Genuino. Like the previous Yún board, the Yún Shield uses the Bridge library and extends your board capabilities using the Linux processor.
The new Yún family runs the latest version of OpenWRT (15.05 Chaos Calmer), which offers an additional layer of security and a large amount of bug fixes over previous Yún distribution. The precompiled package list is huge (we have more than 4,000 packages ready to be installed), and if you still can’t find what you are looking for, you can use the community provided repositories since the new release is fully modular (not a fork).
Want to learn more? Explore all there is to know about the Yún Shield, including its documentation via the links below:
Go hands-on with these dedicated tutorials:
Got any question? Join the forum!