Joe Desbonnet was looking for a cheap and easy way to transfer data from an Arduino to an Android device. The hack he devised requires only a 1-meter length of wire wound into a coil, a resistor and diode. He writes: [via]
This is a little hack that allows very low bandwidth communications in one direction for practically no cost. It’s not practical for most applications, but I thought the idea was sufficiently interesting to explore. This article describes how to implement a very low bandwidth one way communication channel between an Arduino (or any other microcontroller) and an Android device using nothing more than about a meter of magnet wire, a resistor and diode. Links to a software sketch for the Arduino and the Android source code is included.
Cool and imaginative!
Arduino to Android IO on the cheap – [Link]
The control panel on the front of it died, it failed from corrosion getting into the laminated plastic PCB that it’s made up of. Not really repairable, just meant to be replaced, except that it’s a $150 part. From what I could find online, it seems to be a common failure, so why buy an overpriced part that’s just going to fail all over again?This is one of the things I love about the Arduino, it allows me to consider alternatives that I’d have NEVER been able to consider before. If I had to program a controller in assembly, or flat do it with just discrete chips, I’d have never considered this as an option. But with the Arduino, not only can I build my own controller, but it’s almost stupidly simple to do.
Arduino Controlled Dishwasher – [Link]
Here’s a project by Everett Robinson which demonstrates how to use an Arduino, Ethernet shield, 2×16 LCD, a breadboard and 2K resistor to produce a web-controlled interactive LCD display. The Arduino generates a simple HTML web page showing the text currently displayed on the LCD, providing an input form to change the LCD text, resulting in a web based LCD scratchpad. The Arduino parses the HTML Header using some code adapted from Kevin Haw’s RoboSapien Server project.
Web interactive LCD controlled by Arduino – [Link]
emonTx stands for Energy Monitoring Transmitter. It’s a small, open source wireless energy monitoring node. It’s based on the Arduino (Atmega328) and is fully compatible with the Arduino IDE and programmed via an FTDI to USB cable.
It’s designed to take inputs from multiple CT sensors, optically from a pulse-output utility meter and from multiple one-wire temperature sensors, and interface via RF with the Nanode which then makes the data available over the Internet. The emonTx is designed to be powered by 2x AA batteries or 5V USB. [via]
Openenergymonitor – [Link]
For a long time, I have been trying to find the cheapest and easiest way to control electronic devices wirelessly using a computer. It can open up a lot of possibilities. For example, you could build a radio controlled relay board, and control it from your computer. You could even control the board with a “small” computer such as an Arduino (or any microcontroller for that matter). If your Arduino has an Ethernet shield, you could use it as a Web server and control your relay board from anywhere in the world (as long as you have access to the Internet of course). There are many things that you could do without creating a mess with wires. I am mainly interested in this because I need a computer controlled wireless robot. A little background -
Computer Controlled Wireless Robot Build – [Link]
Ian Johnston wasn’t content to use the usual RC control joystick for his RC flying. He decided to reinvent the controller using a couple of old PC joysticks, an Arduino and the Tx PCB from Thomas Scherrer’s LRS kit.
RC joystick transmitter using Arduino - [Link]
If the Arduino wasn’t friendly enough, along comes the Teagueduino from the folks at Teague Labs. Breadboards too confusing? Code have you cross-eyed? Ready-to-go plug-in components and a realtime editor give beginners the training wheels they need to get experimenting right away, while minimizing the fear of breaking something along the way. [via]
Teagueduino comes from a long line of hacks and experiments within our design studio and across the open source Arduino/Freeduino community (particularly inspiring were LittleBits and the Grove System). While the more engineering-minded among us have been quick to dive into Arduino, it has become increasingly clear that Arduino is still too technical and daunting for the majority of other creative types just getting started. Teagueduino is our first major step toward an embedded development stepping-stone that makes building projects simple, while exposing key details (such as code syntax, electrical signal values, and physical hardware integration) that provide a scaffolding for learning more advanced systems and tools.
Meet the Teagueduino – [Link]
The Hoz writes to inform us of another Arduino related iPhone app known as OTOduino. This free app allows you to interact with an Arduino and monitor/control analog and digital IO ports in real-time via a simple audio jack interface. It’s currently available from the iPhone app store.
OTOduino: free Arduino/iPhone interface app – [Link]
adafruit.com/blog/ writes: [via]
I’m working on an I2C project, but I don’t have a sampling oscilloscope and I need to see what the heck is going on, so I put together this quick and dirty I2C sniffer sketch.
You connect two digital pins on the Arduino to the I2C bus lines SDA and SCL, and Arduino ground to I2C ground. It captures the data (within a certain time window) and then it sends CSV-formatted output to the serial port. You can then take this data and plot it to get an idea of what’s going on on your I2C bus. Naturally, you could expand this to sniff other bus-types, like 1-wire or SPI, provided the signalling rate is low enough. This code samples at about 2Msps on an Arduino running at 16MHz — that figure is derived from the fact that it records approximately 20 samples per 100kbit/s clock cycle.
This code runs a “one-shot” capture, meaning that it only captures data once and then dumps it to the serial port. It starts capturing when it detects the SDA line has gone low. it does not check the SCL line (as a proper start condition detector would).
You can adjust the capture window to suit your needs, though bear in mind that the ATMega328 only has 2k of RAM, so values approaching 2000 may not work so well. A value of 250 is long enough to catch one byte sent over I2C at the 100 kbit/s standard rate. The sampled data is good enough to show you the sequence of events.
If you need very specific, time-aligned data, you should use a logic analyzer or sampling oscilloscope.
For plotting, I recommend LiveGraph, which is super easy to use and runs in Java, so it’s portable.
Quick and Dirty Arduino I2C Sniffer – [Link]