Category Archives: TB2

Can’t find COM port for Arduino Due

It seems to be a common issue with the Arduino Due that after uploading firmware perfectly normally for a while, the computer suddenly can’t find the COM port for the Arduino Due anymore. It had me tearing out my hair at the start, but I think I’ve got it figured out.

First off, check which port is available in the Tools/Port drop down menu of the Arduino IDE, and see if it’s selected (on my machine the port sometimes changes). If there’s nothing there, try the following: if you’ve been using the programming port, try plugging the usb cable into the native port (or vice versa). It should pick it up on a different com port. Just remember to select the different board type from the drop down list at Tools/BoardArduino Due (Programming Port) vs Arduino Due (Native USB Port). And also make sure the port is selected in theTools/Port drop down menu.

Uploading firmware seems to jog the Due’s memory, so once you’ve uploaded the firmware using the different port, you should be able to go back to the port you used before if you prefer. I always use the native port since I don’t need serial communications with the PC and uploading is much faster. The only downside is that you often have to reset the board manually – you can hit the reset switch without removing the board (it’s next to the contrast trimmer for the LCD), so it’s not a big problem.


Make your own single cycle waveforms

I’ve been using Adventure Kids awesome collection of single cycle waveforms (AKWF) to use with the TB2. His collection is so extensive that I haven’t really bothered to make my own. It turns out that rolling your own is really simple. Here’s how to go about it in Audacity (chosen here because it’s free and cross-platform).

The basics requirements for a single cycle waveform to use with the TB2 are as follows:

  • 600 samples
  • mono
  • 16bit
  • 44.1kHz

To generate a tone, do so at a frequency of 73.4Hz, or D2. Adventure Kid calls this D2 + 2, but I’m not sure what the +2 is for.

Here’s how to do it in Audacity step-by-step:

  1. Create a new file with File/New and select 44100 from the Project Rate (Hz) drop down menu if it’s not the default (click on the screenshots to enlarge). sc01
  2. Next, we’ll create a tone as a basis to work on. Select Generate/Tone to open the tone generator.02
  3. Choose any one of the waveshapes in the Waveform field (we’ll use a sine). Input 73.4 in the Frequency (Hz) field. You can leave the Amplitude field at the default 0.8, or enter 1 to normalize the waveshape. In the Duration field, select samples from the drop down menu and enter 000,000,600.sc03
  4. Click OK to generate the waveshape.sc04
  5. The easiest way to alter the waveshape is to draw on the existing shape with the pen tool.sc05
  6. To draw on the waveshape you’ll need to zoom in until you can see the individual samples. Then, go wild!sc06
  7. To listen to your waveshape, hold shift and click on play button (holding shift will loop the playback).sc07
  8. When you’re done, you’re ready to export. Before you do, make sure the bit depth for the sample is set to 16bit. Under the Audio Track drop down menu, choose Set Sample Format/16-bit PCM.sc08
  9. Choose File/Export Audio and enter a name for your sample (remember that the TB2 uses the 8.3 naming convention – longer names will be truncated). Under Save as type, select WAV (Microsoft) signed 16 bit PCM.sc09
  10. Click OK, and just click OK again on the Edit Metadata page.sc10
  11. All done! To use your waveshape with either of the two oscillators, or with the LFO, simply pop the wav-file on an SD card.


TB2 PCBs are here!


Fresh from the factory – the first batch of TB2 PCBs and housing plates. I’m finishing the firmware as I wait for parts to arrive. I’m hopeful I’ll have TB2 kits up for sale next week!

TB2 – Progress

The TB2 is coming along nicely and is still on track to be released in December. I’ve been working on the latest version of the hardware. Notice the header on the right side, providing access to the unused analog and digital pins of the Arduino Due. As well as another tactile switch in the top row on the right, – these function as increment and decrement buttons.

02There are a couple more headers on the left edge for 5V, as well as the TX/RX pins for serial ports 0 and 3.01

And some of you will be happy to see that the TB2 now sports a 1/4″ jack. The SD card slot has moved to the other side of the PCB, and cards are now inserted upside down – it’s not a biggy after all.



The PCB design is now final, but the last change I want to make is to go back to the larger style caps for the tactile switches that I used on the previous prototype. The small ones are hell on the fingers!

04On the firmware side, I implemented the arpeggiator on the weekend, and it’s working sweetly!

TB2 – Preview

Here’s a more complete preview of the synth side of the TB2 (the arpeggiator and sequencer are still being written). I expect the TB2 to become available in December 2014.

TB2 Demo #2 & #3

With two more weeks left before I leave for Rome to show off the TB2 and other Groovesizers at the European Maker Faire, it’s non-stop work at the moment.

Here are two more TB2 demos:

And this one with reverb and delay:

TB2 – Baby’s First Sounds

Here’s a first taste of the TB2 – the Arduino Due synth shield that I’m working on and hope to show off at the Maker Faire in Rome. I’m working on the synth side first (with a sequencer to follow). The TB2 features a 4-voiced paraphonic synth with two oscillators per voice. In addition to the usual suspect wave shapes (Sin, Triangle, Saw, Square, Noise), the TB2 can also load additional waveforms from SD card – I’m currently playing with a smaller set of 2000+ waveshapes from the Adventure Kid library.  Right now I’m coding the modulation options (prominent in this patch is LFO to oscillator1 octave – sounds a bit like an arpeggiator). As for the LFO, you can choose any of the basic waveforms, but also any of the waveforms off the SD card – some of the Adventure Kid waveforms deliver really interesting results when used as the LFO shape.