Posts with «arduino hacks» label

Laser PCB Exposer Built From CD-ROM Drives

[Neumi] has built a CNC Laser using CD-ROM drives as the X and Y motion platforms. The small 405nm laser can engrave light materials like wood and foam. The coolest use demonstrated in the video is exposing pre-coated photo-resist PCBs.

With $61 US Dollars (55 Euro) for the Arduino, stepper drivers, and a laser in the project, [Nuemi] got a pretty capable machine after adding a few parts from the junk bin. He wanted to avoid using existing software in order to learn the concepts behind a laser engraver. In the end, he has a working software package which can send raster scans to an Arduino mega. The mega then controls the sync between the stepper and laser firings. The code is available on GitHub.

The machine can do a 30x30mm PCB in 10 minutes. It’s not about to set a record, but it’s cool and not at all bad for the price. You can see the failed PCBs lined up in the video from the initial tuning, but the final one produced a board very equivalent to the toner transfer method. Video after the break.

 


Filed under: Arduino Hacks, cnc hacks
Hack a Day 15 Mar 06:00

Blinky LED Bike Bag

Bicycle riders can never be too visible: the more visible you are, the less chance there is someone will hit you. That’s the idea behind the Arduibag, a neat open-source project from [Michaël D’Auria] and [Stéphane De Graeve]. The project combines a joystick that mounts on the handlebars with a dot matrix LED display in a backpack. By moving the joystick, the user can indicate things such as that they are turning, stopping, say thank you or show a hazard triangle to warn of an accident.

The whole project is built from simple components, such as an Adafruit LED matrix and a Bluno (an Arduino-compatible board with built-in Bluetooth 4.0) combined with a big battery that drives the LED matrix. This connects to the joystick, which is in a 3D printed case that clips onto the handlebars for easy use. It looks like a fairly simple build, with the larger components being mounted on a board that fits into the backpack and holds everything in place. You then add a clear plastic cover to part of the backpack over the LED matrix, and you are ready to hit the road, hopefully without actually hitting the road.

Like any good project, [Michaël] and [Stéphane] aren’t finished with it yet: they are also looking for ways to improve it. In particular, they want to reduce the number of batteries, as there is currently a large battery that drives the display and another smaller one that drives the Arduino.


Filed under: Arduino Hacks, wearable hacks
Hack a Day 13 Mar 18:00

App Control With Ease Using Blynk

App development is not fun for everyone, and sometimes you just want to control a device from your phone with minimal work. Blynk appears to be a fairly put-together library for not only hooking up any Arduino or esp8266 to a phone through WiFi, but also through the net if desired.

Install the app onto your iPhone or Android device. Install the libraries on your computer. Next, modify your Arduino source to either pass direct control of a pin to Blynk, or connect Blynk to a virtual pin inside your code for more advanced control. If you want to go the easy route, create an account, log into the app, and drag and drop the interface you’d like. If the idea of letting some corporation host your Arduino project sends shivers down your spine, there is also an option to host your own server. (Editorial snark: Yes, it requires a server. That’s the cost of “simplicity”.)

There have been a few times where we’ve wished we could add app control to our projects, but installing all the libraries and learning a new language just to see a button on a screen didn’t seem worth it. This is a great solution. Have any of you had experience using it?


Filed under: Arduino Hacks, Cellphone Hacks

Mein Enigma

The World War II German Enigma encoding machine is something of an icon in engineering circles not just for its mechanical ingenuity but for the work of the wartime staff at Bletchley Park in decoding its messages. Without it we would not have had Colossus, the first programmable digital electronic computer, and subsequent technological developments might have taken a slower pace towards what we take for granted today.

Sadly for the Enigma enthusiast though, real machines are now few and far between. Our grandparents’ generation saw to that through the chaos and bombing of the fight across Europe. If you want to handle one you will have to either have an outrageous amount of money, work for a museum, or maybe for the GCHQ archivist.

This has not stopped our community building Enigma replicas, and the latest one to come to our attention here at Hackaday shows some promise. [lpaseen]’s meinEnigma is an electronic Enigma driven by an Arduino Nano, with rotary encoders to represent the Enigma rotors and multi-segment alphanumeric displays standing in for the lighted letters in the original. It supports all the different variations of rotors from the original in software, has a physical plugboard, and a serial port over USB through which all machine functions can be controlled. The machine as it stands is a fully working prototype, the plan is that a final machine will resemble the original as closely as possible.

All the code used in the project can be found on GitHub, along with [lpaseen]’s Arduino library for the Holtek HT16K33 keyboard/display chip used to handle those tasks.

We’ve featured a few Enigma machines on Hackaday over the years. One was built into a wristwatch, another into a hacked child’s toy, but the closest in aim to [lpaseen]’s offering is this rather attractive replica also driven by an Arduino. It is also worth mentioning that should your travels ever take you to Buckinghamshire you can visit the Bletchley Park Museum and neighboring  National Museum of Computing, to get the Enigma and Colossus story from the source.


Filed under: Arduino Hacks

Does the World Need an FPGA Arduino?

What would you get it you mashed up an FPGA and an Arduino? An FPGA development board with far too few output pins? Or a board in the form-factor of Arduino that’s impossible to program?

Fortunately, the ICEZUM Alhambra looks like it’s avoided these pitfalls, at least for the most part. It’s based on the Lattice iCE40 FPGA, which we’ve covered previously a number of times because of its cheap development boards and open-source development flow. Indeed, we were wondering what the BQ folks were up to when they were working on an easy-to-use GUI for the FPGA family. Now we know — it’s the support software for an FPGA “Arduino”.

The Alhambra board itself looks to be Arduino-compatible, with the horrible gap between the rows on the left-hand-side and all, so it will work with your existing shields. But they’ve also doubled them with pinheaders in a more hacker-friendly layout: SVG — signal, voltage, ground. This is great for attaching small, powered sensors using a three-wire cable like the one that you use for servos. (Hackaday.io has two Arduino clones using SVG pinouts: in SMT and DIP formats.)

The iCE40 FPGA has 144 pins, so you’re probably asking yourself where they all end up, and frankly, so are we. There are eight user LEDs on the board, plus the 28 I/O pins that end in pinheaders. That leaves around a hundred potential I/Os unaccounted-for. One of the main attractions of FPGAs in our book is the tremendous availability of fast I/Os. Still, it’s more I/O than you get on a plain-vanilla Arduino, so we’re not complaining too loudly. Sometimes simplicity is a virtue. Everything’s up on GitHub, but not yet ported to KiCad, so you can tweak the hardware if you’ve got a copy of Altium.

We’ve been seeing FPGA projects popping up all over, and with the open-source toolchains making them more accessible, we wonder if they will get mainstreamed; the lure of reconfigurable hardware is just so strong. Putting an FPGA into an Arduino-compatible form-factor and backing it with an open GUI is an interesting idea. This project is clearly in its very early stages, but we can’t wait to see how it shakes out. If anyone gets their hands on these boards, let us know, OK?

Thanks [RS] for the tip!


Filed under: Arduino Hacks, FPGA
Hack a Day 09 Mar 09:01

Monitor A Serial Port From Anywhere

This simple WiFi serial port monitor would have saved us a lot of trouble. We can’t count how many times where being hooked into an Arduino with USB just to get the serial out has nearly been more trouble than it’s worth. Times where we sat cross-legged on the floor and could choose comfort or accidentally shifting the set-up and ruining everything, but not both.

[Frenky]’s set-up is simple and clever. The Ardunio’s serial out is hooked to an ESP8266. The Arduino spams serial out to the ESP8266 in its usual way. The ESP8266 then pipes all that out to a simple JavaScript webpage. Connect to the ESP8266’s IP with any device in your house, and get a live stream of all the serial data. Neat.

As simple as this technique is, we can see ourselves making a neat little box with TX, RX, GND, and VCC screw terminals to free us from the nightmare of tethering on concrete floors just for a simple test. Video after the break.


Filed under: Arduino Hacks, wireless hacks
Hack a Day 08 Mar 03:00

Fail of the Week: Battery Pack Jack Wired Backwards

Last Saturday I had a team of teenage hackers over to build Arduino line-following robots from a kit. Everything went well with the mechanical assembly and putting all the wires on the correct pins. The first test was to check that the motors were moving in the proper direction. I’d written an Arduino program to test this. The first boy’s robot worked fine except for swapping one set of motor leads. That was anticipated because you cannot be totally sure ahead of time which way the motors are going to run.

The motor’s on the second robot didn’t turn at all. As I checked the wiring I smelled the dreaded hot electronics smell but I didn’t see any smoke. I quickly pulled the battery jack from the Arduino and – WOW! – the wires were hot. That didn’t bode well. I checked and the batteries were in the right way. A comparison with another pack showed the wires going into the pack were positioned properly. I plugged in another pack but the motors still didn’t run.

I got my multimeter, checked the voltage on the jack, and it was -5.97 V from center connector to the barrel. The other pack read 6.2 V. I had a spare board and pack so swapped those and the robot worked fine. Clearly the reverse polarity had zapped the motor control ICs. After that everyone had a good time running the robots on a course I’d laid out and went home pleased with their robots.

After they left I used the ohmmeter to check the battery pack and found the wiring was backwards, as you can see in the feature photo. A close inspection showed the wire with a white line, typically indicating positive, indeed went to the positive battery terminal. I shaved the barrel connector down to the wires and the white line wire was connected to the outside of the barrel. FAIL!

This is a particularly bad fail on the part of the battery pack supplier because how hard is it to mess up two wires? You can’t really fault the robot kit vendor because who would expect a battery pack to be bad? The vendor is sending me a new battery pack and board so I’m satisfied. Why did I have an extra board and pack, actually an entire kit? For this exact reason; something was bound to go wrong. Although what I had imagined was for one of the students to break a mechanical part or change wiring and zap something. Instead, we were faced with a self-destructing kit. Prudence paid off.


Filed under: Arduino Hacks, Fail of the Week, Hackaday Columns

Teensy 3.1 Controlled VFO

[Tom Hall], along with many hams around the world, have been hacking the Silicon Labs Si5351 to create VFOs (variable frequency oscillators) to control receivers and transmitters. You can see the results of his work in a video after the break.

[Tom] used a Teensy 3.1 Arduino compatible board, to control the Si5351 mounted on an Adafruit breakout board. An LCD display shows the current frequency and provides a simple interface display for changing the output. A dial encoder allows for direct adjustment of the frequency. The ham frequency band and the frequency increment for each encoder step are controlled by a joystick. When you get into the 10 meter band you definitely want to be able to jump by kHz increments, at least, since the band ranges from 28 mHz to 29.7 mHz.

So what is the Si5351? The data sheets calls it an I2C-Programmable Any-Frequency CMOS Clock Generator + VCXO. Phew! Let’s break that down a bit. The chip can be controlled from a microprocessor over an I2C bus. The purpose of the chip is to generate clock outputs from 8 kHz to 160 kHz. Not quite any frequency but a pretty good range. The VCXO means voltage controlled crystal oscillator. The crystal is 25 mHz and provides a very stable frequency source for the chip. In addition, the Si5351 will generate three separate clock outputs.

[Tom] walks through the code for his VFO and provides it via GitHub. An interesting project with a lot of the details explained for someone who wants to do their own hacks. His work is based on work done by others that we’ve published before, which is what hacking is all about.


Filed under: Arduino Hacks, radio hacks

At last! A SIL-Duino!

There are some standard components that have been so continuously refined as to have become if not perfect then about as good as they’re going to get. Take the Arduino Uno for instance, and compare it with its ancestor from a decade ago. They are ostensibly the same board and they are compatible with each other, yet the Uno and its modern clones have more processing power, memory and storage, a USB interface rather than serial, and a host of small component changes to make them better and cheaper.

You’d think that just another Arduino clone couldn’t bring much to the table then. And you’d be right in a broad sense, just what is there left to improve?

[Clovis Fritzen] has an idea for an Arduino clone that’s worth a second look. It’s not an amazing hardware mod that’ll set the Arduino world on fire, instead it’s a very simple design feature. He’s created an Arduino that mounts vertically on a single row of pins. Why might you find that attractive, you ask? A SIL vertical Arduino takes up a lot less breadboard space than one of the existing DIL Arduinos. A simple idea, yet one that is very useful if you find yourself running out of breadboard.

[Clovis] took the circuit of an Arduino Uno and simplified it by removing the USB interface, so this board has to be programmed through its ICSP header. And he’s made it a through-hole board for easy construction by those wary of SMD soldering. The resulting board files can all be found on GitHub.

Every now and then along comes a hack so simple, obvious, and useful that it makes you wonder just why you didn’t think of it yourself. Many of us will have used a DIL Arduino and probably found ourselves running out of breadboard space. This board probably won’t change the world, but it could at least make life easier in a small way for some of us who tinker with microcontrollers.

This is just the latest of many Arduino clones to find its way onto these pages. In 2013 we asked why the world needed more when featuring one made as a PCB design exercise. There’s even a Hackaday version called the HaDuino developed by [Brian Benchoff]. But while it’s true that Yet Another Vanilla Arduino Clone brings nothing to the table, that should not preclude people from taking the Arduino and hacking it. Every once in a while something useful like this project will come from it, and that can only be a benefit to our community.


Filed under: Arduino Hacks
Hack a Day 05 Mar 12:01

Wiring was Arduino before Arduino

Hernando Barragán is the grandfather of Arduino of whom you’ve never heard. And after years now of being basically silent on the issue of attribution, he’s decided to get some of his grudges off his chest and clear the air around Wiring and Arduino. It’s a long read, and at times a little bitter, but if you’ve been following the development of the Arduino vs Arduino debacle, it’s an important piece in the puzzle.

Wiring, in case you don’t know, is where digitalWrite() and company come from. Maybe even more importantly, Wiring basically incubated the idea of building a microcontroller-based hardware controller platform that was simple enough to program that it could be used by artists. Indeed, it was intended to be the physical counterpart to Processing, a visual programming language for art. We’ve always wondered about the relationship between Wiring and Arduino, and it’s good to hear the Wiring side of the story. (We actually interviewed Barragán earlier this year, and he asked that we hold off until he published his side of things on the web.)

The short version is that Arduino was basically a fork of the Wiring software, re-branded and running on a physical platform that borrowed a lot from the Wiring boards. Whether or not this is legal or even moral is not an issue — Wiring was developed fully open-source, both software and hardware, so it was Massimo Banzi’s to copy as much as anyone else’s. But given that Arduino started off as essentially a re-branded Wiring (with code ported to a trivially different microcontroller), you’d be forgiven for thinking that somewhat more acknowledgement than “derives from Wiring” was appropriate.

See what we mean?

The story of Arduino, from Barragán’s perspective, is actually a classic tragedy: student comes up with a really big idea, and one of his professors takes credit for it and runs with it.

This story begins in 2003 as Barragán was a Masters student at the Interaction Design Institute Ivrea (IDII) in Italy. He was advised and heavily influenced by Casey Reas, one of the two authors of Processing.

At the same time, Massimo Banzi is teaching a class in essentially microcontrollers-for-designers at Ivrea using a PIC-based board called the Programma2003 and a curious language that you’ve never heard of, “JAL: Just Another Language“. At the time, there was no GCC support for the PIC, so the choices for open-source development were few. Worse, most of the design students are using Macs, and JAL only compiles on Windows. It wasn’t user friendly.

Barragán’s thesis is a must-read if you want to know where Arduino comes from. The summary is everything you know now: it’d be revolutionary if one could make a hardware / software platform that were easy enough that artists and non-microcontroller-nerds could get into. This is exactly the revolution that was underway in the computer graphics front, powered by Processing. Make it open source and freely available, and you’ll take over the world. So he turned to the Atmel AVR chips, which had the GCC open-source toolchain behind it.

From Wiring to Arduino

So by 2004, Barragán had a few prototypes of Wiring boards out, and he and his fellow students were using them informally for projects. The GUI will look ridiculously familiar if you’ve used Processing or Arduino. Since the students were already familiar with Processing, it made a lot of sense to just clone it — with Casey Reas’ blessing of course. Barragán wrote a little program that maybe you’ve heard of: Blink.

Now Barragán needed a faculty advisor at Ivrea, and his interests clearly aligned best with Massimo Banzi. So with his thesis work well underway and Reas’ backing, Barragán took on Banzi as his advisor. With Banzi and three other faculty members, the Wiring platform got its first real test-run, the “Strangely Familiar” workshop and show (PDF). It was a stunning success — in the space of only four weeks students actually made stuff.

Massimo Banzi teaching class with Wiring

Barragán graduated in 2004 and moved back to Colombia. The success of “Strangely Familiar” lead Massimo Banzi to drop Programma2003 like a hot potato and teach his physical design classes using Wiring.

Work began on the Arduino project, according to Banzi, because he wanted a board that was cheaper to make than the Wiring board. So he replaced the ATmega128 microcontroller for a cheaper, smaller version, and chopped off everything that wasn’t “essential” from the Wiring board, like the power LED. This became the “Wiring Lite” board — and eventually the first Arduino prototype.

Giving Arduino its Due

It is not the case that Arduino doesn’t acknowledge Wiring at all. They do. There are a few sentences in the first paragraph of the Credits section of the website, as mentioned above. That and $4.50 will buy you a Grande, Quad, Nonfat, One-Pump, No-Whip, Mocha, but how much more can one ask for?

The Arduino project has been marketed with extreme savvy, something that cannot be said of Wiring. Banzi hooked up with influential people in the US, eventually friend-of-a-friending himself into contact with Dale Dougherty, who invented not just “Web 2.0” but also the “Maker Movement” and Make Magazine. Arduino and Make was a match made in heaven, and the rest is history.

But as mentioned at the top of the article, this is a classic tale of woe. Banzi had better connections and more marketing drive and skill. He pushed the exact same project — rebranded — a lot harder, better, and further than Barragán did, or probably could. Arduino is a household name simply for that reason. If Massimo Banzi hadn’t been behind the wheel, it’s unlikely that you’d be complaining about how many Wiring-based projects we feature.

And, being open-source software and hardware, Barragán gave away the shop. He probably (naïvely) expected to get more credit from his former advisor, or even get invited along on the ride. He asks why Arduino forked Wiring instead of continuing to work with him, and the answer is absolutely clear — Arduino was taking it for their own. And they could. It’s not nice, but that’s business.

Still, we feel Barragán’s pain. So we’re glad, after a decade of silence, that Barragán is speaking out on behalf of himself and Wiring, because it sets the record straight and because his project really was “Arduino” before there was an Arduino.


Filed under: Arduino Hacks, Featured, news