Cyber Monday Deals


Monday Novermber 28 & Tuesday November 29

15% OFF ANYTHING IN THE SHOP — use coupon code “CYBERMON”


We’ll look at the dates on the orders but it wouldn’t hurt to remind us
in order notes on the cart page!

* After 15% discount on the cart. See the comments.


By Paul Badger on November 27, 2016.

Terry Riley’s In C for Arduino with the Fluxamasynth

Terry Riley's In C on Arduino

I’m a fan of experimental composer Terry Riley (try some of his organ work like Shri Camel to get started), so it seemed natural to try to adapt his 1964 algorithmic composition “In C” for the Arduino with our Fluxamasynth Shield.

In C was written for 20 to 35 players. Each player works their way through 53 short phrases, listening to the other players and following the rules of the score. The basic structural rules are that a player repeats a phrase as long as they like before moving to the next. Players always move forward through the score, and the piece is finished when everyone reaches the end, which usually takes around 40 minutes at the recommended tempo.


You can get the complete score at the Petrucci Music Library. Or read on to see the Arduino version.

Continue Reading →

By Shawn on October 11, 2016.

33 Amp 12 Volt Power Supplies

These are 12 volt, 33 amp switching power supplies suitable for a range of high current uses. We used them for a public art installation that we were hired to engineer and install and they performed admirably for 3 months. We powered more than 200 feet of WS2812 LED strips with a couple of these power supplies.


The power supply is very clean, here’s a scope trace taken with a load (of LEDs) of about 18 amps.

Visit the product page in the Power Supplies section.



  • Output Volts: 12 volts DC (adjustable from 9.5 to 14 volts)
  • Current: 33 amps (maximum)
  • Ripple @ 18 amps: <15 mV
  • Input volts: 120/240 60/50 hz
  • Input Current 6.5A rms
  • Dimensions: 2″ x 4.5″ x 8.5″ 50.8 mm x 114 mm x 215 mm
  • Open Frame (not waterproof)
  • 1.7 lbs
  • By Paul Badger on June 21, 2016.

    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.

    New Product: BUB III


    Future Technology Devices International makes many different TTL Serial to USB chips.
    One model, the FT232R, is used in boards like the
    The AdaFruit FTDI friend,
    SparkFun FTDI Basic,
    Modern Device BUB I and
    Modern Device BUB II.
    It’s not the cheapest, smallest, or most functional FTDI chip– just the most popular.

    Presenting the BUB III, designed around the FT231X QFN-20, a 4x4x.075 (mm) chip.

    You’ll notice it has a micro-USB jack, instead of a mini-USB one. Micro-USB jacks have a bad reputation for coming off boards, because they have less surface soldered on the board. We spent a fair amount of time finding a micro-USB jack with extra prongs and adding vias to reinforce the smd pads. Our destructive testing of a few of these boards shows that our efforts to toughen up the boards were successful. The jacks take quite a bit of muscle to break, and we think they will stand up to abuse as well as mini-USB jacks.

    Moving the header to the bottom makes the board even smaller, and saves us time in production.
    Both LEDs are reconfigurable (should you want to reconfigure them) with FTX-prog

    It’s the BUB you love, smaller, slicker and reborn with an all-new brain.

    Be one of the first 6 customers to use coupon code freebubiii and get a free BUB III with your order! (order total must be over $10)

    Go check it out in the shop!

    By Nadya on November 10, 2015.

    New Product: Rigid RGB LED Strips

    rigid_rgbled_threeWe picked up these nice Rigid RGBLED Strips from one of our suppliers for a good price. They contain 30 5050 RGB LEDs which seem to be standard super-bright LEDs, they are 12mm wide and 500mm long with headers every 50mm where they can be cut and soldered. The have nice polarized connectors and six inches of cable on the ends which makes mating them in series simple and quick and easy. Priced low enough that you could afford to take off the LEDs and use them on other projects (.20 ea). The resistors are sized to lend nice balanced white light that is not too cold in color, when powered from 12 volts. The 12V trace which looks to be about 60mils wide is mirrored front and  back for extra current-carrying capability.

    Continue Reading →

    By Britton on October 6, 2015.

    New Product: SMD LCD 117


    The original serial LCD117 was one of two boards that utilized a PIC chip running firmware developed by the late electrical engineer Peter Anderson (KZ3K), who taught in Baltimore, Maryland.

    Peter made the firmware freely available before he passed away.
    Both Brian Riley‘s K107 serial board and our LCD117 kit were based on these LCD117 chips.

    We’ve sold several thousand of our through-hole serial LCD117 kits since we designed it in 2008, and received many orders for pre-assembled boards. Looking around the shop, most pre-assembled things are surface mount– it’s easier for everyone that way, as surface mount assembly is much cheaper. With that in mind, we created the SMD LCD117.

    It receives TTL serial (optionally RS232) on one side and and drives an HD44780-compatible LCD, just as the older through-hole LCD117 kit did.

    Solder on the included 3-pin and 16-pin headers and you’re ready to talk to any of our character displays, 3.3v or 5v.
    We’ve also added an inverted logic mode, available via SMD solder jumper, for RS232 support.

    Here’s how easy it is to use with Arduino– plug the RX line into your Arduino TX pin, and:

    void setup() {
    Serial.begin(9600); // 9600 baud is chip comm speed
    Serial.print("?G216"); // set display geometry, 2x16 in this case
    delay(500); // pause to allow LCD EEPROM to program

    void loop() {
    //Serial.print(“?y0?x00”); // cursor to beginning of line 0
    Serial.print(“?f”); //clear the screen
    Serial.print(“hello world”);
    delay(1000); // refresh every second

    In this configuration, Arduino Serial.<thing> debug statements print straight to the display!

    Go check it out in the shop

    Oh, one more thing. In honour of the debut of the SMD version, we’re putting the old through-hole LCD117 kits on sale. $8, matching the new SMD boards, while supplies last.

    By Nadya on August 28, 2015.

    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.

    RFM69 Radios

    New Radios!

    The RFM69CW radio module by HopeRF is a compact, powerful radio transceiver module for swapping data packets in the 868 MHz ISM band, using standard and enhanced FSK modulation. The radio is great for sub-compact designs; just 4mm of mounted height from using an SMD precision crystal.

    Though consuming a similar level of power, the RFM69CW receiver section can decode fainter signals than the classic RFM12B, so it has better receive sensitivity. The transmitter section *maximum* output power is +13dBm, considerably higher than the +5dBm of the RFM12B. The current drain at these (adjustable) higher power settings is correspondingly higher though. With the better receiver sensitivity, many applications will not need to use the higher transmit power settings, potentially saving on battery life.

    Compared with the RFM12B, pairs of RFM69 modules will generally have greater range and/or better penetration of walls/ceiling than when using pairs of the classic RFM12B.

    The physical module is compatible with the PCB footprint on all current JeeNodes and JeeLinks. For details of the fast-evolving level of software support, see this Forum topic on the JeeLabs forum.

    Control is via a fast SPI bus with reduced loading on the microcontroller, another nice advantage with the radio. The recommended power supply range of 1.8 < Vdd < 3.6 V can squeeze almost the last energy out of depleting batteries without needing a boost converter.

    An antenna must be connected to RFM69 module – for 868 MHz, an 82-mm (quarter wavelength) wire can be used (not included). Operation without an antenna at the higher transmitter power levels risks permanent damage to the output stages.

    Marking Convention: a yellow spot on the top of the transceiver chip indicates optimized for the 868 MHz ISM band. You can have confidence that you are building your project with a fully functional module!


    • More transmit power than the RFM12B (but more current required).
    • Better sensitivity on receive.
    • An RF signal strength is available
    • Fits the current RF12B footprint
    • The JeeLabs driver fully supports the radio with only one definition change at the top of a sketch.
    • RFM69 and RFM12B radios may be mixed in a JeeNode network and talk to each other.

    For detailed specifications, see HopeRF’s RFM69CW documentation.

    The RFM Board provides convenient signal breakout with an option for connecting to 5V power systems.

    Digital Smarties (The JeeLab Shop) stocks a 868 MHz version of these modules with EU prices. Both Modern Device and Digital Smarties (Jeelab Shop) have the 434 versions.

    Right now we are selling these on RRM12B boards and JeeNode kits.

    By Paul Badger on March 19, 2015.