Posts with «arduino hacks» label

Arduino v. Arduino

Arduino LLC is suing Arduino Srl (the Italian version of an LLC). Sounds confusing? It gets juicier. What follows is a summary of the situation as we learned it from this article at Heise.de (google translatrix)

Arduino LLC is the company founded by [Massimo Banzi], [David Cuartielles], [David Mellis], [Tom Igoe] and [Gianluca Martino] in 2009 and is the owner of the Arduino trademark and gave us the designs, software, and community support that’s gotten the Arduino where it is. The boards were manufactured by a spinoff company, Smart Projects Srl, founded by the same [Gianluca Martino]. So far, so good.

Things got ugly in November when [Martino] and new CEO [Federico Musto] renamed Smart Projects to Arduino Srl and registered arduino.org (which is arguably a better domain name than the old arduino.cc). Whether or not this is a trademark infringement is currently being heard in the Massachussetts District Court.

According to this Italian Wired article, the cause of the split is that [Banzi] and the other three wanted to internationalize the brand and license production to other firms freely, while [Martino] and [Musto] at the company formerly known as Smart Projects want to list on the stock market and keep all production strictly in the Italian factory.

Naturally, a lot of the original Arduino’s Open Source Hardware credentials and ethos are hanging in the balance, not to mention its supply chain and dealer relationships. However the trademark suit comes out, we’re guessing it’s only going to be the first in a series of struggles. Get ready for the Arduino wars.

We’re not sure if this schism is at all related to the not-quite-open-source hardware design of the Yun, but it’s surely the case that the company is / the companies are going through some growing pains right now.

Thanks [Philip Steffan] for the pointer to the Heise.de link. (And for writing it.)


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

Is The Arduino Yun Open Hardware?

According to [Squonk42], nope. And we think he’s probably right.

The Yun is an Arduino Leonardo with an Atheros AR9331 WiFi SoC built in. It’s a great idea, pairing the Arduino with a tiny WiFi router that’s capable of running OpenWRT.  But how is this no longer Open Source Hardware? Try getting an editable board layout. You can’t.

Or at least [Squonk42] couldn’t. In Sept. 2013, [Squonk42] posted up on the Arduino forums requesting the schematics and editable design files for the Arduino Yun, and he still hasn’t received them or even a response.

Now this dude’s no slouch. He’s responsible for the most complete reverse-engineering of the TP-Link TL-WR703N pocket router, which is, not coincidentally, an Atheros AR9331-based reference design. And this is where the Arduini ran into trouble, [Squonk42] contends.

[Squonk42]’s hypothesis is that Arduino must have done what any “sane” engineer would do in this case when presented with a super-complex piece of hardware and a potentially tricky radio layout: just use the reference design (Atheros AP-121). That’s what everyone else in the industry did. And that’s smart, only the rest of the consumer electronics industry isn’t claiming to be Open Source Hardware while the reference design is protected by an NDA.

So it looks like Arduino’s hands are tied. They, or their partner Dog Hunter, either signed the NDA or downloaded the PDF of the reference design that’s floating around on the Interwebs. Either way, it’s going to be tough to publish the design files under a Creative Commons Attribution Share-Alike license.

Is this a change of strategy for the Arduino folks or did they just make a mistake? We won’t know until they respond, and that answer’s a year and a half in coming. Let’s see what we can do about that. And who knows, maybe Arduino can lean on Atheros to open up their reference design? It’s already an open secret at best.

But before you go out lighting up your righteous Open Source Hardware pitchforks and sharpening up your torches, read through [Squonk42]’s case and then dig through the primary sources that he’s linked to make up your own mind. You’ll make your case more eloquently if you’re making it yourself.

Good luck, [Squonk42]! We hope you at least get your answer. Even if you already know it.


Filed under: Arduino Hacks

Cheap USB Control for your Telescope

There’s many complex systems for automatically pointing a telescope at an object in the sky, but most of them are too expensive for the amateur astronomer. [Kevin]’s Arduino ST4 interface lets you connect your PC to a reasonably priced motorized telescope mount, without ripping it apart.

The ST4 port is a very basic interface. There’s one pin per direction that the mount can move, and a common pin. This port can be added to just about any motorized mount with some modification to the controller. To connect to an Arduino, a TLP521-4 quad optoisolator is used. This keeps the Arduino and PC fully isolated from the motor circuits. but lets the Arduino take control of the mount.

With the hardware in place, [Kevin] cranked out some software which is available on Google Code. A simple Arduino sketch provides the USB interface, and a custom driver allows the ASCOM Platform to control the mount. Since many astronomy software tools support ASCOM, this allows the mount to be controlled by existing software.

With the interface in place, the mount can be used to find objects (GOTO) and automatically follow them with high accuracy (autoguiding). You can watch the telescope move on its own after the break.


Filed under: Arduino Hacks

Blackboard digitization for under $40

Digital White/Black Boards or “Smart Boards” are very useful in modern classrooms, but their high cost often makes it difficult to convince administrators from loosening their purse strings. Cooper Union’s 2nd annual HackCooper event in New York wanted students to design and build hardware and software projects that both solve real problems and spark the imagination. At the 24 hour hackathon, the team of [harrison], [david] and [caleb] decided to put together a low-cost and simple solution to digitizing classroom black board content.

A chalk-holder is attached to two strings, each connected over a pulley to a weight. The weights slide inside PVC pipes at the two sides of the black board. Ultrasonic sensors at the bottom of each tube measure the distance to the weights. The weights sit in static equilibrium, so they serve the purpose of keeping the string taut without negatively interfering with the writer.

With a couple of calibration points to measure the extent of displacement of each weight, board width can be determined, making it easy to adapt to different sizes of boards. Once calibrated, the system can determine position of the chalk over the board based on some trigonometrical calculations. Since they had just 24 hours to hack the system together, they had to use a hand operated radio with a couple of buttons to provide user control. Pressing the “Write” button starts transmitting chalk movements to the digital screen. A second button on the radio remote serves to “Erase” the digital screen. After receiving the chalk position data, they had to do a fair amount of processing to eliminate noise and smooth out the writing on the digital screen.

A server allows the whole class to receive the chalk board data in real time. After each “Erase” command, the chalk board state is saved and logged on the server, thus allowing previous content to be viewed or downloaded. If only text is written, optical character recognition can be used to further digitize the content.

What makes the project really useful is the low cost. The sensors cost a dollar. The other parts – PVC pipe, weights/pulleys, Arduino and the Radio key fob – were all bought for under 40 dollars. For some additional cost (and maybe more time in their case) they could have automated the detection of when the chalk was actually doing the writing. The team have made their code available on Github. For a Chalk board at the other end of the cost spectrum, check this one out. Video below.


Filed under: Arduino Hacks

Non-Arduino powered by a piece of Computing history

Sometimes it is a blessing to have some spare time on your hands, specially if you are a hacker with lots of ideas and skill to bring them to life. [Matt] was lucky enough to have all of that and recently completed an ambitious project 8 months in the making – a Non-Arduino powered by the giant of computing history – Intel’s 8086 processor. Luckily, [Matt] provides a link to describe what Non-Arduino actually means; it’s a board that is shield-compatible, but not Arduino IDE compatible.

He was driven by a desire to build a single board computer in the old style, specifically, one with a traditional local bus. In the early days, a System Development Kit for Intel’s emerging range of  microprocessors would have involved a fair bit of discrete hardware, and software tools which were not all too easy to use.

Back in his den, [Matt] was grappling with his own set of challenges. The 8086 is a microprocessor, not a microcontroller like the AVR, so the software side of things are quite different. He quickly found himself locking horns with complex concepts such as assembly bootstrapping routines, linker scripts, code relocation, memory maps, vectors and so on. The hardware side of things was also difficult. But his goal was learning so he did not take any short cuts along the way.

[Matt] documented his project in detail, listing out the various microprocessors that run on his 8OD board, describing the software that makes it all run, linking to the schematics and source code. There’s also an interesting section on running Soviet era (USSR) microprocessor clones on the 8OD. He is still contemplating if it is worthwhile building this board in quantities, considering it uses some not so easy to source parts. If you are interested in contributing to the project, you could get lucky. [Matt] has a few spares of the prototypes which he is willing to loan out to anyone who can can convince him that they could add some value to the project.

Thanks for the tip, [Garrett]


Filed under: Arduino Hacks, Microcontrollers

Bill’s Arduino

Pokemon is a great game by itself, but when you realize that not all of the ‘mon are available in one game, trading is required for completion, and some pokemon aren’t available without either hacking or going to a Toys ‘R Us in 1997, you start to see how insidious this game can be. Figuring he could finally complete the game with an Arduino, [Pepijn] decided to build a pokemon storage system.

This build was inspired by an earlier post that also spoofed trades. Instead of building this project around a high-power micro, [Pepijn] decided to use an Arduino. The protocol Game Boys use to communicate with each other is extremely well documented, although that’s only half the battle. Each game using the link cable used specialized data structures for transfer, and after grepping through a disassembled Pokemon ROM,  [Pepijn] figured out how everything worked.

The completed hardware keeps one Pokemon in the EEPROM of an Arduino. It’s not very fast if you want to catch all 151 Pokemon in the Gen 1 games, but any way you look at it, you’re going to be catching a lot of Magikarp anyway.


Filed under: Arduino Hacks, nintendo gameboy hacks

Converting Morse Code to Text with Arduino

Morse code used to be widely used around the globe. Before voice transmissions were possible over radio, Morse code was all the rage. Nowadays, it’s been replaced with more sophisticated technologies that allow us to transmit voice, or data much faster and more efficiently. You don’t even need to know Morse code to get an amateur radio license any more. That doesn’t mean that Morse code is dead, though. There are still plenty of hobbyists out there practicing for the fun of it.

[Dan] decided to take a shortcut and use some modern technology to make it easier to translate Morse code back into readable text. His project log is a good example of the natural progression we all make when we are learning something new. He started out with an Arduino and a simple microphone. He wrote a basic sketch to read the input from the microphone and output the perceived volume over a Serial monitor as a series of asterisks. The more asterisks, the louder the signal. He calibrated the system so that a quiet room would read zero.

He found that while this worked, the Arduino was so fast that it detected very short pulses that the human ear could not detect. This would throw off his readings and needed to be smoothed out. If you are familiar with button debouncing then you get the idea. He ended up just averaging a few samples at a time, which worked out nicely.

The next iteration of the software added the ability to detect each legitimate beep from the Morse code signal. He cleared away anything too short. The result was a series of long and short chains of asterisks, representing long or short beeps. The third iteration translated these chains into dots and dashes. This version could also detect longer pauses between words to make things more readable.

Finally, [Dan] added a sort of lookup table to translate the dots and dashes back into ASCII characters. Now he can rest easy while the Arduino does all of the hard work. If you’re wondering why anyone would want to learn Morse code these days, it’s still a very simple way for humans to communicate long distances without the aid of a computer.


Filed under: Arduino Hacks

A Tweeting Vending Machine

[Sigurd] manage to obtain an old vending machine from his dorm. The only problem was that the micocontroller on the main board was broken. He and his friend decided they could most likely get the machine back into working order, but they also knew they could probably give it a few upgrades.

This system uses two Arduino Pro Minis and an Electric Imp to cram in all of the new features. One Arduino is connected to the machine’s original main board. The Arduino interfaces with some of the shift registers, relays, and voltage regulators. This microcontroller also lights up the buttons on the machine as long as that particular beverage is not empty. It controls the seven segment LED display, as well as reading the coin validator.

The team had to reverse engineer the original coin validator in order to figure out how the machine detected and counted the coins. Once they figured out how to read the state of the coins, they also built a custom driver board to drive the solenoids.

A second Arduino is used to read NFC and RFID cards using a Mifare RC522 reader. The system uses its own credit system, so a user can be issued a card with a certain amount of pre-paid credit. It will then deduct credit appropriately once a beverage is vended. The two Arduinos communicate via Serial.

The team also wanted this machine to have the ability to communicate with the outside world. In this case, that meant sending cheeky tweets. They originally used a Raspberry Pi for this, but found that the SD card kept getting corrupted. They eventually switched to an Electric Imp, which worked well. The Arduino sends a status update to the Imp every minute. If the status changes, for example if a beverage was dispensed, then the Imp will send a tweet to let the world know. It will also send a tweet to the maintenance person if there is a jam or if a particular slot becomes empty.


Filed under: Arduino Hacks

Altoids Tin Network Analyzer

Network Analyzers are frequently used for measuring filters, making them extremely valuable for building radios and general mucking about with RF. They are, however, extremely expensive. You can, however, build one in an Altoids tin with an Arduino Nano, a small screen, and an AD9850 frequency synthesis module picked up on eBay.

The basic idea behind a network analyzer is to feed a frequency into a device, and measure the amplitude coming out of the device, and plot this relationship over a frequency. [Bill Meara] has been a human network analyzer before, changing frequencies and plotting the output of devices under test by hand. [DuWayne] (KV4QB) build a device to automate the entire process.

The block diagram is easy enough – an AD9850 sends a signal to the device, and this is measured by the Arduino with a small amplifier. The signal is measured again when it comes back from the device under test, and all this is plotted on a small display. Simple, and [DuWayne] is getting some very good readings with a lowpass filter and crystal filter made on a small solderless breadboard.


Filed under: Arduino Hacks, tool hacks

Pac-Man Clock Eats Time, Not Pellets

[Bob’s] Pac-Man clock is sure to appeal to the retro geek inside of us all. With a tiny display for the time, it’s clear that this project is more about the art piece than it is about keeping the time. Pac-Man periodically opens and closes his mouth at random intervals. The EL wire adds a nice glowing touch as well.

The project runs off of a Teensy 2.0. It’s a small and inexpensive microcontroller that’s compatible with Arduino. The Teensy uses an external real-time clock module to keep accurate time. It also connects to a seven segment display board via Serial. This kept the wiring simple and made the display easy to mount. The last major component is the servo. It’s just a standard servo, mounted to a customized 3D printed mounting bracket. When the servo rotates in one direction the mouth opens, and visa versa. The frame is also outlined with blue EL wire, giving that classic Pac-Man look a little something extra.

The physical clock itself is made almost entirely from wood. [Bob] is clearly a skilled wood worker as evidenced in the build video below. The Pac-Man and ghosts are all cut on a scroll saw, although [Bob] mentions that he would have 3D printed them if his printer was large enough. Many of the components are hot glued together. The electronics are also hot glued in place. This is often a convenient mounting solution because it’s relatively strong but only semi-permanent.

[Bob] mentions that he can’t have the EL wire and the servo running at the same time. If he tries this, the Teensy ends up “running haywire” after a few minutes. He’s looking for suggestions, so if you have one be sure to leave a comment.


Filed under: Arduino Hacks, clock hacks