https://wiki.evilmadscientist.com/index.php?title=Alpha_Clock_Firmware_v1&feed=atom&action=historyAlpha Clock Firmware v1 - Revision history2024-03-29T08:28:27ZRevision history for this page on the wikiMediaWiki 1.28.2https://wiki.evilmadscientist.com/index.php?title=Alpha_Clock_Firmware_v1&diff=1574&oldid=prev198.144.208.23: fixed to scientist2012-11-15T19:15:52Z<p>fixed to scientist</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 19:15, 15 November 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l8" >Line 8:</td>
<td colspan="2" class="diff-lineno">Line 8:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Bootloader (Arduino style) programming ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Bootloader (Arduino style) programming ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The microcontroller in Alpha Clock Five kit comes preprogrammed with the [http://sanguino.cc/ Sanguino] Bootloader.  Because of this, Alpha Clock Five can be reprogrammed right in the Arduino environment, through a USB-TTL interface such as the [http://evilmadscientist.com/productsmenu/partsmenu/130-usbttl FTDI USB-TTL cable] or the http://evilmadscientist.com/productsmenu/accessories/210 Adafruit FTDI Friend].  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The microcontroller in Alpha Clock Five kit comes preprogrammed with the [http://sanguino.cc/ Sanguino] Bootloader.  Because of this, Alpha Clock Five can be reprogrammed right in the Arduino environment, through a USB-TTL interface such as the [http://<ins class="diffchange diffchange-inline">shop.</ins>evilmadscientist.com/productsmenu/partsmenu/130-usbttl FTDI USB-TTL cable] or the http://<ins class="diffchange diffchange-inline">shop.</ins>evilmadscientist.com/productsmenu/accessories/210 Adafruit FTDI Friend].  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The bootloader itself can only be written (or rewritten) with an AVR ISP programmer, such as the [http://evilmadscientist.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP].  While most users will not ever need to do this, see below (under [http://wiki.evilmadscience.com/index.php?title=Alpha_Clock_Firmware#AVR_ISP_Programming AVR ISP Programming]) if you should need to do so.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The bootloader itself can only be written (or rewritten) with an AVR ISP programmer, such as the [http://<ins class="diffchange diffchange-inline">shop.</ins>evilmadscientist.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP].  While most users will not ever need to do this, see below (under [http://wiki.evilmadscience.com/index.php?title=Alpha_Clock_Firmware#AVR_ISP_Programming AVR ISP Programming]) if you should need to do so.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>198.144.208.23https://wiki.evilmadscientist.com/index.php?title=Alpha_Clock_Firmware_v1&diff=1566&oldid=prevWindell: update to scientist2012-11-14T01:21:07Z<p>update to scientist</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 01:21, 14 November 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l8" >Line 8:</td>
<td colspan="2" class="diff-lineno">Line 8:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Bootloader (Arduino style) programming ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Bootloader (Arduino style) programming ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The microcontroller in Alpha Clock Five kit comes preprogrammed with the [http://sanguino.cc/ Sanguino] Bootloader.  Because of this, Alpha Clock Five can be reprogrammed right in the Arduino environment, through a USB-TTL interface such as the [http://<del class="diffchange diffchange-inline">evilmadscience</del>.com/productsmenu/partsmenu/130-usbttl FTDI USB-TTL cable] or the http://<del class="diffchange diffchange-inline">evilmadscience</del>.com/productsmenu/accessories/210 Adafruit FTDI Friend].  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The microcontroller in Alpha Clock Five kit comes preprogrammed with the [http://sanguino.cc/ Sanguino] Bootloader.  Because of this, Alpha Clock Five can be reprogrammed right in the Arduino environment, through a USB-TTL interface such as the [http://<ins class="diffchange diffchange-inline">evilmadscientist</ins>.com/productsmenu/partsmenu/130-usbttl FTDI USB-TTL cable] or the http://<ins class="diffchange diffchange-inline">evilmadscientist</ins>.com/productsmenu/accessories/210 Adafruit FTDI Friend].  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The bootloader itself can only be written (or rewritten) with an AVR ISP programmer, such as the [http://<del class="diffchange diffchange-inline">evilmadscience</del>.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP].  While most users will not ever need to do this, see below (under [http://wiki.evilmadscience.com/index.php?title=Alpha_Clock_Firmware#AVR_ISP_Programming AVR ISP Programming]) if you should need to do so.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The bootloader itself can only be written (or rewritten) with an AVR ISP programmer, such as the [http://<ins class="diffchange diffchange-inline">evilmadscientist</ins>.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP].  While most users will not ever need to do this, see below (under [http://wiki.evilmadscience.com/index.php?title=Alpha_Clock_Firmware#AVR_ISP_Programming AVR ISP Programming]) if you should need to do so.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l104" >Line 104:</td>
<td colspan="2" class="diff-lineno">Line 104:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== AVR ISP Programming ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== AVR ISP Programming ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The Alpha Clock Five PCB features a 6-pin AVR ISP connector (J4), which can be used to program the microcontroller through any suitable AVR ISP programmer.  We recommend the Adafruit [http://<del class="diffchange diffchange-inline">evilmadscience</del>.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP] programmer for most purposes.  The Alpha Clock Five should be powered separately from 5 V while programming; Alpha Clock Five requires more power than can usually be safely provided by USB.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The Alpha Clock Five PCB features a 6-pin AVR ISP connector (J4), which can be used to program the microcontroller through any suitable AVR ISP programmer.  We recommend the Adafruit [http://<ins class="diffchange diffchange-inline">evilmadscientist</ins>.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP] programmer for most purposes.  The Alpha Clock Five should be powered separately from 5 V while programming; Alpha Clock Five requires more power than can usually be safely provided by USB.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The circuit can be programmed through AVR-GCC or any other AVR software environment, including AVR Studio.  If using AVR-GCC, you may find it helpful to target (set the MCU type as) the ATmega644P rather than the ATmega644A, as it is better supported.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The circuit can be programmed through AVR-GCC or any other AVR software environment, including AVR Studio.  If using AVR-GCC, you may find it helpful to target (set the MCU type as) the ATmega644P rather than the ATmega644A, as it is better supported.</div></td></tr>
</table>Windellhttps://wiki.evilmadscientist.com/index.php?title=Alpha_Clock_Firmware_v1&diff=1539&oldid=prevWindell at 11:55, 29 October 20122012-10-29T11:55:01Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='en'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 11:55, 29 October 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The [[Alpha Clock Five]] is an alarm clock and alphanumeric LED display development platform based on the ATmega644A AVR microcontroller.  It can be programmed through an AVR ISP programmer, using standard AVR-GCC techniques, or through an FTDI USB-TTL interface, using a modified version of the Arduino development environment.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The [[Alpha Clock Five]] is an alarm clock and alphanumeric LED display development platform based on the ATmega644A AVR microcontroller.  It can be programmed through an AVR ISP programmer, using standard AVR-GCC techniques, or through an FTDI USB-TTL interface, using a modified version of the Arduino development environment. <ins class="diffchange diffchange-inline"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">This page is about the setup for using Alpha Clock Five firmware v. 1.0.  The current version, v. 2.0, is discussed [[Alpha_Clock_Firmware_v2|here]].</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l118" >Line 118:</td>
<td colspan="2" class="diff-lineno">Line 121:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== <del class="diffchange diffchange-inline">Planned future versions </del>===</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>=== <ins class="diffchange diffchange-inline">Version 2.0 </ins>===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">A future version of the Alpha Clock Five firmware is planned, which will-- as its major change --use a more up-to-date software environment.  Planned improvements include the use of Arduino 1.0, updated Sanguino components, the new Arduino Time library, and compatibility with updated versions of the serial and I2C libraries within Arduino.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Planned future features include:</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* Additional display modes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* Expanded serial communication, with additional commands</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* Expanded serial communication, using the second serial port for daisy-chained displays</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">If you would like to suggest additional features, please use </del>the [<del class="diffchange diffchange-inline">http://wiki.evilmadscience.com/Talk:Alpha_Clock_Firmware talk page</del>] <del class="diffchange diffchange-inline">or the [http://www.evilmadscientist.com/forum/index.php?forum=15 Evil Mad Scientist Forums</del>].  </div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">Version 2.0 of </ins>the <ins class="diffchange diffchange-inline">Alpha Clock Five firmware is discussed </ins>[<ins class="diffchange diffchange-inline">[Alpha_Clock_Firmware_v2|here</ins>]].</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">Code contributions and are welcome, of course, and we will be setting up a formal repository in the near future.  In the mean time, please [http://www.evilmadscientist.com/staticpages/index.php/contact contact Evil Mad Scientist Laboratories] if you are interested in contributing.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Alternate "Demo" firmware ==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>== Alternate "Demo" firmware ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>A simple demo program, which shows displaying text on the LED display, playing sounds, lighting up the rear-panel nightlight, and recognizing button events is available for download [http://evilmadscientist.s3.amazonaws.com/source/alphafive/alpha_5_hello.pde here] (15 kB .pde file).</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>A simple demo program, which shows displaying text on the LED display, playing sounds, lighting up the rear-panel nightlight, and recognizing button events is available for download [http://evilmadscientist.s3.amazonaws.com/source/alphafive/alpha_5_hello.pde here] (15 kB .pde file).</div></td></tr>
</table>Windellhttps://wiki.evilmadscientist.com/index.php?title=Alpha_Clock_Firmware_v1&diff=1537&oldid=prevWindell: Created page with "The Alpha Clock Five is an alarm clock and alphanumeric LED display development platform based on the ATmega644A AVR microcontroller. It can be programmed through an AVR ..."2012-10-29T11:52:47Z<p>Created page with "The <a href="/Alpha_Clock_Five" title="Alpha Clock Five">Alpha Clock Five</a> is an alarm clock and alphanumeric LED display development platform based on the ATmega644A AVR microcontroller. It can be programmed through an AVR ..."</p>
<p><b>New page</b></p><div>The [[Alpha Clock Five]] is an alarm clock and alphanumeric LED display development platform based on the ATmega644A AVR microcontroller. It can be programmed through an AVR ISP programmer, using standard AVR-GCC techniques, or through an FTDI USB-TTL interface, using a modified version of the Arduino development environment.<br />
<br />
<br />
<br />
== Bootloader (Arduino style) programming ==<br />
<br />
The microcontroller in Alpha Clock Five kit comes preprogrammed with the [http://sanguino.cc/ Sanguino] Bootloader. Because of this, Alpha Clock Five can be reprogrammed right in the Arduino environment, through a USB-TTL interface such as the [http://evilmadscience.com/productsmenu/partsmenu/130-usbttl FTDI USB-TTL cable] or the http://evilmadscience.com/productsmenu/accessories/210 Adafruit FTDI Friend]. <br />
<br />
The bootloader itself can only be written (or rewritten) with an AVR ISP programmer, such as the [http://evilmadscience.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP]. While most users will not ever need to do this, see below (under [http://wiki.evilmadscience.com/index.php?title=Alpha_Clock_Firmware#AVR_ISP_Programming AVR ISP Programming]) if you should need to do so.<br />
<br />
<br />
=== Setting up the environment ===<br />
<br />
Alpha Clock Five requires a rather specialized programming environment, that uses some older software versions and will be updated in the near future. <br />
<br />
<br />
Required software:<br />
* Arduino 0023 (available [http://code.google.com/p/arduino/downloads/list?can=2&q=0023 here]), an older version of the [http://arduino.cc/ Arduino] development environment. <br />
* Sanguino version 0023r2.zip [http://code.google.com/p/sanguino/downloads/detail?name=Sanguino-0023r2.zip from here]. (This is an updated version of the Sanguino extensions to Arduino, by [http://ryanmsutton.com/2011/11/updated-dev-enviroment/ Ryan M Sutton].)<br />
<br />
<br />
Install the Arduino program on your computer. The Sanguino extensions need to be installed separately, and the method for that depend, very slightly, on your operating system:<br />
<br />
<br />
==== Installing Sanguino: Mac ====<br />
<br />
First unzip the Sanguino-0023r2.zip file, which reveals a folder called "Sanguino." Then, find the location where you need to install it.<br />
<br />
<br />
* Locate your Arduino.app file, version 0023 (which you may have just installed). <br />
* Ctrl-click the file to show the contextual pop-up menu. <br />
* From that menu, select "Show Package Contents." <br />
* Within the resulting directory (Arduino.app), navigate to the folder Contents > Resources > Java > hardware <br />
* Inside "hardware" there several folders, including one called "arduino." Copy the whole "Sanguino" folder, which you unzipped earlier into the hardware folder, next to "arduino." <br />
* Restart Arduino.<br />
<br />
If the Sanguino software is installed correctly, you will see Sanguino options in your Tools>Board menu. <br />
<br />
<br />
==== Installing Sanguino: Windows ====<br />
<br />
First unzip the Sanguino-0023r2.zip file, which reveals a folder called "Sanguino." Then, copy that to within your Arduino application.<br />
<br />
* Locate your Arduino application<br />
* Copy /Sanguino to arduino-0023/hardware/ <br />
* You should end up with arduino-0023/hardware/Sanguino/<br />
* Restart Arduino.<br />
<br />
If the Sanguino software is installed correctly, you will see Sanguino options in your Tools>Board menu. <br />
<br />
<br />
==== Installing Sanguino: Linux ====<br />
<br />
First unzip the Sanguino-0023r2.zip file, which reveals a folder called "Sanguino." Then, copy that to within your Arduino application.<br />
<br />
* Locate your Arduino application<br />
* Copy ~/Sanguino to arduino-0023/hardware/ <br />
* You should end up with arduino-0023/hardware/Sanguino/<br />
<br />
* Restart Arduino.<br />
<br />
If the Sanguino software is installed correctly, you will see Sanguino options in your Tools>Board menu. <br />
<br />
<br />
=== Uploading firmware ===<br />
<br />
Connect your FTDI interface (e.g., USB-TTL cable) to location J2 on the circuit board (the 6-pin SIL right-angle header also labeled "LOGIC-LEVEL (TTL) SERIAL"), watching the polarity. For one of the cables with rainbow-wires on the end, black goes down, green goes up.<br />
<br />
Make sure that the correct serial port is selected in the Tools>Serial Port menu.<br />
<br />
Select "Sanguino W/ ATmega644P" from your Tools>Board menu<br />
<br />
Make sure that Alpha Clock Five is powered on.<br />
<br />
Click the "Upload" button in your Arduino window to upload the sketch.<br />
<br />
<br />
<br />
=== Programming the bootloader ===<br />
<br />
Most users will not need to reprogram the bootloader at any point.<br />
<br />
Programming the bootloader onto a new ATmega644A requires an AVR ISP programmer (see more about that below). This can be done directly from within the Arduino environment (using the Tools>Burn bootloader option), but is complicated by the fact that we are using an ATmega644A rather than the ATmega644P normally expected by Sanguino.<br />
<br />
First, download and install [http://evilmadscientist.s3.amazonaws.com/source/alphafive/Sanguino_alphafive.zip this alternate version] (130 kB .zip file) of the Sanguino software, which includes a definition of the 644A for purposes of using the bootloader.<br />
<br />
Then, to install the bootloader:<br />
* Select as your board type (from Tools>Board), "Sanguino W/ ATmega644/644A"<br />
* From Tools>Burn Bootloader, select your AVR ISP programmer type, to actually burn the bootloader <br />
<br />
After installing the bootloader, select board type "Sanguino W/ ATmega644P" when you wish to reprogram the board through the bootloader, as the "software" device signatures returned by the bootloader are those for the '644P. If you reprogram the board through an ISP programmer (including reburning of the bootloader), you will still need to select ATmega644A as the device type. <br />
<br />
<br />
<br />
=== Technical note on device signature ===<br />
<br />
The device signature that the Alpha Clock's bootloader returns is that of the ATmega644P (not the ATmega644A). This is intentional. It is (1) code compatible and (2) better supported under both AVR-GCC and the Arduino/Sanguino environments. There are longstanding bugs in support for the 644A, and this is a stable and sane workaround. <br />
<br />
The "hardware" device signatures-- those that you will read if you try to reprogram the AVR through an ISP interface --do remain those of the ATmega644A.<br />
<br />
== AVR ISP Programming ==<br />
<br />
The Alpha Clock Five PCB features a 6-pin AVR ISP connector (J4), which can be used to program the microcontroller through any suitable AVR ISP programmer. We recommend the Adafruit [http://evilmadscience.com/productsmenu/tinykitlist/106-usbtiny USBtinyISP] programmer for most purposes. The Alpha Clock Five should be powered separately from 5 V while programming; Alpha Clock Five requires more power than can usually be safely provided by USB.<br />
<br />
The circuit can be programmed through AVR-GCC or any other AVR software environment, including AVR Studio. If using AVR-GCC, you may find it helpful to target (set the MCU type as) the ATmega644P rather than the ATmega644A, as it is better supported.<br />
<br />
Please refer to the [http://evilmadscientist.s3.amazonaws.com/source/alphafive/fiveletter.pdf schematics] (PDF) for pinouts and electrical features of the Alpha Clock Five. <br />
<br />
<br />
== Standard Firmware ==<br />
<br />
<br />
=== Version 1.0 ===<br />
<br />
Version 1.0 of the Alpha Clock Five firmware is available [http://evilmadscientist.s3.amazonaws.com/source/alphafive/alphaclock_18_Rev1_0.pde here] (49 kB .pde file). <br />
<br />
Besides the Arduino 0023/Sanguino-0023r2 environment described earlier, this code requires that you install the "old" DateTime library (really, both the DateTime and DateTimeStrings libraries that are included with the download) , available [http://www.arduino.cc/playground/Code/DateTime here]. These should be installed like regular Arduino libraries, within the "libraries" directory of your sketch folder. <br />
<br />
<br />
=== Planned future versions ===<br />
<br />
A future version of the Alpha Clock Five firmware is planned, which will-- as its major change --use a more up-to-date software environment. Planned improvements include the use of Arduino 1.0, updated Sanguino components, the new Arduino Time library, and compatibility with updated versions of the serial and I2C libraries within Arduino.<br />
<br />
Planned future features include:<br />
* Additional display modes<br />
* Expanded serial communication, with additional commands<br />
* Expanded serial communication, using the second serial port for daisy-chained displays<br />
<br />
If you would like to suggest additional features, please use the [http://wiki.evilmadscience.com/Talk:Alpha_Clock_Firmware talk page] or the [http://www.evilmadscientist.com/forum/index.php?forum=15 Evil Mad Scientist Forums]. <br />
<br />
Code contributions and are welcome, of course, and we will be setting up a formal repository in the near future. In the mean time, please [http://www.evilmadscientist.com/staticpages/index.php/contact contact Evil Mad Scientist Laboratories] if you are interested in contributing.<br />
<br />
== Alternate "Demo" firmware ==<br />
<br />
A simple demo program, which shows displaying text on the LED display, playing sounds, lighting up the rear-panel nightlight, and recognizing button events is available for download [http://evilmadscientist.s3.amazonaws.com/source/alphafive/alpha_5_hello.pde here] (15 kB .pde file).</div>Windell