Friday, May 27, 2022

Old Idea Redone

Well since parts are impossible to get, i moved on.  Got a quote from one of the robber barons for an LED controller with an MRSP at Digikey of $1.65 in qty 1.  They wanted $55 each for an MOQ of 25.

Below is the result.  I started this on Tuesday and just sent it to FAB.  Not sure I can get everything for it right now, but it will be good enough for demo purposes.  There was no way I was going to build any of my new Brick Controller.  So I switched to an LED controller.  This is a subset of what the Brick Controller was, just no motor control.  This made power much easier since I did not need to make 9VDC.  The LEDs are powered from VUSB, ie directly from the USB bus.  The PCB is 48x64mm and is designed to fit exactly on a 6x8 LEGO plate.

The differences from complete design freedom are:

1.  Had to put in a new BT module(RN4870 vs RN4020), the one I have been using is not available for years if ever.  MIcrochip does not appear to be upgrading it for BT 5.x spec from 4.2.  The BT SIG has deprecated 4.2 already and wont certify any 4.2 after 1/1/2023, according to the Microchip website when you look at the RN4020 module.  The RN4870 module is BT 5.1 but the smaller version cant be found, so I am using the larger version.  I have about 15 of these I bought months ago as a hedge.  They claim firmware compatibility, we shall see.

2.  The processor is a PIC32MX270F256 and of the same family as the new Brick Controller (PIC32MX470F512) and I am hoping the firmware changes will be minimal.  There seems to be lots of these floating around.  Hopefully tomorrow they will still be there.

3.  If you look carefully you will see a small square IC (U1).  That is the LED controller(LP55231).  This a previous version, but is firmware compatible with the one I used on the new Brick Controller (LP5569).  I bought 20 of these months ago from one of the robber barons.  For whatever reason they were only 3x in cost.  The biggest issue for me is that the LP55231 is a source to the LEDs while the LP5569 is a sink.  While this might not seem like a big deal, it actually has large implications in the wiring of a MOC.  At least I try to minimize the number of wires running through a MOC.  Using 36-42 gauge wire, you want to minimize the number of wires that can break.  So in my case, I minimize the number of source wires since this is the common wire.   All my previous designs used an N-FET to sink drive the LEDs, that way I can parallel up multiple LEDs and not worry too much about the current load.  So I added N-FETs to the output of this older controller to make LED connections sink driven.  I give up the current control the LP55231 provides, but I use PWM to control intensity anyway.  With the VUSB supplying the drive voltage, a 120 to 150 ohm resistor provides the necessary current to brightly light the LED.  When the the new LED controller becomes available, those N-FETs and one resistor per channel will go away.

4.  I added 5 more LED channels using the 5 PWM controllers in the PIC32.  These would normally control the motors, but they work nicely with LEDs also.  So this gives me 15 LED channels, which sounds like a lot, but I can get very carried away with lighting effects.

5.  I added 4 inputs, 3 digital and one analog.  Though the analog can be make into a digital.  The 3 pin connector has 3.3VDC, ground and input to either a Schmidt Trigger or a unity gain OP-AMP.  This shroud provide all the input I can use.

The PCBs should arrive in about 7 days ( if Shenzhen doesnt shutdown).  That will give me two weeks to build, debug, test and then implement in one of my LEGO displays.  This should be fun.

More on the reason for the fast approaching deadline in a few days.