It allows integration of:
So the only real difference is the controller, which is a fast, 32-bit, dual-core device, with a real-time operating system (RTOS), oodles of memory AND built in bluetooth and wifi features. There is a working Arduino-based toolchain for this ESP-32 device, but it also has the horsepower and memory to run micropython.
I’ve ported the standard polargraph_server_polarshield code to target this platform (in a branch – https://github.com/euphy/polargraph_server_polarshield/tree/esp32) and it works great … in principle. There’s a couple of bits don’t work yet, and I haven’t done any long drawings with it.
On the Polarshield itself, the hardware design is simplified because the ESP-32 is a 3.3v device and so are the stepper drivers, touchscreen and SD card, so there’s no need for level shifting. The LCDs are of a more modern and widely supported design too, so I expect to have fewer problems with them.
There are spare pins I’ve broken out for:
I haven’t yet implemented any features around the encoders, endstops, wifi or bluetooth, and might never do that.
The Polarshield v2 has never been a reliable build. The straw that broke the camel’s back was earlier this year when I was building a batch and I ordered 20 boards, built them and only got six working Polargraph machines out of them. The LCD that it uses is growing to be somewhat esoteric in that configuration, and so it’s hard to debug. It uses a kind of simulated SPI which just isn’t reliable enough, or has too many odd interactions with other parts of the circuit.
The new 5v step-down power supply is an economic choice. I’m using a little off-the-shelf mini-assembly with a MP2307 and an inductor on it, rather than building the supply right onto the board itself. Amazingly, the little assembly is available to buy (ready-made) for less money than it costs me to buy a single MP2307 chip on it’s own.
The ESP-32 is a little cheaper than a good Arduino Mega-2560 clone. The current Arduino toolchain is a bit of a dog to set up, but dedicated developers has done an amazing job porting libraries to it. It’s dead fast and has a good small footprint. Mega-2560s are huge. Natively running at 3.3v is a bonus and performance with SPI-based touchscreens is phenomenal.
This is a platform that could easily take us into PolargraphPro territory, with encoders and endstops to make for a safe and reliable continuous drawing experience. The MCU is powerful and the wireless features are very tempting.
However, I have no immediate plans to implement any new features and will focus on getting old ones ported and re-worked where necessary. I’ll probably take this opportunity to dump a few lesser-used features too.
If you want to be alerted when these reach stock, or you’re interested in email updates about the project, you can sign up to my mailing list and choose what kind of things you want to hear about:
]]>But the first dozen machines are delivered now, and I’ve just listed the next ten in the usual place:
http://polargraph.bigcartel.com/product/polargraph-sd-assembled-tested
In an embarrassing twist, I accepted the challenge of making some videos to show what the machine is, and how it goes together.
Oh, er, there’s more of my gurning fizzgog:
And just when you’d had enough … more:
Sorry about that.
]]>Not much right? There’s no revolution, indeed, but a couple of minor changes that makes it easier to build.
And the great thing is, it works, ha!
I’ve been taking some time off the Polargraph shop lately, because of work pressures and a couple of other things. It’s been really nice not to have to rush to the workshop every hour of the day to keep on top of things, and I’ve been able to do a little development here and there.
I think I’ll be back eventually, but maybe in a couple of weeks, and I might try a different manufacturing pattern.
]]>A run of bad Polarshields last year prompted me to start being a lot more careful about how I assembled and recorded the assembly of them. I started putting little journals on each one, which were just a strip of sticky tape with any story on them. Anybody who bought a Polarshield will have found such a thing.
I recently kicked myself a couple of times in a row when I thought I’d forgotten to test a certain aspect of the board, and had to open up a pile of sealed parcels to find out. Fortunately in that case, there was no problem, but I made up some new labels to help me not make a mess in the future.
The evolution is in the pic. The QR takes you to Building a Polargraph from a vitamin kit on the wiki. The final version is less handsome, but more useful, and there’s a beauty in that trade-off.
I like seeing these kinds of “work in progress” pics on other makers’ blogs.
]]>I was a bit nervous about having the machine presented in such a uncontrolled environment (it was in the National Museum last year), but it’s been remarkably low-maintenance during it’s first week.
For this year’s outing, there were a very small number of changes to the firmware, mainly to add a feature to support a button and an indicator LED on the circuitboard that is controllable via commands, and used to signal to the Science Communicators that it needs it’s paper changed.
The changes to the Polarweb controller software are a little deeper, and there’s now a visualisation video stream published to a browser so you can see what the machine sees, and what processing it’s doing. Worked pretty well, but taxed the original laptop a bit much (it was an Atom), so the machine has been upgraded.
Starting with the PCB mounted in a jig made of other PCBs, I use a plastic stencil, and a card to squeegee on the solder paste. This can be messy, but it’s very fast, takes less than a minute for each one. I have taken to making up batches of 10 polarshields at a time, it takes a reasonable weekend, or a long day from beginning to end.
Sometimes bits get missing, or I accidentally rub off the paste during placing, and I use a little syringe to do touch-up stuff. Afterwards, there’s these nice little pillows of paste on all the pads.
I’ve got all the parts I need in little boxes, and empty out about the right amount of parts, sort through the pile and turn them over and line them up with a pair of tweezers. I used to use tweezers to place them too, but have recently got a cheap vacuum pickup tool that makes it a bit quicker.
Using magnifiers and good lighting, dealing with these tiny parts is much easier than I thought it would be.
I place most of the ICs with tweezers, because I get a bit more control over their orientation – they have a tendency to swing around a bit on the tip of the vacuum. The really big parts (electrolytic caps and the inductor) are just placed with fingers.
I’ve got a hot air gun (Atten 858D+) that I used to take 8 minutes to melt all the solder paste on each board, and I still use that for touch-up and fixing. The last couple of batches of Polarshields have been soldered with a little home-made reflow oven though. This is a mini oven, retrofitted with a Zallus temperature controller. The temperature controller was a Kickstarter I backed at the end of last year, and it seems to work really well. Though the whole contraption looks like junk – but that’s my fault.
The boards go in two at a time, and cook for 6 minutes, releasing all kinds of (probably deadly) fumes. I only use lead-free solder in all my stuff, so it’s not the nice smell you get out of rosin-fluxed lead solder. I miss that. My old tutor told me that eating plenty of jam would help ward off the poisoning that we would all get off the solder fumes. I like the story.
Now comes the really boring bit.
There doesn’t seem to be any way to short-cut this one, just got to cut lots of parts to length and solder them all in. Using the kind of small iron tip that is useful for touching up SMT work makes this an absolute misery, so use a big clumsy chisel tip instead to whizz through.
There are 156 points of through-holes to solder. During soldering, I sometimes spot things like this:
There’s a solder bridge between the first three pins of the IC. This is irritating, but out of 10 shields, there’s normally four or five bridges like this that need a touch-up. Fix it with some solder braid. In this case, I noticed the IC was a bit skew-whiff on it’s pads too. I am not sure if it is something about the heating profile, but it seems like the parts don’t always get “pulled” onto their pads by the solder tension during flowing. At least, not as straight as I saw when I was using the heat gun. So with this IC, I reflowed it using the heat gun, and just nudged it to straighten it up. Afterwards, I wash the board with Techspray Flux remover to clean it up. Add stepper drivers and LCD, and it’s ready to test.
Upload the latest version of polargraph_server_polarshield and see what happens. Well, I just got a white screen. So I took another look at the board and spotted another solder bridge. Fixed it.
Testing involves plugging in a couple of steppers, a servo and an SD card and running a test script from the card. If the motors move smoothly and quietly, and the servo wiggles, and the LCD responds to touch, then it’s cooked.
For full PolargraphSD kits (with the motors and cables), I do another test of the same routine before I pack everything up, to make sure the particular motors and the cables are correctly constructed, and they all work together.
The case is made up of 16 laser cut parts, and is fastened together with six M3 nuts and bolts, tab and slot style. I try to leave as much of the protective film on as possible during assembly.I enjoy peeling that stuff off when I buy a new product, so I assume other people like it too. It stops my grubby fingerprints spoiling it too. I’ve got white gloves and everything, for this bit.
So now you know. Tune in next week and I’ll show you something equally as thrilling, how I clean my oven or do the hoovering or something.
]]>
The hardware is working fine now, working with all kinds of SD cards, all servo motors and all power supplies, but I’m waiting for the full set of the new cases to be cut and sent.
The case is funny. Probably the ugliest thing I’ve ever made, but I quite like it.
Choice between clear acrylic and MDF – any thoughts? The clear looks shows fingerprints but looks pretty snazzy.
]]>
I know that’s not much consolation to those of you who have been waiting since February, and I am really sorry about that, and that’s the bad news.
I’ll do a proper introduction when it’s done, but in short, the Polarshield v2 has an integrated switch-mode step-down power supply so that the arduino can be run safely from a single higher-voltage power supply, without overworking the arduino’s on-board voltage regulator. That’s all gone fairly smoothly. This makes the system much more tolerant of working with cheap, basic arduino clones.
The second feature is fixing the circuit that converts the arduino’s 5v signals to the 3.3v signals that the screen and SD card expect. Previously this used resistor networks, but I’m using logic buffer chips now. This should make SD cards from different manufacturers much more reliable. BUT, it is new to me, and that’s why I’m determined to make a mess of it.
For those who are interested, the PCB files, and the gerbers that go to the PCB house are in the repo at https://github.com/euphy/polarshield_hardware.
]]>The first version of the Polarshield v2 was tested and found wanting, so I’m expecting the samples of the final version at the beginning of next week. The first batch of PCBs took a week to arrive, this batch has taken three weeks so far. I am looking for a new supplier.
So unfortunately, that has eaten up all of my contingency, and then some, and so I’m already behind before I’ve even started. Great!
sn
]]>I’m just putting some finishing touches to the machine and the control software.
There’ll be more of an update when it’s up and running.
]]>