Goldilocks Analogue Combines Arduino With Audio I/O, Is ‘Just Right’ For Music Projects

arduino-goldilocks-analogue

Reader Phillip Stevens let us know about a Kickstarter project he’s running to develop a new Arduino, just right for audio projects, Goldilocks Analogue. 

Arduino is an open-source computer platform, designed for creating microcontroller-based devices. The goal of the Goldilocks Analogue is to bring sophisticated analog and audio input, output, and storage capability to the Arduino environment.

Here’s the official intro video:

Stevens says that the Goldilocks Analogue has analog input and output capabilities, together with sufficient data storage, to delve into the world of direct digital synthesis, human auditory augmentation (super power hearing), sound activated systems, signal processing and analogue process control.

Technical Details:

arduino-goldilocks-analogThe core of the Goldilocks Analogue, the ATmega1284p, is a Atmel megaAVR MCU that has a number of significant feature advantages over the Arduino Uno ATmega328p, whilst maintaining compatibility with the classic megaAVR Arduino platform.

  • 16kByte SRAM = 8x Arduino Uno R3 & 2x Arduino Mega
  • 4x Flash Memory & 2x EEPROM of the Arduino Uno R3
  • 2x Programmable Serial Ports
  • Independent Analogue ADC Platform
  • Timer 3 (Extra 16bit timer)
  • JTAG Interface
  • Real Time Clock Timer, equipped with 32kHz Crystal
  • Better PWM pin access
  • Extra I/O pins

The external analog output platform has been optimized to provide dual channel (stereo) output at up to 48k samples per second. To achieve this sample rate the ATmega1284p MCU is overclocked to 24.576MHz. Choosing this crystal frequency permits the use of an 8 bit timer to accurately (15ppm) generate any sampling frequency that is a factor of 384,000, from 2,000 right up to 48k samples per second.

Note: Overclocking the MCU by 22% means that it may not work at the extremes of the specified temperature range from -40 Celcius up to +85 Celsius. Stevens says that if this overclocking is a problem for you, don’t support this project.

The MCP4822 12bit DAC provides dual (stereo) channels with output voltage range from 0V to 4.095V, which is fed to both a high current capable TS922A Op Amp and a dedicated TPA6132A2 Headphone Amplifier. These options are designed to allow optimal reproduction of audio, and DC level referenced analogue outputs.

The Goldilocks Analogue is available to project backers for US $57, and the project is nearly funded. More details are available at the project site.

21 thoughts on “Goldilocks Analogue Combines Arduino With Audio I/O, Is ‘Just Right’ For Music Projects

  1. I am very new to arduino but I have ambition to make an arduino based synth one day. I bought an avocado shield and the project guide to learn how to do some basic projects and its been great. I would love of this goldilocks had a project guide to making the synth he showed with a touch led display input and how to construct the GUI. I would def. Buy it. Wouldn’t know what to do with it otherwise

  2. Someone please make a portable Arduino sampler (maybe in kit form) with pads, ready with an enclosure and i/o. With an open source OS it could over time come close to MPC1000 functionality. I could easily pay at least 300€ for one.

    The Electribe Sample is very limited when compared with MPCs, and they’re dead. Open Source would ensure it’s continued development.

    1. You’re thinking orders of magnitude in processing power. With 22-ish MHz you can build an okay monosynth or play a few samples with minimal processing. At 8 bits. The MPC1000 had 32 16-bit voices and could process an amp envelope, filter envelope, lfo and eq for each, plus master effects. It ran on an Hitachi SH7727 at 160MHz (and also had a number of external PLD’s helping out).

      You can get an arduino due and build a basic sampler/sequencer out of it now, but you’re only left with the 512k flash memory to play with. I think the reason open-source samplers haven’t caught on yet is the complexity of adding fast memory and then interfacing with it. All the open-source storage routines are based around sd-cards, which are really awful at streaming samples. There is a good reason the Octatrack uses a clunky CF.

        1. Should be more than powerful enough – the trick is getting all that DSP code in there. I think there is an Rpi project already with a basic sampler – 128 note polyphony, but no sound processing. Another important thing to note is the Rpi has no analog inputs, so if you wanted to do a pad grid, you’d need a separate adc and probably a multiplexer to attach to the gpio pins.

        2. Beware of Pi for audio (well, Linux specifically). The whole point of embedded platforms is real time scheduling. Arduino is slower, but it’s going to be running a very thin real-time OS.

          Big-Ass consumer operating systems are throughput oriented, and make you deal with absurd amounts of latency/jitter for things that should have been simple (and are with an appropriate embedded system). Audio oriented systems have DSP oriented chips and real-time operating systems. There are various OS choices for Pi, and I’m not certain that any of them are really special for audio.

          1. I wholeheartedly agree – audio processing needs real-time control that comes more naturally to systems like atmega or arm, but I’m thinking back to that post a while ago about the MPC demoed on windows 10 embedded. I’m curious to see what can be done with that, now that this is a thing that will run on Rpi.

            1. Those are cool as hell, but it’s really hard to judge things like latency and jitter, and how well MIDI is dealt with from a youtube video. Of course you can indeed build an entire production system on linux, the advantage of things like atmegas and cortex series is being able to leave off absolutely everything extraneous, and having a good open-source support code-base.

              Worth mentioning that Sunvox is not open source.

    2. This is probably better done on something like ARM Cortex M4 (the chip used in Axoloti), which has support for SDRAM. There are lots of cheap development boards for those (like STM Nucleo), so you could probably build a sampler on a breadboard cheaply and easily. But the software, input management, DAC selection and enclosure design would be a great open-source community project.

      1. also, the cortex m7 disco board is very tempting for $50, audio in and out, touch screen, and arduino headers to plug a MIDI shield right in. Binary compatible with m4. got to start playing with that!

  3. This is a nice idea, but the 8-bit atmega chips aren’t really appropriate for general audio processing. You can do reasonably well with only 8-bit calculations to make ‘chippy’ sounds, but anything else will be slow, and there isn’t any specialized hardware on-board for floating-point ops.

    A better platform to start with would have been a cortex M4 like the OWL or LXR, or even the M7 (though these are still quite new). There are C bootloaders available for both, and I suspect one could design a basic board with input/output dac’s and sd card for about $100.

    Also, Arduino themselves make the Due, which already has a far more capable processor, includes a dac, and a usb port connected directly to the M3 (you can use this to host midi controllers). That, with a shield for the audio preamps and sd card, would be a much more capable system for the same or less money.

      1. The Teensy is a delight. I’ve done some assembly language audio programming on it. Even in C you can get it to run the SIMD instructions.

  4. There is Sonic PI for an RPI based soft synth. I use a Speakjet shield on my Arduino to get that making some noise. A simpleish was to get you coding/scripting and making a sound from the Arduino. Its a speak synth if you didn’t know.

Leave a Reply