Home Semitone Lighting Model: Crystal
Semitone Crystal
Crystal Board

A Semi­tone Crystal board with descrip­tions.


The Semi­tone Crystal has been the first lighting con­troller (“dimmer”) model in the Semi­tone series. It is based on the Atmel AVR® micro­con­troller archi­tec­ture, fea­tures 3 LED's as mode indi­ca­tors and infrared remote receiver as the pri­mary user inter­face.


The Crystal is an easy to build, easy to use one-channel lighting con­troller. It's fine for stand-alone high-voltage halogen lamps (resis­tive loads only!). It sup­ports up to 10 pre­sets which hold bright­ness and - option­ally - fade delay values per entry.

The Crystal is a fading dimmer, which means that all bright­ness changes are done by fading. Whether you are loading a preset bright­ness or tog­gling standby mode; the con­troller always fades smoothly from one bright­ness to another. Of course, the fade delay can be adjusted. The Semi­tone Crystal offers fade delays from 10ms until over 7 min­utes for a full-stroke fading pro­cess.

User and machine inter­faces

Infrared receiver

Inter­face for RC5 capable remote con­trols (any avail­able uni­versal remote should sup­port this pro­tocol). It offers the com­plete func­tion­ality for these func­tions:

  • standby,
  • load/store bright­ness,
  • adjust bright­ness,
  • mode selec­tion,
  • etc.


You can con­nect one button to toggle standby mode.


For feed­back, modes and states are indi­cated by 3 LED's.

Ded­i­cated UART pro­tocol

(For com­mu­ni­ca­tion over RS232, an addi­tional level con­verter is required, such as the MAX232.)

The UART offers direct access to the inter­nally stored data, which is:

  • bright­ness,
  • fade delay,
  • target bright­ness (for fading),
  • preset values,
  • etc.

GNU/Linux fron­tends for com­mand line and for GTK are avail­able. The UART pro­tocol spec­i­fi­ca­tion can be found in the doc­u­men­ta­tion pack­ages on the Source­forge Pro­ject Site.


Due to the small micro­con­troller, this device can only be pro­grammed in assem­bler for our pur­pose. Unfor­tu­nately, the Flash ROM is now full, so we cannot add more fea­tures.


GSemi­tone, a Gtk2 con­trol appli­ca­tion for the Crystal.

Con­trol soft­ware

  • GSemi­tone: Gtk2 fron­tend, fully sup­ports the Semi­tone Crystal
  • dim: com­mand line inter­face for the Semi­tone Crystal

You are invited to write appli­ca­tions for other toolkits or oper­ating sys­tems. The ded­i­cated com­mu­ni­ca­tion pro­tocol spec­i­fi­ca­tion is pub­licly avail­able (see the doc­u­men­ta­tion pack­ages).


(as of firmware ver­sion 0.3.1)

  • 256 dim­ming steps
  • internal lin­eariza­tion
  • fade speed from 10 ms until 436 s for full-stroke
  • 10 bright­ness and fade speed preset mem­o­ries
  • power-up set­tings memory
  • RC5 IR remote con­trol sup­port, IR setup pro­ce­dure
  • UART sup­port (pro­tocol R1)
  • external standby push-button sup­port


All rel­e­vant infor­ma­tion can be found in the Releases sec­tion, including board layout, firmware source code, and doc­u­men­ta­tion.

Board layout

There is an offi­cial single-sided board layout, included in the hard­ware package.

  • Dimen­sions: 100×50 mm