Posts with «arduino hacks» label

An Apple ][ emulator on an Arduino Uno

April Fools’ Day may have passed, but we really had to check the calendar on this hack. [Damian Peckett] has implemented an Apple ][, its 6502 processor, and a cassette port, all on an Arduino Uno. If that wasn’t enough, he also uses a PS/2 keyboard for input and outputs analog VGA. [Damian] is doing all this with very few additional components. A couple of resistors, a capacitor and some very clever hacking were all [Damian] needed to convince an Arduino Uno that it was an Apple.

Making all this work boiled down to a case of resource management. The original Apple ][ had 4KB of RAM and 8KB of ROM. The ATmega328 has only 2KB of RAM, but 32KB of Flash. The only way to make this hack work would be to keep as much of the emulation and other routines in Flash, using as little RAM as possible.

The core of this hack starts with the MOS 6502, the processor used in the Apple. [Damian] wrote a simple assembler which translates the 6502 opcodes and address modes to instructions which can be executed by the Arduino’s ATmega328. To keep everything in ROM and make the emulator portable, [Damian] used two large switch statements. One for address modes, and a 352 line switch statement for the opcodes themselves.

A CPU alone is not an Apple though. [Damian] still needed input, output, and the ROM which made the Apple so special. Input was through a PS/2 keyboard. The PS/2 synchronous serial clock is easy to interface with an Arduino. Output was through a custom VGA implementation, which is a hack all its own. [Damian] used the lowly ATmega16u2 to generate the video timing. The 16u2 is normally used as the Arduino Uno’s USB interface. The only external hardware needed is a single 120 ohm resistor.

The original Apples had cassette and speaker interfaces. So does this emulated Apple. [Woz’s] original cassette and speaker interface accurate loops to generate and measure frequencies. One of the trade-offs [Damian] accepted in his 6502 was cycle accuracy, so he couldn’t use the original routines. Not a problem though, as he was able to write simple functions to replace these routines and drop them in place of the Apple’s own ROM calls.

The Apple ][ ROM itself is handled as one giant character array. This includes the system monitor, Mini-Assembler, Sweet-16, and [Woz’s] own Integer Basic. [Damian] caps off this incredible project by booting his new computer, loading a  Mandelbrot set program from cassette -or in this case an audio file stored on his cell phone, and running it. The well-known fractal is displayed in all its glory on a modern LCD monitor, driven by a microcontroller, emulating a computer from nearly 40 years ago.

Thanks for the tip [Bill]!

Apple II Image by RAMA, [CC BY-SA 2.0], via Wikimedia Commons


Filed under: Arduino Hacks

High Speed SSD1306 Library

[Lewin] wrote in to tell us about a high speed library for Arduino Due that he helped develop which allows interfacing OLED displays that use the SSD1306 display controller, using DMA routines for faster display refresh time.

Typically, displays such as the Monochrome 1.3″ 128×64 OLED graphic display , are interfaced with an Arduino board via the SPI or I2C bus. The Adafruit_SSD1306 library written by [Limor Fried] makes it simple to use these displays with a variety of Arduinos, using either software or hardware SPI. With standard settings using hardware SPI, calls to display() take about 2ms on the Due.

[Lewin] wanted to make it faster, and the SAM3X8E on the Due seemed like it could deliver. He first did a search to find out if this was already done, but came up blank. He did find [Marek Buriak]’s library for ILI9341-based TFT screens. [Marek] used code from [William Greiman], who developed SD card libraries for the Arduino. [William] had taken advantage of the SAM3X8E’s DMA capabilities to enable faster SD card transfers, and [Marek] then adapted this code to allow faster writes to ILI9341-based screens. All [Lewin] had to do was to find the code that sent a buffer out over SPI using DMA in Marek’s code, and adapt that to the Adafruit library for the SSD1306.

There is a caveat though: using this library will likely cause trouble if you are also using SPI to interface to other hardware, since the regular SPI.h library will no longer work in tandem with [Lewin]’s library. He offers some tips on how to overcome these issues, and would welcome any feedback or testing to help improve the code. The speed improvement is substantial. Up to 4 times quicker using standard SPI clock, or 8 times if you increase SPI clock speed. The code is available on his Github repo.


Filed under: Arduino Hacks

Temperature, Altitude, Pressure Display

During a recent trip to Bhutan, [electronut] wished for a device that would show the temperature and altitude at the various places he visited in the Kingdom. Back home after his trip, he built this simple Temperature, Altitude and Pressure Display Device using a few off the shelf parts.

Following a brief search, he zeroed in on the BMP 180 sensor which can measure temperature and pressure, and which is available in a break-out board format from many sources. He calculates altitude based on pressure. The main parts are an Arduino Pro Mini clone, a BMP180 sensor and a Nokia 5110 LCD module. A standard 9V battery supplies juice to the device. A push button interface allows him to read the current parameters when pressed, thus conserving battery life.

Standard libraries allow him to interface the LCD and sensor easily to the Arduino. He wrapped it all up by enclosing the hardware in a custom laser cut acrylic box. The result is bigger than he would like it to be, so maybe the next iteration would use a custom PCB and a LiPo battery to shrink it in size. While at it, we think it would be nice to add a RTC and some sort of logging capability to the device so it can store data for future analysis. The schematic, code and enclosure drawing are available via his Github repository.


Filed under: Arduino Hacks

Chinese Whispers For Arduino

The game of Chinese Whispers or Telephone involves telling one person a sentence, having that person tell another person the same sentence, and continuing on until purple monkey dishwasher. For this year’s Arduino Day, [Mastro] was hanging out at Crunchlab with a bunch of Arduinos. What do you do with a bunch of Arduinos? Telephone with software serial.

The setup for this game is extremely simple – have one Arduino act as the master, listening for bits on the (hardware) serial port. This Arduino then sends those bits down a chain of Arduinos over the software serial port until it finally loops around to the master. The result is displayed in a terminal.

With only about a dozen Arduinos in this game of Telephone, [Mastro] did get a few transmission errors. That’s slightly surprising, as the code is only running at 1200 bps, but the point of this game isn’t to be completely accurate.


Filed under: Arduino Hacks

Arduino IDE Support for the ESP8266

Despite a wealth of tutorials for setting up and writing code for the ESP8266 WiFi module, there has not been much of anything on programming this cheap wireless module with the Arduino IDE. Finally, this has changed. After many months of coding, the Arduino IDE supports the ESP8266 module.

The Arduino IDE support was announced on the ESP8266 community forum. Setup is fairly simple with downloads for Linux, OS X, and Windows. This isn’t an ESP8266 shield, either: you can write code for the ESP module, connect the serial pins, and hit the program button.

The basic functions of the Arduino IDE – pinMode, digitalRead, digitalWrite, and analogRead – are available. Most of the WiFi functions work just like the WiFi shield library.

There are a few things that aren’t written yet; PWM doesn’t work, as the ESP8266 only has one hardware PWM source. SPI and I2C slave mode aren’t done yet, and uploading sketches via WiFi needs a little bit of thought. That said, this is a great introduction to programming the ESP module. If the Arduino IDE isn’t your thing, you could always do it the cool way with [CNLohr]’s programming tutorial we featured last week.


Filed under: Arduino Hacks, wireless hacks

Arduino SRL to Distributors: “We’re the REAL Arduino”

Arduino SRL (formerly known as Smart Projects SRL) sent out a letter to its distribution partners yesterday. If you’ve been following along with the Arduino vs Arduino story (we’ve previously published two installments), the content isn’t entirely surprising; it’s essentially a tactical move to reassure their distribution channels that Arduino SRL is the “One True Arduino”. That said, there’s still some new tidbits buried inside. You can skip down to read the full text below, but here’s our take.

The Business History of Arduino

A quick summary of the legal situation. Arduino LLC was formed in April 2008 by the original five founders to provide a corporate entity behind the Arduino project. Smart Projects SRL, controlled by one of the founders, was tasked with the actual production of the boards. It turns out that Smart Projects had trademarked the Arduino brand in Italy in December 2008, before Arduino LLC got around to filing in April 2009 in the USA. But everyone was friends, right? As long as the licensing fees keep flowing.

Fast-forward to September 2014, when Arduino LLC filed a lawsuit in Italy against Smart Projects claiming that they had infringed LLC’s trademark and that they had recently stopped paying licensing fees on their use of the Arduino name. In October, Smart Projects filed with the USPTO to revoke Arduino LLC’s trademark. In late 2014, Smart Projects changed its company name to Arduino SRL (a “Società a responsabilità limitata” is one form of Italian limited-liability company) and hired a new CEO, [Federico Musto].  Around the same time, Arduino SRL opened up the website arduino.org (different from long-existing arduino.cc) but with nearly identical style. In January 2015, Arduino LLC filed a lawsuit in the US, claiming their right on the Arduino name.

The Gist of it

In short, Arduino LLC has been working on developing the Arduino platform, software, and community while Smart Projects / Arduino SRL was the major official producer of the hardware for most boards. Both are claiming to “be” Arduino, and going after each other in court. So it’s not strange that Arduino SRL would like to try to keep its hold on the distribution channels. Which brings us to their letter to distributors.

March 27 Letter

A good portion of the letter reads to be a very carefully worded defense of why Arduino SRL is the true Arduino:

“Arduino Srl (aka Smart Projects Srl), as you know has been from the  beginning of the Arduino® project, the place where the ideas were turned into reality and into a business.”

This is of course strictly true — Smart Projects was certainly the largest manufacturer of Arduino boards. But it sidesteps the issue at hand in the trademark suits: whether they were simply a licensed producer of the boards or whether they’re “Arduino”.

Similarly, in the questions section of the letter, they ask if there are actually two “Arduino” product manufacturers, and answer “not really”. Of course, that’s true. Arduino LLC doesn’t manufacture boards, but exists to license their trademark out to fund development.

The only real news in the letter is that Arduino SRL is replacing its old distribution and logistics company, Magyc Now, with a new one named CC Logistics. Both Magyc and CC Logistics are named as defendants in the US lawsuit filed by Arduino LLC, so it’s unlikely that this change is due to legal fallout.

What this Means

In conclusion, Arduino SRL’s letter to its distributors seems to essentially follow the line of reasoning in their trademark lawsuit in the US against Arduino LLC: since Arduino SRL is doing the manufacturing and using the Arduino name, they’re the true Arduino. Whether or not this will stand up in court, or whether Arduino LLC can make its case that SRL was simply a licensed manufacturer, remains to be seen.

We’ve embedded the contents of the letter after the break. You can also download the original PDF.

Ivrea (TO) , March 27, 2015

Dear Partners,

At this time we feel it necessary to update our partners on the state of Arduino® products and the distribution business which you are a key part of.

Arduino Srl (aka Smart Projects Srl), as you know has been from the beginning of the Arduino® project, the place where the ideas were turned into reality and into a business. The first Arduino® models were made and initially distributed to schools of interactive design all over the world.

Arduino® products were then offered to the first DIY enthusiasts, contributing concretely, as one of the first open source electronic boards, to found and promote the Makers Movement: your strong efforts and contribution have made this great new movement a success and has grown in many new exciting areas like IoT and m2m. A realization that will change the world of electronics and communications in the physical world.

The family of Arduino® boards has helped professional and non-professional developers to prototype electrical projects and learn in a way that is accessible and possible for everyone.

Currently, Arduino Srl continues to be the only designer and manufacturer of original Arduino® products.

Open Source is the environment we want for millions of designers, engineers, makers and Arduino® lovers around the world. We hope to continue to help children and newbies learn about electrical engineering and computer programming, in order to develop and grow their ideas for today and tomorrow.

This fantastic story and these ideals will continue on the new website Arduino.org, which has been developed to ensure we stay true to the vision of the beginning of Arduino® and Arduino Srl and our distribution of these cool products.

Beginning in 2015 new changes have been put into place to ensure that our companies can continue to grow with the popularity of the Arduino® product line. The production of these high quality products continue to be done in Europe and specifically Italy which has been very successful.

Our distribution and logistics are going through a change for a couple of reasons, to help with faster deliveries and lower transport costs, we have a new company structure cc logistics that have offices and warehouses in three continents, EMEA Cham Switzerland, North American Boston Massachusetts and APAC Honk Kong and Taipei.

Additionally lots of work are being completed to get inventories in line with demand. New personnel are being added to in many areas for response to your buying needs but also in the sales and support areas to ensure we are creating demand for Arduino products and for our distribution channel. These new sales people from time to time will be in contact to forge closer working relationships.

To help inform our partners of some questions recently raised in the press and other areas:

Q: Are there two “Arduino® ” branded products manufacturers?

A: Not really, the only company that ever designed and manufactured the “Arduino® ” branded product is Arduino Srl (formerly Smart Projects Srl). Others, for a number of reasons, have created in USA and Switzerland “Arduino” named companies. Some have been involved in completing contracts for web site development and PR (namely Arduino SA – Switzerland take cares of the web site arduino.cc has been one of those). Clearly this has been the place to go for open source info in the past, but we will make arduino.org your new comprehensive location for this info and other valuable resources and services.

Q: I have heard in the press that there is a disagreement going on amongst initial founders of the open source project which inspired the Arduino® business.

A: Yes, there is a disagreement between the initial founders of the open source project (which have never been shareholders of Arduino Srl) and the actual management of Arduino Srl. We are confident that these issues will come to a conclusion shortly. Frankly some of these issues are complex because related to the validity of the registration of the trademark “Arduino® ” in some areas of the world and cannot be summarized in few words. In this respect just bear in mind that Arduino Srl (aka Smart Projects Srl) has been the sole manufacturer of the original “Arduino® ” branded products, selling and distributing them world wide for 10 years.

Q: Will cc logistics replace Magyc as distribution points ?

A: That is the big plan but exceptions may happen due to the nature of doing a worldwide distribution. cc logistics will help our makers to produce and distribute their projects in a world wide arena.

Q: Will Arduino make new products and new software?

A: Yes, new software and new products are the life blood of Arduino® . Recently new products, Arduino® Zero Pro, Arduino® , 9 Axes shield partnership with Bosch and many more are coming.

Q: Will Arduino forge technology partnership?

A: Arduino is in the forefront of new exciting fields like IoT and m2m which is an exciting direction of the type of prototyping done with present day Arduino® products. We are in constant contact with major companies exploring these exciting fields. The Arduino YUN with its wifi capabilities and open source processing has ignited lots of new opportunities.

Q: Arduino EMEA, APAC and NA Distributors Sales Meeting

A: We are planning and will notify you of the details of the first global annual meeting

Q: Is there a New Management structure in Arduino ?

A: As it happens in every company that grows as fast as the Arduino environment, additional expertises and capabilities are needed to help steer the company in the correct direction. Federico Musto is the new CEO of Arduino group and he has a strong background in the open source business.

You are Arduino and we are honored and privileged to work with you – Arduino isn’t the company, nor the board, nor the software nor the founders – the Arduino is YOU – You made Arduino® what it is today and you’ll continue to make it what it will be in the future.

Thank you in advance for your help and support

Arduino team

Arduino Srl
legal adress: Via Romano, 12 – 10010 Scarmagno (TO) Italy
shipping address: Via Kennedy, 36 – 10019 Strambino (TO) Italy


Filed under: Arduino Hacks, Featured, news, slider

Rocket Controls Fit for a Kerbal

Kerbal Space Program is a space simulation game. You design spacecraft for a fictional race called Kerbals, then blast those brave Kerbals into space. Sometimes they don’t make it home.

If controlling spacecraft with your WASD keys isn’t immersive enough for you, [marzubus] has created a fully featured KSP control console. It sports a joystick, multiple displays, and an array of buttons and switches for all your flight control needs. The console was built using a modular approach, so different controls can be swapped in and out as needed.

Under the hood, three Arduinos provide the interface between the game and the controls. One Arduino Mega runs HoodLoader2 to provide joystick data over HID. A second Mega uses KSPSerialIO to communicate with the game over a standard COM port interface. Finally, a Due interfaces with the displays, which provide information on the current status of your spacecraft.

All of the parts are housed in an off the shelf enclosure, which has a certain Apollo Mission Control feel to it. All [marzubus] needs now is a white vest with a Kerbal badge on it.


Filed under: Arduino Hacks

Arduino v Arduino: Part II

Since our last article covering the Arduino v. Arduino case, we’ve received a couple of tips, done some more digging, and learned a lot more about what’s going on. We thought it was time to share the story with you as it develops.

The Players

In short, there are two companies calling themselves “Arduino” at the moment. One, Arduino LLC was founded by [Massimo Banzi], [David Cuartielles], [David Mellis], [Tom Igoe] and [Gianluca Martino] in 2009, runs the website arduino.cc, and has been directing and releasing the code that makes it all work. Most of these folks had been working together on what would become the Arduino project since as early as 2005.

The other “Arduino” used to be called Smart Projects and was the manufacturing arm of the project founded and run by [Gianluca Martino]. Smart Projects changed their name to Arduino SRL in November 2014. (A “Società a responsabilità limitata” is one form of Italian limited-liability company.) They have been a major producer of Arduino boards from the very beginning and recently registered the domain arduino.org.

Around the time of the name change [Martino] sold his shares to a Swiss firm Gheo SA and [Federico Musto] was appointed CEO. Gheo SA is owned and directed by [Musto], who also runs a design consultancy based in the US and Taiwan called dog hunter, LLC.

dog hunter and [Musto] helped develop the Arduino Yun, a mashup of an Arduino with an OpenWRT-compatible WiFi router. dog hunter also runs the Linino.org website to support the Linux distribution that’s running on the router part of the Yun.

In short, on one side is Arduino LLC, run by the original Arduino Five and hosting arduino.cc. On the other is now called Arduino SRL, run by a former co-developer [Federico Musto] who bought out the largest producer of Arduino boards and opened up arduino.org.

The Legal Situation

When we previously reported that Arduino LLC brought a lawsuit against Arduino SRL, we only had half of the story. This suit, filed in January 2015 and still pending, is predated by an earlier trademark action filed by Arduino SRL against Arduino LLC.

The trademark case is a petition to cancel Arduino LLC’s trademark on Arduino, filed by Smart Projects SRL on October 3, 2014. This case is also still pending, and because it’s in front of the USPTO, it’s entirely visible. Here’s what we know.

The claims to invalidate Arduino LLC’s trademark on “Arduino” (PDF) can basically be summarized as follows: “We filed for trademark in September of 2014 and have been producing boards labelled Arduino since 2005. Arduino LLC only came into being in 2009 and wasn’t in control of the name at the time it applied for the trademark.”

To which Arduino LLC’s response (PDF) essentially reads “We’ve had the trademark on the word Arduino longer than you have, and we deny all the rest.”

The timeline for the case is laid out here (PDF). Basically, the discovery phase lasts until June 2015, and there’s not going to be a decision until after Christmas unless they settle early.

We’re not lawyers, but it looks like the case is going to revolve around whether or not Arduino LLC actually controlled the “Arduino” name at the time it trademarked it, and whether the extensive production of boards labelled “Arduino” by Smart Projects invalidates that trademark. The relevant trademark law can be found here and if you know your stuff on this, please feel free to illuminate us in the comments or with a direct e-mail to us directly or through the tip line.

So to recap the story so far, two websites, two “Arduinos”, and two lawsuits.

A Tale of Two Internets of Things

Not surprisingly, both groups have differing versions of where to go from here, but both sides are betting on the Internet of Things. Arduino LLC has partnered with Intel on the Galileo and more recently is working with BeagleBoard.org on the forthcoming Arduino TRE. Arduino SRL is sticking with the WiFi router MIPS solution that powers the Yun and keeping it in-house.

As previously mentioned, the Yun was at least co-designed with [Musto] and dog hunter. And now on arduino.org, there’s a placeholder product photo for the “Arduino Yun Mini” with the date April 30, 2015 attached. The Yun Mini looks exactly like the Linino One in a different color scheme, and it doesn’t take much of a hardware detective to put two and two together, given that [Musto] is now CEO of both dog hunter (which runs Linino.org) and Arduino SRL. The Yun Mini is, naturally, conspicuously lacking from the arduino.cc product lineup.

 

The next step up from the Yun on the arduino.cc site is the Arduino TRE, which is also a Linux-based solution coupled with an ATmega32u4. In this case, however, the Linux computer comes in the form of a 1-GHz Sitara AM335x processor, essentially a Beaglebone/Arduino mashup. And one can’t help but notice the tagline on the TRE page: “Arduino TRE, the first Arduino board manufactured in the U.S.” which is a dramatic shift away from the proudly “Made in Italy” silkscreens that adorn the Smart Projects / Arduino SRL boards.

Is this the reason for the schism? Massimo Banzi has said that he’s interested in working with many other producers to get newer and better Arduino products out there and would even like to be able to sell in China, land of the clones. (translate)  [Martino] and now [Musto] clearly have a vested interest in keeping production in Italy, while Arduino LLC’s interests are better served by going global. Perhaps it’s only natural that the two part ways.

The Code

Finally, the story takes a slightly cheeky turn in the most recent version of the Arduino IDE, released on March 10. As of version 1.6.1, there’s been a patch to the Arduino codebase that pops up a warning dialog when an “Arduino” with the USB Vendor ID (VID) 0x2A03 is flashed. The pop-up message reads “This board comes from an uncertified manufacturer. We won’t be able to provide any support if it doesn’t work as expected.”

You may not be surprised that USB VID 0x2A03 belongs to “dog hunter AG”.  The Arduino IDE pops up the “uncertified manufacturer” warning any time that this VID is used, on any board type. Conspicuously missing in all of this are any of the VIDs in use by the various other counterfeit “Arduino” boards running around out there. Either there are too many of them to address directly, or this is a targeted, tactical strike against the Arduino SRL camp.

If you don’t have a board with VID 0x2A03, you can see the changes to the IDE on GitHub for the commit “Added warning for uncertified boards“.  Scroll on down to the changes to the file “hardware/arduino/avr/boards.txt” and you’ll see what’s going on. (And smile if you don’t have to code in Java for a living: nearly 600 lines of code added just to implement a simple pop-up dialog!)

Apparently, at least a couple of people with an UNO and a Mega256 have seen the warning and claim to have bought their devices through reputable retailers, including Mouser.

Now this isn’t an FTDI-style bricking; it’s just a pop-up dialog. What’s even nicer is that it comes with a “Don’t show me again” button so that you’re not constantly nagged. And it does recognize the boards so that they function normally, but it’s definitely a scare for users when they first stumble upon it.

The Future

So what does all of this mean for the future of Arduino as we know it? There’s certainly been a code fork and there are at least two divergent hardware design approaches to the IoT and strategic visions for the two firms. The trademark issues may not be resolved until 2016, though, so in the mean time there’s going to be significant market confusion. Not to mention the two similar websites.

You can certainly bet that both companies will be pushing themselves to get good product to market and trying to keep hold on the community. Maybe that will all be good for us in the end? Post your wild guesses and conspiracy theories in the comments.

We’ll keep you posted when we learn even more.  If you’ve got leads that you’d like us to chase down, hit us up on the tip line.

And thanks very much to [Concerned User] for the tipoff to the trademark filing and to [Another Anonymous Tipster] for the tip to the IDE version 1.6.1 changes.


Filed under: Arduino Hacks, news, slider
Hack a Day 12 Mar 12:00

An Arduino Device that Monitors Your External IP Address

[Bayres’] dad setup a webcam as a surveillance camera for a remote property. The only problem was that the only stable Internet connection they could get at this property was DSL. This meant that the external IP address of the webcam would change somewhat often; the needed a way to keep track of the external IP address whenever it changed. That’s when [Bayres] built a solution using Arduino and an Ethernet shield.

The main function of this device is to monitor the public IP address and report any changes. This is accomplished by first making a request to checkip.dyndns.org. This website simply reports your current public IP address. [Bayres] uses an Arduino library called Textfinder in order to search through the returned string and identify the IP address.

From there, the program compares this current value to the previous one. If there is any change, the program uses the Sendmail() function to reach out to an SMTP server and send an e-mail alert to [Beyres’] dad. The system also includes a small LCD. The Arduino outputs the current IP address to this display, making it easy to check up on the connection. The LCD is driven by 74HC595 shift register in order to conserve pins on the Arduino.

The system is also designed with a pretty slick setup interface. When it is booted, the user can enter a configuration menu via a Serial terminal. This setup menu allows the user to configure options such as SMTP server, email address, etc. These variables are then edited and can be committed to EEPROM as a more permanent storage solution. Whenever the system is booted, these values are read back out of the EEPROM and returned to their appropriate variables. This means you can reconfigure the device on the fly without having to edit the source code and re-upload.


Filed under: Arduino Hacks

Solar Panel System Monitoring Device Using Arduino

[Carl] recently upgraded his home with a solar panel system. This system compliments the electricity he gets from the grid by filling up a battery bank using free (as in beer) energy from the sun. The system came with a basic meter which really only shows the total amount of electricity the panels produce. [Carl] wanted to get more data out of his system. He managed to build his own monitor using an Arduino.

The trick of this build has to do with how the system works. The panel includes an LED light that blinks 1000 times for each kWh of electricity. [Carl] realized that if he could monitor the rate at which the LED is flashing, he could determine approximately how much energy is being generated at any given moment. We’ve seen similar projects in the past.

Like most people new to a technology, [Carl] built his project up by cobbling together other examples he found online. He started off by using a sketch that was originally designed to calculate the speed of a vehicle by measuring the time it took for the vehicle to pass between two points. [Carl] took this code and modified it to use a single photo resistor to detect the LED. He also built a sort of VU meter using several LEDs. The meter would increase and decrease proportionally to the reading on the electrical meter.

[Carl] continued improving on his system over time. He added an LCD panel so he could not only see the exact current measurement, but also the top measurement from the day. He put all of the electronics in a plastic tub and used a ribbon cable to move the LCD panel to a more convenient location. He also had his friend [Andy] clean up the Arduino code to make it easier for others to use as desired.


Filed under: Arduino Hacks