Free PCB coupon via Facebook to 2 random commenters

in Free PCBs by DP | 2 comments


Every Friday we give away some extra PCBs via Facebook. This post was announced on Facebook, and on Monday we’ll send coupon codes two random commenters. More PCBs via Twitter on Tuesday and the blog every Sunday.

Don’t forget there’s free PCBs three times every week:

Continue reading →

Posted in Free PCBs | Tagged | 2 Comments

Week in (p)review October 24, 2014

in week in review by DP | 0 comments


Here’s a summary of major developments over the last week. Free PCB Friday is coming up soon.

Coming up:

  • Free PCBs via Facebook on Friday
  • App notes on the weekend
  • Free PCB Sunday
  • Free PCBs via Twitter on Tuesday
  • Weekly roundup and preview every Friday

WiFi globalCALCnet with the Spark Core

in gadget, wireless by DP | 0 comments


A wireless calculator networking with WiFi gCn using the Spark Core.  KermMartian of Cemetech writes:

This current project achieves all the goals of that project, and more: it provides a computer-free way to connect calculators to the internet, and lets the calculators independently configure the bridge device as well. The two components that were necessary to make this work are the Spark Core firmware itself, modified and expanded from the original Arduino gCn bridge firmware, and a Bridge Configurator program written in TI-BASIC that is used to set the WiFi credentials and local and remote gCn hub names on the Spark Core.  

Check out the video after the break.

Continue reading →

Optically controlled servo motor

in hacks, PIC by DP | 0 comments


Dilshan Jayakody  writes:

This is demonstration project to control servo motor movement using physical marker and normal video camera. In this project video camera capture the movements of marker and calculate rotation angle based on that. This calculated rotation angle is feed to the servo through small MCU based interfacing unit.
In this project video processing and tracking is performed using ARToolkit and controlling of servo is carried out using PIC16F628A microcontroller. RS232 interface is use to communicate between PC and microcontroller.

DirtyPCB NanoSeeker v2.1

in, wireless by DP | 0 comments


Jon Hylands writes:

So I built a board tonight, and its working (after removing and rotating one of the h-bridge chips I put on backwards). I’ve validated that micropython works on it, and I can turn on and off the four LEDs. I’ve also successfully paired my cell phone with the bluetooth module on the board, so I’m pretty happy about that.

Using a standard coil for NFC tag implant reading

in Chips, wireless by DP | 0 comments


Limpkin writes:

Who knew it’d be possible to use this coil to read NFC tags?
A while ago I backed the xNT campaign , which aimed at making an NTAG216 based NFC implant for different purposes. After a few months of waiting and a few weeks of trying to find someone in Switzerland willing to do the very simple implant procedure, I finally became a cyborg.

Posted in Chips, wireless | Tagged , , | Leave a comment

Update on CERN’s investment in KiCAD

in software by DP | 1 comment


From the comments on our Cadsoft Eagle review post:

Cern’s team is hard at work. You can see the list of their projects here
The code is being contributed to the official Kicad’s repository, just it may not be in the release version yet, because it is still not ready for prime time due to very wide range of subsystems that are affected (especially the entire display subsystem). You can see a short demo of push & shove router here
I tried the router a couple of months ago and it worked, however there were still some problems with display.

Short demo of push & shove router after the break.

Continue reading →

Roland SP-404 AVR custom midi control pedal

in AVR, hacks by DP | 0 comments


An open source midi controller user for the Roland SP-404 sampler by Davide Gironi:

The Roland SP-404 is a digital sampler made by Roland Corporation.
This sampler has an input midi port, and expose a set of midi commands to control the unit.
With this project user can control Roland SP-404 using a Midi Pedal.
With the pedal user can change the bank of the sampler and also switch on / off samples. It is a pedal extentions of the button matrix in front of the sampler.
Current working bank of the midi pedal extention it is show by a 7-segment digits display. User can work on the selected bank even if the SP-404 unit is showing other bank.

Check out the video after the break. Continue reading →

#FreePCB via Twitter to 2 random RTs

in Free PCBs by DP | 0 comments

irtoyv3 Every Tuesday we give away two coupons for the free PCB drawer via Twitter. This post was announced on Twitter, and in 24 hours we’ll send coupon codes to two random retweeters. Don’t forget there’s free PCBs three times a every week:

  • Hate Twitter and Facebook? Free PCB Sunday is the classic PCB giveaway. Catch it every Sunday, right here on the blog
  • Tweet-a-PCB Tuesday. Follow us and get boards in 144 characters or less
  • Facebook PCB Friday. Free PCBs will be your friend for the weekend

Some stuff:

  • Yes, we’ll mail it anywhere in the world!
  • Check out how we mail PCBs worldwide video.
  • We’ll contact you via Twitter with a coupon code for the PCB drawer.
  • Limit one PCB per address per month please.
  • Like everything else on this site, PCBs are offered without warranty.

We try to stagger free PCB posts so every time zone has a chance to participate, but the best way to see it first is to subscribe to the RSS feed, follow us on Twitter, or like us on Facebook.

MorpHex MKIII, the transforming robot

in robotics by DP | 0 comments


Here’s a cool hexapod robot that transforms into a ball shape - the MorpHex by Kåre Halvorsen: 

I’ve done a lot of work on MorpHex lately, both on hardware and software. The two major updates;  24 Starlite RGB LED’s and a Razor 9DOF IMU made a huge difference when it comes to control and precision while rolling and the LED’s gave a nice effect. So I’ve decided to name it MKIII.

Check out the video after the break. Continue reading →

Posted in robotics | Tagged , | Leave a comment

Mini adjustable voltage regulator

in DIY by DP | 3 comments


MagicTK made this mini adjustable voltage regulator, instructables here:

The minimum output is based on the voltage regulator’s internal reference voltage (look at the datasheet formula), and the maximum output is based on the batteries connected and how much energy they have left (as well as the maximum specified in the datasheet, in case you connected much higher voltage).

Posted in DIY | Tagged , | 3 Comments

DIRTY TUESDAY: Measure PCBs and create images from gerber files

in, site by Ian | 2 comments


A few months ago we started a private PCB website so our team can get cheap PCBs from a fab in China. Someone spilled the beans, and it hit Hack a Day, Hacker News, etc. We almost shut it down, but it was too much fun to hack and refine the process. Dirty Tuesday is a weekly post about our misadventures accidentally starting a PCB service. As a design shop with Seeed Studio doing fulfillment, we’ve never been on this side of the fence and want to share the terrifying experience.

Gerber files are simple text files that describe how to draw a PCB. Most CAD programs export to this common format, and any manufacturer can load them and make exactly the same board. They’re a publishing format though, it’s tough (and usually inappropriate) to make changes to a gerber directly.

Detecting missing files

Boards are submitted to DirtyPCBs as a ZIP archive of gerber files (or a Eagle .brd file, more on that another week). The system, written in PHP, opens the temporary file upload without actually extracting anything. It scans through the file names and catalogs the extensions. Missing drill files (.txt) and board outline files (.gml) are common. We used to reject these orders, but it’s a hassle for people to enter all their info again. Now we accept payment and then give a notice about the problem, new files can be uploaded directly on the order status page. That’s a much friendlier process, while also ensuring we make the sale as quickly as possible.

Measuring the board

Next, we get the board size to see if it fits the ordered size. We pass a file handle pointing to the board outline file (.gml) inside the .zip to a PCB measurement function. Our original function used this very simple code from Wayne and Layne, it just looks for the longest line on the board by comparing all the X/Y coordinates in the outline file. This works on about 60% of boards, but fails if the board doesn’t use a fixed 2.4 leading zero suppression decimal notation. Eventually Jonathan Georgino contributed a more advanced function that reads the gerber opcodes for decimal notation and type of zero suppression, accurate on 98% of boards. The measurement class is available on Github here.

Boards too big for the ordered size are flagged and held for review before we send them to the board house. The board house also checks the size against the ordered size. We don’t reject boards based on the measured size because text outside the outline can mess it up pretty bad. So far every mis-sized order emailed to make full payment before we even noticed the hold.

Creating a PCB image from gerbers

DirtyPCBs started as a convenient way to get cheap boards to our team. We knew every PCB going through and who it belonged to. When it blew up we asked the board house to put stickers on the outside of each package with the PCB ID number. Aaron at Oomlout quipped sarcastically that the sticker innovation would certainly solve the problem in a new and refreshing way. He was right. The board house packing department randomly put stickers on anything of the same color. We had to replace dozens of orders. Later we acquiesced and let the PCB manufacturer put a small ID number on the silk screen, just like every other cheap PCB supplier.


We still occasionally have boards without a number, or with the wrong number. We also need a way to instantly check if a board is the right color before we send it out. We set out to imitate the online gerber viewer Gerblook. Export each layer of the PCB as an image using gerbv, apply color, and create a composite image. Easier said than done.

Anything outside the PCB, such as notes or overhanging headers, throws that layer out of alignment. Gerbv has command line options to specify the origin of the export area, DPI and window size, but most boards don’t have clean lower left corners that start at X=0 Y=0. Many PCBs even have negative coordinates for the placement of the lower left corner. Even the top right corner can be a negative coordinate!

This is a problem already solved by Gerblook, so we wrote to Hadley for help. His solution is as brilliant as it is simple. When exporting a layer, include every other layer with the color set to transparent. Each layer is exported with perfect alignment to every other layer because they’re all included every time. Sorted.


With all the individual layers in hand, it’s time to color them and create the composite image. Our PHP script uses GD for this:

  1. Get board background color from image pixel 0,0. Despite our best efforts this is not always what we tell gerbv to output
  2. Change the background color to transparent
  3. Replace all the red (or whatever is closest to red, grrrbv!) with our desired color. This could be silver (HASL) or gold (ENIG) for pads, white for drill holes, etc
  4. Soldermask takes a bit of extra work as we need to color the outline first and then subtract all the holes in the mask where the HASL or ENIG pads will be
  5. Composite the layers together: outline, copper, solder mask, copper again faded a bit, silkscreen, drill holes


Using the copper under and over the mask makes it pop, like seeing the traces under the solder mask on a real PCB. The only major limitation of this method, shared by Gerblook, is that holes inside the outline layer (panelized boards, etc) will be colored and not transparent. We toyed with a method of walking from the top center of the board until we find the outline, then apply a fill to the interior of the board. This has promise, but wasn’t worth perfecting at the time.

When you order a board at DirtyPCBs you get an email with the composite board image attached. The status page also shows the top and bottom views. Images are nice for the buyer’s reference, but crucial to our backend packing crew. They double check every board, and find mislabeled/wrong color boards before they’re mailed. It’s not perfect, but it helps us catch problems before they become a bigger hassle.

DirtyPCBs’ gerber file check, measurement, and image output PHP script is here. It won’t work on cheap shared hosting as you’ll need root access to install gerbv.

Gerblook mentions eventually going open source on their website – turns out it already is. We will definitely swap to Gerblook’s Python scripts if we update DirtyPCBs in the future.


Video: Hack All The Things – 20 Devices in 45 Minutes

in hacks, reversed, Videos by the machinegeek | 1 comment

The GTVHacker group gave this presentation at DEFCON 22. The group is famous for Hacking the Google TV a few years back, and in this talk they add plenty of devices to their credit. “We’ve taken all of our previous experience exploiting embedded devices and used it to bring you a presentation filled with more exploits than ever before. This presentation will feature exploits for over 20 devices including but not limited to TVs, baby monitors, media streamers, network cameras, home automation devices, and VoIP gateways. Gain root on your devices, run unsigned kernels; it’s your hardware, it’s internet connected, and it’s horribly insecure.”

The presentation slides in PDF can be downloaded from GTVHackers.

Free fun flexible watch

in clock, open source by DP | 2 comments


F*watch team writes:

F*watch is a fully open electronic watch project featuring an integrated GPS receiver. The development started at CERN as an after-work project to make a special present for a retiring colleague who likes hiking and timing. The full design (electronics, mechanics and software) is available under free licenses and the design is exclusively made with free tools.

  • Sensors

-Pressure sensor
-Ambient light sensor

  • I/O

-128×128 pixels LCD with backlight
-Micro-USB connector, 4 Buttons
-Buzzer, vibrating motor
-MicroSD memory slot

  • Various

-500 mAh Lithium-ion battery, fuel gauge
-4-layer PCB

Via Hacked Gadgets.

Posted in clock, open source | Tagged , | 2 Comments

Digitally controlled bench PSU project update

in DIY, power supply by DP | 1 comment


Yet another update on Bertho’s digitally controlled bench PSU project we covered previously:

Did some test-bed assembling today and did a dry-test of the power board.
The good news… the power board did not blow up ;-)

The aux PSU for +/-12V analog and the 5V logic supply switcher is working as it should. The power board is able to supply the control board as far as I can see. Haven’t done any in-depth testing, but it looks good. The main low voltage AC inlet is also functional and the default of the power switcher is correctly off. The DC voltage after the rectifier was tested to 42V DC and no sparks or smoke were detected.
With the preliminary tests complete, I have now a small test-bed to continue working. The setup has the control board with LCD, 2 encoders (+ push switch) and 3 LEDs. All is powered from the power board aux supply…