<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YourITronics &#187; Microcontroller</title>
	<atom:link href="http://www.youritronics.com/category/microcontroller/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.youritronics.com</link>
	<description>DIY, Electronics, IT, Gadgets</description>
	<lastBuildDate>Fri, 16 Dec 2011 19:22:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Digilent Cerebot MC7</title>
		<link>http://www.youritronics.com/digilent-cerebot-mc7/</link>
		<comments>http://www.youritronics.com/digilent-cerebot-mc7/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 19:57:41 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Digilent]]></category>
		<category><![CDATA[DSP]]></category>
		<category><![CDATA[dsPIC33]]></category>
		<category><![CDATA[MC7]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3805</guid>
		<description><![CDATA[Digilent just launched the Cerebot MC7 development board. It is based on the Microchip powerful dsPIC33FJ128MC706A digital signal processor and it features 4 onboard half bridges circuits rated for up to 25V 4A. Compared to their previous development boards based on Microchip microcontrollers like the PIC32 this one has a dedicated DSP which should improve [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.youritronics.com/digilent-cerebot-mc7/"><img src="http://img.youtube.com/vi/jmCmdSakFqw/default.jpg" width="130" height="97" border=0></a></p>
<p>Digilent just launched the Cerebot MC7 development board. It is based on the Microchip powerful dsPIC33FJ128MC706A digital signal processor and it features 4 onboard half bridges circuits rated for up to 25V 4A. Compared to their previous development boards based on Microchip microcontrollers like the PIC32 this one has a dedicated DSP which should improve your performance when doing digital signal processing. The board is currently priced at $119.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/digilent-cerebot-mc7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>74HC4051 Analog Multiplexer</title>
		<link>http://www.youritronics.com/74hc4051-analog-multiplexer/</link>
		<comments>http://www.youritronics.com/74hc4051-analog-multiplexer/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 12:08:26 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[74hc4051]]></category>
		<category><![CDATA[Analog]]></category>
		<category><![CDATA[mux]]></category>
		<category><![CDATA[NTC]]></category>
		<category><![CDATA[thermistor]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3671</guid>
		<description><![CDATA[This was actually the first time I ever needed to multiplex analog channels so it was a good opportunity to learn how to use them. My task was to measure the temperature of 32 thermistors (NTC) with a microcontroller and later process that data. Obviously you cant find that much analog input channels on your common microcontroller [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youritronics.com/wp-content/uploads/2011/09/74hc4051-mux.png"><img class="alignnone size-full wp-image-3672" title="74hc4051 mux" src="http://www.youritronics.com/wp-content/uploads/2011/09/74hc4051-mux.png" alt="74hc4051 mux" width="594" height="331" /></a></p>
<p>This was actually the first time I ever needed to multiplex analog channels so it was a good opportunity to learn how to use them. My task was to measure the temperature of 32 thermistors (NTC) with a microcontroller and later process that data. Obviously you cant find that much analog input channels on your common microcontroller so you need to multiplex the signals. First I looked for large analog multiplexers with 16 input channels but those are way too expensive. As it turns out its cheaper to use more smaller 8ch multiplexers(example Digikey pricing: 2pcs 16:1 mux from TI is $7.84 while 3pcs of 8:1 mux from TI is $1.53). I was able to get the <a href="http://www.nxp.com/documents/data_sheet/74HC_HCT4051.pdf">74HC4051</a> at a good price so I started creating the design around it.</p>
<p>With just four 74HC4051 I can multiplex 32 input channels to 4 outputs. The 74HC4051 has 3 select lines A,B,C and one enable line E. These 4 lines are used for control and they can be tied together like I did for controlling all 4 chips with the same 4 lines. By a combination of state (high/low) for A,B and C you can control which input gets connected to the output. In the schematic you will also find a table with the address select concerning the 3 pins A,B and C. The enable pin is used to disconnect all internal switches (when high) or allow connection (when low) by selecting the appropriate address. Each 74HC4051 got its own 0.1uF decoupling cap close to its supply pins and if you&#8217;re design is very sensitive to noise you can further optimize the layout and place more filtering on the supply lines.</p>
<p>To get a more stable reading at the output of the thermistor(actually at the output of the multiplexer) I also placed a low pass filter which later on after assembling and testing turned out to be unnecessary even creating problems because I was switching the lines faster than it took the filter to settle so I left the filter components out during assembly.</p>
<p>The PCB was manufactured at home hence the big vias and it was designed to allow a second board with the microcontroller to be stacked on top of it. Everything was tested on an Arduino and it works perfectly. The schematics and board file are released under CC-BY-SA and can be downloaded from the link bellow.</p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2011/09/mux-74hc4051.png"><img class="alignnone size-full wp-image-3673" title="mux 74hc4051" src="http://www.youritronics.com/wp-content/uploads/2011/09/mux-74hc4051.png" alt="mux 74hc4051" width="493" height="309" /></a></p>
<p><strong>Downloads:</strong></p>
<p><a title="74hc4051 analog multiplexer schematic" href="http://www.youritronics.com/wp-content/uploads/2011/09/74hc4051-mux.zip">Eagle schematic and board file.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/74hc4051-analog-multiplexer/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Include math.h for C32</title>
		<link>http://www.youritronics.com/include-math-h-for-c32/</link>
		<comments>http://www.youritronics.com/include-math-h-for-c32/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 08:59:57 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[C32]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Pic32]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3664</guid>
		<description><![CDATA[I spent the past 3 hours debugging my code that was absolutely fine. So just a quick note for everybody who&#8217;s working on pic32&#8242;s, if you&#8217;re using any math functions you have to include math.h; it is not enough to include the peripheral library (plib.h). The compiler won&#8217;t complain but you will get garbage out [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youritronics.com/wp-content/uploads/2011/08/microchip-pic32.bmp"><img class="alignnone size-full wp-image-3665" title="microchip pic32" src="http://www.youritronics.com/wp-content/uploads/2011/08/microchip-pic32.bmp" alt="microchip pic32" width="305" height="244" /></a></p>
<p>I spent the past 3 hours debugging my code that was absolutely fine. So just a quick note for everybody who&#8217;s working on pic32&#8242;s, if you&#8217;re using any math functions you have to include math.h; it is not enough to include the peripheral library (plib.h). The compiler won&#8217;t complain but you will get garbage out of your math functions.</p>
<p>And if you&#8217;re wondering what I was doing with all that math is just computing the temperature for a thermistor using the <a href="http://en.wikipedia.org/wiki/Steinhart%E2%80%93Hart_equation">Steinhart–Hart</a> equation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/include-math-h-for-c32/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding auto turn-off to a cheap multimeter</title>
		<link>http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/</link>
		<comments>http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 09:59:53 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[ET-870C]]></category>
		<category><![CDATA[Minipa]]></category>
		<category><![CDATA[multimeter]]></category>
		<category><![CDATA[timer]]></category>
		<category><![CDATA[tiny25]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3626</guid>
		<description><![CDATA[I bought this multimeter(Minipa ET-870C) a while ago for $17, great value. I got it because its nice to have around multiple meters for when you wanna measure both input and output voltage/current. I believe it was advertised to have an auto-off feature for 15 mins but it didn&#8217;t. This eventually lead to many drained [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_13.jpg"><img class="size-medium wp-image-3627 aligncenter" title="Minipa_ET-870C_13" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_13-204x300.jpg" alt="Minipa_ET-870C" width="204" height="300" /></a></p>
<p>I bought this multimeter(<strong>Minipa ET-870C)</strong> a while ago for $17, great value. I got it because its nice to have around multiple meters for when you wanna measure both input and output voltage/current. I believe it was advertised to have an auto-off feature for 15 mins but it didn&#8217;t. This eventually lead to many drained batteries because I often forgot to turn it off after using it. So during a boring weekend when the weather outside was bad I decided to add this nice feature to the meter. I knew it had to be a small circuit to be able to fit inside the multimeter so I picked the tiny25 the smallest micro I had around.</p>
<p>I quickly put together a simple schematic in Eagle, just the mcu, a voltage regulator a npn transistor and the associated capacitors and resistors. The circuit is powered from the multimeter 9V battery and cuts off the ground path to the meter to turn off its power. No ISP connector was placed on the board to save space but extra long pads were added so I can solder some wires for programming the mcu.</p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-sch.png"><img class="alignnone size-medium wp-image-3629" title="tiny25-timer-switch-schematic" src="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-sch-300x217.png" alt="tiny25-timer-switch-schematic" width="300" height="217" /></a><a href="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-brd.png"><img class="alignnone size-medium wp-image-3628" title="tiny25-timer-switch-board" src="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-brd-300x230.png" alt="tiny25-timer-switch-board" width="300" height="217" /></a></p>
<p>The npn transistor has its base pulled down so when there is no signal coming from the mcu the transistor is off. The pcb was made using the<a href="http://www.youritronics.com/diy-printed-circuit-board-using-photo-etching-method/"> photo etching technique</a> and it was assembled with some solder paste and hot air gun. I also soldered some wires to connect to my MKII programmer and I started writing the code.</p>
<p>To keep track of the time I used Timer0 to generate an overflow interrupt. Knowing the CPU frequency and the prescaler we can find out how often that interrupt will occur. Knowing how often the interrupt will occur we know how many times we need that interrupt to trigger to account for a given time in seconds. This is all calculated inside main.h where you can also specify the time in seconds.</p>
<p>To start the counting process I&#8217;m using a tact switch connected on INT0. When the button is pressed the level changed interrupt will trigger on INT0 and we change some flags to start counting as well as turning on the transistor to turn on the multimeter. When the counting reaches the setpoint, the flags reset and the transistor is turned off, thus turning off the meter. At this step the code was running ok except that for a 15 mins period there is ~12s error. I suspect this is because I&#8217;m using the internal oscillator which is not very precise.</p>
<p>Since the circuit was intended for extending the battery life, itself had to consume as little as possible. All measurements were made right before the voltage regulator at the battery leads. With no optimization the current draw at 9V was 3.67mA. The tiny25 has 3 sleep modes: Idle, ADC Noise Reduction and Power-down mode. The Idle mode would be good for when we are counting until the setpoint is reached, and the power-down mode for when we are waiting for the button to be pressed(INT0 interrupt trigger). So I&#8217;ve added some new lines of code to set the processor into Idle mode when the button is pressed, and to set it to power-down mode the the setpoint is reached and the transistor is turned off.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// Prepare for sleep mode in Idle mode so Timer0 can continue working and providing interrupts</span>
set_sleep_mode<span style="color: #008000;">&#40;</span>SLEEP_MODE_IDLE<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>and</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">set_sleep_mode<span style="color: #008000;">&#40;</span>SLEEP_MODE_PWR_DOWN<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>	<span style="color: #008080; font-style: italic;">// Prepare for sleep mode in Power Down mode</span></pre></div></div>

<p>With these new settings the numbers are: in Idle mode the current draw is 3.57mA(only 0.1mA saved) but in power-down mode the current draw is only 17.9 uA(a whopping 3.652mA saved). This will ensure the battery life is not affected by the small timer circuit.</p>
<p>Now that everything was finished all I had to do is mount the small pcb inside the meter. Luckily there was plenty of space between the LCD and the logic board. I attached the pcb with some double sided sticky tape and drilled a hole for the tact switch in a pre marked place(this was probably the place designated for an original on/off-standby button that would of reset the internal auto-turn off feature). The tact switch was fixed in place with some hot glue. The wires were carefully routed on the side of the case and everything was assembled back together.</p>
<p>Now I know what you&#8217;re thinking, this mod makes the meter more dangerous with all the wires running so close to the high voltage input jacks but this meter did not have much protection to start with. Only basic 250mA fuse on the small current scale so I don&#8217;t think I&#8217;ve made it more dangerous than it already was. I really don&#8217;t recommend getting this meter if you&#8217;re working with high voltages or currents. This is only suitable for small currents/voltages where the input protection isn&#8217;t going to make a big difference.</p>
<p>Also you should know that the mod will certainly void your warranty if there is one. I certainly didn&#8217;t had any real warranty with this meter.</p>
<p>The source code and Eagle schematics are accessible on github <a title="multimeter auto off timer" href="https://github.com/youritronics/multimeter-auto-off-timer">here</a>. As you can see this was also a nice opportunity to get me started with using a code repository. And here are some pictures from the construction/assembly process:</p>

<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/tiny25-timer-switch-sch/' title='tiny25-timer-switch-schematic'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-sch-150x150.png" class="attachment-thumbnail" alt="tiny25-timer-switch-schematic" title="tiny25-timer-switch-schematic" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/tiny25-timer-switch-brd/' title='tiny25-timer-switch-board'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/tiny25-timer-switch-brd-150x150.png" class="attachment-thumbnail" alt="tiny25-timer-switch-board" title="tiny25-timer-switch-board" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_1/' title='Minipa_ET-870C_1'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_1-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_1" title="Minipa_ET-870C_1" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_5/' title='Minipa_ET-870C_5'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_5-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_5" title="Minipa_ET-870C_5" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_4/' title='Minipa_ET-870C_4'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_4-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_4" title="Minipa_ET-870C_4" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_3/' title='Minipa_ET-870C_3'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_3-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_3" title="Minipa_ET-870C_3" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_6/' title='Minipa_ET-870C_6'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_6-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_6" title="Minipa_ET-870C_6" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_2/' title='Minipa_ET-870C_2'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_2-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_2" title="Minipa_ET-870C_2" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_7/' title='Minipa_ET-870C_7'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_7-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_7" title="Minipa_ET-870C_7" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_8/' title='Minipa_ET-870C_8'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_8-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_8" title="Minipa_ET-870C_8" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_9/' title='Minipa_ET-870C_9'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_9-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_9" title="Minipa_ET-870C_9" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_10/' title='Minipa_ET-870C_10'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_10-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_10" title="Minipa_ET-870C_10" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_11/' title='Minipa_ET-870C_11'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_11-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_11" title="Minipa_ET-870C_11" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_13/' title='Minipa_ET-870C_13'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_13-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C" title="Minipa_ET-870C_13" /></a>
<a href='http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/minipa_et-870c_12/' title='Minipa_ET-870C_12'><img width="150" height="150" src="http://www.youritronics.com/wp-content/uploads/2011/07/Minipa_ET-870C_12-150x150.jpg" class="attachment-thumbnail" alt="Minipa_ET-870C_12" title="Minipa_ET-870C_12" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/adding-auto-turn-off-to-a-cheap-multimeter/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>AVR ISP MKII Entering programming mode.. FAILED!</title>
		<link>http://www.youritronics.com/avr-isp-mkii-entering-programming-mode-failed/</link>
		<comments>http://www.youritronics.com/avr-isp-mkii-entering-programming-mode-failed/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 17:28:27 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[AK8975]]></category>
		<category><![CDATA[ATAVRSBIN1]]></category>
		<category><![CDATA[BMA150]]></category>
		<category><![CDATA[isp MKII]]></category>
		<category><![CDATA[ITG3200]]></category>
		<category><![CDATA[ITG3205]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3603</guid>
		<description><![CDATA[If you ever get the message &#8220;Entering programming mode.. FAILED!&#8221; while trying to program your AVR device don&#8217;t start messing with your MKII or upgrade its firmware 10 times or messing with the windows drivers like I did, cause that&#8217;s probably not the cause and you risk damaging you&#8217;re perfectly working MKII. As it turns [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youritronics.com/wp-content/uploads/2011/07/mkII_prog_mode_fail.png"><img class="alignnone size-medium wp-image-3604" title="AVR ISP MKII Entering programming mode failed" src="http://www.youritronics.com/wp-content/uploads/2011/07/mkII_prog_mode_fail-281x300.png" alt="AVR ISP MKII Entering programming mode failed" width="281" height="300" /></a></p>
<p>If you ever get the message &#8220;Entering programming mode.. FAILED!&#8221; while trying to program your AVR device don&#8217;t start messing with your MKII or upgrade its firmware 10 times or messing with the windows drivers like I did, cause that&#8217;s probably not the cause and you risk damaging you&#8217;re perfectly working MKII. As it turns out its just a faulty connection between the programmer and the target board. This is not likely to happen if you only use the programmer occasionally but I used it for like 50+ times a day and that meant inserting and removing the little 6pin connector a bunch of times. I removed the old 6pin connector, crimped a new one and its working again, so long live the MKII because it is a great tool.</p>
<p>You might be wondering why would I need to use that many times, well its because I&#8217;m working on this new project, a quadrocopter based on an atmega64. The microcontroller was chosen because I had a bunch around and ATMEL was kind enough to send me a <a href="http://store.atmel.com/PartDetail.aspx?q=p:10500250">ATAVRSBIN1</a> for my project.</p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2011/07/atavrsbin1.jpg"><img class="size-full wp-image-3605 alignnone" title="atavrsbin1" src="http://www.youritronics.com/wp-content/uploads/2011/07/atavrsbin1.jpg" alt="atavrsbin1" width="269" height="109" /></a></p>
<blockquote><p>The Inertial One System Board delivers a full 9 degree of freedom sensor platform comprising a 3 Axis Magnetometer from AKM (AK8975); 3 Axis Accelerometer from Bosch (BMA150) and a 3 Axis Gyroscope from InvenSense (ITG-3200) connected through an I2C interface.</p></blockquote>
<p>At $54 its probably the most accessible 9DOF breakout out there and it comes with great sensors. Unfortunately I only managed to test and fly with the ITG-3200 gyro before I had a crash(you crash allot when developing from scratch a new firmware for a quad). Because of the crash a short-circuit happened somewhere on my board and it messed up the ATAVRSBIN1 sensors.</p>
<p>The ITG-3200 is a very good gyro with low noise so to replace the damaged ATAVRSBIN1 and to continue flying I got a wii motion plus which has the ITG3205 inside(its supposed to be just an OEM version of ITG3200). I haven&#8217;t done allot of testing with this new ITG3205 but I did notice some problems on the I2C bus, like sometimes the sensor does not respond , which is strange.(maybe the 400KHz freq is too high for the ITG3205 ?).</p>
<p>Anyway enough for now, I&#8217;ll post some updates on the project soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/avr-isp-mkii-entering-programming-mode-failed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio Spectrum Analyzer V2.1</title>
		<link>http://www.youritronics.com/audio-spectrum-analyzer-v2-1/</link>
		<comments>http://www.youritronics.com/audio-spectrum-analyzer-v2-1/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 15:13:56 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Personal Projects]]></category>
		<category><![CDATA[analyzer]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[spectrum]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3593</guid>
		<description><![CDATA[I&#8217;ve been pretty busy lately working on the latest spectrum analyzer V2.1. Its available in the online shop if you are interested in getting one. Here are some videos bellow with the new blue LED&#8217;s and with a half green/half red display. I have also been working on the new expansion board pictured bellow. The Expansion [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been pretty busy lately working on the latest <a title="audio spectrum analyzer V2.1" href="http://www.youritronics.com/forum/audio-spectrum-analyzer-v2-1-t127.html">spectrum analyzer V2.1</a>. Its available in the <a title="youritronics shop" href="http://www.youritronics.com/shop/">online shop</a> if you are interested in getting one. Here are some videos bellow with the new blue LED&#8217;s and with a half green/half red display.</p>
<a href="http://www.youritronics.com/audio-spectrum-analyzer-v2-1/"><img src="http://img.youtube.com/vi/w9uCCSE4KBo/default.jpg" width="130" height="97" border=0></a>
<a href="http://www.youritronics.com/audio-spectrum-analyzer-v2-1/"><img src="http://img.youtube.com/vi/e9kApA2UbBk/default.jpg" width="130" height="97" border=0></a>
<p>I have also been working on the new expansion board pictured bellow. The Expansion Board was created to help you create bigger custom displays for the Spectrum Analyzer. The Expansion Board works by switching the signals from the spectrum analyzer with the help of high current MOSFET transistors thus giving you the possibility to output higher voltages and currents for your custom setup. You can read more about it on the <a title="expansion board for the audio spectrum analyzer" href="http://www.youritronics.com/forum/expansion-board-v1-0-for-the-audio-spectrum-analyzer-t133.html">forum.</a></p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2011/02/spectrum_analyzer_expansion_board4.jpg"><img class="alignnone size-medium wp-image-3594" title="spectrum_analyzer_expansion_board(4)" src="http://www.youritronics.com/wp-content/uploads/2011/02/spectrum_analyzer_expansion_board4-300x225.jpg" alt="spectrum_analyzer_expansion_board" width="300" height="225" /></a></p>
<p>There is also a <a href="http://www.youritronics.com/forum/audio-spectrum-analyzer-v2-1-assembly-guide-t134.html">new assembly guide</a> for the audio spectrum analyzer V2.1 that will be helpful to those that get the kit unassembled.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/audio-spectrum-analyzer-v2-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>XMEGA Xprotolab Review</title>
		<link>http://www.youritronics.com/xmega-xprotolab-review/</link>
		<comments>http://www.youritronics.com/xmega-xprotolab-review/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 21:13:32 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[ATxmega32]]></category>
		<category><![CDATA[OLED]]></category>
		<category><![CDATA[Oscilloscope]]></category>
		<category><![CDATA[xprotolab]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3541</guid>
		<description><![CDATA[When Gabriel Anzziani from gabotronics.com asked me if I would like to do a review of the XMEGA Xprotolab I said yes because although these small devices cannot replace a real tool in an electronics lab, they often serve as development boards for the devices used on them. The Xprotolab is a miniature mixed signal [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.youritronics.com/wp-content/uploads/2011/01/Xmega-xprotolab-gabotronics_w.jpg"><img class="size-large wp-image-3542 aligncenter" title="Xmega xprotolab gabotronic" src="http://www.youritronics.com/wp-content/uploads/2011/01/Xmega-xprotolab-gabotronics_w-1024x768.jpg" alt="Xmega xprotolab gabotronic" width="448" height="336" /></a></p>
<p>When Gabriel Anzziani from <a href="http://www.gabotronics.com">gabotronics.com</a> asked me if I would like to do a review of the <a title="Xmega Xprotolab" href="http://www.gabotronics.com/development-boards/xmega-xprotolab.htm">XMEGA Xprotolab</a> I said yes because although these small devices cannot replace a real tool in an electronics lab, they often serve as development boards for the devices used on them. The Xprotolab is a miniature mixed signal oscilloscope and waveform generator packed in a DIP module which makes it great for breadboards. It has a nice set of features for such a small device:</p>
<p>for oscilloscope mode:</p>
<ul>
<li>2 Analog Channels, 8 Digital Channels</li>
<li>Maximum Sampling rate: 2MSPS</li>
<li>Analog Bandwidth: 320kHz</li>
<li>Resolution: 8bits</li>
<li>Input Impedance: 1MΩ</li>
<li>Buffer size per channel: 256</li>
<li>Max. Input Voltage: +/- 10V</li>
</ul>
<p>for arbitrary waveform generator:</p>
<ul>
<li>1 Analog Channel</li>
<li>Maximum conversion rate: 1MSPS</li>
<li>Analog Bandwidth: 44.1kHz</li>
<li>Resolution: 8bits</li>
<li>Low output impedance</li>
<li>Buffer size: 256</li>
<li>Max. Output Voltage: +/- 2V</li>
</ul>
<p>The hardware is based on a ATXMEGA32A4 coupled with a Graphic OLED display 128&#215;64 pixels and a TL064 quad op-amp for the analog side. What is not mentioned on the product page is that it also has FFT, Meter mode with voltage and frequency, X-Y mode and a logic analyzer. Sound nice but lets put it to the test and see how it performs.</p>
<p>First thing I wanted to test on the xprotolab is the meter mode; I think for beginners who build breadboard circuits it will be a very useful feature because you could use your multimeter to check some voltage or current while you use the xprotolab to check another voltage or frequency. Every electronics lab should have at least 2 meters to serve this purpose but if you&#8217;re a beginner its most likely you only have one. I must tell you that Gabriel was very helpful when I discovered some bugs in the firmware and he corrected them within hours. Unfortunately it is a work in progress and I could find other bugs even after upgrading. The firmware version used during tests is 0.95.</p>
<p>So to start testing I placed the xprotolab on a mini breadboard and supplied power at 5V. First thing to notice is the OLED display which is a very good choice for this application and provides nice &amp; crisp display with good contras. The menu is not difficult, it takes about 10 mins to get used to it and learn what each menu/key press does. After switching to <strong>meter mode (VDC)</strong> I applied a 3.3V voltage through a 10k series resistor to CH1 and CH2. With both channels connected to the same signal at the same time CH1 was reporting 3.22V and CH2 3.28V while my multimeter was reporting 3.24V so CH1 was off by -0.02 compared to the multimeter while CH2 was off by +0.04. A slight offset between channels can be noticed ~0.06V. The firmware has an offset compensation feature which can be accessed by holding key 4 during power on.</p>
<div style="text-align: center;"><a href="http://www.youritronics.com/wp-content/uploads/2011/01/xprotolab-meter-mode-CH1-and-CH2-1.jpg"><img class="alignnone size-large wp-image-3578" title="xprotolab meter mode CH1 and CH2 (1)" src="http://www.youritronics.com/wp-content/uploads/2011/01/xprotolab-meter-mode-CH1-and-CH2-1-1024x768.jpg" alt="xprotolab meter mode CH1 and CH2" width="448" height="336" /></a></div>
<p>After entering the offset menu it will ask you to ground all inputs and press start. I did that.. it acquired the new offset values and I continued using into meter mode to see how it affected the results. Connected to the same signal as earlier CH1 was now showing 3.19 V which is off with -0.03 compared to the multimeter but the surprise is that CH2 is not taking any measurements, its just stuck after the offset compensation. As you can see the values are pretty close to what the multimeter was reporting and really a 0.02 offset is not a big deal in most applications, but the software has a bug that&#8217;s preventing CH2 from taking measurements after the offset compensation. To fix this I just re-flashed the EEPROM and CH2 started working on meter mode again.</p>
<p>Next I tried the frequency measurement. I used a signal generator with a sine wave and the xprotolab was able to detect frequency down to 10Hz and up to 500KHz which is pretty good for a device so small and inexpensive. Next I tried the VPP meter mode which was able to detect values on a sine wave up to 100KHz, any frequency higher and the measurement got all weird.</p>
<p>Next test was on scope mode, and I was able to get a clean and accurate reading on CH1, up to 100KHz sine wave. Anything higher than 100KHz caused false readings and I could notice the amplitude going down.<br />
I also did tests with square and triangle wave shapes and the results were the same. I did not have enough time to review the other features like the arbitrary waveform generator or the logic analyzer but I&#8217;m sure I&#8217;ll use it somewhere in a future project cause if you remember I wrote a post about how nice is to have a <a title="logic analyzer debugger" href="http://www.youritronics.com/logic-analyzer-on-pickit2/">logic analyzer when debugging</a>. <span style="text-decoration: line-through;">There is one feature I felt it was missing from it though , the value of the frequency printed on the screen while taking scope measurements.</span>(later edit: Gabriel pointed out that this feature exists and he was right, I somehow missed it. You have the option of activating and locking the cursors and this will show the frequency on the screen as 1/deltaT but I feel the position its not the best as it overlaps with the represented signal).  This is a feature commonly found on all modern scopes, and although you have the options of controlling two cursors from the menu its easier to just have the value on the screen without having to use the cursors.</p>
<p>To conclude the Xprotolab is a small and cheap device which besides the features enumerated above doubles as a development board with schematics and source code offered on the product page. To me its clearly visible that someone has put allot of work into this project and is using every bit of processing power from the ATXMEGA32A4 to crunch the numbers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/xmega-xprotolab-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chip and Pin is broken</title>
		<link>http://www.youritronics.com/chip-and-pin-is-broken/</link>
		<comments>http://www.youritronics.com/chip-and-pin-is-broken/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 15:17:32 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[chip]]></category>
		<category><![CDATA[EMV]]></category>
		<category><![CDATA[PIN]]></category>
		<category><![CDATA[smartcard]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3524</guid>
		<description><![CDATA[The truth is banks often lie to us to protect their interests. People like Omar Choudary and projects like the SmartCard Detective show us just how much is being hidden from us. If you ever find yourself victim of credit card fraud this might help you to recover your loss. It&#8217;s outrageous that even though [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youritronics.com/chip-and-pin-is-broken/"><img src="http://img.youtube.com/vi/PWnH_yblgTc/default.jpg" width="130" height="97" border=0></a><br />
The truth is banks often lie to us to protect their interests. People like Omar Choudary and projects like the SmartCard Detective show us just how much is being hidden from us. If you ever find yourself victim of credit card fraud this might help you to recover your loss. It&#8217;s outrageous that even though they know about the loop hole they&#8217;re not doing anything to fix it and on top of that if you&#8217;re a victim they don&#8217;t give you your money back because &#8220;EMV is infallible&#8221;.</p>
<p>you can read about the EMV interceptor in Omar Choudary&#8217;s thesis: <a href="http://www.cl.cam.ac.uk/~osc22/docs/mphil_acs_osc22.pdf">The Smart Card Detective - a hand-held EMV interceptor</a> and you can check for more info and source files on his <a href="http://www.cl.cam.ac.uk/~osc22/scd/">project page.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/chip-and-pin-is-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logic Analyzer on PicKit2</title>
		<link>http://www.youritronics.com/logic-analyzer-on-pickit2/</link>
		<comments>http://www.youritronics.com/logic-analyzer-on-pickit2/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 19:03:36 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[logic analyzer]]></category>
		<category><![CDATA[Microchip]]></category>
		<category><![CDATA[Pic32]]></category>
		<category><![CDATA[PicKit2]]></category>
		<category><![CDATA[SPI]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3502</guid>
		<description><![CDATA[Pretty much every time I tried to work with some sort of digital interface I run into some kind of trouble where a logic analyzer would have saved me hours of blind debugging and posting to various forums. Same thing happened when I decided to try the TMP121 temperature sensor from TI which has an [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty much every time I tried to work with some sort of digital interface I run into some kind of trouble where a logic analyzer would have saved me hours of <em>blind debugging</em> and posting to various forums. Same thing happened when I decided to try the <strong>TMP121 temperature sensor</strong> from TI which has an SPI interface. It was the first time I worked with SPI on a pic32 and as expected nothing worked for the first try. The code for setting the SPI interface and reading from it seemed correct, I took it from the &#8220;32 bit peripheral lib user guide&#8221; from Microchip.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #008080; font-style: italic;">//configure SPI</span>
OpenSPI1<span style="color: #008000;">&#40;</span>SPI_MODE16_ON <span style="color: #008000;">|</span> SPI_SMP_ON <span style="color: #008000;">|</span> SPI_CKE_ON <span style="color: #008000;">|</span> MASTER_ENABLE_ON <span style="color: #008000;">|</span> CLK_POL_ACTIVE_HIGH <span style="color: #008000;">|</span> SEC_PRESCAL_8_1 <span style="color: #008000;">|</span> PRI_PRESCAL_16_1, SPI_ENABLE<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">//start reading T1</span>
mPORTEClearBits<span style="color: #008000;">&#40;</span>BIT_0<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// pull CS low to prepare for reading</span>
<span style="color: #0600FF; font-weight: bold;">while</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>DataRdySPI1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
T1 <span style="color: #008000;">=</span> ReadSPI1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// read 16 bit word</span>
mPORTESetBits<span style="color: #008000;">&#40;</span>BIT_0<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// pull CS high</span></pre></div></div>

<p>So what else could be wrong ? Well at this point it could be a faulty sensor or incorrect use of the SPI interface maybe I wasn&#8217;t generating the clock correctly or maybe some wiring issue. This is the point where you need to have a logic analyzer. While I don&#8217;t have a proper logic analyzer I do have a PicKit2 and it can emulate a 3 channel, modest logic analyzer. I hooked up one of channels to the SCK pin and I noticed I wasn&#8217;t getting any clock signal. But why isn&#8217;t the clock being generated ? The answer came from the Microchip forums, the guys there pointed out that in order to generate the clock signal you have to issue a dummy write. By issuing a dummy write you start generating the clock and you can do the reading. So I added a new line to the code and tried again:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">//configure SPI</span>
OpenSPI1<span style="color: #008000;">&#40;</span>SPI_MODE16_ON <span style="color: #008000;">|</span> SPI_SMP_ON <span style="color: #008000;">|</span> SPI_CKE_ON <span style="color: #008000;">|</span> MASTER_ENABLE_ON <span style="color: #008000;">|</span> CLK_POL_ACTIVE_HIGH <span style="color: #008000;">|</span> SEC_PRESCAL_8_1 <span style="color: #008000;">|</span> PRI_PRESCAL_16_1, SPI_ENABLE<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">//start reading T1</span>
mPORTEClearBits<span style="color: #008000;">&#40;</span>BIT_0<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// pull CS low to prepare for reading</span>
SPI1BUF <span style="color: #008000;">=</span> 0x00<span style="color: #008000;">;</span>			<span style="color: #008080; font-style: italic;">// this sends a 0x00 just to make the clock toggle in order to read</span>
<span style="color: #0600FF; font-weight: bold;">while</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>DataRdySPI1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
T1 <span style="color: #008000;">=</span> ReadSPI1<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// read 16 bit word</span>
mPORTESetBits<span style="color: #008000;">&#40;</span>BIT_0<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>		<span style="color: #008080; font-style: italic;">// pull CS high</span></pre></div></div>

<p>This time I also connected a second channel from the logic analyzer to the SDI pin on the pic32 (data in) and it worked <img src='http://www.youritronics.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , here is the capture:<img class="alignnone size-full wp-image-3509" title="Capture of TMP121 output data on SPI bus" src="http://www.youritronics.com/wp-content/uploads/2010/12/Capture-of-TMP121-output-data-1.png" alt="Capture of TMP121 output data on SPI bus" width="649" height="439" /></p>
<p>As you can see on channel 2 there are 16 clock cycles corresponding to the 16 bit word sent by the TMP121 and on channel 3 connected to SDI(data in on pic32) is the actual binary temperature. If we analyze the data on Ch3, for every falling SCK edge we get <strong>0001101010100000</strong> we can discard the first bit cause its the sign bit (0 = positive , 1 = negative) and plug the rest of the bits in a calculator just to check the data.</p>
<div id="attachment_3511" class="wp-caption alignnone" style="width: 266px"><a href="http://www.youritronics.com/wp-content/uploads/2010/12/binary-data-in-windows-calculator-1.png"><img class="size-full wp-image-3511 " title="binary data in windows calculator" src="http://www.youritronics.com/wp-content/uploads/2010/12/binary-data-in-windows-calculator-1.png" alt="binary data in windows calculator" width="256" height="235" /></a><p class="wp-caption-text">note: windows calc discards the leading 0&#39;s</p></div>
<p>Next we convert to decimal and we get a value of <strong>6816.</strong></p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2010/12/decimal-data-in-windows-calculator-1.png"><img class="alignnone size-full wp-image-3512" title="decimal data in windows calculator" src="http://www.youritronics.com/wp-content/uploads/2010/12/decimal-data-in-windows-calculator-1.png" alt="decimal data in windows calculator" width="254" height="235" /></a></p>
<p>6816 is not quite the number that we were looking for, but remember the data is represented in two&#8217;s complement so we have to <strong>divide it by 256</strong> to get the actual temperature in degrees C.</p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2010/12/actual-temperature-in-windows-calculator-1.png"><img class="alignnone size-full wp-image-3513" title="actual temperature in windows calculator" src="http://www.youritronics.com/wp-content/uploads/2010/12/actual-temperature-in-windows-calculator-1.png" alt="actual temperature in windows calculator" width="256" height="257" /></a></p>
<p>The result after division by 256 is <strong>26.625 degrees C</strong>. This was the room temperature at the time of this test. From here on everything is simple, I know I&#8217;m getting the right data out of the sensor its just a matter of processing and using it. And here is a picture of the PCB I made for the TMP121 in SOT23-6 package. Probably one of the smallest PCB I made at home, 30&#215;10 mm.</p>
<p><a href="http://www.youritronics.com/wp-content/uploads/2010/12/TMP121-temperature-sensor-PCB.jpg"><img class="alignnone size-medium wp-image-3515" title="TMP121 temperature sensor PCB" src="http://www.youritronics.com/wp-content/uploads/2010/12/TMP121-temperature-sensor-PCB-300x225.jpg" alt="TMP121 temperature sensor PCB" width="300" height="225" /></a></p>
<p>Now I&#8217;m seriously thinking about getting the <a href="http://dangerousprototypes.com/category/logic-analyzer/">Logic Sniffer</a> from Dangerous Prototypes, it&#8217;s a must have.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/logic-analyzer-on-pickit2/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Grace from Texas Instruments</title>
		<link>http://www.youritronics.com/grace-from-texas-instruments/</link>
		<comments>http://www.youritronics.com/grace-from-texas-instruments/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 15:49:25 +0000</pubDate>
		<dc:creator>Florin</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Grace]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[MSP430]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://www.youritronics.com/?p=3490</guid>
		<description><![CDATA[I first heard of it from Ian, I&#8217;ve gotta say this opens allot of possibilities for people to work with the MSP430. Grace is a graphical configuration tool for MSP430 developers for setting up integrated peripherals such as ADCs, OpAmps, Timers, Clocks, and other modules. This tool is a free and open source, eclipse-based plug-in [...]]]></description>
			<content:encoded><![CDATA[<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://c.gigcount.com/wildfire/IMP/CXNID=2000002.11NXC/bT*xJmx*PTEyOTE3MzU4MTEyNjYmcHQ9MTI5MTczNjYyNzE3MCZwPSZkPSZnPTImbz*2OGEwYTlhYzQ3ZDQ*YWU1YTRkMzk2NWE4/YmMyNTM*ZSZvZj*w.gif" border="0" alt="" width="0" height="0" /><object id="kaltura_player_1291735794" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="330" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="kaltura_player_1291735794" /><param name="allowfullscreen" value="true" /><param name="data" value="http://www.kaltura.com/index.php/kwidget/wid/1_9tndpl3p/uiconf_id/2342281" /><param name="allowScriptAccess" value="always" /><param name="allowNetworking" value="all" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#000000" /><param name="src" value="http://www.kaltura.com/index.php/kwidget/wid/1_9tndpl3p/uiconf_id/2342281" /><embed id="kaltura_player_1291735794" type="application/x-shockwave-flash" width="400" height="330" src="http://www.kaltura.com/index.php/kwidget/wid/1_9tndpl3p/uiconf_id/2342281" bgcolor="#000000" allownetworking="all" allowscriptaccess="always" data="http://www.kaltura.com/index.php/kwidget/wid/1_9tndpl3p/uiconf_id/2342281" allowfullscreen="true" name="kaltura_player_1291735794"></embed></object><br />
<br />
I first heard of it from <a href="http://dangerousprototypes.com/2010/12/07/grace-tis-msp430-graphical-peripheral-config-tool/">Ian</a>, I&#8217;ve gotta say this opens allot of possibilities for people to work with the MSP430.</p>
<blockquote><p><a title="graphical user interface for MSP430" href="http://focus.ti.com/docs/toolsw/folders/print/grace.html">Grace</a> is a graphical configuration tool for MSP430 developers for setting up integrated peripherals such as ADCs, OpAmps, Timers, Clocks, and other modules. This tool is a free and open source, eclipse-based plug-in for Code Composer Studio. The Grace Beta currently supports all MSP430 Value Line devices (MSP430G2xx) as well as the MSP430F2274 device.</p></blockquote>
<p>
I was thinking about starting some projects on the MSP430 in the near future and one big problem is that I would have to read allot of datasheets and other info to get me started, and there isn&#8217;t always time for that. Grace might solve that problem for you and allow you to skip the hard work. Let me know if you&#8217;ve tried it. I&#8217;m especially interested on how it can interact with one of their <strong>MSP430+RF SoC</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.youritronics.com/grace-from-texas-instruments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

