Friday, April 28, 2017

LatticeSemi Brokenness

While I'm ragging on vendors for their stupidity, let me turn my attention to Lattice Semiconductor and their broken support for their own demonstration boards.

I've previously written about the Lattice iCEblink40-HX1K demo board. This little board sells for $40 and has several Pmod compatible interface ports. When I designed my VFD Driver test board I decided to use this demo board (which I already own) to drive it. Now that the test boards are in fab I thought I'd load the latest iCEcube2 development environment and get started on some Verilog.

I'd forgotten that the last time I tried to program this board I failed to get their programming software to talk to the board, despite it having a USB programming interface on the board. This time I read the documentation more closely, and discovered that they dropped support for the on-board programming interface in 2014. Seriously? They expect you to buy one of their programming "cables" (pod) for $162.50 to program a $40 experimenter's board?

Searching the 'net I found two documented solutions. One is to load an older version of the development environment. The other is to use a set of completely open-source tools to synthesize, place-and-route, and program the chip. I'm going to use the former for simplicity.

A third possibility may be to use the Adept programming software from Digilent, as it seems Lattice used their tech for the programming interface on the iCEblink40 series of demo boards.

The newer iCEstick and iCE40-HX8K breakout board uses a non-proprietary FT-2232H for the USB interface, and doesn't suffer from this stupidity. If you want to play with a Lattice demo board, avoid the iCEblink40 series!

Wednesday, April 26, 2017

Osh Stencils solder stencil

It takes much less time to make a solder stencil than it does to fabricate a PCB. As proof (as if proof was needed), here's the solder stencil I ordered from Osh Stencils late Sunday evening:

Sunday, April 23, 2017

VFD Driver test board ordered

This evening I added a ground plane on the back of the board, which resolved the one unconnected airwire I'd left hanging. I then submitted the board for fabrication by Osh Park by sending them the KiCad PCB file, which avoided generating Gerber files. I've gotten used to submitting Eagle PCB layout files to PCB-Pool so I thought I'd give this a try. It seemed to work just fine.

Although the SOT-23-6 package of the RN4604 dual transistor I'm using as a driver is almost half again bigger than the SOT-363 of the RN4904, it's still a tiny thing with leads spaced only 0.95mm apart. Even building only one of these I wanted a solder stencil. Unlike PCB-Pool, who will provide stainless steel solder stencils for free, Osh Park only does PCB fabrication. So I ordered a polyamide solder stencil from Osh Stencils, which required me to generate Gerbers after all.

One of the options when ordering from Osh Stencils is how big a margin the allow around the board. The default is 1.75 inches, which increased the area from 7 square inches to over 18 sq in and nearly doubled the cost of the stencil. Reducing the margin to the minimum of 0.75 inches reduced the price significantly. Since all the SMDs are in the middle of the board I probably could have saved even more by lying about the dimensions of the board, but it wasn't worth the time.

Later this week I'll place an order from DigiKey for the parts needed to assemble the board. I won't receive the boards for a couple of weeks yet and DigiKey ships very quickly, so there's no rush to do that.

Saturday, April 22, 2017

VFD Driver test board

I decided I didn't want to design, fabricate, and assemble a complete replacement PCB for the Canon P170-DH calculator without testing the various subsystems individually first.

I've already documented the work I did prototyping the printer interface. Although that test used a PIC instead of an FPGA, I have little doubt that I can make that simple bit work with an FPGA with the addition of a couple of Schmitt trigger buffers (the PIC inputs I used have ST inputs).

Next up is the Vacuum Fluorescent Display driver. I did some static testing on my breadboard, but the idea of wiring 12 anode drivers and 13 grid drivers doesn't sound like fun. I decided this would be a good project to develop my KiCad skills.

Here's a screenshot of the board editor window (click to view a larger image):

Monday, April 17, 2017

Size matters

I repaired my hot-air soldering station with some JB Weld PlasticWeld quick-setting epoxy. I didn't try to force the edges of the split together, but rather used the epoxy to fill in the crack so as to minimize the strain on the adhesive. I'm a bit concerned that it won't hold on the slippery plastic of the air reservoir, but after curing for a couple of days it seems to have bonded quite well.

To test it out I mounted a second of my SOT-363 packages on an adapter board. It worked well enough, but I'm having serious second thoughts about using this package, and here's a graphic display of why that is:


See the large black square package at the top? That's a standard 8-pin DIP with lead spacing of 0.1 inch. Now see the itsy-bitsy, teeny-weeny 6-lead black speck in front of it? That's an RN4904 in a SOT-363 package. Yeah.

My fine-point soldering iron looks like a frelling crowbar next to that thing. Hot air wants to blow the thing away. But my attempts at laying out an array of the larger RN4604 keep running into spacing issues.

Decisions, decisions...