SJS-ONE
Posted on July 16th, 2012
Info
Tech Specs
Purchase
Sound Demos
Downloads
Support / Troubleshooting
After-market modifications
SJS-ONE General Informations

SJS-ONE is a software defined 8-bit mono synthesizer with a dual (series) switch-cap filter.
Technically, there is nothing outstanding in the design besides perhaps the very capable MAX261 filter which we are, as far as we know, the only ones to use at this point in a DIY-synthesizer.
But the synthesizer has some interesting history that has certainly colored its development and ultimately its sound. The initial version was developed as an instructional workshop for a synth-event called SyltJam in 2011. The workshop idea was to show people how quickly you can design the basic hardware and software required to produce a platform for versatile audio and music generation.
As it turned out, people liked its sound much more than I had anticipated so we decided to refine the design – which more or less involved adding peripheral components to increase configurability and improve on stability and ESD, ground-mismatch and noise sensitivity while keeping the actual design minimal and simplistic.
Its beginnings are as humble as its production – less than 50 of these have been made available and all parts are hand assembled and hand soldered, while the manual is hand drawn and cases hand painted.
Perhaps the most unique aspect of this synth is the choice of digital platform – the Arduino. We did not want to build something static and opted to keep the Arduino instead of adding an on-board microcontroller. Why? Because this will make it so much easier for you to modify the functionality of the synth firmware provided by us, or to write your own software with a completely unique sound using the vast community support that is available for the Arduino platform. To make everything as simple as we possibly can, we have written a library to provide easy access to all underlying hardware operations. All aspects of the synth can be fully controlled by designing your own custom firmware and we sincerely hope that people will share their firmware in the spirit of the open source and hardware that inspired us to drive this project from idea to final product.
Whether you are a musician looking for a unique sound, a digital electronics/microprocessor enthusiast or an interactive audio designer we are certain you will find this little device to your liking.
Every single synth is unique in its sound due to slight coloring by the simplistic R-2R resistor network that builds the analog waveforms, as well as variations in the filter. Not using a carefully tuned DAC was a deliberate design choice as it emphasizes the individuality that is the backbone of what we at DevSound believe in – and rest assured, despite their differences they all sound equally good!
Explore the demo songs for just a few demonstrations of what the original software is capable of, but don’t forget that there is endless opportunity to redesign the synth to produce any type of output you’d like.
Technical Specifications
| Host board: | Arduino Uno ATmega328 16MHz 2KB RAM 32KB Flash ROM |
| Power supply: | USB-B 5V DC 2.1mm center-positive barrel 6-12V DC |
| Output circuitry: | 8-bit R-2R ladder DAC |
| Filter: | MAX261 |
| Analog output: | ±2.5V signal level (external amplifier required) |
| Software defined parameters: | Waveform Filter modes Filter resonance Filter cutoff Filter connection (LP, BP, HP) Filter bypass |
Purchase
You can purchase the SJS-ONE from the DevSound Shop.
Sound Demos
| Demo 1: | First ever recorded demo with the Supersaw Software, while it was still under development. A fairly long acid-spirited jam. Single SJS-ONE + some retro drumsamples sequenced in Cubase. |
| Demo 2: | A catchy chip-like tune. Several layers of Supersaw + some generic retro drumsamples recorded in Cubase. |
| Demo 3:Ambient tune using only the SJS-ONE Supersaw. Delay & reverb added. | |
| Demo 4:100% SJS-ONE, drumstix & supersaw layered. Delay & reverb added. | |
| Demo 5:A few single shots directly from the drumstix software! | |
| Demo 6:A nice old-school mod-file played by the experimental mod-player firmware. |
Downloads
• Arduino Library
This goes in your arduino/libraries directory.
• SyltFirmware – Drumstix A generic drum & sfx synth
• SyltFirmware – Supersaw A supersaw/pulse wave synth
Theese go just about anywhere and open with the Arduino IDE for downloading to your SJS-ONE synthesizer.
All design files, latest software, experiments and doodads are available as a git repository on github.com/stg/SyltJamSynth2011.
• Programmers/editors for Pure Data (free download): Drumstix – Supersaw
• Programmers/editors for Max4Live: Drumstix – Supersaw
• Template for iPad MIDI Touch app by Audiofreq: miditouch preset for Supersaw
Support / Troubleshooting
Q: This thing only works if I wiggle the PCB around…
A: Check your soldering – half assed solder joints can glitch and mess things up in all sorts of ways. Did you put tape on the USB port to prevent short circuits?
Q: My synthesizer works, but it’s very noisy. What can I do?
A: Don’t use a computer to power the synth, computer USB ports are notoriously noisy. Switching to an external 9V battery or 6-12V power supply via the barrel connector will remedy this problem.
Q: I’m using a mono connector and I only get sound if I pull it half-way out (that’s what she said).
A: Yep. So sorry about that. Rookie mistake. Mono connectors will short audio to ground. The synth won’t break or anything, but you’ll have to switch to a stereo connector. If you absolutely can’t do that, you’ll have to cut a few traces on the board to disconnect the offending channel.
Q: My synthesizer does not work at all – help!
A: In all honesty, it is extremely difficult to troubleshoot a piece of malfunctioning electronics without being able to probe around in it. Therefore we have developed a unique solution for guiding you step-by-step through a professional troubleshooting session. We highly recommend you try it (even if you don’t have a problem with your SJS-ONE because it’s pretty cool)!
The troubleshooter will show you exactly what you should expect at every single point in the circuit. Note that oscilloscopes may display things slightly different or have different settings from those displayed in the troubleshooter. It may be a good idea to have someone who knows oscilloscopes around to help if you are unsure.
• Steps 1 to 4 can be performed with a multimeter (and any firmware)
• After this you have to download the troubleshooting SyltFirmware and reprogram your SJS-ONE using this sketch.
• Then, for step 5 and onward, you will need an oscilloscope! Sorry, a multimeter just won’t cut it, but if you absolutely can not gain access to an oscilloscope, consider trying something like ZelScope.
• If all else fails – send us an email and we will try our best to help you!
![]()
Launch the SJS-ONE troubleshooter
After-market modifications
This is a very hack-friendly device – and we do endorse hacking!
In due time, we will try to document a few hacks right here and just to give you an idea of a few modifications that can easily be carried out:
- Active power filtering (better noise immunity, improved noise floor)
- DAC replacement (well, why not – everyone else is doing it!)
- External audio input (use the SJS-ONE as a midi-programmable filter)
- Filter series/parallel switch (mechanical – very easy! or via software)
- Integration with analog modular synths
Licence
The hardware is licensed under:
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
The software is licensed under: GNU Public License.


The possessive form of “it” is “its” (no apostrophe).
It’s = it is
What the last guy said. Please. Humour us.
[...] Link: http://devsound.se/2012/sjs-one [...]
wish = command… stuf
Can the SJS-One be used with an Arduino Duemilanove (ATmega328) board? Without having dug very far, I get the impression that the main difference between the UNO and the Duemilanove lies in the USB-serial chip used.
As a more generic question, will this shield work with any shield compatible Arduino/Freeduino? Don’t see why it shouldn’t. The Diavolino :
http://evilmadscience.com/productsmenu/tinykitlist/180
is a nice, inexpensive ($12) shield compatible Arduino clone.
We’ve only tested it with the Uno, but it might work with other clones.
Give us a few days, and we’ll have a more concrete answer…
I just testad it with a Diecimila with an ATMEGA168, and it worked flawless…
It should work with any Uno or Diecimila compatible clone as well.
We just soldered it and ran it on a Diecimila 168 with no problem. Seems to work but I’m confused about the filter settings. Would it be possible to get the current CC mapping for the mode parameter ?
All in all a general description of the filter disposition would be awesome because I don’t feel like reading IC spec sheets to play with an instrument :)
Looking forward to dive in !
/M
Also, does it stack moar waves in mono mode ?
If you’re looking for the midi-cc’s, they’re to be found at github:
https://github.com/stg/SyltJamSynth2011/tree/master/arduino-sketches/supersaw_sylt
and
https://github.com/stg/SyltJamSynth2011/tree/master/arduino-sketches/drumstix
Short answer: Modes change at intervals of 22, that is:
Low pass: 0-21
Phat low pass: 22-43
Band pass: 23-65
Phat band pass: 66-87
High pass: 88-109
All pass (phaser): 110-127
For a clear overview of all parameters, download the programmers for PureData or Max4Live (programmer for VVVV might be done soon).
Best of luck to you Marc! We’d love to hear any sounds you get from the synth, or any hacks/mods you come up with! :D
…Does it stack more waves in mono mode? No, don’t think so.. Not at the moment. Might be something for you to try your hands at? ;)
Thanks for the information, I’ll work from there and let you guys what I might end up with !
Here’s an SJS-One MIDI Touch template for iPad. It controls all CC#’s listed in the SJS-One MIDI imp chart. There are 2 note trigs purely for demoing, but it works best as a 2nd layer of control on top of notes played by a background sequencer in IOS (like Little MIDI Machine), or via outboard MIDI gear.
IOSmidi forum logins are slow to be approved, it seems. Once I’m in I’ll post there in its proper place – until then: http://www.mediafire.com/?bje37m5a5ay67
SuperSaw MIDI info chart: https://github.com/stg/SyltJamSynth2011/blob/master/arduino-sketches/supersaw_sylt/midi_info.txt
I tweaked a few things in version 2 of the free MIDI Touch iPad app template, and made a quick demo video http://www.youtube.com/watch?v=nKNuuweDbXA
Template download link is in the description – open the link on the iPad to import the template into MIDI Touch. It adds a whole new layer of controlling CC data when running a MIDI seq in either the background from another CoreMIDI app, or externally while patched to a multiport MIDI interface.
Audiofreq: Cool! I’ve added a link to the template under downloads!
[...] – Would it not be nice if the SJS-One could be controlled by and control your analog modular [...]