BROWSER BASED PCB DESIGN

As you take on or create projects, some will be easy and some will be difficult. Some will be one-offs and others will need to be made at scale. In this write-up, we will be exploring my biggest project to date, Distributed Symphony, and how the microcontroller at its core was built in a browser.

Header image

Step 1: The Opportunity

The Distributed Symphony is the largest and most complex project I have pulled off. Once a year I have the unique opportunity to bring a fun experience to a corporate offsite for an audience of 600 executives. For the past few installments, the “fun” has been packaged as a design challenge. The prompt for the first iteration was to build a ball machine that sends a ball on its path for exactly two seconds. Each successive year had an increasing complexity and technical presence. This year I decided it was time to architect an experience that was awe inspiring.

Opprotunity

 

Step 2: Distributed Symphony

The project consisted of one hundred and twenty kits containing all the ingredients needed for a team of five to create a percussive instrument. Each kit included the following items.

  • Connected Micro-controller
  • Solenoid Ball Dropper
  • Instrumented resonator from a Glockenspiel Trigger button
  • Ten Wooden Balls
  • Building materials
  • Artistic elements

Central to this project was the micro-controller. Adding logic and cloud connectivity was intended to enhance the experience and not get in the way. The controller board had considerable functionality exposed in the simplest way possible. Resistor values, power concerns, diodes and capacitors were baked into the board design so that the participants were free to focus on the challenge and not the technology.

 

Step 3: Take Chances

This project presented the opportunity to build a swarm of custom SMT microcontroller boards. This was new to me but seemed like something worth learning and a major challenge. To design the boards I used Upverter. It is a very cool browser based end to end solution for PCB design and production. Once you get used to finding components in their library, it is easy to use. The boards were based around the very capable ESP32 micro controller. The boards were designed to outlast this project as they were marked for donation to help children learn to code and design hardware. Each board has the following features:

  • ESP32 Micro Controller – Wifi and Bluetooth Capable Two PWM Solenoid/Motor headers
  • Four Grounded 3.3V GPIO headers
  • Two Neopixel Strip Drivers
  • Two Capacitive Touch Pads and Optional Headers Onboard LCD Display
  • Onboard Single Neopixel
  • Onboard USB to UART Programmer –
  • 5V Power Bus 3V power Bus

The project only used a single Solenoid Driver, the LCD Display, onboard Neopixel and three of the GPIO headers. The additional functionality has since been used as part of hands on teaching workshops for kids.

Take Chances

 

Step 4: Plan It Out

The first step in making your custom PCBs is to plan it out. When it comes to hardware design, that means creating your schematic. I used my breadboard to design each section of the total project. As each circuit started working, I carefully translated it into the Upverter Schematic tool. After that I cleared the breadboard and got to work on the next section until the controller board was logically complete.

 

Step 5: Lay It Out

The next step in hardware production is the PCB layout. This was way more fun than I thought it was going to be, it was like playing SimCity with electricity. The Upverter layout tool is pretty cool and fun to use. The more I worked with it, the more I polished the design and went for style points wherever possible. It is your job to add wires between on the components. There are green lines that highlight connections not traced with copper. The most exciting part of PCB layout is the ability skip ground traces. All they have to do is touch the bottom layer and they are grounded, easy! While we are talking about the bottom layer, that is another thing of beauty. If you have a lot of traces getting getting in the way, all you need to do is drop to the bottom layer, go around the traffic and pop back up on the other side.

Lay It Out

Step 6: Make It Real

Once you go to production, things get real and really expensive. Find a production house you feel comfortable with or one that someone you know has used before. You will be sending them files to create your boards and optionally doing the full assembly. The bulk of the cost is in buying the parts and assembly. Since this project required many units as well as using a surface mount components, I opted for the production house to do the assembly.

Upverter has download section where you can generate the files you need to handoff to production. To help save some back and forth, here is the list of files I exported:

  • Gerber Files
  • NC Drill (Excellon)
  • XYRS (Pick and Place)
  • Bill of Materials

Be ready to do one or two smaller test runs before sending out your big order. My design went to two small production runs each with errors before the big one hundred and thirty piece order. I padded the order by ten just incase some of the boards were produced with errors. As you can see in the second image, I had to use green jumper wires to fix the boards from one of the earlier production runs. That’s it, you are now the proud owner of 5 to 50,000 custom controller boards.

 

Step 7: The Reveal

This was the bittersweet ending to a long long road. The kits were distributed and prompt was given. The teams set out to build a percussive instrument that could reliably drop a ball onto the resonator with each button press. As the build went on, we revealed that the projects were cloud connected and had corresponding mobile dashboards. The teams used the mobile dashboard to play patterns into their devices. “Save and a Haircut” was now the goal. Once the bulk of the teams were able to play “Shave an a Haircut”, we were ready for the recital.

Everyone loaded their ball hoppers and stepped back. We used our administrative console to calculate individual machine offsets and play Guns and Roses as well as some Bach across all the machines. The room filled with music and it was a success.

Keep building and don’t let custom PCB projects get in your way. They are totally doable and there is a whole world of support out there.

 

DS – SweetC by Phando

 

DS – Bach by Phando

Sausage Factory – Sound check

Hi everyone,

It’s been a few weeks with a lot going on, not the least of which are some neat Halloween electronics projects.

But as many know I’ve been working on my own start-to-finish build of a high gain overdrive guitar pedal with a graphic EQ section called “sausage factory”. Some folks have told me I should probably call it something different, but for the record the idea did come to me while enjoying a bratwurst with sauerkraut, and it occurred to me a high gain pedal is a bit like a meat grinder… hence the name.

Anyway, a few friends emailed me after my first blog about the project and requested a sound demo. I didn’t have the actual boards from the fab at the time, let alone the assembled prototypes, but now thanks to Altium’s corporate management I have a small lab space, and I’ve been able to get together the parts and do this!

In my last blog post I showed part of the assembly process – using a laser cut solder paste stencil and hand pick-and-place actually didn’t take too long.

In the process however I discovered I had one incorrect footprint – so I did have to cut a couple of traces around the 9V DC input jack and rewire those.

I also found one design flaw (a very minor but nonethelese important one) in the EQ circuit which I have since been able to easily fix with the addition of a single resistor.

In this process I discovered the neat “Notes and Issues” feature in Upverter (CircuitMaker has something very similar called “Comments”) where I can basically highlight a part of the schematic or PCB and write a task, assigned to a specific user, with a description of the change needed. These all go into the issues list and as I address those for the final design revision I check them off:

This was developed for team collaboration on designs, but it is equally useful for an individual designer like me, just to keep a list of changes I need to make when I have time to get back to the next rev. Also, this is useful because I’ll keep the notes and the design as-is while assembling the first 5 prototypes, which I’ll hand modify like the first so as not to waste the PCBs and paste stencil. Once those are together I’ll go ahead and modify the design and check off the issues as done.

Watch this video for the initial sound test, and discovery of the EQ section bug.

Please subscribe, like, share and comment on this video! I need your support to make this better and make more project and technical walk-throughs like this.

I’d like to even do this with you! If you have a cool design and want to share and do a video interview, please email me and we’ll arrange it!

ben dot jordan at altium dot com.

And final PostScript: Here’s a track I was working on after a few more small mods to the Sausage Factory – my take on a classic 80’s pop song:

Spooky Halloween Design Inspiration

Happy Halloween!

To celebrate we have 3 amazing halloween design contest winning designs to bring the feeling of ghosts and pumpkins for you electronics entertainment.

  1. HalloweenGhost by designgameinc

Screen Shot 2018-10-31 at 1.10.04 PM.png

From the README:

“This creepy PCB has red LED eyes and eerie sound comes out of its slotted mouth (loudspeaker is on the bottom side). The sound is generated by an ATMega32 MCU. Any wave file can be converted to 8 kHz samples and inserted into the code (thanks to Rejith, see http://avrpcm.blogspot.com/2010/11/playing-8-bit-pcm-using-any-avr.html?m=1 for more details about MCU firmware). The power is provided via a microUSB connector (no data lines, just power) and will therefore start to spook as soon as connected to any USB port (might also possess the device at the other end of the cable, use at your own risks). The ATMega32 can be programmed using the ICP connector. All the parts are on the bottom side and only the LEDs on the top side. Note the ghost’s pupils are the LEDs cathode mark. Happy Halloween!”

 

2. Halloween LED scary pumpkin by haroldocalvo

Screen Shot 2018-10-31 at 1.13.30 PM.png

“Halloween LED scary pumpkin”

The eye’s and mouth light up in this scary pumpkin!

3. Halloween Pumpkin LEDs by eugene.kim.pcb

Screen Shot 2018-10-31 at 1.19.47 PM.png

Halloween IoT Pumpkin!  This  one uses the Texas Instruments CC3220MODSF12MOBR to connect and control the LEDs on this Pumpkin.  Check it out!

Thank for all the halloween submissions.

Have a great halloween!

Michael

Halloween is Coming to Haunt You

Halloween is just around the corner, and to celebrate Upverter is giving away cold hard cash (well, some digital form of it, but that sounds less cool) to 3 of the most fun or interesting Halloween designs that are made in Upverter!  We will share the winning designs on Halloween.

What are we looking for?  Well anything that is Halloween-related, something that is in the shape of  pumpkins, ghosts or ghouls, or something that is built into you costume. Here are 2 examples of halloween designs. The first is a pumpkin shaped led board, with what looks like a really happy pumpkin, I am hoping to get a scary looking one … hint hint … but could not find one :(.  

Screen Shot 2018-10-24 at 3.50.34 PM

Pumpkin design link

The second is a lighting board for a halloween costume; build it into your costume to be the life of the party.

Screen Shot 2018-10-24 at 3.53.05 PM.png

Costume design link

How do you participate and win?

  1. Design a halloween themed design in Upverter.
  2. Make the design Public, you should give it a good description.
  3. Send support@upverter.com and email with a link to the project and what it is. No later than Sunday October 28th.
    • Bonus points for pictures of the made design or costume with the design in it!
  4. We will pick 3 winners (at my sole discretion) and send the winners $100 each.

I can’t wait to see the designs!

Happy halloween and have fun designing!

Michael

Sausage Factory Project Update – SMD Reflow (or, 10 steps to a nice prototyping experience)

Well, many of my friends in the Upverter and CircuitMaker world have requested more details about my first project start to finish done in Upverter.

So here’s a quick update. Since I finally got a corner of our office and was given the blessing to use it for making stuff, and since I’ve finally got all the parts, I can show the next phase of the project.

But talk about a wait!! The slider pots took 12 weeks to arrive! I should have checked the supply chain for them in Octopart before designing them into my pedal!

I’m still not ready for final testing yet – stay tuned, but at least here’s an update on my progress with hand assembly of the prototype.

Now, you may not have access to a desktop reflow oven, but if you can afford to get one of the cheaper units, or build one using a toaster oven, then I highly recommend the investment. Believe me, you’re worth the time it saves when building stuff with SMT devices. Even hand pick and place is not too painful once you’re organized – as my video demonstrates here.

But this process, though you may spend a few hours on it, is so much better and faster than it used to be. For a good flow, like what I did in the video, here’s what I recommend to anyone building prototype quantities:

      1. Find a decent workspace with enough bench area to spread out your project. Mine is about 15 ft2 but you don’t need that much, 7-10 ft2 should do the job.
      2. Get a compact desktop reflow oven, or build one, or use the hot plate method if you’re doing SMT parts just on one side of the PCB.
      3. Get some anti-static component trays, with enough 2 in2 compartments to hold your “popcorn components”.
      4. From your Bill of Materials, print out the manufacturer and reference designator columns, and cut them out as labels for each component bin or compartment.
      5. When ordering parts from DigiKey, Mouser, Arrow, or whomever, make sure that you add your reference designators to each component line item so when they ship to you, each bag, tube or tray holding the parts is labeled with the reference designator.
      6. One by one sort the components into their labeled compartments in the quantity needed for your production run.
      7. Print out the top (and bottom) assembly drawings on large (A3 or 11×17) format paper and stick them to the wall in front of your assembly area. I find it helpful to also print out the schematics in case I need to verify a part against the engineered design.
      8. Order the solder paste stencil with your boards, or get them from a good stencil shop such as OSH Stencils. If you have access to a CNC or laser cutter and you know how, you can make them yourself from polyimide or acrylic film. Usually they should be very thin! No more than 1-2 Mils. Make a jig with other scrap PCB material for aligning the stencil over your project PCB. Don’t try to use the stencil without this scrap board jig! If you do, you’ll bend it and the holes will not align correctly with your board.
      9. Pick and place the parts with tweezers or if you have one, a vacuum nozzle. Pay careful attention to the orientation of polarized capacitors, diodes, transistors and ICs. The magic blue smoke can’t be put back in if you insert them wrong!
      10. Carefully put the board into your reflow oven, or on the hotplate. If you can control the temperature you need to – this is the difficulty with using the hotplate approach, you have to watch it closely and remove the heat once you see the solder fillets fully formed. Excessive heat will damage devices and your board may be DOA if you’re not careful. If you have an oven, select a solder heating profile that is suitable for the paste you’re using. Lead free pastes need a higher temperature than tin-lead pastes.

     

Finish up by hand-soldering any through-hole parts you may have, then your board is ready for testing!

 

OSHWA and Altium Live: Done.

Well it’s been a crazy few weeks since my last Upverter and CircuitMaker blog post. There’s a lot going on with the Open Source Hardware Summit at MIT in Boston, and then the very next week I had the privilege of presenting once again at the AltiumLive Summit in San Diego. As a result I’ve been kept from updating the community but… here we are!

OSH – Summit 2018

OSHWA summit was extraordinary as ever. Sponsored by several companies in the open source hardware / hacker / maker community, Octopart, Upverter and CircuitMaker brands were represented. Why do we even care about this event? Because the Open Hardware Summit and the CircuitMaker and Upverter communities share the same spirit – information wants to be free, and we can’t build and improve our electronics unless the work of those who went before us is available to build upon. For this reason, and for the social aspect, I’ve always loved attending these events – to find out what’s new in the community, promote CircuitMaker and Upverter designs, meet old friends, and discuss cool projects people are working on.

There were a lot of excellent talks about the state of OSHW and it’s future, exciting innovations that can only occur because open source collaborators band together to achieve amazing things out of sheer enthusiasm, and improvements at the community level with a new version of the open source hardware certification program.

Up-close view of the OSHWA 2018 badge.
Up-close view of the OSHWA 2018 badge.
Registration Table at OSHWA 2018 – Drew Fustini was rapidly programming everyone’s name into their badge.

Drew Fustini of OSH Park posted video recordings of the main presentations which you can catch up on over at the OSH Park blog: http://blog.oshpark.com/2018/10/07/open-hardware-summit-live-stream/

New Open Hardware Certification V2.0

So what does the new OSHWA certification process mean? It comes down to the Community Definition of what Open Source Hardware actually is. Let me explain it in my words – I’m sure you’ll relate to this story:

I got excited when I discovered “open source” single board computers were made cheaply available to makers. The first of these $30-ish single board computers most people think of in this sense is the Raspberry Pi. It’s a great tool, and the fact that it runs a useful Linux distro with Python makes it especially so. With this information, there are many websites and marketing material out there since it’s release talking about open source development and waving the “open source” flag, but the day I tried finding the schematic and PCB files so I could learn (not even copy, but learn, mind) about the PCB design of the Raspberry Pi, was they day I learned that not all the people out there marketing a product as open source are telling the whole truth. I was angered by this, as I’m sure some of you may have been as well. I’m not knocking the Raspberry Pi designers or even Broadcom for the product – we all agree it’s great – but there is an incongruence to all this which I personally find distasteful. I’m all for commercial, closed and open designs for different things, but if you call something open in your marketing, you should make it truly open.

What I love about the new Open Hardware Certification is that you can’t just slap the official logo on your design unless it does meet the true community definition of open hardware. And what that boils down to is a short list of important characteristics, my personal favorites of which are:

  • Original CAD format files are made available.
    • This has to be the most important criteria. Just putting the schematics in to a PDF or even making gerber files available for download is considered not acceptable to the community definition (I’m looking at YOU, PI clones!)
  • No restrictions on Use:
    • For an open source design to be certified, its use cannot be restricted to any people group, country, industry or business. It’s truly available and useful to all.
  • Software to operate hardware:
    • Any software needed to make the hardware carry out its function either:
      • Has to be also available under a similar open source license, or,
      • Documented enough that suitable software/firmware can be written by anyone with the skills to do it.
  • Does not restrict external hardware or software:
    • Including the requirement that external software working with it be open source. In other words, you don’t have to use KiCAD to draw your schematics, just because you want the design to be open. You can use any CAD tool you prefer.
    • This also means you can write your own custom software or firmware, or design other non-open source hardware, that interoperates WITH this open hardware product. This is an important requirement for open hardware to be able to form a legitimate play in the electronics economy. Without this, we’d not have such a great competitive environment for 3D printers, laser cutters, single board computers, and many consumer devices.

But I cannot do justice to the certification program here. I highly recommend you read about it and follow it through for your own projects as Michael Weinberg, OSHWA President, suggested in his talk at the 2018 Summit. It costs you nothing but a little extra time and attention to details, and it’s definitely worth it.

To learn more, check out the OSHWA Certification Page: https://certification.oshwa.org/

More Summit Highlights

I did get to sneak in a couple of video interviews. So stay tuned for more. This first one was with Jasmine Brackett from Tindie – a maker oriented marketplace where any of us can sell hardware products we designed in Upverter or CircuitMaker!

Altium Live 2018

Old School Altium Live badges - no paperwhites or microcontrollers here!

…Then on to AltiumLive! Me, Camaryn and Christian building camaraderie by attaching lanyards to “old school” badges. Perhaps we can learn from the OSHWA crowd and get on the electronic badge bandwagon for AltiumLive next year – it would sure make prepping the badges more fun!!

Upverter Meetup Oakland – User Interviews

Hi everyone!

CM version of this blog was already posted here: https://circuitmaker.com/blog/oakland-meetup-user-interviews-oshwa-summit

It’s great to see so many new projects all the time. With almost no input from Altium to this Upverter community it speaks volumes to see the momentum here. This is in spite of some people that would cast doubt over the future of this product.

We announced earlier that CircuitMaker is going to be renamed “Upverter Desktop”. We are working to merge the communities and data together – so Altium R&D and Upverter R&D teams have become a single unit collaborating across Kiev, La Jolla, and Toronto offices. These fine factories are feverishly coding to ensure data and user accounts can be brought together without loss of fidelity. As technical folks, you’re no doubt aware this is not trivial. Naturally it will take a bit of time, but so far our R&D team tells me it’s pressing forward, and later this year or early next we’ll have our sites merged and hope to have some beta testing going on well before that.

Meanwhile Upverter is here en force, and we want to keep the ball rolling on all the cool designs and community content being produced. So keep up the great work. There’s more info coming soon, but I’ll give you a tip – we’re rolling out a user generated content incentive program this month. I’ll blog separately about that soon.

In other news, we just had our Oakland meetup event, graciously hosted by Circuit Launch by Oakland airport. These guys have a really big nice workspace for startups to come in and get some serious robotics and 3D printing done, among other things. While we were there I was privileged to get some neat interviews with a few people, working on interesting projects. Check these out below…

https://youtu.be/3kc2MztsxFk

Karlis Veilands shares his build of BlueSaab 6.1 – designed in CircuitMaker by Seth Evans – and explains the movement of “Saab addicts” who needed a solution for integrating Bluetooth audio connectivity into their 1990s-2000s Saab 93 and 95 models, replacing the old factory CD changer with this module to provide all modern conveniences of phone connectivity in the high-end audio system of these luxury vehicles. There are now quite a few BlueSaab users and a vibrant forum and community support the product. It’s for communities of collaborators like this that we wanted to make sure the open source community had access not just to PCB tools, but the most productive.

https://youtu.be/LdzsFXcNKYE

Alex Wayne is a software developer by day, and an LED kinetic sculpture artist by night. What do you need when your normal line of work is not doing hardware, but you need to do hardware efficiently for your side projects? You turn the the most productive tools with the simplest user interface that’s what! And in Alex’s case, he switched from EAGLE and KiCAD in his earlier attempts to Upverter. Now he’s designing boards for some pretty amazing APA102 LED based kinetic art sculpture work – commissioned by the city of Santa Rosa CA. See his  interview to discover more about this interesting project.

Our next meetup isn’t actually ours!! Our next meetup will be the Open Source Hardware Summit – this Thursday at MIT in Boston. We’ll be emailing the CircuitMaker and Upverter Bostonians in a day or two with more details. We would certainly love to see you there! But even if you can’t get the day off for Thursday, perhaps we could catch up Wednesday evening at a pub in Cambridge? Either way, I hope to see you there or at our next meetup which will be in the Los Angeles CA area. Keep designing cool stuff and I’ll report back here again soon!