Incandescent Driver boards, 8/23/2014

So as I’m typing this, the incandescent driver boards are finished.  Of course, since I can’t bear to waste an inch of PCB, I’ve also started working on the next generation of driver boards.

I’ve decided to start working on the next generation of boards.  This is solely based on the fact that I have extra PCB area.  The incandescent driver boards are 2.5 cm x 5 cm.  The PCB house I use sells 10 cm x 10 cm boards.  That leaves 5 cm x 10 cm of board space.  That happens to be just enough space for the next generation driver design.

Here are the list of improvements:

  • Completely open source solution.  The next generation will switch from the HCS08 processor to the an ARM based processor.  This allows to switch from Freescale’s CodeWarrior, to CooCox and the CoIDE which are both free and open source.
  • The first generation required an $80 debugger to program the bootloader in the processor the first time.  After that, code could be updated using the serial port and the boot loader.  The fact that the debugger is required, makes the first generation more expensive for people trying to independently create a pinball machine.  The next generation contains the debugger on the development board.  There is also an embedded bootloader, so if creating cards from scratch to make them cheaper, that bootloader can be used.
  • The HCS08 in the first version used a DIP package for the processor.  That package for the processor is end of life, so the cards would have to be laid out again.  That would involve switching from DIP packages to surface mount packages which would make home assembly more difficult.
  • The next generation uses a standard off the shelf development board.  The solenoid driver/input driver boards mount to the development board using the breakout header pins.  All soldering remains through-hole components to make it easy for hobbyists.
  • The first generation cards were either solenoid drivers or input cards.  The next generation allows the cards to be either input or solenoid drivers, or a mixture by populating the boards differently.  Since there are less different cards, a single order of 10 cm x 10 cm PCBs can build two complete pinball machines.
  • The next generation of boards have switched from 5V processors to 3.3V processors.  Previously a voltage conversion needed to take place between the solenoids drivers/input drivers and the Raspberry Pi.  Now that everything is running at 3.3V, that converter can be removed.  This makes interfacing between those two cards, that much easier.

So, I don’t really have time to write the firmware for the next generation of cards.  I’ve done minimal amounts of work getting interrupts working on the ARM processor, and blinking LEDs.  I started looking at doing the bootloader, but it would take about a full month of work to get everything up and running.  While it would be fun to do that, I’m busy getting the rest of the framework done.

That put everything on hold for a while, but then, suddenly a couple weeks ago somebody approached me to help with the Open Pinball Project.  This seemed like a natural fit to have him work on the next generation.  He has some Arduino experience, but we will see if he can show production quality firmware.

There are other things that are happening too, but there isn’t enough time for me to do all the updates this evening.

2 responses to “Incandescent Driver boards, 8/23/2014

  1. nice. I looked at switching from a PIC32 to using something like the STM32F4 discovery board (so cheap!) but the tools for linux are a real pain, CoIDE is eclipse but no linux version which sucks.

    Good luck switching to the new arm tool chain.

    I need to get off my ass and finish my master control board for my pinball board set.

  2. I’ve worked on the STM32 at work for a medical product and it was really nice. They used the IAR toolset which is not affordable for hobbyists unless you ignore/code around the restrictions. When the STM32 first came out, they sent me a Discovery board for free. I’m a sucker for anything free. A couple months back I brought it up and did initial tests using CoIDE (yes, it is Eclipse based). I worked out a quick design and then shelved it. Only reason that I picked it back up is that somebody, who I’m going to start calling Pierre, wants to help out on the project. That is something I could throw out a couple quick boards, and let him see if he can get it up and working.

    When I brought up the CoIDE stuff it was a breeze. It is a much cleaner debugger than the old 6.3 version of CodeWarrior that I was using. (Never switch to the 10.x branch of CodeWarrior that was Eclipse based because I never had a need.)

    My master controller at this point is simply targeted at being a Raspberry Pi. All development is going to be on a laptop since I can easily sit on the couch and work on it, but the end machine will use the Pi. I’m almost 100% certain at this point that it is fast enough since I dropped out the requirement for streaming video for the first machine.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s