Sheesh, it’s been so long I forgot how to log in to my own blog!
I just have one bit of progress to report: last night I ordered PCBs for an XBee module to connect to the controllers. I still need to order parts for it.
That’s all, really.
Still reading? OK, I don’t think I’ve mentioned this before: we’re planning a trip to the Outer Banks next month. Our Turkey trip was called off and we immediately booked the OBX trip with the savings. I’m hoping to do some KAP and spend some time working on this control system dohickey.
I probably own you a good excuse for taking two months off from this project. Swim Team. There. But that ended last weekend, hence the movement on the XBee module.
Hello. Let me bring you up to date on software developments over the past few weeks.
- One LED works (and one does not, for some reason.)
- The button works.
- Crystal oscillators work and SysTick interrupts are produced at 1ms intervals.
- Event Manager runs, with some API improvements.
- SWO debug output works in conjunction with printf.
- SD card detect works.
- Started development on USB tests.
So things are proceeding well at a measured pace. I’m looking forward to getting some of the more complex functionality working such as USB and uSD. And I think it won’t be long before I need the RF modules and start adding other modules to the system.
Let me bring you up to date, oh most patient reader.
- The PCBs came in.
- Stencils arrived and look good.
- I hired a tech to assemble everything, which he did without the need of the stencils.
- I tried programming it with the LM3S3748 eval module and did not succeed.
- I bought an IAR I-Link and tried again with that.
- After configuring things properly, I got it to download and run a simple program.
So after however many years I’ve been trying, I finally worked through the whole hardware design process and arrived at a working board ready for software.
Granted very little has been tested on the new board. I just know the voltage regulator, JTAG and processor run. I still need to verify the leds, button, crystals, USB port and uSD interface. And all the bus signals.
Still, this is a day I sometimes thought would never arrive. I have hardware.
So in the last entry, about 4 months ago, I had discovered my choice of processor wouldn’t work. Since then a lot has happened and I probably should have been updating this blog as I went along.
First, I should say I decided to dump the Luminary Micro line and picked up STMicro. I selected the STM32L151 and designed a new PCB around that. Within a couple weeks I had a new layout done and I ordered new PCBs but then the holidays arrived and the project went to the back burner. It wasn’t until the end of January that I started to work on the BOM again. I discovered more problems, then. One crystal had a bad footprint in the layout and it didn’t meet the recommendations from the app notes. There were some other parts that weren’t available, too. So I made more changes to the circuit and layout in order to create a BOM with all parts in stock. Earlier this week I actually placed the parts order for 3 controller boards. (They arrived today.) Also this week I finished cleaning up the PCB. Today I submitted it to Oshpark.com to be included in the Feb 18 panel. I also ordered solder stencils from stencils unlimited.
So that’s pretty good progress, eh? Now I have parts, PCBs and tooling for three controllers. Once everything is together, I’ll see if I can hire a technician to do the assembly for me. Perhaps by this time next month I’ll have a bit of software running on the debugger.
A bad time to be questioning your choice of microprocessor would be just after sending a PCB design out for fab. But tonight I was looking up part numbers and pricing info on digikey and found out the processor I wanted isn’t available. The LM3S5632 seems to be obsolete.
There seems to be a new family of processors that are somewhat pin compatible, though. The LM3S5R36 has everything the original processor had except USB host capability which I wasn’t using. Plus it adds a lot: 80MHz instead of 50, 256K flash instead of 128K, 2 SSI instead of 1, 3 UARTs instead of 2, 8 ADC instead of 6, 8 PWM instead of 0, 1 QEI vs 0.
It seems I looked at this part back in January or February — I had a copy of the datasheet with that date. I can’t remember why I didn’t choose it then. I hope there wasn’t some problem.
OK, now I’m looking at the errata and there seem to be big problems. USB bus powered operation is prohibited and the flash only works for 100 cycles. Problems with reset of debug module, too. What else is there? Nothing on Digikey.
It’s starting to look like I may need to buy the 5R36 and hold my nose. I should talk to a TI rep and ask WTF?
I have PB1 tied to 5V due to errata with 5632. With 5R36 this pin has pullup issue and isn’t 5V tolerant. Same prob with 5C56. So neither 5R36 nor 5C56 can work with this PCB. Same
Maybe an LM4F part will fit the bill? No 64LQFP versions in stock at Digikey.
Questions for TI:
- Are samples available for 5632?
- What replacement reccomended for 5632? Need USB device, SPI, I2C, GPIO.
- Any answer/update on situation with 5C56 or 5R36?
It has been a long time since I’ve had any progress to report. I get tired of saying, “Nothing yet. Nothing yet.” So it is with pleasure that I can report I’ve completed a PCB design and sent it off for fabrication.
This is the design I was working on during the Spring. I had the schematic complete and even did a layout using the ExpressPCB tools. But I decided to switch to KiCad then had to set the whole thing aside in mid-May. The Summer was very busy, as I expected, and even Fall started off with too many commitments to spend any time on this. But by mid-September, I picked this back up and broke through some learning curve issues with KiCad. On Friday I submitted this to Oshpark.com for fab. The panel is scheduled to go out tomorrow and it should be about two weeks until I get the boards back. In the meantime I need to figure out how I’m going to have it built.
I could maybe solder this myself but it would be a stretch. I could also try to set up a DIY reflow oven to build it. But, again, that seems like it’s not the best approach. I’m not sure I’d get enough use out of that to make it worthwhile. Also the setup would be risky and I’d hate to add more delays to this project if I have to re-order PCBs. That leaves hiring a professional technician to assemble it. Fortunately I know a couple guys so that seems like the way to go.
In the meantime, there’s documentation to finish (BOM, Design doc), parts to order, software to write and interface boards to design. This is where the fun begins.
I had a feeling there wouldn’t be any progress on the controller design during the Summer. We had swim team, two vacations and a busy work schedule to deal with. In fact work has been a real problem since we have a major delivery being released Oct 7. But about a week or two ago, I finally picked up the controller project again and made some progress.
Actually, a breakthrough of sorts occurred back on Aug 30 when I discovered a decent tutorial for how to make component footprints in KiCad. But it was only about two weeks ago that I went through the steps for the first time. Since then I’ve been spending a few hours most days making incremental progress. (I actually stayed up until 1am twice last week because I couldn’t stop tinkering with it.) All the effort has resulted in a draft PCB design now. I just need to review some things, make tweaks and clean things up. If I can get it ready in time, there’s a 4-layer PCB production run that will start Oct 8. Three copies of my design will cost me just $20 so it’s not a big risk if there are problems with it. On the other hand, if I miss this deadline it could be a while before another 4-layer run is made. So I think the best strategy will be to submit this design for fab in whatever state it’s in by next weekend.
So much progress was made in April! I had the schematic and layout done in PCBExpress. But that wasn’t good enough. PCBExpress doesn’t have a silkscreen layer on the back side so there was no labeling of components on that side. Even worse, those labels showed up on the front!
So I decided to convert the design to KiCad. I pretty much finished the schematic (including changing the LDO regulator to a more suitable DC-DC converter.) But I didn’t get far with the PCB design before life swept me off in another direction.
Starting in Late May, I’ve taken on several photography projects including shooting for the swim team again. So my time is demanded by other things for now. The controller project will resume where it left off eventually, I’m sure.
Good news for once! Over the last three weeks I’ve been working steadily on the layout of the controller board. It’s about 99% complete now. I just have to clean up some labels and fix the spacing of the mounting holes.
I always assumed I would have this design reviewed by somebody else once it got this far. So the next step might be to put together some documentation and find someone interested in reviewing this with me. Beyond that I can either order the boards and parts and try to get a couple assembled or I can proceed with designing an i/o board to test with. I’ll probably go the former route because I think the more real this gets the more I’ll be motivated to work on it.
Hmm, almost 3 months since my last update. That’s discouraging.
Last weekend I completed the schematic for the controller module. Then I started on layout. I have 8 of the larger components’ footprints done. There are more components to lay out then, of course, there’s all the placement and routing.
I’m hoping to keep this project moving through April so that I’ll actually have boards by early Summer. But, if I let it rest for 3 months before the next status update, who knows when it will be completed. I haven’t given up yet, though, despite all the delays.