Kris's Build Log (custom SBC - am I going to make it?)


#1

Just checking in. Trying to move forward as fast as possible. Now at Shift Register Experiments. I think I should start KiCAD-ing that sensor board as that shift register and logic debugger is where things start to get interesting for me.


#2

Started the Introduction to the CSOS module and realised that I do not understand what opamps really are. Here are a few videos that I am using to understand it.


#3

Do you have more details about your"SBC"? I’m assuming “Single Board Computer”? And where you are intending to use it?


#4

I am working on a projection mapping tool that currently works on the Raspberry Pi platform. I would like to understand how much would it take to build my own SBC for it. I see that there are plenty of SBC (indeed I mean Single Board Computer here), I suppose choosing one of them would work well enough for me, but at the moment I would like to know more about the inner workings of it all.


#5

Anyhow, I was trying to get an overview of the course last week. I have been fabricating (milling) my boards at the fab lab so far, I think it is time start practicing collaboration with on-line manufacturing services to be able to make more complex designs. Thus I will proceed with the Blinky now.


#6

Also after a few basic projects, I think the Blueberry Pi would be a nice thing to try out in terms of custom SBC design.


#7

And just to log down my Getting To Blinky part. I ordered a bit different parts for my 555 Blinky. For the timer itself I ordered LMC555. According to datasheet 1.5V is not a problem and it can operate also with 5V.

I did not order the LED’s since I thought there are enough at the lab. So far I have not been able to find one’s that would work with 1.5V, so I am thinking, whether I should order fresh LED’s or drive the circuit with a different kind of battery.

Different battery could be a solution here. I could replace the battery holder with a pin header and thus make the PCB even smaller. At this point I will not add the battery. Will think about that until tomorrow and decide then.

One thing I am not sure about in the schematic symbol design part is whether the VCC and GND pins both should be defined as power inputs. If so, I have to add PWR_FLAG to both of them. I wonder how should it be…


#8

Hi Kris, The Single Board Computer sounds quite adventurous. It would be interesting to see how you get on.

With respect to the PWR_FLAG. They are more used to annotate the schematic where you want to start using the Electrical Rules Check. In the example you have above, the PWR_FLAG will prevent the “ErrType(3): Pin connected to some others pins but no pin to drive it” message. Beyond that, if you are not using the ERC beyond verifying everything is connected, then I believe they are totally optional.

Having said that, since I discovered that work around for that message in the KiCad documentation, I have started using them for the cleaner ERC :slight_smile:

The Pin Header for power is a neat idea so you can connect anything. But if you want try portability then the envisaged coin cell holder and a 3V coin cell would be the way to go.


#9

Thanks! I was thinking in terms of new schematic symbol creation. Somehow my mind kept looping around the electrical type of a pin. Started to open up existing symbols and discovered that both (VCC and GND) are usually marked as Power Input. And yes - I prefer to be able to use ERC, I think it might become critical with something as complicated as SBC schematic, thus I added the Power Input electrical type to my 555 schematic.

For today I decided to make the board as a little shield for the Raspberry Pi. Tomorrow I will check what components I am missing to make a battery driven one (also double-sided). I am also planning to mill this first board using a Roland SRM-20 milling machine and a copper-covered FR-1 clad. Thus I chose 1206 size SMT components for resistors, capacitor and LED.

There is another super simple circuit I want to finalise. The context is building material for a total introduction lecture where one would use KiCad to design a coin-cell battery driven flash-light with a button, mill it and solder all the components in 2 to 4 hours. I tried that once and it seemed to be possible, the only problem was that I was improvising, but I would like to iterate on the design a bit more so I do not have to and students get tangible results as soon as possible.

Will keep posting.


#10

That sounds great! We don’t talk about milling much around here, but it can be helpful for super quick turn stuff.


#11

… it would be a super class to sit on. Go in to find out how to create at a board and actually walk out with one :slight_smile:


#12

Happy to read that this idea seems interesting. And I milled my blinky board today. However, I had to use different value resistors as in my design, plugged in the values in the 555 calculator.

After soldering the components I plugged it in, the LED did not blink and went dark after 5 seconds or so. Will investigate what could be wrong tomorrow. Possible hypotheses below.

  1. Wrong capacitor.
  2. Wrong LED resistor.
  3. Different 555 Pinout.
  4. Raspberry Pi without SD card just switches off after 5 seconds or so.

As for the milling details, when ploting gerber files, one should export only the F.Cu layer and uncheck everything. I was using CopperCAM to create tool paths after, for it you need to include Edge Cuts into the F.Cu gerber file. Drill files should be generated too. How to set up CoppedCAM it is a bit too much to describe here. Below a screenshot with the tool paths CopperCAM generated with 0.4mm tool (one should set up design rules in KiCad so that the space between traces never gets less than 0.4mm).


#13

Nice job. Good luck with the troubleshooting.
Can you put a 5V supply to the pins to prove or disprove your point 4?
Another point could be the different valued resistor - would this affect the operation?


#14

Solved it. But it was not easy. Actually only the first of my hypotheses was true. Below a list of bugs that I discovered.

  1. The capacitor was indeed wrong. There was a 10uF capacitor in the box labeled 1uF, I realised after measuring it.
  2. There was a short between pin 2 of C1 and pin 1 of R1
  3. 555 pin 6 was not properly soldered
  4. After re-soldering R1, i had to re-solder it once more, because the old one was broken.

I used a 1K R1 and 1M R2 with 1uF C1. That gives me the following output properties (from 555 timer calculator website).

  • 50.025 Duty Cycle Percentage
  • 0.721 Frequency In Hertz
  • 0.694 Seconds High
  • 0.693 Seconds Low

I will proceed with ordering parts for the little flash-light I was talking about and then improve on the 555 timer (maybe another circuit from the 555 timer circuit website).


#15

Well done on the troubleshooting!

That is the risk of milled boards and traces running under parts. I imagine, without the solder mask, you have to be extra careful with the soldering.


#16

Allright! Did a bit of research before making my super simple flashlight project. I tried to understand which is the most used coin cell battery size out there and it appears to be 3V 2032 (20mm diameter and 3.2mm thick).

I was also looking for a 3V solution because it is hard to find LEDs that one could drive with 1.5V. At the lab I tried different LEDs with a 3V power source and it was possible to light up those rated 3.2V. Also for the blinky I believe it would make sense to make a 3V version instead of a 1.5V one. Or am I looking in the wrong places? Do easily available 1.5V LEDs exist?

Also i wanted to stay within the MIT fab lab inventory and checked what components I could use from there. What I found was 1206 resistors and LEDs as well as SPDT slide switch. For the battery holder I chose BAT-HLD-001-TR from Lix technologies.

I was able to find everything when drawing schematics, but the next step would be integrate custom part drawing in the process.

For the footprints I had to draw the switch and battery holder. I wonder, I could try to find the switch once more as I had to do a hack to integrate alignment pad cuts in the Edge.Cuts layer by using a text editor.

Will try to mill this in the following days and I think I will design another double sided version.

While exploring the 555 timer circuits I realised that I would like to make a toggle flashlight with a push-button to explore the 555 a bit more. I feel somehow excited that I found out about this circuit from the course and it feels very underrated to me. There is a lot one can do with it and a toggle flashlight could be a bit more useful as blinky and in terms of introducing someone to basic electronics, could serve as the next project after the basic flashlight.

OK. That is enough for today. Soon…


#17

I am curios about this. I would have used a Non-Plated Through-hold. Was this something special for the milling process?


#18

Hi! Yes, it is for the milling. I somehow do not want to send as simple board as this out for manufacture yet. I wanted to put this on the Edge.Cuts layer because I would use the same milling bit (0.8mm dia) to cut the holes and also the outline. In theory they do not have to be on the Edge.Cuts layer, in CopperCAM I anyway need to select them separately and in order to do so the outline needs to have different thickness.

I found the hack on stackoverflow, but the holes actually do not have to be on the Edge.Cuts layer if I think about it more.


#19

probably too late now, but if you swap the order of the resistor and led it’ll mill easier and be less of a hassle to solder.


#20

I see your point, but I want the LED to be on the edge. Anyhow, the missing parts arrived and I just milled and soldered the components. It works! Since the white LED typical forward voltage is defined as 3.2V, I replaced the 100 ohm resistor with a 0 one. Here is how it looks when switched on.

OK and as for the next challenge I will make another simple circuit: a 555-based toggle flashlight : ] Based on this one blog post here, but will do a bit more research to better understand how 555 works. Soon…