What's a DigiSpeaker?
DigiSpeaker is an internet connected 100W stereo amplifier embedded in a pair of speakers. DigiSpeaker can be connected to the internet wirelessly or via cable. DigiSpeaker can be installed in the walls of a home or sit in the open in a room. It only requires regular house power from an outlet or power line. If the house is network wired, then DigiSpeaker can plug into that network to get music. If the house is equipped with a wireless network, then DigiSpeaker can obtain music wirelessly. If a network is not available, then each DigiSpeaker is capable of direct input or output of both analog and digital music. And if that was not enough, each DigiSpeaker is capable of being the source of all music for all the other DigiSpeakers installed in a home. Read More.
So, we decided to try and make a reusable wireless module for all the DigiSpeaker products. The idea is to FCC certify this single module and then reuse that certification in all our products.
The module is based on the MC13224 from Freescale. There isn't much to it. I tried to bring out a wide selection of the pins so it would be useful in a number of places. The module is a little large (1" x 1.4") but it does fit into a Dimmer design. It has two antenna configurations. The first one is a standard Inv-F PCB antenna. The second is simply a hole where a wire-whip can be soldered. Notice that the whip can be soldered on the top or the bottom of the module. The idea was that we might solder a whip to the bottom of the module and run it up through the front board of the dimmer and have it bend into the plastic faceplate of the dimmer.
The board is castellated. It turns out, that any board shop can do 40mil holes on 100mil centers when castellating. However, this design calls for 20-35mmil holes on 60mil centers. This is just on the edge of what a normal board shop can do. If it turns out that the modules are significantly more expensive than regular boards, then it won't make sense to use a module. Instead we will just place the radios in each design and swallow the FCC costs. I am in the process of bidding this design now.
|Layout: All Layers|
|Layout: Top Layer|
|Layout: Bottom Layer|
This is a new version of DigiDimmer. It addresses the problems pointed out in may last post. As in previous designs, the high voltage circuit (Triac, Power Supply, Monitors) is on the bottom board and the low voltage ciruit (CPU, LEDs, Switches) is on the top board. The board will be cut in half and the top board is lifted out of the page and goes directly over the bottom board. That is, the top side of the top board is the top of the dimmer. The bottom side of the bottom board is the bottom of the dimmer.
The notch on the left is for an 'air gap' switch. You will notice two headers (two pins each) on either side of the notch on the bottom board. The idea is the have a couple pieces of metal fashioned to bridge the gap (notch). A plastic plunger will separate them if it is pulled up.
This design still uses the Power Integrations controller for the power supply. Mar suspects I am going to have trouble with this controller but I neither of us has the proper equipment to measure if I have a problem. This is an unresolved issue...
This design is can be configured for six different products. They are, 600W and 1000W versions of 2-key, 6-key and 8-key devices. The exact configurations are explained in the schematic (see below) and also in the description below of the part view of the layout.
This design uses a CEL ZFSM-201 MC13224 module (it is the large yellow square in the parts view below). These modules are pretty expensive and I fully intend to replace it with either something Mar makes or something I make myself. However, I was curious if I could do a six product/2-board layout with a huge module. The answer is that it can be done.
The CEL ZFSM-201 module has two antenna options. You can use the on-board inv-F antenna or you can mount your own MXCC connector and connect a whip antenna. I wanted to experiment with both these options so I decided to make two versions of this board. One with all the board poured with copper ground plane and another with only half the board covered in ground plane. The 'half-poured' version will be used for testing the inv-F antenna. The 'all-poured' version will be used for testing the whip.
To support the whip antenna, a large mounting hole was designed into the bottom board so a whip antenna could be soldered directly to the CEL module and then fed down through the hole (into the box).
After reviewing DigiDimmer V2 with Jon and Mar, there are a few concerns. While a little discouraging, the concerns are valid and can be solved with a slight course correction and a little broader vision.
- Buttons Too Small. In DigiDimmer V2, I located three buttons along the bottom of the switch area (still able to fit in a Decor faceplate) for modes. Those modes were 'lights', 'volume' and 'extra'. The idea was that the user could select the mode of the switch and then use the up and down buttons to make a change (dim/brighten lights, up/down music volume, select a new station). Jon thinks there aren't enough buttons and they are too small. He would prefer a regular up/down light switch (cheapest model) and a couple keypad variations (6 or 8 keys) that can be programmed for many functions.
- No Keypad or Touch Screen Solution. Jon feels that each house will require a few keypads. He doesn't want customers to have to go to another vendor for this. So, he wants 6 and 8 button keypads with a built-in dimmer. Also, he wants a touch screen version for more sophisticated installations.
- Require 600W and 1000W Versions. Jon thinks the majority of his devices in his house are 600W. However, he does have a handful of 1KW devices and once again, he doesn't want customers to have to go to another vendor for those. I have been planning a 1KW version all along so we are covered on this point.
- No Switched Solution. Jon also has several places in his house that requires a remote controlled switch (fans and such). We currently have no offering for this.
- Power Integrations Supply Is Noisy. Mar has a friend that tried to use the LNK304 from PI and failed. Apparently, he was not able to get it through UL testing because of EMC. This is a big concern. All along, I have been trusting the PI documentation that states they have compliant designs. However, this might not be true (Arg!). This isn't a total disaster because other chip makers have better (more expensive) models of the PI controller but it would be nice to not have to go there. The problem is determining if I really have a problem. To find out if you won't pass EMC, you need to test with a Line Impedance Stabilization Network (LISN) which is not cheap. So far, we haven't been able to beg/borrow/steal one and they are expensive. We considered building one but experience tells us that building test equipment is its own can of worms. LISNs are made by Com-Power (see this model) and ETS-Lindgren (see this model).
- AC Line Artifact. Ringing/Buck on the AC line is due to current surges in the load. When the triac turns on, the current rushes into the load and bounces around. To get around this, you put a big choke inline with the load to slow the current down a bit. Right now, DigiDimmer uses a PI filter with a 22uH inductor. This seems to be what other dimmer manufacturers use (Lutron). However, the Insteon dimmer uses a custom built 100uH inductor with noticeable improvement. The problem is that I can't just order a reasonable sized 100uH dimmer from Digikey or Mouser. I probably have to explore different core materials and wind my own.
- Each Design Requires FCC. I have been trying to collapse DigiDimmer V2 into a single board solution. Along the way, Mar and Jon pointed out that every board I make (and Jon wants more variants of this product) will require FCC. One way to get around that is to use a module that has gone through FCC. Mar is working on such a thing (similar to this). However, I thought I couldn't use it because of space concerns. Now that Jon wants several variants of our product, some that will clearly eat up my available space, I am considering using a two board design for all variants (see below). This leaves room to use a module.
- No Air Gap Switch. To be compliant with UL 1472, we have to have an air gap switch in the device. This gives the user a way to turn off all power to the device. The current DigiDimmer design doesn't have this.
What I Am Going To Do About It...
I am looking to solve all the problems above in a single design. I want to come up with a single design for all in-wall devices (dimmer and switch variants). To do this, I think it is only practical to go with a two board design. Functionally, it would break down like this:
- Top Board/Top Surface. This holds the UI for whatever the device is. Except for the touch screen design, I could probably locate 6 to 8 switches on the surface that could be populated for the different configurations (2/6/8 keys). In addition, they could all share the same indicator lights.
- Top Board/Bottom Surface. I could mount the MC13224 module here. A 1inch x 1.5inch module (like the CEL) would fit fine in this space (light switch boards are 1.5inch x 2.5inch). This surface is in-between the two boards so you would think the PCB antenna would be useless (but maybe not, things are just going to bounce around in the box anyway). However, whatever module we use will have a place to put an MMCX (or something) connector so we could put the antenna anywhere. We could even solder a whip to this location and have it go vertical through the Top board or Bottom board (just make the appropriate holes).
- Bottom Board/Top Surface. This surface would only be used as a last resort. Right now, in my current design, I have a couple parts here but they could be moved to the other side. We would try to leave this surface clean so we don't incur another two sided assembly.
- Bottom Board/Bottom Surface. This surface would have the dimmer/switch circuit, the power supply and the measurement/detection circuits. My current design already has these on this surface.
I would leave a 125mil border on the top board/top surface, top board/bottom surface and bottom board/top surface so I could have somebody make me some plastic mounts/spacers. This is what the insteon guys do. Also, there aren't a lot of signals that need to go between the two boards (maybe 10), so I would just use headers with 50mil pitch and 250mil mating. That will draw the board closer together than my current design (again, this is what the insteon guys do).
So, to make the products that Jon wants, I would make a Top board that did quadruple duty (2/6/8 button or a touch screen connector) and a Bottom board that did double duty (dimmer or switch). I would make a single MC13224 module for all these designs. I would then mess around with the antenna (use the PCB, use a through-board whip, run a cable to an antenna in the plastic face) until we got acceptable performance.
Back in September of last year I designed and constructed the first version of DigiDimmer (see here). I did finish that version but it had a few mistakes in it that required some surgery. I never got around to actually posting any pictures.
I went to see Jon and Mar in Boston in December of last year. Just before I went, I put a second version of DigiDimmer together. I am about to put a third version together (see next post) so I thought I would post some pictures of version 2 before I moved on.
Here is a picture of output running at half power:
Steve Jones has gotten source level debugging in Eclipse to work with Contiki. This is based on Mar's long work of getting OpenOCD running. From his announcement:
If you're not familiar with Eclipse/CDT see the Yagarto reference. You can
import the entire Contiki source tree into eclipse/CDT in two snips. The
make build is identical to a console build. You just need to point
eclipse at the make file and create a few make targets: