More Boxy and USBee

Had some more fun with Boxy and my USBee analyzer. I’ve found a decent online supplier of aluminum at onlinemetals.com. (Now if only I could find one that takes bitcoin?) I got some 2″x1″ channel cut to 4″ long. The top of the electrical box is 2″x4″ and it fits nicely. I also got a lot of sizes and shapes of aluminum pieces, in part to justify the shipping expense, but also to experiment with other enclosures. I tested the channel on the target hotplate and it worked rather well, the surface of Boxy only got up to 35C. So this is nice because I can make the lid out of aluminum without scrounging up random pieces from my local electronics supply store. The aluminum lid is good because I can mount the triac and circuit board standoffs directly to the lid. Everything is flush and the triac enjoys a good thermal connection to the outside of the box. The flanges on the channel also make a decent enough heatsink, so I don’t have to add a separate heatsink and another thermal junction to the equation.Boxy powering an Aroma hotplate

I may need a better hotplate, however. This Aroma model I have got down to about a 65% duty cycle and the water wasn’t getting much hotter than 75C. This is hot enough for most sous vide recipes, but the spring controlled duty cycle ramping down to 2/3 will probably wreak havoc on the PD controller. 🙁 I’m thinking about giving the knob a setting, or adding a switch, that puts it at 100% always on. This worries me, though, for the housing of the hotplate was already getting above 100C, and the counter beneath got up to 60C.

Various pieces of extruded aluminum

Here I have the PulseView output of the zero-cross detect circuit in the boxy. The pulse width is about 900 microseconds, and the time from pulse leading edge to pulse leading edge was 8.3 milliseconds, which is close enough to 120Hz to chalk that up to eyeballing the measurement tickmarks error. PulseView has no ruler function, least of not all an automatic edge to edge time difference display. Oh well.

This is about 10% pulse on time. Assuming the pulse center is exact zero, that’s 5% cycle lead time, but cycle here is of course 180 degrees. sin(pi*0.05) = 0.15, so sampling at a rate where you would hit the worst case you would turn on the triac when the voltage is still at 15%. Of course you can over sample and count toward the middle of the pulse before switching. Just thought I’d throw that in there.

zcd1zcd2zcd3

USBee and PulseView

If you get one of these USBee AX PRO logic analyzers and you try to use it in linux with pulseview you’ll probably get the cryptic error “Failed to set time-based sample limit.”

USBee clone
USBee clone

What actually fails is uploading the firmware to the device, which the pulseview message kindly leaves out. If instead you use sigrok-cli you might notice that the firmware failed. The problem is one of mere permissions. You can simply run pulseview as root and it works dandy. Or, if you followed the instructions here and copied the udev rules to /etc/udev/rules.d then you just need to add your user to the group plugdev. If you use RPM you can see where the rules file is in the libsigrok package. It’s in /usr/share/udev/rules.d/. Actually, I’m not sure if it even needs to be copied from there to /etc to work. It may work just fine where it is.

Now, enjoy using your logic analyzer in linux!

Introducing Boxy

Watch this video on YouTube.

Here’s the up-to 15 amp wall socket switch I’ve been working on, dubbed “boxy”. With a big enough heatsink you can use it for 15 amps and with no heat sink 5 amps may be too much. My primary use for this contraption is going to be for “sous vide”, a cooking method based on tightly controlled temperature. And for this the boxy will be switching a 1100 watt countertop hotplate, and that means about 10 amps. I’ll need a heatsink, but a moderate sized one should do.

Note that only the 2 yellow jumper wires closest to the battery are doing anything (and this demonstration would have worked with only one of those). All the other wires are just left overs from previous tinkers.

Now for the features of the boxy:

  • Completely isolated (from mains voltage) control circuitry accessed through 4 wires exiting the boxy
  • internal (and also isolated) zero cross detector – pulses every zero cross (120Hz for home sockets in the US)
  • simple control on one pin, drive it high to switch on, drive low to switch off
  • common ground for the zero cross

In the video I have the control wires exposed by a regular 4-wire phone cable and connector, though you could use whatever 4 pin connecter is most convenient for you (like a TRRS, RJ45, screw terminals, molex, etc)

Made from:

  • 1x Steel handy/utility box, $0.91 at Lowes
  • 1x 1 ft extension cord (sometimes called “Power Strip Savers”) cut in half, $8.50/5 on amazon
  • 2x NM cable connector (plastic: 20 cents each in a 10 pack, adjustible steel: $0.40 each)
  • 1x Cover for the steel box (in the video I have an aluminum plate which helps for heat dissipation, I have no source for these, though you could cut/fab your own), Lowes has a cover with a punch out hole (useful for the heatsink) for $0.98
  • 1x heatsink, necessary for any appreciable currents (lights would be fine without)
  • PCB and electronic components (to be included with the build instructions) ~$5-$10?

When I post the build instructions I’ll have a tighter cost estimate (and probably even kits for sale), but I think this could be built for under $20 apiece. Stay tuned for the build post!