Monthly Archives: December 2013

Status 12/22/13, many updates to firmware

It has been a busy month.  Lots of stuff going on.  Built up a bunch of solenoid driver cards and input cards.  More parts had to be bought to finish enough cards for the EM to SS conversion.  The original card was populated incorrectly (should look at the silkscreen that I put on the cards a little more closely), and tried to desolder and solder a bunch of parts, and was never really happy with the results.  Since there are a bunch of extra cards, starting from scratch and making brand spanking new cards was the best idea.

There was a single issue with the RS232 interface card.  That card was originally used for a different product (a piece of medical gear).  The standard four pin power/data connector was pinned out differently to make routing better on a single layer board.  While it is simple enough to change that one cable, it makes it so that all of the cables aren’t pin 1 to pin 1.

New functionality was added to the solenoid firmware.  A feature was requested to store the configuration on the solenoid cards.  Previously a computer was needed to send the configuration after each power cycle.  The new code saves the configuration in the flash, and retrieves it during initialization.  It means, if a person was building a machine to verify the shot layouts and no scoring is needed, the boards could simply be powered with 5V and the solenoids could be controlled normally.

Last week, code downloading has been verified on the input boards and solenoid boards.  Normal serial ports (COM1 or COM2) work perfectly.  It was also tested using a USB to serial interface connector.  That was experiencing a couple of timeouts.  When watching the code download, it happens significantly faster with the normal serial ports.  It shows how much latency is introduced because of the USB to serial conversion.

Next week or two is going to be full speed on the power supply card.  That needs to be finished and ordered before Chinese New Year.  All of the parts are in the Kicad parts library so it should be very simple.  With extra space on the board, another RS232 interface will be laid out to match the pinout of the input/solenoid board, and a small card to will be laid out to interface the Raspberry Pi with the other cards.  (The Pi interface is simply a 3.3V to 5V conversion).