Posts with «arduino nano» label

Seven-Segment Shelves Do Double Duty

[Lewis] of [DIY Machines] was always on the lookout for that perfect something to hang above the couch. After spending a lot of time fruitlessly searching, he designed and built this awesome shelving unit with recessed lighting that doubles as a huge 7-segment clock.

The clock part works as you probably expect — an Elegoo Nano fetches the time from a real-time clock module and displays it on the WS2812B LED strips arranged in 7-segment formations. There’s a photocell module to detect the ambient light level in the room, so the display is never brighter than it needs to be.

Don’t have a 3D printer yet? Then you may need to pass on this one. Aside from the wood back plane and the electronics, the rest of this build is done with printed plastic, starting with 31 carefully-designed supports for the shelves. There are also the LED strip holders, and the sleeve pieces that hide all the wires and give this project its beautifully finished look.

You may have noticed that the far left digit isn’t a full seven segments. If you’re committed to 24-hour time, you’d have to adjust everything to allow for that, but you’d end up with two more shelves. Given the fantastic build video after the break, it probably wouldn’t take too long to figure all that out.

We like big clocks and we cannot lie. If you have room for it, build something like this blinkenlit beauty.

How To Hack A Portable Bluetooth Speaker By Skipping The Bluetooth

Portable Bluetooth speakers have joined the club of ubiquitous personal electronics. What was once an expensive luxury is now widely accessible thanks to a prolific landscape of manufacturers mass producing speakers to fit every taste and budget. Some have even become branded promotional giveaway items. As a consequence, nowadays it’s not unusual to have a small collection of them, a fertile field for hacking.

But many surplus speakers are put on a shelf for “do something with it later” only to collect dust. Our main obstacle is a side effect of market diversity: with so many different speakers, a hack posted for one speaker wouldn’t apply to another. Some speakers are amenable to custom firmware, but only a small minority have attracted a software development community. It doesn’t help that most Bluetooth audio modules are opaque, their development toolchains difficult to obtain.

So what if we just take advantage of the best parts of these speakers: great audio fidelity, portability, and the polished look of a consumer good, to serves as the host for our own audio-based hacks. Let’s throw the Bluetooth overboard but embrace all those other things. Now hacking these boxes just requires a change of mindset and a little detective work. I’ll show you how to drop an Arduino into a cheap speaker as the blueprint for your own audio adventures.

Directing the Hacker Mindset at Myriad Bluetooth Speakers

There’s way too many different speakers out there for one hack to rule them all. But by changing our Bluetooth speaker mindset from “it’s a reprogrammable computer” to “it’s an integrated collection of useful electronic components”, we turn market diversity into our ally.

Look at this from the perspective of Bluetooth speaker manufacturers: they want their Bluetooth speaker to stand out from competitors, and the most obvious way is in their selection of loudspeaker drivers. Surprising the customer with big sound from a little box is key for success, so each product can offer a unique combination for driving the audio, all housed inside an eye-catching enclosure that lets consumers tell one portable Bluetooth speaker from another.

Tailoring for loudspeaker selection has cascading effects through the rest of the system. For best sound, they will need matching audio amplifier modules, which will have their own power requirements, which dictates battery performance, and so on. Catering to these desires, components are excluded from the tightly integrated mystery black boxes. Fortunately for hardware hackers, such an architecture also makes components easy to reuse:

  1. A rechargeable battery.
  2. Ability to charge that battery from USB.
  3. A low-power standby mode to monitor press of the power button.
  4. Protecting battery from over-discharge.
  5. A voltage regulator supplying battery power to the device.
  6. An audio line-in jack.
  7. Volume up/down control.
  8. Amplifier and driver.

All of these are useful for projects, already neatly packaged in a mass-produced enclosure.

Putting Theory Into Practice With An Example

Now that we have a general background, let’s apply this concept to a specific example. But before we begin, an obligatory note in case it is not obvious to any beginners reading this: This activity very definitely voids the warranty (do it, it’s worth it!), and modern portable electronics use lithium chemistry batteries that can be dangerous if mistreated.

The Bluetooth speaker used in this example is a “Rugged Portable Bluetooth Speaker” sold by North American electronics retailer Best Buy under one of their house brands. A search of its FCC ID pointed to Lightcomm Technology Co. as the manufacturer. The “rugged” claim starts with a layer of soft rubber wrapped around its exterior. That plus reinforcements inside the case allows the speaker to absorb some level of abuse. I wanted to preserve this shock absorbing exterior and, thankfully, it was easy to open non-destructively. Even more care would be needed if it was a waterproof speaker (this one wasn’t) and moisture barriers need to be preserved. Alternatively, if the plan is to transfer the internals to another enclosure, the condition of the original box would not matter.

Once the circuit board has been extracted, the Bluetooth interface module should immediately stand out as the most sophisticated component sitting close to an antenna. A search for ATS2823 confirmed it is a module designed and sold for integration into Bluetooth audio products. Its MIPS M4K core and associated flash storage could be a promising start for firmware hacking, but the point of this example is to demonstrate how to hack a speaker utilizing existing firmware. So we will leave the module as-is.

Solder to the External Audio Input

The easiest way to pipe audio into this system is to pretend to be an external audio source. We want the system to believe we are connected via an audio cable plugged into the line-in jack, but for compactness we’d prefer to do this without using an actual cord. This approach is easy, nondestructive, and preserves the existing volume control mechanism. There are a lot of different ways to implement an audio jack, so some exploration with a multimeter will be required. We need to find the standardized contacts for: audio input left channel, right channel, and ground. (Wikipedia reference: “Phone connector (audio)“)

It’ll be a little tricker to decipher the plug detection scheme, as it is not standardized. In this particular example, there is a fourth pin that floats in the absence of an audio plug. When an audio plug is present, the pin is grounded. Soldering a wire to always ground that detection pin will keep this speaker constantly in “playing external audio” mode.

Or Connect To Amplifier Directly

An alternative approach is to bypass existing input and volume control, sending audio directly to the amplifier chip. To find this chip, we start with the voice coil wires and backtrack. It’ll likely be the largest component near those voice coil wires. Once the amplifier chip is found, consult the datasheet to find the input pins to cut free from the circuit and rewire for audio input that bypasses existing control.

But even if we wish to maintain existing volume control, it is still useful to locate the audio amplifier chip. It is the most power-hungry component on the circuit board, and peak power requirements for the system are dictated by the amount of power this amplifier will draw when playing loudly. Therefore it is half the puzzle of calculating our available power. This particular Bluetooth device uses a Mixinno MIX2052 chip sitting adjacent to the voice coil wire connector, with a peak power of 6 watts.

Tap Into Power Supply

The other half of the puzzle is the voltage regulator delivering power to the amplifier chip. Similar to how we look for our amplifier near our voice coil wires, we can look for our regulator sitting near inductors, capacitors, and diodes. Once the power module is found, read its data sheet to determine peak power output.

The power budget for our hack would be constrained by power figures for those two components. Most microcontrollers consume maximum power during bootup. So as long as the audio source stays quiet during this time, we would have a little extra power to support boot. Somewhere between the regulator and the amplifier is also the best place to tap power. It allows us to piggyback on the existing power management circuit that shuts down the amplifier when entering low power mode, cutting power to our hack at the same time.

In the case of this board, there was one prominent coil and a Techcode TD8208 step-up regulator was found next to it. Configured to deliver 5 volts, this regulator can deliver 1A and tolerate brief spikes not to exceed 2A. This wouldn’t be enough to feed a Raspberry Pi 4, but plenty for an Arduino Nano.

Repurpose Control Button

So far functionality for three of the four buttons on this speaker has been preserved: power, volume up, and volume down. The fourth button initiates Bluetooth pairing, or to pick up a phone call. We’re cutting BT out of the equation so this is no longer useful and can be repurposed.

On this speaker, SW4 is normally open and pulls to ground when pressed, making it trivial to reuse. I cut the trace leading to the Bluetooth interface module and soldered a wire so the switch now pulls an Arduino pin to ground when pressed.

Tuck Everything Back In

A few pieces of internal plastic reinforcements for ruggedness were cut away to create enough volume for an Arduino Nano inside this enclosure. It is no longer quite as rugged, but now it is far more interesting as a platform for sound hacks. To conclude this proof of concept, the Arduino Nano is using the Mozzi audio library to play the classic Wilhelm scream whenever our repurposed button is pressed.

 

Build Your Own Bleepy Bloopy Buzzy Box

Bluetooth used to be the novelty. With plenty of hacks adding Bluetooth to existing audio equipment, playing Bluetooth audio out of one, or building our own Bluetooth speakers from scratch. But now Bluetooth speakers are ubiquitous, we’re approaching the point where Bluetooth is not necessarily the center of attention. Skipping the Bluetooth in a portable Bluetooth speaker gives us a new platform for our noise maker hacks. Something small, fun, and easy to bring to our next hacker show-and-tell meetup!

DIY MIDI Looper Controller Looks Fantastic!

Due to pedalboard size, complicated guitar pedals sometimes reduce the number of buttons to the bare minimum. Many of these pedals are capable of being controlled with an external MIDI controller, however, and necessity being the mother of invention and all, this is a great opportunity to build something and learn some new skills at the same time. In need of a MIDI controller, Reddit user [Earthwin] built an Arduino powered one to control his Boss DD500 Looper pedal and the result is great looking.

Five 16×2 LCD screens, one for each button, show the functionality that that button currently has. They are attached (through some neat wiring) to a custom-built PCB which holds the Arduino that controls everything. The screens are mounted to an acrylic backplate which holds the screens in place while the laser-cut acrylic covers are mounted to the same plate through the chassis. The chassis is a standard Hammond aluminum box that was sanded down, primed and then filler was used to make the corners nice and smooth. Flat-top LEDs and custom 3D printed washers finish off the project.

[Earthwin] admits that this build might be overkill for the looper that he’s using, but he had fun building the controller and learning to use an Arduino. He’s already well on his way to building another, using the lessons learned in this build. If you want to build your own MIDI controller, this article should help you out. And then you’re ready to build your controller into a guitar if you want to.

[Via Reddit]

Chirp brings data-over-sound capabilities your Arduino projects

We are excited to announce a new partnership with Chirp, a London-based company on a mission to simplify connectivity using sound. Chirp’s machine-to-machine communications software enables any device with a loudspeaker or microphone to exchange data via inaudible sound waves. 

Starting today, our Chirp integration will allow Arduino-powered projects to send and receive data wirelessly over sound waves, using just microphones and loudspeakers. Thanks to some compatible libraries included in the official Arduino Library Manager and in the Arduino Create — as well as further comprehensive documentation, tutorials and technical support — it will be easy for anyone to add data-over-sound capabilities to their Arduino projects.

Our new Nano 33 BLE Sense board, with a DSP-optimised Arm Cortex-M4 processor, will be the first board in the Arduino range with the power to transmit and receive Chirp audio signals leveraging the board’s microphone as a receiver. From now on, the Chirp SDK for Arduino will support the following boards in send-only mode: Arduino MKR Zero, Arduino MKR Vidor 4000, Arduino MKR Fox 1200, Arduino MKR WAN 1300, Arduino MKR WiFi 1010, Arduino MKR GSM 1400, Arduino MKR NB 1500 and the Arduino Nano 33 IoT.

Creative applications of Arduino and Chirp include, but certainly are not limited to:

  • Triggering events from YouTube audio
  • Securely unlocking a smart lock with sound 
  • Sending Wi-Fi credentials to bring offline devices onto a Wi-Fi network
  • Having a remote control that only interacts with the gadgets in the same room as you

Connectivity is a fundamental asset for our users, as the demands of IoT uptake require devices to communicate information seamlessly and with minimal impact for the end user. Chirp’s data-over-sound solution equips our boards with robust data transmission, helping us to deliver enhanced user experiences whilst increasing the capabilities of our hardware at scale,” said Massimo Banzi, Arduino co-founder.  

“Sound is prevailing as a highly effective and versatile means of seamless data transmission, presenting developers with a simple to use, software-defined solution which can connect devices. Working with Arduino to extend the integration of data-over-sound across its impressive range of boards will not only increase the reach of Chirp’s technology, but provide many more developers with an accessible and easily integrated connectivity solution to help them drive their projects forward in all purposes and environments. We can’t wait to see what the Arduino community builds,” commented James Nesfield, Chirp CEO. 

To learn how to send data with sound with an Arduino Nano 33 BLE Sense and Chirp, check out this tutorial and visit Chirp website here


A Doom-esque Port To The ATmega328

Doom holds a special place as one of the biggest games of the 1990s, as well as being one of the foundational blocks of the FPS genre. Long before 3D accelerators hit the market, iD Software’s hit was being played on computers worldwide, and later spread to all manner of other platforms. [David Ruiz] decided to build a cutdown version for everyone’s favourite, the ATmega328.

Due to the limited resources available, it’s not a direct port of Doom. [David] instead took some sprites and map data from the original game, and built a raycasting engine similar to that of Wolfenstein 3D. Despite the limited memory and CPU cycles, the basic game can run at between 8-11 FPS. There are fancy dithering tricks to help improve the sense of depth, a simplified enemy AI, and even a custom text library for generating the UI.

It’s a great example of what can be done with a seemingly underpowered part. We’ve seen similar work before, with Star Fox replicated on the Arduboy. A hacker’s ingenuity truly knows no bounds.

 

Hack a Day 29 Jun 12:00

Arduino's new Nano board family is more powerful and affordable

Arduino's Nano line will soon welcome four new products. They're all small boards like the classic one, making Nano a family of small boards meant for compact projects. All the new boards boast low energy consumption and processors more powerful than what the classic has. Even better, they're all pretty affordable: the most basic entry called Nano Every, which you can use for "everyday" projects and can replace the classic Nano, will even set you back as little as $9.90.

Engadget 19 May 02:22

Arduino's new Nano board family is more powerful and affordable

Arduino's Nano line will soon welcome four new products. They're all small boards like the classic one, making Nano a family of small boards meant for compact projects. All the new boards boast low energy consumption and processors more powerful than what the classic has. Even better, they're all pretty affordable: the most basic entry called Nano Every, which you can use for "everyday" projects and can replace the classic Nano, will even set you back as little as $9.90.

Source: Arduino

Engadget 19 May 02:22

What’s new at Maker Faire Bay Area 2019

It wouldn’t be a Maker Faire Bay Area without some exciting announcements!

A New Nano Family

Designed with makers in mind, the new Nano represents a small, powerful and affordable solution for everyday projects. Retaining Arduino’s quality and reliability, they make it easier than ever to turn your project ideas into reality. They are compatible with classic Arduino boards, have low energy consumption, and are equipped with more powerful processors.

The family is comprised of four different boards:

Arduino Nano Every – perfect for everyday projects. (Pre-order here with headers or here without headers)

Arduino Nano 33 IoT – small, secure, and Internet-connected. (Pre-order here with headers or here without headers)

Arduino Nano 33 BLE – small, low-power, and Bluetooth-connected. (Pre-order here with headers or here without headers)

Arduino Nano BLE Sense – small, low-power, and Bluetooth-connected with a wide range of on-board sensors. (Pre-order here with headers or here without headers)

“The new Nanos are for those millions of makers who love using the Arduino IDE for its simplicity and open source aspect, but just want a great value, small and powerful board they can trust for their compact projects,” commented Massimo Banzi. “With prices from as low as $9.90 for the Nano Every, this family fills that gap in the Arduino range, providing makers with the Arduino quality they deserve for those everyday projects.”

Arduino SIM

Connect the Arduino IoT Cloud to the world around you! 10MB free data for up to 90 days (5MB per month for $1.50 USD thereafter).

Arduino SIM is the new cellular connectivity service for the Arduino IoT Cloud. The SIM aims to offer the simplest path to cellular IoT device development in an environment familiar to millions. The cellular service, provided by Arm Pelion Connectivity Management, has a global roaming profile meaning a single Arduino SIM can be used in over 100 countries worldwide with one simple data plan. Compatible with the MKR GSM 1400 board, it is ideal for connected devices on the go. Arduino SIM is currently only available in the US — more information can be found here.

If you’re coming along to the faire, remember to bring along your MKR GSM 1400 board and we’ll give you a free SIM to try out!

Arduino Certification Program: Arduino Fundamentals

The Arduino Certification Program (ACP) is an Arduino initiative to officially certify Arduino users at different levels and confirm their expertise in key areas. Arduino Fundamentals, representing the first level of the ACP, is now available in the U.S. — access to the exam can be purchased either in combination with the Arduino Starter Kit or as a standalone exam.  

But Wait, There’s More!

If you’ll be in San Mateo, don’t miss Massimo Banzi’s ‘State of Arduino’ talk on Saturday at 2pm PT on the Center Stage, where he will reveal more news and updates!

Printed Perching Pals Proliferate

Anansi in African folktale is a trickster and god of stories, usually taking physical form of a spider. Anansi’s adventures through oral tradition have adapted to the situation of people telling those stories, everything ranging from unseasonable weather to living a life in slavery. How might Anansi adapt to the twenty-first century? [odd_jayy] imagined the form of a cyborg spider, and created Asi the robot companion to perch on his shoulder. Anyone who desire their own are invited to visit Asi’s project page.

Asi was inspired by [Alex Glow]’s Archimedes, who also has a project page for anyone to build their own. According to [Alex] at Superconference 2018, she knew of several who have done so, some with their own individual customization. [odd_jayy] loved the idea of a robot companion perched on his shoulder but decided to draw from a different pool of cultural folklore for Asi. Accompanying him to various events like Sparklecon 2019, Asi is always a crowd pleaser wherever they go.

Like every project ever undertaken, there is no shortage of ideas for Asi’s future and [odd_jayy] listed some of them in an interview with [Alex]. (Video after the break.) Adding sound localization components will let Asi face whoever’s speaking nearby. Mechanical articulation for legs would allow more dynamic behaviors while perched, but if the motors are powerful enough, Asi can walk on a surface when not perched. It’s always great to see open source projects inspire even more projects, and watch them as they all evolve in skill and capability. If they all become independently mobile, we’ll need clarification when discussing the average velocity of an unladen folklore robot companion: African or European folklore?

Small-scale Nano setup with pullup inputs and CR2032 batteries

Arduino boards are used in a wide—massive even—variety of projects. Sometimes, however, all you need is something to give your project the ability to blink an LED, sound an alarm, or accomplish some other simple task. 

For this purpose, maker Jeremy S. Cook has developed a sort of standard method for using these devices, with a 4-position DIP switch soldered to inputs D9-D12, and a double-CR2032 battery pack attached with shrink wrap.

This standardization makes for a very compact setup that can be implemented in a project very quickly. The configuration also highlights the use of “INPUT_PULLUP” in Arduino code, with switches wired to ground. Cook’s technique avoids floating inputs without the need for external resistors.

Arduino Blog 20 Mar 13:40