Wednesday, September 15, 2021

Magic Band Adventures

I've been playing with 6 meters for a couple months now, since I got tired of my Yaesu FT-991 sitting idle over the summer (in the winter it's been one of my AM DXing receivers). I started by cutting down an old 10 meter dipole that my father (N2RJB) had made around 30 years ago, using a balun from a now-defunct company called Van Gorden Engineering, and immediately started making FT8 contacts! Of course, that was blind luck; I had turned on the station when the band was open, and it closed down 35 minutes later. 

Days passed... I couldn't stop them! Three days later I made two more FT8 contacts, about an hour apart, then nothing, then six more in 48 minutes the following day. Then 20 in one afternoon! Four days of silence, then 14 more in two hours. Then four contacts... over three weeks. Another opening yielded 13 in an hour and twenty minutes. All of this with 15 watts and a dipole, which I should mention is mounted indoors, hanging from an unused plant hook above the desk in my first-floor home office.

Then came the September VHF contest, and I decided I had to get a little more serious. I didn't trust the indoor antenna at any higher power, and I knew it was fairly deaf compared with other local stations on so something outdoors was called for. I could drag the dipole outside, but didn't have any good location for it. However, I did have this:

It's a Cushcraft (ie. MFJ) AR6 Ringo, which Dad had bought without realizing how BIG it is. So after a time leaning against the wall in his dining room (in the box!) he handed it off to me, whence it spent a longer time leaning against the shelf in the basement. I happened to have an old Radio Shack roof tripod and a couple sections of tubing, so up it went.

And to keep it *down*, 45 pounds of dumbbells:

A piece of coax sneaking through the window, and we were ready for action... of which there wasn't much. I've heard that sometimes the contest lines up with spectacular propagation, but not this time, at least not for me. I could hear stations in the Northeast, but that's about it, and even with triple the power, a whole 45 watts, they could only sometimes hear me. Clearly a lot of the contesters are running a lot more power and directional antennas; I'm learning that I need to jump in on the tail end of their contacts when they're pointing my direction, and then I have much better luck.

In the end I submitted a log with 12 contacts and 6 multipliers, which is enough that I might not be at the very bottom of the standings. It did result in one new state and three grid squares, so that's not too shabby. 

And since then I've left the FT-991 connected to the dipole and heard... nothing. Not a single station calling since the contest ended, and nobody answering my CQ. Waiting for some more magic!

Sunday, December 17, 2017

Your iPad and U(SB)

A few weeks ago I bought an Apple Lightning to USB3 adapter in the hope that I could transfer scanned photos to my iPad. Nope. Not because it didn’t work, but because Photos apparently couldn’t understand the scanned image format. I was considering returning the adapter, it’s not cheap - $39 at the Apple store - when I noticed something in the product description...

Ethernet adapters? That would be interesting. A cheap Monoprice USB adapter was closest to hand and it worked fine:

That gave me the idea of trying to SSH into a Raspberry Pi that I wanted to work on. No configuration needed for either network interface, both the iPad and the Pi support mDNS so a simple connection to ‘raspberrypi.local’ is sufficient. Having logged in, I could set up VNC as well:

This particular Pi is running the Google AIY Voice kit, which is a lot of fun to play with. The next Google AIY project is going to use a Pi Zero W, so I had one of those on hand too. It doesn’t have a built-in Ethernet, but it turns out you can enable a cute feature called Ethernet Gadget, where the USB on-the-go interface emulates an Ethernet device. There's a thorough guide written up by Adafruit, and it's really quite easy - just two config changes. Wonder if that will work with iOS?

Yep! Same drill - automatic configuration of both devices and I could SSH or VNC into the Zero:

Well, that’s all working very nicely indeed, and much simpler than having a USB Ethernet adapter on both sides.

I wondered if I could get the iPad to talk to some of the super-cool Adafruit Circuit Python boards that I’ve just started to play with. I started with a Trinket M0, which should act like a mass storage device and a serial port. No errors, and the Photos app started right up, which says to me that the iPad is recognizing the storage device part. But there are no photos on the board, and it doesn’t appear that there’s any way to access it as a general-purpose drive; neither the built-in Files app nor third-party file managers are able to see it. And although it doesn’t throw an error, the serial port does not seem to be accessible by any app I’ve been able to try.

Maybe the Circuit Playground Express would have a better time? Nope:

Hrmph. Maybe a WiPy? No. A pile of USB serial adapters with various chips don’t work either. My limited amount of poking around various developer forums seems to indicate that serial access is highly restricted, or maybe not allowed at all. Oh, well. But what if I soldered a header on that Pi Zero and used its serial port to talk to the Trinket? Hmm... but it will have to wait for tomorrow.

Sunday, March 29, 2015

The Internet of not-so-many-Things

... or: Brother, Can You Spare a CR2032?

Last fall I had a fun lunchtime conversation with someone who had just returned from seeing a Gartner presentation about the Internet of Things. They'd made a bold claim, that there will be 500 IoT devices in your house within the next few years. Specifically, they said that "a Typical Family Home Could Contain More Than 500 Smart Devices by 2022" as their headline for the press release announcing their report.

It was an interesting back-and-forth during that lunch because I was quite skeptical about such a large number. I based my argument on the fact that there aren't 500 *electronic* devices in a typical house of 2014; even in my unusually geeky house I don't think I could get to that number. And after lunch, I forgot about the whole thing, passing it off as yet another attempt by Gartner to get 15 minutes of publicity and sell a few copies of the report.

Last week, though, the topic came up again when this picture popped into my Twitter stream, posted by Jan-Piet Mens from the IoTConf in Berlin. I don't know whose presentation it was, but it hardly matters; the point is that Gartner's claim has become a talking point. After agreeing with JP's skepticism about this claim, I resolved to dig into it further. Of course I don't have access to the actual report, but neither do most other people, so I decided to rely on the press release itself. It's mostly a rehashing of things that are fairly obvious to anyone who has paid any attention to IoT: there are lots of choices with no clear leaders, most of them are not interoperable, the installed base is largely "techno-geeks" - a label I wear with pride - and yet, right at the top there's that claim of a two orders of magnitude increase in adoption over the next eight years. Well, with one little hedge; the prediction only applies to "a typical family home, in a mature affluent market" for whatever that's worth.

My family is by no means typical, but in this case I think that gives us an advantage. The four of us are all digital-savvy, and we've made sure that everyone has access to their own devices; the only residents without their own computers, tablets, laptops and phone are the dogs. And only because they've never asked. We aren't "affluent", but we can afford to get decent things. So unless Gartner is restricting their analysis to Bill Gates and Elon Musk, we ought to be right in line to become a "typical family home" of 2022.

In 2015, though, we aren't quite there. I took a pad and paper (how quaint!) and went around the house to see what I could find out about the potential for hundreds of smart devices to sprout up. As a baseline, our house was built in 1968 and has a typical colonial-style floorplan with two levels above ground (1800 square feet) and a full basement (900 square feet). We make full use of every square inch, and then some. Here's the result of my inventory.

Room Outlets Extensions Lights Devices
Master bedroom 12 8 1 11+2
Guest bedroom 8 0 1 1+1
Back bedroom 8 5 1 8+2
Front bedroom 8 6 1 11+2
Upstairs bath 2 0 5 1
Upstairs hall 2 0 1 1+1
Downstairs hall 0 0 2 0+2
Living room 14 18 0 18+2
Downstairs bath 0 0 4 1
Kitchen 14 0 1 10+2
Family room 10 0 1 6+1
Office 12 19 2 25
Garage 4 0 2 2
Basement 24 20 9 22+1
Exterior 4 0 2 0+3
Living space totals 90 56 20 93+15
Household totals 122 76 33 117+19

A few explanations before I try to figure out what those numbers mean. I think this is a fairly typical number of outlets in the above-ground part of the house, the portion that would be considered living space. Back in 1968, builders weren't expecting people to have quite as many electrical devices as we now have, so they typically installed one duplex receptacle on each wall. Modern standards call for somewhat more; typically one every six feet, though that varies. But we have what we have, except in the basement where it's easy to run additional wire, and that's why there are so many listed; I installed all but one of those after we moved in. It takes considerable effort to install more outlets even on the first floor, where they have to be stubbed up into the walls; it is a major project to put any more in the second floor. Hence, we have quite a few extension cords and plug strips in order to create more outlets; that's the second column. The total of the two, 146 for the living space and 198 for the whole house, is all the A/C powered devices we could have connected at one time (unless I go to the hardware store and buy still more extensions, of course!)

Our particular builder wasn't much for ceiling fixtures, choosing to install them only in the kitchen, dining room (which is now the office), closets and hallways. Most of the house is lit by table lamps, again except for the basement where I could run my own lighting circuits fairly easily.

As for the devices, that's my count of everything that is receiving A/C power either through an outlet or by being hardwired, along with anything else that is electronic and powered on - the items after the plus sign. Some of those receive power another way, including our thermostats (which are programmable but not connected) and doorbell (purely electromechanical). Others are battery powered, like wall clocks, smoke and carbon monoxide alarms, and our one true IoT device, which I'll get to later.

Now, let's consider the totals. As it stands, if I were to occupy every single outlet in the house, I could have 198 things powered on, about twice what I count as actually being in place. I guess I don't need to go shopping for more plug strips right away. So in an IoT future I could have a bunch more Things on my Internet, except... what is already in the house is most everything we need. There's already a refrigerator and a chest freezer; we won't be adding any more. There's only one garage door to be opened, the heating system only requires a single furnace. We have large and small food processors, separate coffee and spice grinders, hand and countertop mixers; what else would we get? Even if we doubled the number of devices we'd only get to about 240, and have no room to keep most of them.

So we won't be increasing the number of conventional devices. But won't all of them become smart? Well, let's think about that. I just did another walk around the house and looked for things that already are connected, and things that could potentially be. We have a dozen or so computers; obviously they count already. Four phones, two tablets, two e-readers, a half dozen music players. A Bluetooth speaker - that's arguably smart, although it only knows how to talk to its paired device. The TV (just one!), Apple TV and Blu-Ray player are all connected. Three networked cameras (two to watch the dogs, one to watch the 3D printers). And my one true IoT device (still saving that for later). What could we make smart? Everyone wants a smart refrigerator, I guess. Plus the freezer, so it isn't left out, and of course the microwave; our stove is from the 1950s though so it won't be getting any upgrades. All 33 light bulbs, if for no other reason than so we can play tricks on each other ("Hey, who turned out the lights!") All said, I figure that if we smartened-up all the devices that make any sense at all, we could have another 50 or so, but try as I might I can't come up with a total of 100 smart things.

Okay, you say, but what about the new things - little smart devices that will allow us to instrument our homes. Well, I'm all for that! In fact, I have a lovely little IoT device aptly called a BLEThrowie. It uses a tiny processor that has a few I/O pins and a built in Bluetooth Low Energy radio, and can monitor temperature, humidity and light levels. Right now it's sitting in the basement, helping me keep track of the humidity so we don't get mildew. I'm on the waiting list to buy a couple more, so I can instrument other spots in the house. Thanks to careful power management it can run for months off a single CR2032 coin cell, so you can "throw" it anywhere and talk to it wirelessly from your phone. Maybe those devices will account for the other four hundred Things in the typical house? It would certainly make retrofitting a lot easier; imagine a version that sits on top of the compressor for your fridge and monitors when it runs, or sticks on the front door frame and works as a wireless doorbell. There could be lots of those... and then the top search on Google would be "best prices on bulk CR2032 batteries." And we'd have a new job market for people who specialize in tracking down little IoT gadgets and swapping their cells. Maybe not.

Finally, let's look at this one more way. If I currently have 50 smart devices in the house - being generous, but that's okay - and I want to get to 500 in the next eight years, that means buying and connecting 56 new smart things each year. Even if I backed everything on Kickstarter and Indiegogo, I couldn't get a new smart device every week. Perhaps that's another new job for the mature, affluent household - IoT purchasing agent?

I fully expect that our house will become ever smarter and more connected, and there will be cool gadgets that I haven't thought of. I'll be buying and trying them out, maybe even making some of my own. I have an optimistic view of a future, smarter, better connected world. And I can't say what will happen in eight years, but I think it's a fairly safe bet to say what *won't* happen, and that's "500 smart devices in a typical family home."

Friday, February 27, 2015

High resolution test with the Piclop

I mentioned the Piclop on the 3D scanning subreddit and ComeOnDoolittle asked me about scanning some rather unusual objects: stone arrow heads or spear points.  Sadly,  I didn't have either. As a substitute I tried scanning a couple of small rocks, but the results weren't really all that interesting and I wasn't sure they would be applicable, though ComeOnDoolittle was satisfied with the early results.

Enter eBay, where it's well-known that you can buy anything, including stone arrow heads (spear points too, but they're quite a bit more expensive). Many are quite pricey, but after a little shopping I found a nice-looking one described as an "Authentic Missouri arrowhead", selling for the very reasonable sum of $2.99. Although shipping almost doubled that, an arrow head for $6 seemed like a good buy.

As soon as it arrived, I realized that I'd need some kind of support in order to put it on the scanner turntable. I've seen people use clay or blu-tack in order to anchor objects, but I didn't have either one handy, so I improvised with some stiff wire wrapped around the base. That's visible in the scans, I think it could be edited out. Still, some clay would be a better bet. And of course the arrow head would need to be turned over and have the base scanned too in order to get a complete picture; I haven't done that yet. Here's what it looks like mounted to the turntable:

I've used the arrow head for several tests now, leading up to the first attempt to do a full-resolution scan with both lasers, 5 megapixel mode on the camera and 3200 steps/revolution. And here's what that looks like:

I am impressed with the quality that the scanner has been able to achieve. There's actually a bit less detail in the point cloud than it appears, because the color changes trick the eye into thinking that there are shape changes too; nevertheless, the scanner managed to get the proportions right and avoid any extraneous points. The edges are pretty sharp too, just like the original.

There was also a question on the Google+ ATLAS group about how much CPU load the Raspberry Pi 2 was under. I installed a simple monitoring application called RPi-Monitor and used it to display the load average during the scan:

I started the scan at 22:22 and it finished at 01:44. The long-term average during the scan was about 0.6, but RPi-Monitor itself puts a background load on the machine of 0.2-0.25, so the actual usage by FreeLSS is less than 0.5 for the scan, and about 1 during the final processing. When I was monitoring the load average at the CLI, before installing the monitor software, I was seeing those kinds of levels; the processing peaked at about 0.9 or so. Since the processing is taking most of one CPU and the Pi 2 is 900 MHz versus 700 for the B+, I think that means there is a speed-up during that phase. Of course, if the processing step could be multithreaded the difference would be much more dramatic.

And for anyone who would like to play with it, I've posted the compressed PLY file on Drive:  1424913318.ply.gz  Be aware that it is a 24 MB download and will uncompress to 83 MB. I've been using Meshlab to view all the PLY files, though I confess that I don't know enough about the program to do anything other than look at them, yet. That's the next thing to learn. . .

Friday, February 20, 2015

Camera holder for the Piclop

My early experiments with the Piclop were done with scotch tape holding the camera module onto the front of the tower; that worked, but obviously wasn't going to be a satisfactory solution. I planned for a simple mount that would hold the camera right against the front of the tower, but after a few scans discovered the need to adjust it at least a little. The camera module needs to be perfectly vertical when viewed from the side; in other words, parallel to the Y axis, which is perpendicular to the turntable surface. It also needs to be aimed directly at the center of the turntable, using the "Camera" screen in FreeLSS and lining up the red cross-hair to hit the center. And that cross-hair also needs to be vertical, which I measured by putting a square on the turntable.

The camera mount I've come up with is easy to print and install, solid, and allows fine motion for two of those adjustments. However, it can't adjust the third, and in that respect it is somewhat lacking; I have a workaround, but ultimately it may need to be replaced with a better design. The files are on Thingiverse: It's still a work in progress because of the limited adjustments; in the meantime though, here's what it looks like.

My apologies for the overexposed pictures; it's really hard to take good photos of shiny black PLA. As you can see, the case is very simple, printed in two halves that snap together to hold the board. The four mounting holes on the board line up with holes in both halves, and M2-20 screws pass through all three and thread into the camera tower.

The case is held away from the tower by a ~1 cm square of closed-cell foam about 4 mm thick, cut from a piece that some electronic components were shipped in. The idea is to provide a little spring effect between the tower and the case, so it will be held against the screw heads and they can be tightened or loosened to adjust its position. Four small springs under the screws would do the same thing, but the foam seems simpler.

The first adjustment I made was to line up the case vertically, by setting a square on the table and making sure that the front of the case was parallel to its edge.

Second, I set the square on the turntable with its corner at the center and went to the Camera page in the FreeLSS web interface, and made sure that the red crosshair was in line with the edge of the blade. The camera mount doesn't have the ability to make that adjustment; that's the limitation I mentioned above. Theoretically the squareness of the printed parts and the flat table should have ensured that the alignment was good, but it wasn't quite close enough. The simplest way to achieve that was to shim the right edge of the turntable with some folded paper. For a permanent solution I'll glue some paper to the bottom of the turntable, but I also need to make sure that my table is entirely flat, which it might not be.

The final adjustment was to make the camera point directly at the center of the turntable, which is easily done by loosening or tightening both screws on one side. Here's what the picture should look like once everything is lined up.

That completes the camera alignment, at least as far as I understand it to this point - if there's a step I missed, I'll be sure to edit this post to correct things. While I have the square on the turntable, though, I also line up the lasers. In the same FreeLSS page there are buttons to toggle each laser on and off, so I turn them on one at a time and make sure that they are focused, vertical and lined up with the very edge of the square. This is the result after both have been aligned.

That's the whole alignment process, and once it is done the scanner should be ready to be measured for calibration.

Tuesday, February 10, 2015

Piclop Bill of Materials

My accumulation of parts for the Piclop build is complete, and here's the Bill of Materials that I've come up with.

Item Source Price
Raspberry Pi Adafruit or MCM Electronics $35-45
Raspberry Pi camera Adafruit or MCM Electronics $25-30
8"/200 mm camera cable Adafruit $2
NEMA 17 stepper EMSL $15-16
16014 ball bearing Amazon/WJB $10
line laser module AixiZ (on eBay) $8 each
A4988 stepper driver MakerGeeks $10
ULN2003A driver IC Discount Components Warehouse (on eBay) $7.49 (for 10)
RasPi HAT protoboard Adafruit $5

I already had a few things to start with, including the Raspberry Pi; however, it was the old model B and the availability of the new Raspberry Pi 2 was too much temptation, so I've replaced it. It isn't hard to find a place to buy the Pi 2 but it can be difficult to find one that actually has stock, at least until the manufacturing catches up with demand. In the meantime, if you have a Pi of any flavor it should work fine, and the Pi 2 will be a worthwhile upgrade when they're more readily available. You'll also need the Pi camera of course, which luckily has been out for a while and is easy to get. And in order for it to reach the front of the mount, the cable needs to be a little longer; Adafruit makes an assortment, of which the 8"/200 mm seems to be about right. That could change, though, if it turns out the camera needs to be mounted differently; I also ordered a 12"/300 mm just in case.

The turntable doesn't ask much of the stepper motor used to turn it; the big bearing keeps the friction low even for heavy objects, and prevents binding from the weight being off-center. EDIT: the original version of this article listed two motors that are 48 mm tall, and I've since been told that they won't fit in the Ciclop turntable base. That makes the motor selection a lot more difficult. The motor that remains in the BOM is not the one I'm actually using, but one that I've bought in the past to upgrade a 3D printer and can recommend. However, it is 1.8 degrees per step, or 200 steps per revolution. With standard 1/16th microstepping drivers like the A4988, that means 3200 steps per complete revolution. The default setting for FreeLSS is twice that, 6400 steps, which is most easily obtained by switching to a motor with 0.9 degree per step. They're less common, and I have not yet found someone who sells a 0.9 degree per step motor that's less than 48 mm tall. For reference, the motor I'm using for the Piclop is a Wantai 42BYGH610P2, but the supplier I bought it from is out of stock and doesn't appear to be re-ordering.

The big 16014 bearing is a key feature of the Ciclop turntable design and I think it's an excellent idea. They aren't the easiest things to source, however, with prices ranging from $10 to well over $100. The one I listed was amongst the cheapest I found at $10, though shipping doubled that price. It seems to be well-made and works fine but if you can find one locally you might be able to do better on the total cost.

I did some shopping for laser modules before settling on the ones from AixiZ; they're available from many sources, but I was concerned that most of them don't have the ability to focus the laser optics. In normal use they'd be expected to be used over a considerably longer distance than we'll need for the scanner and without focusing I was afraid they'd produce a blurry line. AixiZ seemed to have a good reputation, and later I heard from Uriah Liggett, creator of FreeLSS and ATLAS, that he likes their modules. One thing that I didn't realize at first is that they're somewhat larger, at 12 mm diameter; the original Ciclop holders were made for 8 mm modules and needed to be redesigned to work with these lasers.

The driver board needs two ICs, the A4988 stepper driver (which is actually a tiny circuit board with the IC and a bunch of other components) and a ULN2003A Darlington array to drive the lasers. Both are widely available; most 3D printers use the A4988 to drive their steppers and if you use RAMPS on your printer you may already have a spare (if you don't, I highly recommend buying one!) I got mine from MakerGeeks since I was ordering other things from them anyway, but they're essentially generic items. The ULN2003A is even more generic, so I picked an eBay seller with a good rating and a decent price, albeit for a pack of 10 chips; I figured I might need spares, and the cost of buying just one was going to be several dollars by the time I paid for shipping from a commercial supplier. I'm hoping to assemble the circuit on the Adafruit protoboard HAT, though it will be tight; I haven't yet tried to wire it.

There are three voltage levels needed for the FreeLSS driver circuit: 12 volts for the stepper motor (via the A4988 driver), 5 volts for the Pi, and 3.3 volts for the laser modules. It's easy to get all three from a modern PC power supply, but I didn't want to have that kind of bulk. For testing, I've been using a supply that I salvaged from some old equipment, capable of 3 amps at both 12 and 5 volts, with a regulator on the protoboard to produce 3.3 volts. For the final product I'll either continue with that supply or just bring 12 volts to the board and use separate regulators for the other two, depending on the real estate that's available.

Of course all the parts needed to be printed, and for that I decided to start with a fresh roll of 1.75 mm PLA; I hate running out partway through a project and having to change colors! For this one I picked MakerGeeks 'Dark as Night' black, one of the filaments that they have started to make in-house. The quality has been excellent and the prints are very nice; the only thing I noticed is that it wants to be a lot hotter than any of the other PLA I use, 225° C rather than the 200° I am used to.

Friday, February 6, 2015

Ciclop turntable build

I've finished the Ciclop turntable assembly (using the files from GitHub) and it is solid and functional, and looks quite nice in my opinion.

The base is chunky but with pleasantly rounded lines; the turntable support and bearing clips go together well without any cleanup or fitting needed; the motor-to-turntable connection is well thought out and makes assembly very easy. The only problem is that some of the nice features also make it hard to print.

The pretty arch on the bottom of the base is a classic no-no in FFF printing, starting off easy but becoming an impossible overhang. And not visible in my photo but just as important, the flat area where the motor attaches is also unprintable, even as a bridge, because it has to contain the holes for the motor shaft and the four attachment screws.

There are a couple of ways this could be dealt with. One would be to slice the entire piece in half horizontally, to allow the curved base to be printed upside-down and the flat top upright, with screws holding them back together. A small redesign might even allow for the four motor screws to to the job. I don't know for sure whether the flipped lower part would print cleanly, but I think the fillets along the curved edges would help.

All that said, the motor base does print; even though the finished product is a little bit sloppy the problem areas aren't readily visible, and it is still entirely functional. I did some basic cleanup of strings and drooping lines, and had to drill the holes for the M3 screws to mount the motor since they were completely closed over; I was able to use the top infill pattern to locate them pretty well. It is printable because the designers at BQ included hand-drawn support material, visible at the edge of the arch. Slicer-generated support material is a mixed bag in my experience, typically effective but often very difficult to remove. In this case it might be a real improvement though, since the supports as supplied were barely functional. The very large and solid puck at the bottom printed fine, but the tiny, single-walled tubes that were intended to do the actual support work were too weak and didn't print cleanly, with only about half of them making it all the way to the point where they were supposed to hold up the overhangs.

The finished product is the first functional part of the scanner, so naturally I had to jury-rig a circuit to allow the Raspberry Pi to drive it. I have more appropriate prototyping parts coming in the mail: an Adafruit T-Cobbler to connect the GPIO pins instead of using spare motor and endstop cables, and a USB serial console cable (also from Adafruit) that connects directly to the right pins. But this bodged version was able to make the turntable spin, and by good luck I actually connected it to turn in the correct counterclockwise direction.

Power is coming from a tiny switching supply that I salvaged from an old external disk enclosure; it produces 12 and 5 volts at 1.5 amps each, which ought to be enough for this project. While testing I'm using an old Model B Pi, but I have a shiny new Pi 2 waiting in the mailbox to replace it.

Next up will be printing the parts for the other end of the scanner; the camera and laser holders. I've had to redesign both of them in order to match my parts and the physical layout that the FreeLSS software prefers, so while those print I'll document the Bill of Materials, so far.