Monthly Archives: December 2017

Ultrasonically levitate particles and liquid

via Arduino Blog

If you thought the power of levitation was only available to magicians (and perhaps magnets) then check out this amazing project from Asier Marzo. It uses an Arduino Mega to control an 8×8 array of ultrasonic transducers, which when carefully coordinated using a simulation program, not only can suspend a particle but cause it to move around the grid of transducers.

You can find a summary of this kind of device’s capabilities in Marzo’s write-up, including haptic feedback, use as a directional speaker, and even levitating liquids in a standing wave setup.

We present Ultraino, a modular, inexpensive, and open platform that provides hardware, software and example applications specifically aimed at controlling the transmission of narrowband airborne ultrasound. The software can be used to define array geometries, simulate the acoustic field in real time and control the connected driver boards. The driver board design is based on an Arduino Mega and can control 64 channels with a square wave of up to 17 Vpp and ?/5 phase resolution. Multiple boards can be chained together to increase the number of channels. 40 kHz arrays with flat and spherical geometries are demonstrated for parametric audio generation, acoustic levitation and haptic feedback.

You can also skip to 8:30 in the video below to see it manipulating a particle, or to 9:30 where several individual drops of alcohol and food coloring are able to float in mid-air.

Friday Product Post: Pack Your Bags!

via SparkFun: Commerce Blog

Hello, everyone, and welcome to the final Friday Product Post of 2017. To send out this year we bring you a couple of new packs that will bolster your SIK v4.0 as well as a Makey Makey kit from JoyLabz. We know 2017 might not have been the best year — the world looks scary, the future looks tough, and we can’t decide whether or not the new Star Wars movie was good — but it wasn’t the worst year. So let’s try to make sure to make 2018 better! Let’s work to build the best projects, and let’s start something fun.

As a reminder, SparkFun will be closed on 1 / 1 / 2018 in observance of the New Year’s holiday. Due to the holiday there will NOT be a new blog post on Monday, January 1, but we will begin posting again on Tuesday, January 2. Please keep in mind that any orders placed after 2 p.m. Mountain Time on 12 / 29 / 2017 will not be processed until we resume normal business hours on 1 / 2 / 2018.

So let’s jump into new products and see what we have!

Pack it up, pack it in.

SparkFun Inventor's Kit Refill Pack - v4.0


If you use the SparkFun Inventor’s Kit in a classroom or workshop setting, you know that when a bunch of people get their hands on the same kit, things get lost or broken. That’s why we offer the Refill Pack. This way, you don’t need to buy a whole new kit if you lose a few of the smaller or more wear-prone bits. We understand that sometimes you need to replace some more pricey parts, so we hope this helps!

SparkFun Inventor's Kit Add-On Pack - v4.0


With this Add-On Pack you will be able to incorporate some of the older parts that used to be included in the SparkFun Inventor’s Kit but were removed with v4.0 — as well as a few items that are still included but that you may need more of! This is the perfect kit if you’ve completed everything to do with the SIK v4.0 but are looking for more — or if you’d like to make the components of the v4.0 match an earlier SIK.

SparkFun Inventor's Kit Bridge Pack - v4.0


We actually released this Bridge Pack alongside the SIK v4.0 debut, but since it has so much in common with the other two kits being released today we wanted to bring attention to it again. Own one of the third versions of our popular SIK and not ready to buy version 4.0? You are in luck! The SIK Bridge Pack was designed to provide you with an easy way to move into the next edition without buying a whole new kit. Each Bridge Pack includes all of the new parts found in the SIK v4.0 that aren’t in any of the version 3 kits, as well as the most up-to-date, spiral-bound guidebook so you can get started right away!

Makey Makey Classic by JoyLabz


Last up today we have the Makey Makey Classic. This kit is similar to the ones we already provide but is actually produced by JoyLabz. So if you love the Makey Makey, you’ll know exactly what to do. And if you’ve never tried it, you’re in for a treat!

That’s all we have for this week, everyone! Please, be safe this New Year’s Eve! As always, we can’t wait to see what you make with these parts! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

Thanks for stopping by. We’ll see you next year for the first New Product Post of 2018!

comments | comment feed

Repairing a 1960s mainframe: Fixing the IBM 1401’s core memory and power supply

via Dangerous Prototypes


Ken Shirriff wrote a great article describing the repair process of  the vintage IBM 1401 mainframe computer:

The problem started when the machine was powered up at the same time someone shut down the main power, apparently causing some sort of destructive power transient. The computer’s core memory completely stopped working, making the computer unusable. To fix this we had to delve into the depths of the computer’s core memory circuitry and the power supplies.

See the full post on his blog.

Enginursday: Qwiic Control Panel

via SparkFun: Commerce Blog

Sometimes the best interface is a physical interface. Buttons, switches and knobs have always been more entertaining to me than typing away at the command line. However, wiring up such control panels can often be quite the task. With a variety of connectors that are becoming more widely used, this task has become much less of a chore. SparkFun’s Qwiic connect system is one such ecosystem that allows for easier connections and faster build times. In this post, I will show you how to use a variety of SparkFun parts to create a generic control panel that can be used with a number of projects, all using just four wires!

control panel and board

A while back, I came to possess a rather impressive aquaponic control system after befriending one of the co-founders of Grove, an aquaponics startup based out of Massachusetts. The system came from a first-generation Grove Aquaponic Garden. These gardens sell for a pretty penny, thus the control system was something I was eager to reverse engineer. After finding datasheets for all the ICs on the board, it was time to start piecing it all together.

Pro Tip: The Raspberry Pi is a great tool to ping all devices on an I2C bus.

All of the ICs on this board communicate over I2C. There were several of the same I2C I/O expander IC - the MCP23017 - each with a different address set via hardware. It was simple enough to look up each address in the respective datasheet, but it never hurts to have a simpler and more reliable solution. Using a Raspberry Pi, I was able to connect to the I2C lines of the board and ping every I2C device on it. To do so, all you need to do is connect GND, SDA and SCL to the bus you’d like to ping. Make sure you have enabled I2C communication via raspi-config and installed the I2C tools sudo apt-get install -y i2c-tools, then run the following command i2cdetect -y 1 (see this tutorial for more details). Here is a screenshot of the output after running the command on the Pi connected to the Grove board.


With addresses in hand, it was time to start figuring out which peripherals were connected to which I/O pins. After much time with the multimeter, I mapped out each connection. The board contained a variety of inputs and outputs including a handful of relays, LED light controls, a real-time clock module, analog inputs on a number of current sensing ICs (ACS712s), and a number of configurable DIP switches. The main microcontroller for all these peripherals is the Particle Photon. The Photon is my personal favorite internet-connected device. However, when using it remotely, you must have some sort of screen attached if you want to print data rather than sending it to a website or service (you can still Serial.print when it’s connected to a computer). To confirm each peripheral was connected to the pin I had mapped, I wrote code that would turn each I/O pin on then off, and print which pin was being controlled to a Photon Micro OLED Shield.

Once I knew which pins controlled which peripherals, it was time to start building my control panel. I went a little crazy with the panel-mount buttons and switches, adding more than I actually needed. My intent was to make this a controller that could be used in any project, with room for growth.

Let’s see what’s on the inside of the panel!

inside panel

To control the PWM signal that changes the brightness of the two LED lights, I added two SparkFun Touch Potentiometers. These devices are great when it comes to daisy-chaining multiples together. Their I2C addresses can be changed on the fly, allowing for more potentiometers than you’ll likely ever need on one bus. With the addition of a couple Qwiic Adapter boards, connecting them together was a breeze!

Touch Potentiometers

Connected to the touch pots is a SparkFun SX1509 I/O Expander. Just like the MCP23017 IC found on the Grove board, the SX1509 allows you to read or write digital I/O over the I2C bus. Using this breakout, I was able to add all the switches I needed for controlling the relays, which in turn control pumps and other accessories in the system. Rather than connecting Qwiic adapters, I wired some Qwiic cables directly to both ends.


Pro Tip: Though it may be tempting to use the longest Qwiic cables available, it is advised you use the shortest length that will work for your project. I2C communication is susceptible to noise, and keeping the bus short is your best defense.

From the SX1509, the I2C bus connects to a Qwiic OLED board. These OLEDs may communicate more slowly over I2C than SPI, but they make up for their loss in speed with their ease to install into a project. They are perfect for displaying data, and having an extra screen came in handy for this project. With this screen and the one on the Photon OLED shield, I can print out a plethora of information. In this case, they were used to print the current being sensed by each individual ACS712, and thus individual and total power consumption of all the peripherals.

Pro Tip: Make sure you keep track of which devices have their I2C pullup resistors enabled, and which don't. Most SparkFun products have a jumper to enable or disable the resistors. If the resistance is too high or too low, you may start to see some loss in signal integrity or get bad data.

Last, the entire panel connects to the Grove board using a Qwiic Shield for Photon. With more new Qwiic products in development, adding sensors, actuators and inputs to a system such as this is about as easy as it gets!

alt text

This same control panel can now be plugged into another I2C system and used just as easily to control audio electronics, motors, robots, fabrication equipment and much more! What sort of things would you like to build a control panel for? What components would you like to see added to the Qwiic ecosystem? Let us know in the comments below. Thanks for reading!

comments | comment feed

Free USA shipping on hundreds of Pololu metal gearmotors

via Pololu Blog

Since my last post about free shipping in the USA, we expanded the program to include orders consisting of $40 or more in free add-on shipping items. And today, we added almost 300 different metal gearmotors to our selection of products that ship for free in the USA. (Don’t worry, we don’t pile up actual good production motors like we did in that picture; those were returned by an infamous, once-skyrocketing startup.)

Arduino controlled Dual Mono AK4490 DAC (part 2)

via Dangerous Prototypes


An update on Arduino controlled Dual Mono AK4490 DAC project we covered previously:

After I was certain that everything related to the software was working the way it should, I designed a “motherboard” that would take care of the following:

  • Accept the STM32F106 board
  • Accept the 3.5″ TFT
  • Accommodate an 24LC256 EEPROM chip, used to store the DAC’s configurable settings
  • Accommodate two sets of I2C signal isolators and I/O expanders
  • Include headers for the encoder, IR receiver, power relay, non-isolated and isolated I2C communication, unused uC pins, etc

See the full post here, Dimdim’s blog.