A very busy few weeks at SolderSplash Labs!
Our blank PCBs for the SplashTag have arrived and Rob got the chance to test out our new
toaster reflow oven. For small batches and prototypes it’s ideal and gives a more professional finish versus hand soldering. To control the oven Rob threw together a simple set point controller using the DAC output of a ST32F100 M0, a AD8495ARMZ and a thermocouple. To program the STM32 we used CooCox, it’s the first time we have had a chance to use it properly and we are quite impressed!
To verify the oven was being controlled as intended we used an independent temperature logger. As you can see from the graph above actual temperature is tracking our demand, matching what is needed to re-flow our PCBs.
It was showtime! using our new SplashTag PCB and the stencil we applied solder paste and placed the components. The oven finished and it was quite clear the process had failed, which led to much confusion. We quickly realised why, somehow the oven controls had been knocked and one of the heating elements was disabled. So back in they went for another cycle, this time it was successful! our white silkscreen did go a little brownish though. Once we got the hang of it the next few went through uneventfully.
After performing all of the basic checks we plugged it in and measured the rails, all was good. The next job was to get our CPLD programmed, we like a challenge so decided we would want the CPLD to be programmed via the FTDI chip instead of having a separate header. We also avoided the FTDI’s jtag pins so that we can offer the 2nd port as a UART header. This means the Jtag connection to the CPLD has to be bit-banged and that we couldn’t use existing tools because our FTDI IO is different. No simple task! fortunately Xilinx help you out and have an app note ( xapp058 ) which describes how to bit bang a Jtag connection.
We now have the SplashTag re-programmable from the PC with SVF or XSVF files, so we flashed the boad with TI’s Xds100v2 CPLD buffer. I fired up Code Composer 5 and successfully flashed the SplashLight board! An addvantage of writing our code to program the CPLD is that we can now use IO going to the UART header to program external CPLDs as well.
Now I start my testing with different Jtag targets and IDEs. Also Dangerous Prototypes have a CPLD schematic of a KT-Link buffer I want to convert and get working with ours, this then gives us SWD support for M0 ARMs.