I've recently started work porting the design of the DE0 Nano serial communications protocol to Lattice Semiconductor's iCE40 HX8K Breakout Board (A First Impression review of the breakout board is coming soon). Now since I wasn't sure how much change would be involved, in porting the design, I thought now would be a good time to start using Git (git-scm.com) for versioning control religiously. Hence, I installed a Git server on a Synology DiskStation DS215j Network Attached Storage (NAS) (First impression review also coming soon) and got on with it. Here's how the exercise unfolded.
This is a blog about our everyday exploits in all aspects of everything. From science, art, computing, engineering, playing badminton to even playing computer games. Just about everything!
This category contains blog posts about Electronic Design Automation (EDA) and software development tools.
This blog post is about determining the value of the base resistor of a MMBT3904L, which is ON Semiconductor's variant of the general purpose 2N3904 NPN Bipolar Junction Transistor (BJT), when used as a switch. The value is determined when the transistor is in the common emitter configuration. Sounds like a simple task and so it should be too. However, as we have commented many a time in our blog posts tasks that appear to be easy never are. Hence, while undertaking this task we decided to follow Lao Tzu's (Who? - Ed) advice, which he elegantly formulated in the following quote:
Do the difficult things while they are easy and do the great things while they are small. A journey of a thousand miles must begin with a single step - Lao Tzu.
So, as he has suggested the sensible approach in determining the value of the resistance of the base resistor of a BJT is to perform the calculation a step at a time, as we demonstrate below.
If you like a blog post with a happy ending then this blog post has one, but only just. This particular post is about me against Yosemite (10.10) when attempting to install Bugzilla. This time I won, but barely and the victory wasn't pretty to see. All the same I won albeit with a complete lack of composure at the end.
With two big projects coming up I just had to get Bugzilla working, no matter what. So finally getting it to work was more out of desperation than anything else. Although, because it took so long it did mean that I was not able to begin some other work, as planned. Anyway enough of the waffle here is the story, as it unfolded.
Every now and again the digital design engineer has to completely leave his (or her) comfort zone and enter the occult of analog design engineers. It is in this world that digital design engineers, used to making yes or no binary decisions, are presented with a multiple of answers all of which, or none, may be correct. It is in this blurry and murky world that any type of help, to corroborate a design, is most welcome.
As part of designing a servo controller board for the 17 DOF Robot (Using FPGAs) Project I had to enter such a world. However, rather than approach the design with Wigi (Ouija) board to hand, to confirm my results, I simulated the circuit design using the electronic equivalent or a Software Program with Integrated Circuit Emphasis, otherwise known as SPICE. The installation of LTspice IV on Mac OS X (Yosemite 10.10) is the subject of this blog post.
KiCad is an open source software suite for Electronic Design Automation (EDA) that facilitates the creation of professional schematics and Printed Circuit Boards (PCBs) of up to 32 copper layers. It runs on Windows, Linux and Apple's OS X. One of the things we like about KiCad, apart from it being endorsed by CERN, is this multi-platform support. We also like the fact that it is released under the open-source GNU GPL v2 free of charge.
However, free does not mean free of functionality, on the contrary. This is a fully-fledged, feature rich EDA tool, that we will be using from now on to design our PCBs. Also, because the software is available to our readers too, our design files should be freely available once we switch over to Git Hub. Installing KiCad on a Macbook Air with Mavericks 10.9.5 is the topic of this blog post.