From now on, posts to this blog will be located here (http://blog.nilok.ca/) instead of on wordpress. I hope you continue to follow them!
This morning I got some new pictures, courtesy of the new machinist. They will be sent to me this week. The sample pieces are not going to be anodized because there is a minimum order of $50.00 from the place that will be doing it. Here’s some eye candy!
As promised, I heated up the good ol’ soldering iron to do a little bit of surface mount rework. It went rather well. I also pulled out the multimeter and checked all my connections. I powered it up, and the POWER led lit up beautifully. However, I noticed a small problem on the microchip and I unplugged it all to fix a short. The rest is history – I lifted a few traces accidentally under the chip, which are very difficult to fix. At least I know it powers up properly!
I also wanted to add the feature list to this post, maybe get a little bit of credibility in Google searches or something. Here it goes:
The USB Squid is a generic IO controller with some advanced features that make it a little more interesting than most. Here is the proposed feature list (so far):
- 12 High Power outputs. These are powered off a separate driver chip and are capable of up to 500mA each. You can use these for normal outputs too, but they are most suitable for driving relays or solenoids or other large loads.
- 10 Input/Output/Analog pins. These can be switched through software to be a digital input, an analog input, or a digital output with low current. These would be ideal to measure your sensors or drive LEDs.
- Hardware reset. This is useful if your computer crashes and you want to reset the USB device.
- USB 2.0. The whole thing will run off simple USB commands and is very fast.
- All port PWM. Any of the ports can be configured to run in pulse width moderation mode. This is useful for controlling servos or LED brightness.
- Special function inputs. There are several special functions hard-coded into the device. You chose an input pin and it’s function through software, and it can perform differently. For example, there is functionality for latching I/O, toggling outputs based on inputs, rotary encoders, LCDs, IR decoder, etc. You can theoretically use this device to connect and LCD and a volume knob to your computer while still maintaining your high powered outputs or your analog inputs!
- USB Bootloader. Upgrade the firmware via USB! Configure new special functions and updates as they become available.
- EEPROM Storage. You can store and read values from the device’s internal EEPROM memory simply and quickly. Since the device only uses a fraction to store information, you are free to read and write the rest!
- Save State. The device can save the state of each input/output/analog set up so that next time it receives power it will keep the same configuration.
- Auto Update. Configure a port to auto-update and every time that port changes, a report will be sent to the computer. This way your software interface is not overwhelmed with updates every 10ms like many other controllers! If nothing changes, no report is generated and your computer can run quicker and smoother without processing the extras.
- Interrupts. Get notified the instant one of your inputs changes instead of polling!
- Serial Interface. There will be an expansion interface using the onboard serial transceiver. With this interface, accessory boards can receive all the messages that the device receives through USB, and it can transmit them to the device for a sort of remote control. The possibilities are endless with this! You can make it wireless, you can add expansion ports, anything you want! You can remove the host completely and use a serial device (perhaps a remote control?) to configure.
- Stand Alone Capability. With special function inputs, you could disconnect the device from the host computer completely and still have it run. If you have set PWM modes, they will continue. If you have outputs toggled by an analog signal or an input, they will still function. Use this with a serial device connected along with Save States and the device will run completely independently once configured.
This afternoon I decided to take the leap on my first prototype board that I received a few days ago in the mail. After testing to make sure all the components fit properly, I put some solder paste on the board and carefully placed all the components with my fancy tweezers.
When I put it in the toaster oven, however, it would not reflow. I had it baking for quite a while at 450 degrees and the solder simply would not melt. When I removed the board after a few minutes, the USB connector fell right off — meaning that I was right, the solder did not melt.
I guess my solder paste has gone bad! I ordered a sample from EFD in the meantime.
Now I need to find another way to see if my circuit will work properly! Guess I’ll have to pull out the soldering iron some time soon.
Within the last week, quite a few things have happened. As I said, I was going to try a new manufacturer to get the cases done in aluminum and colored black. We have negotiated pricing and even a free sample, thankfully. I made changes to my 3d model to make sure everything will fit just like it should.
If you were reading before, I also mentioned that I would order a batch of circuit boards earlier on in the month. Well, I lied. Accidentally! I found a place that got me a prototype done for $25.00 shipped to Canada via UPS. That’s quite the deal. Unfortunately, I only get one board, but that should be all I need realistically to determine whether or not the thing will work!
I get really excited to get packages in the mail, and every so often I go on buying sprees so that I’ll get a whole bunch of cool things at once! UPS is really letting me down though. They have switched my delivery date about 4 times now between yesterday and today, and currently I’m in an exception: “POWER OF ATTORNEY DOCUMENTATION IS MISSING AND IS REQUIRED FOR CLEARANCE”. Upon calling, I need to assign a broker and blah blah. The charges, as the lady described them to me, are $7 for brokerage, $4.50 for C.O.D. and then $5.50 minimum for taxes. I explained that there would be no taxes, and by supplying a credit card number I didn’t have to pay the COD. So I have to pay an extra $7 for this prototype, putting the total to about $35 CAD, which really isn’t all that bad.
Anyway, that should be delivered tomorrow and immediately after I will be sending it to the manufacturer to make sure that it fits in the enclosure because if it doesn’t, he can modify the enclosure on the spot to make it.
I have also put together some basic firmware, just some simple tests to make sure the board is working. I want to put together a test-bed sort of deal to make sure that each one works before I ship it, but unfortunately that costs quite a bit of money — overhead that customers will not want to have to pay for! Instead, I’ll write a simple software test to inject signals and make sure that they come out properly.
As of now, the bootloader should be ready. The initial firmware test is also ready. All it will do is blink the USB status LED for each stage of the USB enumeration stage. If that works, then we get USB connectivity, and then I can run the rest of my tests by passing commands through the computer!
Wish me luck!
Since I can’t use the plastic enclosures (see my previous post), I have to use the aluminum ones. Unfortunately, raw cut aluminum doesn’t really look too pretty on it’s own. Especially when you can clearly see the cut marks from the CNC machine! The solution is to get the parts anodized. Anodizing is basically a way of making a thicker layer of oxide on the outside of the metal. Since it is so porous, you can dye it before you seal it, which is what gives a lot of products their color. Best of all, it’s fairly cheap.
My previous machinist was offering me aluminum enclosures at $15.00 a piece, but since he does not do his own anodizing, the additional cost would have been $8 per piece ($8 top and $8 bottom) — a total of $16.00 per unit! Now, paying $15.00 to get a piece machined is a decent price, but paying an additional $16.00 for electrically plating them seems silly. I had another offer for $18 per unit and $20 per unit with anodizing, so logically, I’m going to give this guy a shot now.
I expected to pay approximately $20.00 for each enclosure so I can’t really complain about the small price difference! I just contacted him regarding the samples today so we’ll see how long it takes before a production piece is made.
I also checked today and I have 40 page views! I was used to 1 – 5 per day, but 40! I’m shocked.
That’s all for today’s long post. As soon as I hear, I’ll post about it. I haven’t heard anything from SparkFun yet, but I’m hoping they got my message!
At the beginning of the week I received the aluminum enclosure and the attempted plastic enclosure. While I do like the idea of plastic (non-conductive, easier to apply a sticker to, cheaper, not anodized), it simply will not work and the quality is sub-standard due to the difficulty involved in cutting. I have to stick to the aluminum enclosure.
I also placed orders for most of the components. I ordered enough parts to complete at least 20 units. I got 50 USB connectors, 20 crystals, 2100 resistors, and 600 capacitors. I did only order 100 connectors though, and at 13 per board, that gives me enough to make 7. I will order more in the future though when I make sure the fitting is right!
I am going to place an order for the circuits this week and see how it all goes! I feel as if I should get a sample board working first, but at the price of prototypes it really isn’t worth it!
I also contacted SparkFun recently. They are a wonderful distributor of electronics supplies, geared towards the hobbyist. I always check their tutorials and new product posts and I asked to see if they would be interested in stocking my product! Guess I’ll have to wait a bit to hear an answer! Wish me luck.