Part for new SBC


#1

CHIP (or more precisely C.H.I.P.) is an unfortunately-named single-board computer with an ARM-based processor. It is comparable to a low-end Raspberry Pi. I won’t bore you with its general specs, but will mention that it has two 40-pin headers that bring out GPIO lines, power, etc. Here’s what it looks like:

My interest is in making simple circuits which connect to CHIP’s headers, and documenting the projects, especially for beginners. I like Fritzing’s breadboard view, as it gives a very clear visual on how a beginner could assemble the project. So, just as Fritzing has various single-board computers, including RPis, I thought I might learn how to use the editor to create a CHIP device. But I didn’t want to climb a steep learning curve if somebody more-experienced were already making one.

If nobody is working on it yet, is there a good starting place for a rank beginner to start? I figured to clone a RPi board and tweak it to be more CHIP-like.

Steve


#2

CHIP (or more precisely C.H.I.P.) is an unfortunately-named single board computer linux with an ARM-based processor. It is comparable to a low-end Graperain and Raspberry Pi .


#3

I need it too, please.


#4

Here is my C.H.I.P. part contribution.

CHIP.fzpz (27.2 KB)


#5

Not a bad start on breadboard. You may want to fix up schematic some to be a box with appropriate pin labels (listing each pins I/O function) and actual pins and terminals as it doesn’t appear to have any. It would be good to move the connectors in pcb to their correct positions and again add appropriate pins so the connectors can be routed in case someone wanted to put it on a board and probably modify silkscreen to trace the outer edges of the board.

Peter


#6

This is my first Fritzing part. Could you help me modifying it as you stated? :slight_smile:


#7

Here are a couple of tutorials on parts creation, if you have specific questions feel free to ask. It looks from breadboard that you are already familiar with an svg editor and that’s the biggest hurdle. As the original poster suggested looking at the svg files for schematic and pcb on one of the raspberry PI parts should give you a good base for what you need to do.

(edit)
In the end I found it isn’t as bad as it seemed (80 connections with no pins) the connections are there in the svg files, just the fpz was messed up. So I fixed up the fpz file (changed the pins from female to male as they should be and added the busses for the vccs and grds which were missing) and did the first couple or 4 pins in schematic as an example (and added the necessary rectangle for the outline). Now you need to move the rest of the pins in schematic in to position. I suggest (as I started) doing one row of the dual connectors (so connector 0, 2, 4, … , 38) in one bank and the other in a second bank below it (that is started in the schematic in this, the rest is just a lot of work moving the pins which you can do :slight_smile: ). Basically I highlighted connector0pin (the y of the connector) then changed the id of the line below it to be connector0pin, then deleted the y and an extra line that was there and moved the connector0pin line to the new postition on the rectangle. Then I moved connector0terminal to be on the very end of the 0pin line. If you repeat those steps for the other pins (which will be a fair bit of work) you will get a reasonable schematic. Then you need to move the connectors on pcb to be in the correct physical position (or not if you don’t care about pcb) and you should be away.

CHIP_mod.fzpz (28.9 KB)

Peter


#8

Why male? The connectors on CHIP are female. On the PCB we should put a similar female connectors to wire to the board. Is it right or wrong?

I’ll read with more attention your schematic building explanation, I think it needs further optimization to look well.


#9

The fpz file connectors have no relation to the physical connectors. The female connectors are used for the breadboard as a place to make a connection (without showing up in schematic), male connectors (which you normally want in a part) accept wire connections and appear in schematic. On the pcb (should you make one) you would actually use male headers (one side soldered to the board, and the other side plugs in to the connectors on the chip), but from the pcb point of view there are only the holes that you can choose to put male or female connectors (or wires) in to.

It certainly does :slight_smile: as it stands it is the start of the work that needs to be done to make a better schematic. You (or someone) needs to move the rest of the pins and terminal to the correct positions and add the rest of the pin labels, I just did the first few to show how I would do it (there are lots of other ways to do it as well that are equally good). You may want to increase the font size on the labels for instance to make them bigger and thus easier to read. You do however want the pins (and the terminals) to be on a .1 inch grid to match both the grid and most other parts. If you can’t figure out what I did, ask and I’ll try and explain better.

Peter


#10

Hi @vanepp, attached you can find my, I hope, final release. Please look at it and kindly give me an opinion. :slight_smile:

CHIP.fzpz (26.4 KB)


#11

You have certainly picked up parts creation faster than I did :slight_smile: , its pretty good. Schematic however still has a problem in that the terminal ids can’t be a group, they need to be a small (I usually use .01 by .01) rectangle so that Fritzing can pick up an x/y coordinate for the terminal. I have corrected pin 0 in the part included in this fzz and added my usual test which illustrates the problem (which is without a valid terminal set, the line terminates in the middle of the pin which isn’t what you want). Note that pin 1 (Gnd) to pin 1 of J2 in schematic bends at the end of the pin, where the other pins (pin 2 to J1 pin 1 for instance) bend in the middle of the pin rather than the end. That is because there isn’t a valid terminal set for the pin (because it is a group rather than a rectangle). The other issue is the pin layout from breadboard to schematic. To some extent its hard to do this properly, but I tend to like the J1 J2 layout in breadboard as opposed to your current setup which causes the J3 / J4 layout in breadboard (which I find messy). If you choose to implement the J1/J2 solution, schematic needs to change (which will be a fair bit of work and perhaps not worth doing!) to a connector scheme like this

pin

1
3
5

39

(I prefer to leave a space between the two groups to make the break obvious)

2
4

40

This layout lets you run all the wires for one side of the connector up to their connection points without having to cross each other as in the J3/J4 case, but as I said either way works and this change is a fair bit of work and may not be worth doing. Hope this helps! You can get my modified part out of this fzz by right clicking on the new part in the temp parts bin on the right and clicking export part which will write the new part to an fzpz file to take apart to get the svg for schematic to see how terminal needs to be defined and placed.

Chip1_test.fzz (32.7 KB)

Peter


#12

Hi, I just fixed my C.H.I.P. part.

CHIP.fzpz (27.8 KB)


Replace part with a new one
#13

Looks good, except for one point I missed the first time :frowning: , the grounds and 3.3V and 5V power pins need to be bussed so Fritzing knows they are all part of the same net. I don’t know any way to do this except to manually edit the fpz file which I did in the part below. If you click on any ground, 5V or 3.3V pin in schematic all the rest of the associated pins will light up too indicating they are all grouped together.

CHIP_2.fzpz (26.9 KB)

Good job!

Peter


#14

Could you explain me how to create a bus from scratch?


#15

You can use the Fritzing parts editor to set internal connections.


#16

That will likely be easier than my method, but I rarely use parts editor anymore. For my method I unzipped the part from the fzpz file vie 7aip and then edited the file

part.CHIP_7ec0dc69a6fa268bc1427069e74a429e_5.fzp

and added these lines (which adds the busses):

 </connectors>   (this one is already there the rest below are new). 
 <buses>
  <bus id="GND">
   <nodeMember connectorId="connector0"/>
   <nodeMember connectorId="connector3"/>
   <nodeMember connectorId="connector11"/>
   <nodeMember connectorId="connector38"/>
   <nodeMember connectorId="connector40"/>
   <nodeMember connectorId="connector60"/>
   <nodeMember connectorId="connector61"/>
   <nodeMember connectorId="connector78"/>
   <nodeMember connectorId="connector79"/>
  </bus>
  <bus id="5V">
    <nodeMember connectorId="connector2"/>
    <nodeMember connectorId="connector41"/>
  </bus>
  <bus id="3V3">
    <nodeMember connectorId="connector4"/>
    <nodeMember connectorId="connector48"/>
  </bus>
 </buses>
 <url>https://docs.getchip.com/chip.html</url>  (this line is already there too)

Then rezipped the fpz and 4 svgs back in to a fzpz file via 7zip. The parts editor wll do the same thing probably easier :slight_smile: .

Peter


#17

Where is that feature insde the Parts Editor menù?


#18

In the parts editor when you are in the Schematic view you will see a little check box below the connection list that says set internal connections.


#19

I should also say after ticking that box you can route connections on the schematic in that view.


#20

Thank you guys!

CHIP.fzpz (28.2 KB)


Open FZ without Custom Parts in bin