Driving 1000 NeoPixels With 1k Of Arduino RAM

timing

NeoPixels, or WS2812 RGB LEDs, are the display device du jour for impressive and blinding lighting projects. Commonly known for very tight timing requirements, [Josh] discovered this is, in fact, usually unnecessary. The timing requirements for NeoPixels aren’t as bad as they seem, once you get to know them.

The official WS2812 timing specs give values that are fairly constraining for anyone writing a library to drive these RGB LED pixels, but simplifying the timing diagram by assuming a 50% duty cycle on the data lines and ignoring the longer maximum times results in a surprising conclusion: the only tight timing parameter for NeoPixel signaling is the maximum width of the 0-bit pulse.

Realizing this, [Josh] wrote a simple demo program to drive over 1000 NeoPixels – an 11 meter long strip – using 1K of RAM on an Arduino. The trick comes by simply delaying the bitbanging a set number of cycles. No obtuse assembly required.

There is only one problem with [Josh]’s method of driving a nearly unlimited amount of NeoPixels – building a display where every NeoPixel is an element in a larger image, such as in a video display, is impossible on systems with limited amounts of RAM. The code writes values to the NeoPixel strip algorithmically, so if you can’t build your animation with for loops, you’re out of luck. Still, Driving this many NeoPixels is a migraine trigger, and we have to give [Josh] credit for doing this with 1K of RAM.

Check out the video of [Josh]’s extreme NeoPixel strip below.

Continue reading “Driving 1000 NeoPixels With 1k Of Arduino RAM”

MicroModem, For Data Transmission Explorations

modemThem kids with those Arduinos don’t know what they’re missing. A serial connection is just too easy, and there’s so much fun to be had with low bandwidth modems. [Mark] made the MicroModem with this in mind. It’s a 1200 baud AFSK modem, capable of APRS, TCP/IP over SLIP, mesh network experimentations, and even long-range radio communication.

As the MicroModem is designed to be an introduction to digital wireless communication, it’s an extremely simple build using only 17 components on a board compatible with the Microduino. The software is built around something called MinimalProtocol1, a protocol that will be received by all other listening stations, features error correction, and automatic data compression. There’s also the ability to send TCP/IP over the link, which allowed [Mark] to load up our retro site at a blistering 1200 bps.

The code is extremely well documented, as seen on the Github for this project, with board files and even breadboard layouts included. [Mark] has three PCBs of his prototype left over, and he’s willing to give those out to other Hackaday readers who would like to give his modem a shot.

Introducing The Arduino Zero

The Arduino Uno is the old standby of the Arduino world, with the Arduino Due picking up where the Mega left off. The Arduino Tre is a pretty cool piece of kit combining a Linux system with the Arduino pinout. Care to take a guess at what the next Arduino board will be called? The Arduino Zero, obviously.

The Arduino Zero uses an Atmel ARM Cortex-M0+ for 256kB of Flash and 32k of RAM. The board supports Atmel’s Embedded Debugger, finally giving the smaller Arduino boards debugging support.

The chip powering the Zero features six communications modules, configurable as a UART, I2C, or SPI. USB device and host are also implemented on the chip, but there’s no word in the official word if USB host will be available. There are two USB connectors on the board, though.

The Arduino folk will be demoing the Zero at the Bay Area Maker Faire this weekend. Hackaday will have boots on the ground there, so we’ll try to get a more detailed report including pricing and availability then.

Eerie Robotic Instruments Make Use Of Servos And Solenoids

Turbo-gusli

Self-playing pianos are so last year. How about a robotic acoustic-gusli?

[Dmitry Morozov] calls it the Turbo-Gusli or Gusli-Samogudy. A Gusli is perhaps the oldest Russian multi-stringed instrument, which resembles a harp and whose exact history is not quite known. Add Samogudy to the name and you’ve got a “self-playing Gusli”.

The eerie sounding music is produced by six individual servo motors, a regular DC motor, a stepper motor, three solenoids, a handful of springs, and 38 strings. It’s all controlled by two Arduino Unos, with the software written in Pure Data, an open source visual programming language.

He’s made several videos of the exhibit, including a performance that sends shivers down our spines — stick around after the break for a listen!

Continue reading “Eerie Robotic Instruments Make Use Of Servos And Solenoids”

Programming Micros With Impossibly Cheap Bluetooth Adapters

tooth

[Zenios] and [Raivis] are building a small balancing robot, and for communications to the outside world, they’re using a small, extremely cheap Bluetooth adapter. They figured uploading code to the microcontroller over Bluetooth would be a good idea, but their adapter, a cheap HC-06 module, had no way of resetting the microcontroller; it just provided Tx and Rx the serial port. They did notice a LED blinked when a device wasn’t connected to the adapter, so with a simple circuit they kludged a reset circuit where it wasn’t intended.

The small LED on the HC-06 module blinks when nothing is connected, and remains on when a connection is established. Figuring a new connection would be a good time to upload new code, the guys needed to design a circuit that would stay low when the LED was blinking, and switch to high when the LED was on.

A simple RC filter took care of the blinking LED, keeping the line low until a device connected. Bringing the logic level high when the LED stayed solid required digging through a part drawer, eventually finding an LM741 p differential amplifier.

After a few small changes to the bootloader, the guys had a reliable means of flashing new firmware without the need of programming adapters or wires draped over their workspace, all with a Bluetooth adapter that shouldn’t have this capability. Video below.

Continue reading “Programming Micros With Impossibly Cheap Bluetooth Adapters”

Upgrade Your Garage Door With Arduino And RFID

RFID Garage Door Opener

[Jason] really wanted to build an RFID controlled garage door opener and decided to turn to Arduino to get the job done. For someone who’s never worked with an Arduino before, he really seemed to know what he was doing.

The Arduino acts as the brains of the operation while an off-the-shelf NFC/RFID reader module is used to read the RFID tags. To add new keys to the system, [Jason] simply swipes his “master” RFID key. An indicator LED lights up and a piezo speaker beeps, letting you know that the system is ready to read a new key. Once the new key is read, the address is stored on an EEPROM. From that point forward the new key is permitted to activate the system.

Whenever a valid key is swiped, the Arduino triggers a relay which can then be used to control just about anything. In this case, [Jason] plans to use it to control his garage door. The system also has a few manual controls. First is the reset button. If this button is held down for two seconds, all of the keys from the EEPROM are erased. This button would obviously only be available to people who are already inside the garage. There is also a DIP switch that allows the user to select how long the relay circuit should remain open. This is configurable in increments of 100ms.

For now the circuit is wired up on a couple of breadboards, but it might be a good idea to use something more permanent. [Jason] could always take it a step further and learn to etch his own PCB’s. Or he could even design a board in Eagle CAD and order a real printed board. Don’t miss the video description of the RFID system below. Continue reading “Upgrade Your Garage Door With Arduino And RFID”

folding arduino lab

DIY Arduino Cases You Never Knew Existed

There are sure a lot of varieties of Arduinos out there but there may even be more of a variety when it comes to Arduino Cases. Let’s take the most popular Arduino form factor, the Uno. Below are a handful of unique cases for the Uno-sized boards.

 

by [Megaduty], Arduino Protection Box beefy arduino case

We’ll call this one robust. Although it is 3D printed, its intent is to be extremely protective of the inhabitant. Some extra thought went into this case, no tools are needed! After the Arduino snaps into place, so does the cover. There is an access door to get the input/output wires to the free world. [Megaduty] suggests that this contains $0.10 of plastic. Not a bad deal.

 

Continue reading “DIY Arduino Cases You Never Knew Existed”