X-Git-Url: http://challenge-bot.com/repos/?p=challenge-bot;a=blobdiff_plain;f=pcb%2Findex.html;fp=pcb%2Findex.html;h=7cba89b1f8bbff22a6a582033e6d60dabeb21a9b;hp=0000000000000000000000000000000000000000;hb=468dbff97d0f5e6014495833ac23cab18c5e4eeb;hpb=f2a874c1149aca85083703362e435599ae211736 diff --git a/pcb/index.html b/pcb/index.html new file mode 100644 index 0000000..7cba89b --- /dev/null +++ b/pcb/index.html @@ -0,0 +1,280 @@ + + + +MBino (Rev. C) + + + +

+MBino (Rev. C) +

+

+

+

+Table of Contents +

+

+

+

+

+ +1.0 Schematic +

+

+The schematic is available as either a + +.pdf file or as a + +.svg (Scalable Vector Graphics) file. +The .pdf file should print reasonably well on a black +and white printer. The .svg file is embedded below: +

+ + +

+There are two 2.1mm power jacks , N1 and N3. +N1 feeds power through protection diode D1 and +protection resettable polyfuse F2 to the LPWR1 +and LWPR2 pins of MakeBus connector N2. D1 protects +everthing if the power accidentally comes in with +reverse polarity on N1. (Connector N2 is labeled as +"Robus" which is the previous bus name to "MakerBus".) +The ground line of N1 is also connected to LGND1 +and LGND2 of N2. The same thing happens with N3, +F1, and D2 with BPWR1, BPWR2, BGND1, and BGND2 on N2. +

+The LPWR1 and LPWR1 lines from N2 are further connected +to the 5V linear regulator U1 and the 3.3V linear +regulator U2 to provide 5 volts and 3.3 volts respectively. +

+CANH and CANL of N2 or connected to the 5V CAN bus +transceiver chip U3. The 1 × 3 jumper J1 can +be jumpered to connect a 124 ohm termination resistor R6. +The 24K resistor R9 enables slope control for U3. +The TXD and RXD pins are connected to the microcontroller +U4 pins PD3 (TXD1) and PD2 (RXD1). Capacitors C5-C10 +are .1µF bypass capacitors for U4 and U3. +16MHz crystal X1 and crystal 22pF capactiors C4 and C5 +provide the 16MHz frequency reference for U4. +

+Connector N4 is a 2×8 pin combined JTAG and +serial download connector that connects to the +various JTAG pins on the microcontroller (U4). +The serial debug lines from N4 are also connected +to the 1×6 serial cable pin N5 before +connecting to PD1 (TXD0) and PD0 (RXD0) on U4 +through 1K ohm resistors R2 and R3. R2 and R3 +pins D0 (N9) and D1 (N9) to have priority over +over both N4 and N5 is voltage sources are connected +to both at the same time. It is a really bad idea +to attempt to use both N4 and N5 for serial downloading +at the same time. 10K ohm resistor R1 and 1µF +capacitor C12 provide a simple reset circuit to trigger +RESET on U4. The reset button SW1 can also be used +to manually reset U4. +

+470 Ohm resistor R8 and LED D4 are connected to D13 +(N8) to provide an on-board LED. 470 ohm resistor R7 +and bicolor LED D3 are only meant to be used for +debugging; they are not installed in the final product. +Connectors N6 (Power/Reset pins), N7 (ISP header), +N8 (D0-D13, GND, AREF), N9 (D0-D7) and N10 (A0-A5) +are used used to connect to Arduino compatible shields. +

+4.7K ohm resistors R4 and R5 are available to be used +as pull up resistors for the I2C bus pins +connected to D13 (SCK) and D12 (MISO) pins on U4. +

+

+ +2.0 Design Files +

+

+This board was designed using KiCAD. A complete KiCAD +archive of board is found in + +busduino.zip. ("BusDuino" was the original name +of the board before it was renamed to "MBino".) +When this file is unzipped, the KiCad project file +can be found down in +robus/busdino/rev_b/busdino.pro. Various +shared .mod and .lib files +are kept in the robus directory. All +Gerber and drill files are generated using KiCad. +

+

+ +3.0 Errata and Notes +

+

+The following errors and issues are noted: +

+

+The design notes for the reset circuit are: +

+

+

+ +4.0 Bootloader +

+

+{Bootloader discussion goes here!} +

+

+ +5.0 IDE

+

+The following URL specifies how to add a new board: +

+ + + http://www.avr-developers.com/corefiles/index.html +
+

+The short answer is: +

+    cd .../hardware
+    (cd arduino; tar cvf /tmp/arduino.tar .)
+    (mkdir {your_board_dir}; tar xvf /tmp/arduino.tar)
+    # now edit {your_board_dir}/boards.txt to configure your board
+    # now edit {your_board_dir}/programmers.txt
+								
+The problem with this strategy is that you get a snap-shot of +all the files and everything becomes out of date when the next +release of the Arduino IDE comes out. A better way is probably +to have a shell script that make a copy of arduino files followed +by a file that unzips the stuff that needs to be changed. That +may be just a few files. +

+Here are the files that have been edited so far: +

+ .../MBino/variants/standard/pins_arduino.h:
+
+    // Add 4 pins to the vector for I2C SDA, SCL, and external pull-ups
+    SDA = 20
+    SCL = 21
+
+    port_to_mode_PGM = {
+	// Add &DDRA,	// ATmega324 has a Port A
+
+    port_to_output_PGM = {
+	// Add &PORTA,	// ATmega324 has a Port A
+
+    port_to_input_PGM = {
+	// Add &PINA,	// ATmega324 has a Port A
+
+    digital_pin_to_port_PGM = {
+	// Remap digital pin ports
+
+    digital_pin_to_bit_mask_PGM = {
+	// Remap bit masks
+								
+Obviously thes is pretty minor changes. +
+

+{Create a .zip file that creates the various MBino +sub-directories for the Arduino IDE.} +

+
+
+ +Copyright 2013 by + +Wayne C. Gramlich. +All rights reserved. +
+ +