How NOT To Use Pushbuttons

Board Layout
ARM Pro Mini Board Layout
ARM Pro Mini Before Reflow
ARM Pro Mini Before Reflow

I decided to try my hand at making a simple ARM Cortex microcontroller board. I based my board on the ARM Pro Mini design. The ARM Pro Mini uses an NXP ARM Cortex M0 chip, and has the nice feature of letting you drag and drop program files on to the chip as a USB mass storage device.

I essentially copied the existing ARM Pro Mini schematic in KiCAD and then started making my own modified board layout. I ended up with a design that I could panelize to fit 8 copies on a SeeedStudio 10cm x 10cm board.

I ordered a set of boards from SeeedStudio, and got a laser cut solder paste stencil from OSH Stencils. I have reflowed a number of boards by just hand applying solder paste, but this design is the first I have attempted to use tiny 0402 sized resistors, and it has a tiny 32 pin QFN chip for the ARM processor. I pasted a board and got to work placing all of the components with tweezers. Time for the moment of truth! I put the populated board in the toaster oven and watched as the solder paste melted into nice shiny solder joints.

The board out of the oven looked really good.

Soldered Board
Soldered Board

I connected a USB cable and plugged the finished board into a computer. Initial signs were good. The power LED lit up, so at least the basic power input was good. Unfortunately, there was no sign of any actual USB device showing up in the operating system. I spent a bit of time troubleshooting the board. I first measured the DC power input voltages at all the pins they should be. I also checked for continuity between various pins to make sure that there were no short circuits between pins on any of the tiny surface mount chips. Everything seemed to be OK, so I spent some time reviewing my circuit design for errors. I double checked the schematic against the original ARM Pro Mini design and ruled out problems there.

While double checking some pinouts in data sheets, I found the problem… According to the datasheet of the pushbutton switches that I used on the board, the two terminals on each long side of the switch are tied together. I had unfortunately drawn the terminal layout in KiCAD rotated 90 degrees, tying the two terminals on each short edge of the switch together. This effectively makes my switches always “pushed” on my board.
PRO TIP:If you generally use any two opposite corners of most pushbutton switches, you can avoid this problem

Switch Pinout
Switch Pinout

How to Fix What You Screw Up
I sat around for a minute annoyed that I have a bunch of boards that won’t work. Then I started to brainstorm ideas for work arounds. I initially thought about some kind of intermediate adapter layer between the board and my switches. Then I came up with an alternate idea. What If I could rotate the switches and solder them on crooked?
I played around with rotating the switch footprint in KiCAD.

Looks like it should work!

Original Switch Layout
Original Switch Layout
Hacked switch layout
Hacked switch layout











I tried to unsolder the switches on my board, but melted them in the process. I got some fresh switches and did an ugly hand solder job to attempt to replace them in the new, slightly tilted orientation.

Switch hack
Switch hack

I gave the new fix a shot by plugging it in to my computer. Success! The board showed up as a new mass storage device and some quick test programs worked just fine.

New CNC Router Control Board

Our current CNC router is controlled by an Arduino Uno board with a perfboard shield on top that breaks out the connections to the motor drivers and limit switches. The perfboard solution was hacked together quickly to get the router up and running. One of our goals is to clean up the wiring and install it in a more permanent enclosure to help with maintenance, reliability, and electromagnetic interference issues.

To clean up the Arduino and perfboard piece, I made a new control board. The board is essentially an Arduino Uno clone, based on the Arduino Uno rev3 schematic.
Board Design
I drew up a schematic in KiCAD that copies most of the Arduino Uno circuitry, but ommitted the DC power input subsystem, since we can power the board via USB from the router’s touchscreen computer. I used a surface mount ATMEGA 328 chip instead of the DIP packaged ATMEGA 328p that is on standard Uno boards. I connected the pins of the ATMEGA chip which are used by the Grbl control software to pin headers on the board.

I used KiCAD to lay out the PCB, ending up with a roughly 2.4in x 1.4in 2 layer board. I added some obligatory PaxSpace logos to the silkscreen and sent the board off to OSH Park to get a few boards manufactured.

Board Assembly
I was contemplating applying solderpaste to the pads by hand using a toothpick or similar device. After I got the boards in the mail, I had a change of heart due to the teeny tiny size of the pads for the ATMEGA 16U2 USB bridge chip. I broke down and ordered a solderpaste stencil from OSH Stencils.

The stencil worked out great! I stenciled some paste onto the pads and placed all of the surface mount components carefully on the pads with tweezers. I stuck the poulated board into the reflow toaster oven at PaxSpace and watched the paste melt, soldering the components nicely in place. After reflowing the surface mount parts, I hand soldered the USB connector, the crystals, and the pin headers.

Solder paste and placing components
Solder paste and placing components

Board after baking in the toaster oven
Board after baking in the toaster oven

While I was placing the components on the board I realized that I had messed up the silkscreen labels on the bottom left of the board, swapping the ferrite bead and a capacitor. Luckily I caught the error somehow and put the components in the correct spots.

Somehow when I ordered the components for the board, I neglected to add 22 Ohm resistors to my order. These are needed for the USB lines on the chip. I ended up ordering some after reflowing the rest of the components and soldered them on by hand with a soldering iron.

Turning it on
Everything looked good after the initial assembly. I knew it wouldn’t work completely until I added those 22 Ohm resistors, but what the heck… I plugged it in and at least got the power LED to light up!

Oops again
I got the 22 Ohm resistors a week or so later and soldered those on. Then I tried to hook it up to a computer to start loading the firmware and Arduino bootloader on the chips. I started having weird intermittent problems with the USB connection. I noticed that the problems went away if I poked at the 22 Ohm resistors on the USB data lines. I went back and touched up my (terrible) hand soldering job on the new resistors and everything started working much better.

Next up, Grbl
I was able to get the Arduino bootloader set up on the 328 chip and can successfully upload Arduino sketches to the board. Next we can upload the Grbl CNC control software to the board and start testing it with some stepper motor drivers and limit switches.

Completed board
Completed board

2015 PaxSpace Ornaments

The 2015 PaxSpace Christmas ornaments are here!

We have scheduled several group build sessions to work on assembling and programming your ornaments. See the sign up link below for information on dates and times.

Click here to sign up for a 2015 PaxSpace ornament kit.


We hope to see everyone at these build sessions and are looking forward to seeing what kind of cool things people can make their ornaments do.

‘Tis The Season To Hack Blinky Ornaments

We’ve been working on developing a PaxSpace Christmas ornament this year.  A bunch of Christmas ball-shaped PCBs have been designed and are on order from  The plan is that once the finished boards arrive, we will hold several workshops at PaxSpace to reflow solder the surface mount components, hand solder the through-hole LEDs and any other peripherals that you might want (such as a speaker, microphone, sensors, more LEDs, etc.), and to program the microcontroller on the board to blink the lights and control whatever you attached to it.

We’re planning to keep the cost of the workshop low, probably about $10 for PaxSpace members, and maybe a bit more for non-members.  This should be a good activity for people of any skill level.  You don’t need to be an electronics or software expert and can just do the parts of the build that you choose.  If you are an expert it will be a good challenge to hack the ornament do something cool.




The ornament will have a PSoC 4 microcontroller, 3 RGB LEDs, space for a bunch of extra LEDs, and some pin headers to attach other random peripherals.  There is space on the board to attach batteries, and a hole at the top to hang it from a Christmas tree.

Keep an eye out for updates on the ornament build workshops!

Evening Open House

evening_open_houseWe’re joining forces with the St. Mary’s County Library to hold an open house at PaxSpace this Friday evening, September 18th, from 6pm to 9pm.

This is a great opportunity to stop by PaxSpace if you haven’t yet been to our new location!  Come tour our facility, see some of our 3D printers in action, and learn about what PaxSpace and the St. Mary’s County Library have to offer makers, hobbyists, and business startups.

The event is free of charge and is open to the public.

Getting (Box Joint) Jiggy With It

I recently put together a box joint jig for the PaxSpace router table.  Box joints are used to join two pieces of wood using interlocking fingers- for things like drawer box corners, for example.  Box joints can look good, especially with contrasting wood types.  The joint is also strong, even stronger than more complicated dovetail joints when using modern glues.

The jig was made using scrap pieces of 3/4″ MDF for the main jig base, a piece of 3/4″ plywood for the front fence, and some scrap oak for the indexing guide pin and miter slot runner.  The basic design was copied from this YouTube video.


One of the differentiating features of this jig is the microadjustment screw that is attached to the sliding fence face.  The screw allows the jig to be adjusted by a fraction of an inch in order to loosen or tighten the resulting fingers and gaps.  This turned out to be a good thing, because the initial setup of the jig made two pieces that were so tight that I couldn’t mate them together.  I made a small adjustment to the screw to make the finger gaps a hair wider, and everything works like a charm.


Here are the first test cuts with some scrap pieces of wood:


Not too bad.  Now I just need to find a project to use some box joints on!

2015 Ham Radio Field Day

Every year the fourth weekend of June beckons ham radio operators from across North America to leave safety of their ham shack cocoon and head out to FIeld Day. It is a time for hams to practice their mastery over electromagnetic waves in more austere conditions so that they may be better prepared to serve their community in the event a natural disaster knocks out more modern, though less resilient, communications infrastructure.

It is also a time for camaraderie amongst fellow hams to show off their newest gear and for elmers (the term for seasoned hams) to share their knowledge with newer hams. As of late, it has also become an event to showcase what’s possible with amateur radio to a general public that has once again become interested in the DIY spirit that has been fostered by the Maker and STEAM Movements. In fact, April 2015 ended with highest number of active, licensed amateur radio operators ever in the United States with 730,283 hams.

This is the second year that PaxSpace has hosted a small “Get-On-The-Air” (GOTA) station for Field Day. A GOTA station let’s anyone, ham licensed or not, to experience the thrill of getting on the airwaves and talking with people all around the world. From our humble station at PaxSpace and operating under the callsign N1HNP, we were able to make QSOs (a term for radio contact) to hams in places such as Texas, California, Wisconsin, Vermont, Georgia, and even as far north as Ontario, Canada. The dozens of contacts made throughout the weekend were done using just enough power to light up an old 60-watt incandescent light bulb. We also had a chance to demonstrate a digital mode of communications known as PSK31 which allows you to essentially send text messages across the globe without the need for any intermediary equipment that modern computers and smartphones require.

Though you may have missed us this year, the good new is Field Day 2016 is only a year away! If you are interested in learning more about ham radio, we encourage you to check out American Radio Relay League ( and our local amateur radio club — St. Mary’s Amateur Radio Association ( Our local club offers many great courses to help you prepare to earn your Technician license which is the first of three grades of license in the United States, the subsequent classes being General and Extra. Hopefully by next year if we have a few additional PaxSpace hams we could set up a couple different radios to operate on a variety of frequencies and modes.

Altium CircuitMaker

There is a new kid on the block to compete with existing free PCB design software such as Eagle , KiCAD, gEDA, and DesignSpark.

Altium recently opened a public beta of their new free PCB design tool, CircuitMaker. CircuitMaker is a free to use tool that incorporates many of the features of their several thousand dollar professional PCB design software, Altium Designer. Some of the things that set CicruitMaker apart from other free options are:

  • No board limits – Unlike Eagle, there are no limits on board layer count, board size, or quantity of pads and signals (except for likely performance issues past a certain point of complexity)
  • Advanced PCB routing features – CircuitMaker has many of the same interactive routing features as the full Altium Designer software, which let you more easily route signals around obstacles, route differential pair signals, and many other features. See this video for some examples.
  • 3D view – CircuitMaker has a nice 3D preview and the ability to export 3D models as STEP files for use in other 3D CAD software.
  • Community features – CircuitMaker stores your designs in the cloud and allows for CircuitMaker 3Dcollaboration and version control of projects. The parts library is also a shared resource and leveragees existing data from a third party parts database, Ciiva

So, what’s the catch?

  • Windows only – There are no Linux or Mac versions of CircuitMaker
  • Time – Like all software, CircuitMaker requires some learning curve. If you don’t have prior experience with Altium Designer (like me) it takes some reading to get familiar with the workflow and menue locations for creating schematics, netlists, and boards. That being said, I was able to pretty easily work through a quick test project. On the other hand if you do have lots of previous Altium Designer experience, you might get frustrated with some of the differences between hotkey layouts, menue locations, and other user interface differences between Designer and CircuitMaker.
  • Internet Required – A good, active connection to the Internet is required to even USE the software due to the cloud and community features. This means that there is no ability to work offline.
  • The community features – CircuitMaker lets you store 2 projects in a private sandbox and publicly shares the rest of your work in the CircuitMaker online community. This could be an issue if you don’t want to share your work publicly.
  • Cloud Storage – CircuitMaker stores your projects on Altium’s servers. And only on Altium’s servers. There is no way to make a local copy of your work. If at some point Altium decides to stop providing this free software and service you may lose any work you’ve done with CircuitMaker with no way to use if in the future.

CircuitMaker can be a big step up from other free tools. I’d recommend giving it a shot and evaluating whether any of the negative factors are a deal breaker for you. If the software allowed for local storage and backup, CircuitMaker would almost be a no-brainer. Hopefully Altium will offer a free or low cost way to do so to reduce the massive risk of losing all of your work if Altium decides to stop supporting CircuitMaker and its storage cloud.

Spring Open House and Grand Reopening

We’ve been hard at work moving PaxSpace into a larger facility and upgrading our spaces. Come stop by this Sunday from 11:00am to 5:00pm to see the new place, learn about PaxSpace’s offerings, or become a member of PaxSpace!

Come see our new enclosed classroom, the dedicated electronics shop upstairs, and our expanded wood shop. The new PaxSpace location is in Bay #8 of the building across the parking lot from our old location.

Please contact us if you have any questions or need more information!

The What:
PaxSpace Spring Open House and Grand Reopening

  • Meet our board and other members
  • See the new PaxSpace facilities
  • Learn more about our PaxSpace Kids Crew and Lab programs
  • See one of our 3D printers in action!
  • On-going PaxSpace demonstrations

The open house is also a chance to meet some of our instructors and discuss what classes we offer. This is your chance to tell us what you want us to be teaching!

The When:
Sunday, April 12th, 2015 from 11am until 5pm

The Where:
44180 Airport View Dr, Bay 8
Hollywood, MD 20636

This entry was posted in and tagged . Bookmark the .