Programming an Arduino over WiFi with the ESP8266

A lot of people have used ESP8266 to add inexpensive WiFi connectivity to their projects, but [Oscar] decided to take it one step further and program an Arduino over WiFi with the ESP8266. [Oscar] wrote a server script in Python that communicates with firmware running on the Arduino. The Arduino connects to the server on startup and listens for a “reboot” command.

When the command is received, the processor resets and enters the bootloader. The python script begins streaming a hex file over WiFi to the ESP8226, which relays it to the Arduino’s bootloader. Once the hex file is streamed, the microcontroller seamlessly starts executing the firmware. This method can be used with any AVR running a stk500-compatible bootloader.

[Oscar]’s writeup is in Spanish, but fortunately the comments in his Python and Arduino code are in English. Check out the video (in English) after the break where [Oscar] demonstrates his bootloading setup.

Continue reading “Programming an Arduino over WiFi with the ESP8266″

Battery Shield Mounts Underneath The Arduino

So, what do you do when your Arduino project needs to operate in a remote area or as a portable device? There are LiPo battery shields available, and although they may work well, recharging requires access to a USB port. You can also go the 9v battery route plugged into the on-board regulator of the Arduino but the low mAh rating of a 9v won’t allow your project to stay running for very long. [AI] needed a quick-change battery option for his Arduino project and came up with what he is calling the AA Undershield.

As the name implies, AA sized batteries are used in the project, two of them actually. Yes, two AA batteries at 1.5v each would equal only 3 volts when connected in series. The Arduino needs 5v so [AI] decided to use a MAX756 DC-to-DC step-up regulator to maintain a steady stream of 5v. This article has some nice graphs showing the difference in performance between a 9v battery being stepped down to 5v verses two AA’s being bumped up to 5v.

The ‘under’ in Undershield comes from this shield being mounted underneath the Arduino, unlike every other shield on the planet. Doing so allows use of a standard 0.100″-spaced prototype PCB and is an easy DIY solution to that odd-sized space between the Arduino’s Digital 7 and 8 pins. The Arduino mounts to the Undershield via its normal mounting holes with the help of some aluminum stand offs.

[AI] did a great job documenting his build with schematics and lots of photos so that anyone that is interested in making one for themselves can do so with extreme ease.

Now Let’s See The World’s Largest Arduino

A few days ago we saw what would have been a killer Kickstarter a few years ago. It was the smallest conceivable ATtiny85 microcontroller board, with resistors, diodes, a USB connector, and eight pins for plugging into a breadboard. It’s a shame this design wasn’t around for the great Arduino Minification of Kickstarter in late 2011; it would have easily netted a few hundred thousand dollars, a TED talk, and a TechCrunch biopic.

[AtomSoftTech] has thrown his gauntlet down and created an even smaller ‘tiny85 board. it measures 0.4in by 0.3in, including the passives, reset switch, and USB connector. To put that in perspective, the PDIP package of the ‘tiny85 measures 0.4 x 0.4. How is [Atom] getting away with this? Cheating, splitting the circuit onto two stacked boards, or knowing the right components, depending on how you look at it.

USB [Atom] is using a few interesting components in this build. The USB connector is a surface mount vertical part, making the USB cord stick out the top of this uC board. The reset button is extremely small as well, sticking out of the interior layer of the PCB sandwich.

[AtomSoft] has the project up on OSH Park ($1.55 for three. How cool is that?), and we assume he’ll be selling the official World’s Smallest Arduino-compatible board at Tindie in time.

Brushless Motor Controller Shield for Arduino

Brushless motors are ubiquitous in RC applications and robotics, but are usually driven with low-cost motor controllers that have to be controlled with RC-style PWM signals and don’t allow for much customization. While there are a couple of open-source brushless drivers already available, [neuromancer2701] created his own brushless motor controller on an Arduino shield.

[neuromancer2701]’s shield is a sensorless design, which means it uses the back-EMF of the motor for feedback rather than hall effect sensors mounted on the motor. It may seem strange to leave those sensors unused but this allows for less expensive sensorless motors to work with the system. It also uses discrete FETs instead of integrated driver ICs, similar to other designs we have covered. Although he is still working on the back-EMF sensing in his firmware, the shield successfully drives a motor in open-loop mode.

The motor controller is commanded over the Arduino’s serial interface, and will support a serial interface to ROS (Robot Operating System) in the future. This shield could be a good alternative to hobby RC controllers for robots that need a customizable open-source motor controller. The PCB design and source code are available on GitHub.

Continue reading “Brushless Motor Controller Shield for Arduino”

Web Browser Pushes Arduino’s Limits

Some projects that we build fulfill a genuine need for a new piece of hardware or software that will make life easier or fix a common problem. Other projects, on the other hand, we do just because it’s possible to do. [Gilchrist] has finished work on a project that fits squarely in the second category: a web browser that runs exclusively on an Arduino Uno with an ethernet shield.

The Arduino can serve plain-text web pages to an attached LCD and can follow hyperlinks. User input is handled by a small joystick, but the impressive part of the build is on the software side. The Arduino only has 2KB of RAM to handle web pages, and the required libraries take up 20KB of memory, leaving only about 12 KB for the HTML parser/renderer and the LCD renderer.

The Arduino browser is a work in progress, and [Gilchrist] mentions that goals for the project include more robustness to handle poor HTML (the Hackaday retro edition loads flawlessly though), a terminal, and WiFi capabilities. To that end, maybe a good solution would be using the new ESP8266 chip to keep things small and inexpensive?

Arduino Drink Dispenser Turns Quarters into Liquid Courage

Ever feel the need to have your very own alcohol vending machine at home? Well if you do, [Ben] and [Dan] have just the Arduino based machine for you!

It was actually part of a school assignment for product design at Brunel University – the whole thing was designed and built in just over a week. The machine accepts and counts coins giving you a total readout on the LCD screen. When the correct amount is inserted you can select your shot and the machine will pour you a stiff one.

The thing we like about this vending machine — we’re not sure if it actually qualifies as a barbot — is that it doesn’t have any fancy pumps. In fact, it just uses two inexpensive solenoid valves and gravity to dispense the drink, much like a typical bar bottle dispenser.

Continue reading “Arduino Drink Dispenser Turns Quarters into Liquid Courage”

Atmel and Arduino Announce Wi-Fi Shield 101 at World Maker Faire

Atmel and Arduino teamed up at World Maker Faire to introduce the Wi-Fi shield 101. [Gary] from Atmel gave us the lowdown on this new shield and its components. The shield is a rather spartan affair, carrying only devices of note: an Atmel WINC1500 WiFi module, and an ATECC108 crypto chip.

The WINC1500 is a nifty little WiFi module in its own right. WINC handles IEEE 802.11 b/g/n at up to 72 Mbps. 72Mbps may not sound like much by today’s standards, but it’s plenty fast for most embedded applications. WINC handles all the heavy lifting of the wireless connection. Connectivity is through SPI, UART or I2C, though on the Arduino shield it will be running in SPI mode.

The ATECC108 is a member of Atmel’s “CryptoAuthentication” family. It comes packaged in an 8-pin SOIC, and is compatible with serial I2C EEPROM specifications. Internally the similarities to serial EEPROMs end. The ‘108 has a 256-bit SHA engine in hardware, as well as a Federal Information Processing Standards (FIPS) level random number generator. Atmel sees this chip as being at the core of secure embedded systems. We think it’s pretty darn good, so long as we don’t hear about it at the next DEFCON.

The Wi-Fi shield 101 and associated libraries should be out in January 2015. We can’t wait to see all the new projects (and new ways to blink an LED) the shield will enable.