-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDesign_Decisions.pg
72 lines (57 loc) · 9.18 KB
/
Design_Decisions.pg
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
flags: 01010101010
blocks: <h2>Bluetooth</h2><p>We have used HC-05 in the past (before [[ProgArm 0.3]]), but it is too limited. Here are some of the negative aspects of HC-05:<br /></p><ul><li>It is very big</li><li>Very limited customization</li><li>Going into configuration mode is a pain</li><li>It does not support Bluetooth LE, therefore it drains too much power (a bit less than 10mA when paired, much more otherwise).</li><li>Proprietary firmware</li></ul><p>CC2541 or similar chips from TI is even worse! Even though it gives you access to everything, but to compile any code you need IAR compiler which costs $3,500...<br />However, it seems like there is a project called <a class="url http outside" href="https://github.com/aanon4/BlueBasic">BlueBasic</a>. It should allow people to get some code written in BASIC into the chip for free. Sounds cool, but it feels like the project is not mature enough. Also, if we go this route, we will be stuck with this hell for a while.</p><p>There is also nRF51822, great thing. You don't have to buy some compiler, just use <strong>gcc</strong>. But to get access to any documentation you have to purchase their development board for 100$. Not too bad, but:<br /></p><ul><li>It goes against our [[Goals]] to let people modify the code in a true free software fashion.</li><li>WE CAN'T SEE ANY DOCUMENTATION. Maybe this chip sucks? We just don't know. While other companies send out free samples, Nordic Semiconductor want you to pay money just to see a datasheet.</li><li>The documentation is shit anyway. You will never find what you want, it is just not there.</li></ul><p>However, there is <a class="url http outside" href="https://github.com/pauloborges/blessed">blessed</a>, which is a <a class="url http outside" href="https://www.gnu.org/philosophy/free-sw.html">free</a> implementation of a bluetooth stack for nRF51822. This is <strong>very promising</strong>! Unfortunately, the progress on this project has stopped for a while (at the time of writing 2015-01-09), and it seems like the current version is not really mature.</p><p>Also, to compile <a class="url http outside" href="https://github.com/pauloborges/blessed">blessed</a> you have to get Nordic NRF51 SDK. Which you can get, of course, by buying their development kit for 100$. But here is a little tip: <strong>a lot of people on github include SDK in their repos</strong> (which is against the license, of course), but you can get it anyway. This is not a real solution for ProgArm if we want to play it seriously.</p><p>nRF8001 is a compromise.<br />Pros:<br /></p><ul><li>It is much more configurable than HC-05</li><li>Bluetooth LE</li><li>Small</li><li>Decent datasheet (very unnatural for Nordic Semiconductor)</li><li>Easy to use</li></ul><p>Cons:<br /></p><ul><li>Proprietary firmware</li><li>No way to write code directly on it</li></ul><h2>Pins/Ports</h2><p>We have tried USB ports in the past (before [[ProgArm 0.3]]), it was OK, but there are better solutions. It doesn't matter how hard you solder it to the board, one day the traces will start peeling off the board (due to the constant pressure on the port).</p><p>It is very hard to find another port type. Most of them are pricey, lots of them are too big. It is just too hard to find something suitable for ProgArm!</p><p>The best solution to use 1.27mm pin headers:<br /></p><ul><li>They're cheap</li><li>You can find them anywhere</li><li>You can have as many pins as you want</li><li>They are pretty small</li><li>They are easy to solder</li><li>Hey, it just works!</li></ul><h2>Size</h2><p>We try to keep it reasonably small. It means that we will not sacrifice proper PCB design, extensibility or ease of assembly for smaller size.</p><p>The size could be reduced dramatically by placing some components on the bottom of the board, but it makes reflow soldering harder.</p><h2>Layer count</h2><p>Although the PCB design can be much better if we switched to 4-layer boards, the benefit does not justify the price. For example, look at <a class="url http outside" href="http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html">iteadstudio</a>. 2-layer 5x5cm board $9.90, 4-layer 5x5cm board $65.00. If you know any manufacturer that could make 4-layer boards for a reasonable price -- please let us know.</p>
diff-minor: <p><strong>Changed:</strong></p>
<div class="old"><p>< <strong class="changes">TODO</strong></p></div><p><strong>to</strong></p>
<div class="new"><p>> <strong class="changes">We try to keep it reasonably small. It means that we will not sacrifice proper PCB design, extensibility or ease of assembly for smaller size.<br />> The size could be reduced dramatically by placing some components on the bottom of the board, but it makes reflow soldering harder.</strong></p></div><p><strong>Changed:</strong></p>
<div class="old"><p>< <strong class="changes">TODO</strong></p></div><p><strong>to</strong></p>
<div class="new"><p>> <strong class="changes">Although the PCB design can be much better if we switched to 4-layer boards, the benefit does not justify the price. For example, look at [[http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html iteadstudio]]. 2-layer 5x5cm board $9.90, 4-layer 5x5cm board $65.00. If you know any manufacturer that could make 4-layer boards for a reasonable price -- please let us know.</strong></p></div>
ts: 1424620591
minor:
host: 82.131.101.209
username: AlexDaniel
revision: 6
summary: Size and layer count
diff-major: 1
languages:
text: == Bluetooth
We have used HC-05 in the past (before [[ProgArm 0.3]]), but it is too limited. Here are some of the negative aspects of HC-05:
* It is very big
* Very limited customization
* Going into configuration mode is a pain
* It does not support Bluetooth LE, therefore it drains too much power (a bit less than 10mA when paired, much more otherwise).
* Proprietary firmware
CC2541 or similar chips from TI is even worse! Even though it gives you access to everything, but to compile any code you need IAR compiler which costs $3,500...
However, it seems like there is a project called [[https://github.com/aanon4/BlueBasic BlueBasic]]. It should allow people to get some code written in BASIC into the chip for free. Sounds cool, but it feels like the project is not mature enough. Also, if we go this route, we will be stuck with this hell for a while.
There is also nRF51822, great thing. You don't have to buy some compiler, just use **gcc**. But to get access to any documentation you have to purchase their development board for 100$. Not too bad, but:
* It goes against our [[Goals]] to let people modify the code in a true free software fashion.
* WE CAN'T SEE ANY DOCUMENTATION. Maybe this chip sucks? We just don't know. While other companies send out free samples, Nordic Semiconductor want you to pay money just to see a datasheet.
* The documentation is shit anyway. You will never find what you want, it is just not there.
However, there is [[https://github.com/pauloborges/blessed blessed]], which is a [[https://www.gnu.org/philosophy/free-sw.html free]] implementation of a bluetooth stack for nRF51822. This is **very promising**! Unfortunately, the progress on this project has stopped for a while (at the time of writing 2015-01-09), and it seems like the current version is not really mature.
Also, to compile [[https://github.com/pauloborges/blessed blessed]] you have to get Nordic NRF51 SDK. Which you can get, of course, by buying their development kit for 100$. But here is a little tip: **a lot of people on github include SDK in their repos** (which is against the license, of course), but you can get it anyway. This is not a real solution for ProgArm if we want to play it seriously.
nRF8001 is a compromise.
Pros:
* It is much more configurable than HC-05
* Bluetooth LE
* Small
* Decent datasheet (very unnatural for Nordic Semiconductor)
* Easy to use
Cons:
* Proprietary firmware
* No way to write code directly on it
== Pins/Ports
We have tried USB ports in the past (before [[ProgArm 0.3]]), it was OK, but there are better solutions. It doesn't matter how hard you solder it to the board, one day the traces will start peeling off the board (due to the constant pressure on the port).
It is very hard to find another port type. Most of them are pricey, lots of them are too big. It is just too hard to find something suitable for ProgArm!
The best solution to use 1.27mm pin headers:
* They're cheap
* You can find them anywhere
* You can have as many pins as you want
* They are pretty small
* They are easy to solder
* Hey, it just works!
== Size
We try to keep it reasonably small. It means that we will not sacrifice proper PCB design, extensibility or ease of assembly for smaller size.
The size could be reduced dramatically by placing some components on the bottom of the board, but it makes reflow soldering harder.
== Layer count
Although the PCB design can be much better if we switched to 4-layer boards, the benefit does not justify the price. For example, look at [[http://imall.iteadstudio.com/open-pcb/pcb-prototyping.html iteadstudio]]. 2-layer 5x5cm board $9.90, 4-layer 5x5cm board $65.00. If you know any manufacturer that could make 4-layer boards for a reasonable price -- please let us know.
lastmajor: 6
keep-ts: 1424620591