-
Notifications
You must be signed in to change notification settings - Fork 7
/
index.html
262 lines (207 loc) · 11.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>>> Little Wire</title>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-27159354-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<link rel="stylesheet" type="text/css" href="style.css">
<link href='http://fonts.googleapis.com/css?family=Droid+Serif' rel='stylesheet' type='text/css'>
<style>
#mainContent
{
border-style: dotted;
border-width: 1px;
padding-left: 10px;
padding-right: 10px;
padding-top: -50px;
width: 810px;
position: relative;
top: -17px;
}
#Navigation
{
position: relative;
top: -20px;
}
</style>
</head>
<body>
<div id="Header">
<h1>>> Little Wire</h1>
</div>
<div id="Navigation">
<h3>
<a href="./index.html">_homepage</a>
<a href="./downloads.html">_downloads</a>
<a href="./contact.html">_contact</a>
<a href="./publicity.html">_publicity</a>
<a href="./documentation/">_documentation</a>
<a href="./oldsite">_oldsite</a>
</h3>
</div>
<div id="mainContent">
<!--***************************** Main content starts. *****************************-->
<p><img src="./resources/littlewire.jpg" alt="little wire" /></p>
<h2>Short Story</h2>
<p>When i saw simpleavr's <a href="http://www.simpleavr.com/avr/vusbtiny">implementation</a> of usbtiny on attiny45 , i thought it would be cool if i make a kit version of this with a minimal form factor. Then i designed a PCB and sent for first prototype. Later on i thought, if i want to sell this, it would be much cooler ,and more suitable with "<a href="http://www.oshwa.org/definition/">Open Source Hardware</a>" concept, if i bring this project one step ahead. So i tried to fit anything extra to the device and this <i>Little Wire</i> project came out.</p>
<p><strong>Little Wire</strong> is multi-featured USB controlled Open Source Hardware tool packed in a minimal form factor designed by ihsan Kehribar.</p>
<p>I collaborated with the <a href="http://www.seeedstudio.com">Seeedstudio</a> and they produced an initial batch for me and <em>Little Wire</em> kits went <a href="http://www.seeedstudio.com/depot/little-wire-p-1212.html">online</a> in June 2012. After that batch finished in April 2013, <em>notice the time difference</em>, I decided not to continue producing them through contract manifacturing. Currently, you can't buy readymade <em>Little Wire</em> kits but since this is an OSHW project, you are free and welcomed to produce your own version.</p>
<p><strong style="border-bottom: 1px solid #cccccc;">News:</strong> Digistump started selling adaptor kits for anyone wants to use their Digisparks with the Littlewire firmware more conveniently. You can check them out at from here:<br>
<a href="http://digistump.com/products/99">http://digistump.com/products/99</a><br>
<a href="http://digistump.com/products/100">http://digistump.com/products/100</a><br>
<a href="http://digistump.com/products/101">http://digistump.com/products/101</a><br>
</p>
<p>Current firmware/software release version is <strong>v1.3</strong>. If your <i>Little Wire</i> isn't loaded with the v1.3 or the v1.2 firmware you can still use the <a href="./oldsite/index.html">old web site</a> for reference or you can download the archive software/firmware releases from <a href="./downloads.html">downloads</a> page, but I advise you to upgrade your firmware. Below, you find how you can do this.</p>
<h2>Features</h2>
<ul>
<li><em>usbtinyisp</em> compatible AVR programmer.</li>
<li>4 channel GPIO.</li>
<li>ADC with 10 bit resolution.</li>
<li>2 parallel hardware PWM outputs.</li>
<li>SPI interface.</li>
<li>I2C interface.</li>
<li>1-Wire interface</li>
<li>WS2812 RGB LED interface.</li>
<li>Multiple device support.</li>
</ul>
<h3>Experimental Features</h3>
<ul>
<li>3 parallel software PWM outputs.</li>
<li><a href="http://blog.kehribar.me/?p=36">Printf style debugging over AVR-ISP pins!</a></li>
<li style="text-decoration:line-through">Pic24f programmer with limited device support.</li>
<li>USB to UART converter, by loading another firmware <em>(<a href="http://www.recursion.jp/avrcdc/cdc-232.html">CDC-232</a> port)</em> Maximum advised baud rate is 4800 bps.</li>
</ul>
<p><strong>Note:</strong> This tool has to take instructions at run-time over USB. It can't work in a computerless environment.</p>
<h2>Pin Mapping</h2>
<table>
<thead>
<tr>
<th>Silkscreen</th>
<th>usbtinyisp</th>
<th>Hard PWM</th>
<th>Soft PWM</th>
<th>ADC </th>
<th>I2C</th>
<th>SPI</th>
<th>Onewire</th>
<th>WS2812</th>
<th>CDC-232</th>
</tr>
</thead>
<tbody>
<tr>
<td>pin1 </td>
<td>MISO </td>
<td>CH_B </td>
<td>CH_2 </td>
<td>- </td>
<td>- </td>
<td>DO </td>
<td>- </td>
<td>DATA </td>
<td>TX </td>
</tr>
<tr>
<td>pin2 </td>
<td>SCK </td>
<td>- </td>
<td>CH_3 </td>
<td>CH_1</td>
<td>SCL</td>
<td>SCK</td>
<td>DATA </td>
<td>DATA </td>
<td>RX </td>
</tr>
<tr>
<td>pin3 </td>
<td>RESET </td>
<td>- </td>
<td>- </td>
<td>CH_0</td>
<td>- </td>
<td>CS </td>
<td>- </td>
<td>DATA </td>
<td>- </td>
</tr>
<tr>
<td>pin4 </td>
<td>MOSI </td>
<td>CH_A </td>
<td>CH_1 </td>
<td>- </td>
<td>SDA</td>
<td>DI </td>
<td>- </td>
<td>DATA </td>
<td>- </td>
</tr>
</tbody>
</table>
<h2>Software Support</h2>
<p>When i first released <em>Little Wire</em> , it had native C,C++,C# and Processing support through custom libraries written by me. Later, maintaining multiple software libraries became a very demanding task. Therefore I dropped support for C++,C# and Processing libraries with the v1.3 release of <em>Little Wire</em>. If you still use your v1.0 / v1.1 firmware you can look at the archive releases to get support for those languages. <strong>Beware</strong>, software libraries are <strong>not</strong> backward/forward compatible and I definitely advice you to get the latest v1.2 firmware onto your device.</p>
<p>Doxygen documentation for the current <em>C library</em> can be found here: <a href="http://littlewire.github.io/documentation/">http://littlewire.github.io/documentation/</a></p>
<p>For further support, please take a look at <em>examples</em> folder. If you want to contribute an example you can make a pull request so that I can add it to the main repo, or if you find a bug in one of the examples please open an issue ticket.</p>
<h3>Ruby library: <em>littlewire.rb</em></h3>
<p>Even though this is not an official and complete library for the <em>Little Wire</em>, it is well developed and worth mentioning. This library is maintained by <a href="http://twitter.com/bluebie">@Bluebie</a> and covers <em>most</em> of the <em>Little Wire</em> features. If you are interested in controlling your <em>Little Wire</em> device from Ruby, it would be worth looking. You can find the details about this library here: <a href="https://github.com/Bluebie/littlewire.rb">https://github.com/Bluebie/littlewire.rb</a></p>
<h2>Firmware Upgrade / Installation</h2>
<h3>If you have a bare Attiny85 chip:</h3>
<ul>
<li><p>First, you should upload the <em>micronucleus</em> bootloader software to your chip and you should set the fuses properly. Following is an example</p>
<pre><code> avrdude -c usbtiny -p t85 -U flash:w:micronucleus-1.02.hex -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xfe:m
</code></pre></li>
<li><p>After you upload the bootloader to your chip, you can follow the steps below.</p></li>
</ul>
<h3>If your Attiny85 has <em>micronucleus</em> bootloader installed:</h3>
<ul>
<li><p>You can upload the desired firmware via the micronucleus commandline application.</p>
<pre><code> micronucleus littlewire_v13.hex
</code></pre></li>
<li><p>Alternatively, you can use the 'single-click littlewire firmware installer' applications which you can find from: <a href="http://littlewire.github.io/downloads.html">http://littlewire.github.io/downloads.html</a> </p>
<li><p>You can find the micronucleus commandline application from here: <a href="https://github.com/Bluebie/micronucleus-t85">https://github.com/Bluebie/micronucleus-t85</a></p></li>
</ul>
<h3>If your Attiny85 has <em>fast tiny & mega UART</em> bootloader installed:</h3>
<ul>
<li>You can upload the latest firmware via onboard bootloader, but I don't recommend sticking to the old bootlodaer, you should change it. Micronucleus is really good ...</li>
<li>You can use a HVSP programmer like STK500, AVR Dragon or a high voltage fuse resetter device like "HV Rescue Shield" or "HSVP Fuse Resetter" to reset your device completely. After you disable the RSTDISBL fuse, you can follow the <em>"If you have a bare Attiny85 chip"</em> steps.</li>
<li>You can buy an empty Attiny85 chip and start from the begining.</li>
<li>You can replace your bootloader via, uploading a "upgrader firmware". This type of firmware is a very special invention comes from Blubie (<i>Jenna Fox</i>) which replaces the onboard bootloader with the micronucleus. You can read more about this technique from here: <a href="https://github.com/Bluebie/micronucleus-t85/tree/master/upgrade">https://github.com/Bluebie/micronucleus-t85/tree/master/upgrade</a>. It is a very experimental technique but many people reported that this is working and you might want to try it too.
</ul>
<h3>If you bought your <em>Little Wire</em> from Seeedstudio:</h3>
<ul>
<li>Unfortunately, micronucleus bootloader wasn't a <em>thing</em> when I was designing the v1.0 release of the <em>Little Wire</em>. Therefore your device has the <em>fast tiny & mega UART</em> bootloader. You can follow the steps above.</li>
</ul>
<h2>Where are the pre-compiled binaries, drivers and archives?</h2>
<p>You can find them from the downloads page: <a href="http://littlewire.github.io/downloads.html">http://littlewire.github.io/downloads.html</a></p>
<h2>Reference projects</h2>
<ul>
<li>This project is proudly and heavily based on:<br>
<ul>
<li>Original usbtiny project: <a href="http://www.xs4all.nl/~dicks/avr/usbtiny/">http://www.xs4all.nl/~dicks/avr/usbtiny/</a></li>
<li>Ladyada version of usbtiny: <a href="http://www.ladyada.net/make/usbtinyisp">http://www.ladyada.net/make/usbtinyisp</a>/</li>
<li>simpleavr's implementation of usbtiny on Attiny45: <a href="http://www.simpleavr.com/avr/vusbtiny">http://www.simpleavr.com/avr/vusbtiny</a></li>
<li>"fast tiny & mega UART bootloader" project from AVR freaks: <a href="http://tinyurl.com/fastTinyAndMega-UARTbootloader">http://tinyurl.com/fastTinyAndMega-UARTbootloader</a></li>
<li>Micronucleus bootloader: <a href="https://github.com/Bluebie/micronucleus-t85">https://github.com/Bluebie/micronucleus-t85</a></li>
</ul>
</li>
</ul>
<h2>Please note:</h2>
<pre><code>Do not use the Adafruit USB VID/PID without written permission from Adafruit Industries, LLC and
Limor "Ladyada" Fried ([email protected]). Permission is granted for littlewire, Ihsan Kehribar
and Seeed Studio by Adafruit Industries, LLC to use the Adafruit USB VID/PID for littlewire
(SKU:AVR06071P)
</code></pre>
<!--***************************** Main content ends. *******************************-->
</div>
</body>
</html>