9/2/2015 @ 10:31 AM
The first batch of OSHChip_V1.0 boards and their companion programming boards OSHChip_CMSIS-DAP-V1.0 have been hatched and I am now checking them out. So far every things seems to be perfect (no blue wires needed), and the contract assembly company (sometimes called an EMS, Electronic Manufacturing Service) has done a beautiful job, and right on schedule. Here are some baby pictures:
As you can see, the chips are still in the panelized form, without their legs. The debug connector on top is connected to the programmer (see next picture), and a simple test program is loaded that flashes the 3 LEDs that are next to the programming connector. One mild disappointment is that the green LEDs are not as bright as the original prototypes. Between the building of the prototypes and the first batch, the manufacturer of the green LEDs discontinued the product. Because these LEDs are tiny (0402 package) there are very few options. I picked the one I thought was the best substitute, but did not get to try them in circuit. I will investigate if I can get it a bit brighter with a change of the series resistor. If it makes a significant improvement, then I will need to rework 200 OSHChip_V1.0 PCBs, replacing an 0402 resistor on each. If you have never tried replacing parts this size, let me tell you, it is really challenging! So after a bit more testing, the boards will go through a proprietary de-panelization process that leaves smooth edges on all 4 sides, and then they will go back to the EMS for final assembly of soldering in all the pins.
So this is the programmer that takes USB and provides 3 services:
- USB to CMSIS-DAP programming with a SWD connection to the target. Use this with the Keil IDE. This should be able to program any processor that the Keil IDE supports (there are hundreds) that can be programmed via SWD. There is also support for debugging with GCC's GDB debugger, via pyOCD
- USB MSD (Mass Storage Device), shows up like a USB memory stick/drive, named MBED. You can drag and drop .HEX files to this drive, and it will convert the file to the appropriate SWD pin wiggling and program a nRF51822 which is the processor on OSHChip_V1.0
- USB to virtual COM port. The board provides serial I/O at LVTTL (0 to 3.3V) levels on the 2 pin header on the end of the board. These can be connected to anywhere in your system that has async serial I/O, so no specific pins on OSHChip_V1.0 . I haven't tested it yet, but it should work from 9600 to 115200 BAUD.
Overall I am pretty excited!