Archive / News

RSS feed for this section

New Products: A New Fluxamasynth, the Noisemusick Kit, and some art

newproducts1We have some new products to announce at Modern Device; the most exciting is the new version 3 of the Fluxamasynth Shield, a 64 voice polyphonic synthesizer for Arduino. We updated the synth to the new SAM2695 chip, much better filters, and a new microphone input. Check it out in the shop.


Another new feature is an optional 5-pin DIN thu jack and MIDI-compliant optoisolated connection (see variant above).


The Noisemusick Kit has been around since 2009 or so but recently received some improvements. It is a fun, chaotic square wave generator that is triggered by IR light and your skin’s resistance. It’s a good Learn To Solder project, only $25 in the Music/Sound/Noise section of the shop.

In the Merchandise section we’ve added two pieces of artwork: a bumper sticker from the OTPC project (to complement our theremin merit badge) and a four color silkscreen poster of an Arduino. More posters coming soon, since we have a silkscreen studio right next door!



By Shawn on January 17, 2016.

Motion Plug code updates

Seb Madgwick IMU demoDemo by SebMadgwick

Our Dutch collaborator, Jean-Claude Wippler, recently pointed us to more polished code on GitHub for the MPU9250 (Motion Plug). This board uses the Invensense MPU9250 and includes 3 axis: accelerometers, gyros, and magnetometer. The software was written for something called rpicopter, work that appears to be significant group effort to us.

Screen shot 2015-04-01 at 2.39.57 PM

We have simplified the Arduino sketch and turned it into an Arduino library. The library only supports hardware I2C pins on whatever Arduino or Atmega chip you’re using, because it uses 400khz high speed I2C. There are settings for the low-pass filter which only affects the Gyro, as far as we can see. It default is 188Hz (defined in inv_mpu.cpp). The library also supports the Teensy.

The library outputs Yaw, Pitch, and Roll (standard orientation headings in the flying business) smoothed out in an almost magical way. This comes courtesy of some very fancy math functions.

“A quaternion is a four-dimensional complex number that can be used to represent the
orientation of a rigid body or coordinate frame in three-dimensional space.” says Sebastian O.H. Madgwick, who wrote the sensor fusion algorithms which bear his name.

In any case, all the quaternions are now hidden out of sight (in mpu.cpp), the library works really well, and the Arduino sketch is easier to read and modify.

By Nadya on March 31, 2015.

Debian on the HP 110-210


We have a GNU/Linux box in the corner at Modern Device, it’s
an HP Pavilion 7955, an ancient machine, and it runs a suite of
bash scripts which set fuses and flash firmware using
avrdude and open terminals using screen. It has streamlined
the testing process for many of our products. It has also held up
for about a couple years since its conversion from Windows XP.

On Wednesday, we came in to Modern Device to find it refusing to boot
(kernel panicking), complaining about ext4 issues. We figured its drive
had died after all these years, we’d just boot into GNU/Linux from
another device, copy over the production scripts, drop in a
new machine, install Debian, and be ready to
go. A process which an optimistic person might assume would take
around half an hour, and I figured it might take around three.

Initial hangups

Things were, of course, not that easy. The Pavilion would not
boot from USB, so Paul went to Staples and bought some CD-Rs.
While he was there he picked up the the lowest cost box in sight,
an HP 210-110 for $300, slated as the replacement
for our now-dead production Debian box.
We soon learned that the DVD-ROM drive didn’t support CDs, and
the CD drive was broken. Paul ducked into the next room and
returned with an ancient eMachine, running windows XP.

At this point I hoped beyond hope that the HP 210-110
would be both new enough to boot off USB, but old enough to support IDE.
No such luck; it’s a netbook in a bulky case.

I’d rather not touch Windows XP, so I tried to boot the eMachine off USB–
which didn’t work either. I tried instead booting off a CD, but it turns
out the eMachine’s single lite-on combo drive was also completely dead.

Data recovery

At this point we were saved by ext2fsd, a filesystem driver for Windows
capable of reading ext4 drives. Ext2fsd was written by someone whose
idea of a Windows installer is a .bat script, which took me a little
while to figure out, but once I ran setup.bat in cmd, everything worked
fabulously– we installed the old HD in the eMachine and copied
the production scripts to a USB drive.

Installation on the new machine

The HP 110-210 doesn’t have onboard WiFi, so I shared the connection
from the nearby production Mac, which acted very well in its capacity
as a mentor for the confused fledgling reincarnation of the Debian machine.

At this point, I figured everything would be easy. A brand new $300
machine should be a breeze to throw Debian on, right? And we could
even get a Windows 8 refund, as we didn’t use it for anything.

With this misconception, I downloaded the Debian net install iso, copied
it to a flash drive from Mac OS:

diskutil list # Figure out which disk is the flash drive, in our case, disk3
dd if=debian-7.4.0-amd64-netinst.iso of=/dev/rdisk3 bs=1m # OSX uses lowercase m

Disabling secure boot

Modern machines come with a piece of software which sits on top of BIOS
called UEFI (now usually shortened to EFI) which prevents GNU/Linux
installation by default. To disable it on the HP 110:

  • Mash the F10 key until you get into the BIOS
  • Go into the Secure Boot menu (Security -> Secure Boot Configuration)
  • Turn off Secure Boot and Fast Boot
  • leave Legacy Support off, or Debian may install without UEFI support

The solution

We left the Debian installer running all night, came in the next morning,
and it still wouldn’t boot. I tried rEFInd, gummiboot, elilo, and almost
tried to install boot-repair (not yet in Debian). At this point I
had almost given up on Debian. I downloaded Ubuntu 12.04 LTS, but it
complained that it wanted a missing rtl8105e file, proprietary RealTek firmware.
HP was really scraping the floor for hardware on this one.
I figured I’d give Debian one last shot and found the solution in a post by
Rod Smith, author of rEFInd, on the Ubuntu forum:
how work around HP’s UEFI misimplementation.

HP’s EFI wants your grubx64.efi file to be called /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.

mkdir /boot/efi/EFI/Microsoft/Boot/ # Debian overwrites this, back it up if it's still there
cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

Finally, GRUB appeared! After that, a blank screen, but that was solved by
replacing ‘quiet’ with ‘nomodeset’ in the GRUB configuration (/boot/grub/grub.cfg)

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset radeon.modeset=0"

(the Radeon line is to prevent a problem with the Catalyst driver later.)

X didn’t start, so we install the latest AMD Catalyst driver.
(you can’t just grab it with wget– AMD uses Javascript to force you
to download it on a computer with a graphical web browser, defeating
the point entirely. Well played, AMD. Hopefully someday someone will
make a real driver for these cards.)

mount /dev/sdb1 /mnt/sd
cd ~
cp amd-catalyst-13.12-linux-x86.x86_64.
unzip amd-catalyst-13.12-linux-x86.x86_64.
chmod +x 
apt-get install linux-headers-`uname -r` build-essential
aticonfig --initial
nano /etc/default/grub

Shame on Microsoft for Secure Boot, HP for enabling it and misconfiguring
their UEFI, and RealTek and AMD for their proprietary firmware drivers.

It took a day or two, and it was painful, but we circumvented all of the obstacles,
thanks in very large part to Debian, the Ubuntu forum, and people willing to
write filesystem drivers for Windows. Too many hours later, had a Debian login
and took at victory lap. We tried to get a refund on the
vaporized Windows software, but that looks fairly unlikely after reading through
Microsoft’s policy concerning OEM refunds on Windows. We called HP and
they claim the software is “bundled”– an antitrust violation, but we don’t have
time to fight them on it.

We also hope this helps a person or two through the minefield on a way to a generic
Linux Box.

Author: Noah Bedford

Date: 2014-03-06 16:13:06 EST

HTML generated by org-mode 6.33x in emacs 23

By Nadya on March 6, 2014.

Make Your Own RBBB in MAKE


Issue 36 of Make Magazine just hit the mailboxen of subscribers; it’ll hit the newsstand on October 23rd or so. The Really Bare Bones Board is featured in the Make Your Own Damn Board article, which is a tutorial on basic board design in EAGLE. We made a special EAGLE library with just the parts on the RBBB, which you can download below. Right click to save (an EAGLE library is an XML file), and place it in the lbr directory of your EAGLE installation.

By Shawn Wallace on October 11, 2013.

New Proximity Sensor Boards Have Arrived


Gavin Atkinson has been working in the studio on a few different projects this Summer, and our new proximity sensor is the latest fruit of his work. These panelized boards look very cool so I thought I’d share them. I described them previously as looking like Klingon shuriken and I stand by that analogy.

Continue Reading →

By Shawn Wallace on August 22, 2013.

New Web Shop Backend: WooCommerce

We’ve just moved our web shop to the WooCommerce backend. WooCommerce is a fork of the open source Jigoshop cart and lives entirely in WordPress, which means it will be easier for us to integrate all aspects of the blog, documentation and shop. We think the new setup will improve the user experience, but if you have any troubles with the new interface, please email and let us know! We’re also (finally!) hooked up with an merchant account, so you can pay by credit card directly without using Paypal. Paypal is still an option of course.

By Shawn Wallace on August 15, 2013.

Build a Hackable Bytebeat Player at the RI Mini Maker Faire


The Rhode Island Mini Maker Faire is this Saturday, featuring dozens of makers alongside the usual music and shenanigans of AS220’s annual Foo Fest. Each year we run a soldering workshop as part of the Faire; this year we’ll be making a hackable bytebeat player from Modern Device, the Byteseeker Junior.

Download the assembly instructions here.

The Byteseeker is an Arduino-variation with a headphone jack, two pots and two buttons based on the Real Bare Bones Board. The code we’ll be using at the Faire is kind of like an iPod Shuffle for Bytebeat “songs.”

What’s Bytebeat you ask? It’s a genre of 8-bit beatmaking that tweezes complex repeating patterns of sound out of one line math expressions. A more in-depth description may be found in this blog post, but here’s a quick video to give you an idea of what the thing sounds like:

Byteseeker Jr. from Shawn Wallace on Vimeo.

Continue Reading →

By Shawn Wallace on August 9, 2013.

Using the Lots of Pots Board for Raspberry Pi


Here’s how to use the Lots of Pots Board for the Raspberry Pi. The daughterboard (or shield; what are we calling Raspberry Pi add ons these days?) sits on top of the Raspberry Pi and breaks out the various GPIO pins in a useful and labeled manner. It also has an 8 channel MCP3008 analog to digital converter on board, which is hooked up to the hardware SPI pins on the GPIO header. This tutorial will describe the features of the board and cover how to read analog inputs from the ADC.

Continue Reading →

By Shawn Wallace on July 26, 2013.

Algorithmic Ballyhoo: Using Processing to Make Hundreds of Unique Posters


This post describes a process I like to call algorithmic ballyhoo; using a Processing program to generate many different unique poster designs. We needed a poster for the Rhode Island Mini Maker Faire this year, so I decided to use a Processing sketch to do the work for me. Modern Device will be at the Mini Maker Faire, and will have a new Bytebeat-based kit for the soldering workshop.


Algorithmic ballyhoo is nothing but sheer randomness without some sort of seed or design constraint. The Mini Maker Faire is embedded in AS220’s Foo Fest, and Xander Marro is this year’s Foo Fest artist-in-residence. Xander designed the Foo Fest posters (pictured to the right) and I decided to use the same elements in the Mini Maker Faire poster.

Read on for the Processing code. It’s pretty straightforward; the key is to use the processing.pdf library to record a printable version of everything you’re drawing on the screen. Then, just bring it to your local copy shop (or fine art large format printer). Remember that your drawing grid is at 72dpi. In the final PDF all graphics will be drawn as scalable vector art, but any included bitmap images will be drawn at screen resolution, so make sure any included PNGs are at least 4 or 5 times the final size, then shrunk down.

[ngg-nivoslider gallery=”1″ html_id=”about-slider” center=”1″ effect=”slideInLeft” resizewidth=”388″ resizeheight=”600″ width=”388″ controlnav=”true” pauseonhover=”true”]

Continue Reading →

By Shawn Wallace on July 23, 2013.