Thursday, September 17, 2015

Playing with Kicad

I've been busy enjoying the summer, getting in my miles, and building my IoT stuff for my HA. I've mostly worked on the PIC32MX/WIZ550io boards and the ESP8266 boards. I'll post my Fubarino SD Mini, Misterhouse controlled, traffic light (it's just LEDS) in a few days. Yes, I know, pictures or it didn't happen. With all these different processors that means I've spent a lot of time finding software and getting environments setup under Linux. I've managed to setup the Arduino env to work with the ESP8266. I've also got UECIDE working but I'm not sure if I setup the ESP8266 with that. I use MPIDE and UECIDE for my PIC32MX related projects. I'm now at the point where I'd like to build a few of my own boards. I've tried Eagle in the past and though I understand the process, Eagle never felt comfortable to me. In the 80's, I used to do all of this by hand on paper with a pencil (and tape for the layout). Tedious work! I'm now working with Kicad and I'm finding that a lot more natural to me. So far I've laid out the schematic (no so hard), selected parts (okay kind of, I've selected valid parts just not the one's I wanted but close enough for learning), laid out the PCB, ran FreeRouting to do autorouting (more on that in a minute), and finally got it to print out (printer not CNC). I mostly followed the tutorials which are numerous and useful. I've added my own parts (PIC32MX1xx/2xx) and I need to work on the footprints for various parts as I can't find what I really want on the board. Okay, I couldn't find the footprint because I'm floating in a sea of too-much-information. :-) Besides I want to learn for those times when I need some odd interface that is pretty much a one-off (like my Atari SIO port). Kicad, very cool and I am so surprised at how quick I learned the software.

I finally found some other's BOM to use as a reference for parts. When I was building boards in the 80's it was thru-hole. Now I need tiny parts I can barely see with a microscope. So far I've had a lot of fun learning Kicad and I know I have a lot more to learn such as templates, copper pours, various layout lessons and better handling of the rules.

After following the link on how to download, compile and install FreeRouting using Netbeans, I found I couldn't run the autorouter from inside Kicad (pcbnew specifically). Seems I failed to perform the optional parameters step so when I ran the command:

java -jar /usr/local/bin/freeroute.jar 
I'd get the following error:
 no main manifest attribute, in /usr/local/bin/freeroute.jar 
After poking around the internet I derived this:
 mkdir t
cd t
# If you've already copied the jar from Netbeans
# to the Kicad Binaries directory
unzip /usr/local/bin/freeroute.jar
jar cfe fr.jar gui.MainApplication $(find -type f)
sudo mv fr.jar /usr/local/bin/freeroute.jar
# To test
java -jar /usr/local/bin/freeroute.jar

My intention with all of this is to build a few boards I can easily 'throw out' there as complex sensors. Connected to MQTT to allow any HA software to control and monitor the devices. I'm not sure how well the ESP8266 will work with the Arduino env. You have to be real careful with the code in the loop as the WiFi isn't a background process. But an ESP8266 as the network interface to the PIC32 would be useful. The ESP8266 is not the only wireless I have. I have a couple of RF transceivers and other WiFi boards that I will be playing with. Most of what I am doing is for the sake of curiosity (learning).

0 Comments:

Post a Comment

<< Home