Eagle and KiCad

I’m finally getting back into designing boards.  I just ordered some test boards from OSHPark.  Love that site and there low minimums and affordable pricing.

I have been working with Wemos D1 Mini units and need to build a carrier board that supplies power and holds other components.  I drew up the pin outline in Eagle and sent it off to make sure it’s right.  I find this saves alot of aggravation when drawing my own parts.

Now that I’m designing PCB’s I figured I should look at an upgrade of Eagle.  Ruh Roh!  Autocad bought them.  Autocad makes nice stuff, but the baby from the marriage of CadSoft and Autocad is likely to need time to grow up.  They seem to have stopped selling Eagle and are talking about something new.  Branding and messaging is a mess and there is annoying pop-up all over Cadsoft’s site.  Messy Marketing makes it look like a Walking Dead website.  🙁

Well, that’s as good of an excuse as any to survey the field and see what’s out there.  Altium seems okay, but I’m not ready to throw $1k at it and I don’t want a product filled with gotchas and fish-hooks trying to upsell me.  I already have Quick(sand)books for that.

Enter KiCad.  It’s open source, GitHub friendly, and has a huge number of users.  It’s also multi-platform.  The price is right, just bits from Comcast which are $120 for 1 TB/mo.  300MB later, I run the installer.  There are some features to be desired, like auto-update.  It has it’s own set of vexing issues, but the documentation and YouTube videos are really good.  There are a number of things that are fundamentally easier to do… such as part design/layout.  Other things are awkward at best, such as the inability to set defaults or work with Design Rule files for various fabrication houses.    One particular nice thing is that Eagle was always picky about design scale i.e. units/millimeters and was notorious for leaving wires disconnected.  KiCad seems to have a more intelligent UI that avoids this issue while being far easier to share design files etc.

Like all PCB design tools, learning curve is a modest description…. I prefer to call it a learning cliff.

Orange Pi Setup Video

I completed my video editing and have created a video to help you get up and running with an Orange Pi Zero.

This video rolls up everything I’ve figured out in the last 30 days to help you get out of the box, configured, and video and wifi running.

You’ll need Armbian’s Debian Jessie distro on an SD Card.  Get it here

Configuring OctoPrint on an Orange Pi Zero – using Armbian Debian Jessie Distro

This is the second half of setting up an Orange Pi Zero.  These are the steps I followed to configure Octoprint.  I’m annoyed that it has to be started manually, but it does work and stay running.

—- OctoPrint Config —- (adapted from http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=594)
**add user and configure permissions
sudo adduser octoprint
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
sudo adduser octoprint sudo
sudo visudo
octoprint ALL=(ALL) NOPASSWD:ALL

**clear password for user
sudo passwd octoprint -d
** install packages
sudo apt-get install python-pip python-dev git python-setuptools psmisc

set memory on Python otherwise you can have issues: (or create 256M of swap, see above)

sudo su octoprint

** setup pyserial
cd ~
wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
tar -zxf pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python setup.py install

** Obtain Octoprint
cd ~
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
sudo python setup.py install

exit (stop being SUDO)

cd ~/OctoPRint (you should still be there, so this is just in case you did something else)
./run (it should start)

 

Setting up a Orange Pi Zero using an Armbian/Debian Jessie distro

Here are my notes on building the initial config.

Orange Pi Zero Build Docs
** find it using IPscan etc…. ssh to it and add:
Sudo nano /etc/modules

simply add tv to the last line of the file, exit and save ofcourse

shutdown -h now -r (reboot) to bring up the terminal

** then run these via ssh or terminal

apt-get update
apt-get upgrade
apt-get install localepurge (set to all 3 US)
apt-get install mailutils
apt-get install libsasl2-modules
apt-get install postfix
– nano /etc/postfix/sasl_passwd
-[smtp.gmail.com]:587 username@gmail.com:password
-chmod 600 /etc/postfix/sasl_passwd

postmap /etc/postfix/sasl_passwd

nano /etc/postfix/main.cf
add
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

service postfix restart
NMTUI

Setup additional Swap:https://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/

Orange Pi Zero and VGA

So… I learned a bit about RCA and VGA today.  VGA is a component input, RCA is a composite input.  What does this mean?  RCA has the signal all on one wire and the devices that use it separate it electronically.  This compromises fidelity, or information density which is why it’s great for 640×480 and TV but not for 1080p or 4K.  VGA on the other hand is a component signal, red/green/blue, vertical/horizontal sync etc.

Here is a great image of VGA, courtesy of Instructables: (click to view the article)

I’m not sure how well this would work… it’s a little too good to be true.. but it gives you an idea of what is going on.

Here is a better illustration of the VGA pinout: (courtesy of stackexchange, click to view source article)

Here is a schematic that backs up my hunch that the instructables is too simple.  Courtesy of Next.GR (click to visit)

This circuit only generates greyscale…. or black and white video.

In case you were wondering how hard can a video signal be?  lol…. it’s complex.  Really a marvel of radio engineering.  Courtesy of Field Effect LLC, click to follow to article.

I have other objectives than engineering this solution…. and I only need one…. so I bought this on Amazon. (click the image to go to the product)

It offers these modes:

 

Orange Pi Zero

I picked up an Orange Pi Zero recently.  It’s an interesting Single Board Computer (SBC) with a quad core Allwinner H2.

You can see the full specs here: http://www.orangepi.org/orangepizero/

I found a very nice pinout diagram on the Orange Pi forums:

The best part is that this is a $7 system.  $3 for shipping.

It has 26 pins for GPIO, 9 of which are Ground and 3.3/5v power.  That leaves 17 for fun and games.

It also has a dedicated audio in/out, USB header, IR in, and TV out.    All bundled to a quad core 1080P chip with wired and wireless ethernet.

It still needs a microSD card, but an 8GB unit can be had for $3.50 from AliExpress.  You also need a micro-usb power source.  no big deal.

The OS can be downloaded from Armbian.org here https://www.armbian.com/orange-pi-zero/

default user/pass root/1234

The Armbian image is based on Debian Jessie and needs about 1.2G of storage.

I was unable to get the video out to work, but I think it’s a driver issue.

WordPress Sleeping Database connections solved

I ran into an issue where I had many sleeping database connections that were chewing up server capacity.  It came down to a file called XMLRPC.php which is used for inter-site wordpress communication.  Blocking it disables the sleep commands it was generating.  🙂

adding this to the .htaccess file dealt with it.

<Files “xmlrpc.php”>
Order Allow,Deny
deny from all
</Files>

That also breaks some trackbacks, etc…. but I can live with that.