PermaTrack End Caps

I received my PermaTracks from RGB-Man. It took a while, but Mike at RGB-Man was good about giving me updates anytime I asked along the way.

I’m already looking forward to getting them installed, but I’m not keen on the idea of leaving the ends open, or cutting the side of the track to fold over to cover the end.

I decided that the best thing to do would be to 3D print covers for them. I’m only making a straight run (for now!), so I only needed a couple of end caps. I measured once, and like most of my designs, I’ve printed about 4 times (so far) to get a working prototype.

All designs were done in Fusion 360. I only use the personal use license (please respect Autodesk’s rules for use of the personal use license (i.e. non-commercial use only)).

For my latest prototype, I decided to go with one I can put a cable gland in (PG7 if you’re interested in the size). The other end will be solid unless I inject power from that end. Cable glands provide a water tight way to insert power/data cables. I don’t need a water tight seal on the PermaTracks, but it will also provide a way to clean up the look as well provide some strain relief on the pixel string where I connect it.

I think it turned out pretty well, but I will do some more tweaking to get a better fit and to better secure it. Currently it is only press fit, but I have ideas for a couple of different ways to more securely attach it without cutting or drilling the tracks, though that is an option.

Front (exterior side) of cap without cable gland installed.
Inside of cap.
Cable gland is inserted in hole (12.5mm) and screws on from in the inside.

I need to paint the Permatracks to match my house, and I’ll paint these endcaps at the same time (ordered white cable glands that I’ll actually use – that small of an item doesn’t need to be painted and won’t “stick out” as much as the black ones given the color of my house).

Screw Printing Project Boxes!! (when you don’t have to)

I enjoy designing project boxes in Fusion 360 for my tinkering, but man do I hate waiting on them to print.

I’ve got lights and mounting hardware ordered for my permanent Christmas/holiday lights as well as a couple of other odds and ends I’ll need to get them installed.

One thing I do already have is is the Dig-Uno controller set up with WLED, but needed to get an enclosure made for it. I’ve been playing around with printing a custom enclosure for it, but never could really get the holes on the Dig-Uno to line up.

I dug through my “toy box” and found a couple of nice project box I had bought for who knows what, but figured why not use them for this (since this will be my most expensive non-garden project to date – only the best right?)

I measured the mounting hole spacing on the inside, got the hole spacing fo Dig-Uno close enough and got the Dig-Uno mounted in the box. This is a sealed project box, and I really don’t want a lot of heat build up in the box, so I drilled out a vent hole in the lid, mounted a heat sink on top of the D1 Mini and printed a custom vent cover (image at top of this post).

Once I get the mounting position and orientation figured out, I’ll drill additional vent holes in the side of the enclosure.

Oh, and my table, as usual is a mess. Fortunately, the only thing I spilled everywhere was the box of heat sinks!

Parts:

Lighting Stuff on Order:

Will post more on this project as it proceeds…

Knobs

I was visiting with a friend a few days ago and he asked about printing knobs (like you’d use on car dashboard, appliance, radio, etc.). I hadn’t thought about that before but said, sure!

I quickly drew something up in Fusion 360 and it looked pretty good. Unfortunately I didn’t keep the drawing to share here, but I did make a couple of basic knobs this afternoon just to see how they printed.

The first one was just a basic knob like you’d find on something with, well knobs. I put the flat side on it on so where it slides on the metal post it would let it “catch” and turn the device like it is supposed to. The sides were smooth and I hit them with some light sanding thinking it would show up better in the pic (turns out that really wasn’t much improvement).

Here’s the first one I printed (took about 20 minutes):

Little rough, but nothing some sandpaper can’t fix.

This was fine and would work (had I made to spec for something real), but the smooth texture on the outside was something I wanted to see if I could get to have a bit more “grip”, so I went back to Fusion 360 after watching a couple of Youtube videos and added some rounded ridges.

I was really surprised how well they came out. The print needs a little sanding to refine it, but that’s easy enough. The following picture shows the GCode viewer from OctoPrint while it was printing.

And this is the final product.

I added an indicator arrow (because I could! LOL)
Close up of the ridges on the outside

Now I just need to find a real-world application where I can make something useful (beyond just improving my maker skills).

KIL’N IoT

“Kil’n It” or “Kiln Iot” (Kiln Internet of Things)

A friend of mine throws a little clay (does pottery) and has a used electric kiln with an analog meter on her thermocouple (device used to measure temperature in the kiln).

Based on my tinkering hobby, I thought a great project would be to build a digital, WiFi enabled, temperature sensor that could be plugged into the kiln’s thermocouple so she could have a digital display and be able to monitor it on her phone.

In my home automation projects, I’ve used inexpensive sensors (DHT11, HT221D, BME280, etc.) to monitor temperature and humidity in different areas of my house, patio, and shed

Photo of different temperature and humidity sensors.

using NodeMCU and D1 Mini microcontrollers.

Based on my home monitoring I knew a kiln monitor could be done, but I’m measuring temps in livable environments (though it does get hot here in Texas!).

The challenge is that the sensors I use would burst into flames if you put them in a kiln! That’s why thermocouples are used in kilns… they can handle a couple thousand degree (oF) temps.

I learned that you need an amplifier to pick up this signal from the thermocouple and transform it into something a controller (with the right firmware (software)) can interpret into a temperature reading.

There are different types amplifiers (just google something like “thermocouple amplifier board”), but I went with the MAX31855. You can find breakout boards with this chip on them from a few different suppliers on Amazon.

The one I went with is from Adafruit, a NYC-based company that was only a couple of bucks more expensive than the others from companies I don’t know by name. Side note, I often buy electronics components from these unfamiliar companies on Amazon, including the controller I used in this project and the quality is often good enough for my tinkering, but if you want definitive quality, go with Adafruit.

For this project I went with Adafruit because I knew the quality of this new-to-me board would be excellent and well worth the couple of dollars more.

In the first iteration of this project, I soldered female headers to a printed circuit board so I could mount the controller (NodeMCU) and MAX31855 breakout board.

I then soldered the pins from the controller to the header for the amplifier board and connectors for the OLED display (SSD1306) (soldered wires are on the underside of the board in the pic below). I wired a thermocouple wire to the amp and was ready to program the controller.

At one point in my home automation adventures, I had the wild idea of learning to code so I could write my own programs. Through google and YouTube, I learned enough to put together some rudimentary programs that kinda worked, but I quickly realized that I was more interested in making things that work rather than getting behind the curtain and making the stuff (software) that makes stuff work. That’s when I discovered Tasmota, an excellent open source software that works with the controllers I use and can be customized for different applications. I’ve been using it almost exclusively in my projects since.

I downloaded Tasmota 8.1 for this project (the newest version at the time). In many cases, you can just flash the the precompiled binary (bin) file to the controller using a flashing tool like NodeMCU Pyflasher or Tasmotizer, but displays and the Max31855 aren’t supported in the base bin file (tasmota.bin).

This leaves a couple of options. You could flash the base bin file and then the sensors bin file and and then the displays bin file. The problem is these bin files can be pretty large (relatively speaking) and may not flash properly. You could try the lite version of the base bin file, which is pretty bare bones, and then try flashing the other two, but you may run into problems with that too.

That’s why I prefer to go a different route. I download the full Tasmota program and edit it in Arduino IDE (more recently PlatformIO). Though I’m no programmer by any stretch of the imagination, I have picked up just enough to understand a few things when looking at the Tasmota code (which is well documented throughout!).

In Tasmota, I can go ahead and set up my WiFi access (SSID and password to connect to a home network) and MQTT (so it can communicate with my home automation system (Home Assistant – another open source system that runs on a Raspberry Pi).

In Tasmota, I found the code for displays and uncommented those lines as well as uncommented the line for the MAX31855 sensor. Note: you’ll do most of the editing in the my_user_config.h file. See Travis’ (digiblurDIY) youtube video for an excellent tutorial. It is in PlatformIO rather than Arduino IDE, but the steps are basically the same, and he cleans the file up much better than I do to further reduce the size by disabling things he won’t be using. Note also that I did make one other change related to the SSD1306 display that I’ll explain in a bit.

I was then able to upload the firmware via Arduino IDE, and the controller was ready to set up.

I found the IP address of the controller since Tasmota made it discoverable on my home network. It’ll be in format of something like “192.168.1.12”, but the numbers from your network may vary. I use the Fing app, but you can log into your home router and find this too. Another way is to watch the serial monitor in Arduino IDE and it’ll show the IP address when the controller boots up.

I the put my controller’s IP address in a web browser and it connected to the controller via WiFi so that I could set up the display and temperature sensor (oh yeah, you have to first change the module type to “Generic” under the Configuration).

My SSD1306 display is an I2C device , so in the Tasmota web UI, I set GPIO4 to SDA and GPIO5 to SCL. Note that for my particular SSD1306, I had to go into the xdsp_02_ssd1306.ino file using the Arduino IDO and change the line “#define OLED_RESET 4” to “#define OLED_RESET -1” because Tasmota uses the Adafruit SSD1306 library which is designed for their SSD1306 that has the reset on pin 4. My particular display doesn’t use a reset pin, so I had to change it to -1.

The MAX31855 is a SPI device requiring three pins (Note: in Tasmota, it’s a softSPI rather than hardware SPI, so you don’t turn on (remove the backslashes before) SPI in the Tasmota code when editing it). In my application, I use GPIO12 for CS, GPIO14 for CLK, and GPIO15 for D0.

Once I set those up and restarted it, I was getting temperature readings through the Web UI from the thermocouple I had attached to the amplifier board. The pic below is a template and has a couple of of other features enabled.. read up on Tasmota if you want to know how to do templates, but the look is essentially the same as you’ll see using the Generic Module.

To get the display to work, you have to change some settings in Tasmota. Go to the Console in Tasmota and enter the following (without the quotation marks):

  • “DisplayModel 2”
    • This sets it up for a SSD1306 display
  • “DisplayMode 0”
    • So you can get the temperature reading as text to display
  • You’ll also have to adjust the size of the text, and I created this Rule in Tasmota to do that (use the console for this too)
    • Rule1 on tele-MAX31855#ProbeTemperature do DisplayText [f2p7x15y20]%value% F endon

Check out this link for more on Display commands in Tasmota.

From here, you can see the temperature on you computer or phone (I bookmark the Tasmota IP web portal for easy access) and turn the monitor on an off using the “Toggle” button. I’ve recently found the Tasmota command: WebButton Display On/Off (or whatever you want to call your web button instead of “Toggle”… just put the name after WebButton1 in the console command line).

Once I had the controller set up and working I designed an enclosure (pic at top of this blog) in Fusion360 and printed it on my Ender 5 3-D printer. This took me way too many prints to get it how I wanted it, largely because I was still relatively new to Fusion 360 at that time. I won’t go into detail on my enclosure design, but feel free to contact me and I’ll be glad to share it with you… I’m working on tweaking that currently.

I did take the finished project over to my friends house and got it hooked up to her thermocouple and see the temp on the display. Unfortunately I wasn’t able to get it to connect to WiFi since where she has her kiln is in a building away from the house and they use a WiFi extender that I haven’t figured out how to work with in Tasmota yet. Maybe set up as the second access point??… other Tasmota users let me know your thoughts if you know how to do this.

She was nice enough to set me up with some free home brew (she and her husband make great beer… that Quad was incredible!), and black garlic (check out her company The Black garlic Company).

I’m still pretty pumped about making this kiln monitor since it was more complex than my household sensors I’ve made in the past. The free beer and black garlic just put the icing on the cake!

Here are some things I’m working on for version 2:

  • Use D1 Mini instead of a NodeMCU.
  • Use mini connectors so it’s easier to connect and disconnect the thermocouple (or connect a different thermocouple (for brewing or monitoring fermentation temps for example (though there are different sensors that are less expensive and easier to set up than a thermocouple).
  • Use a printed circuit board with pin holes in parallel by row (makes soldering wires from controller pins to the display connectors and amplifier header easier). Ideally, I’ll put my big boy pants on someday and design a custom PCB.

I may update this blog post from time to time, but feel free to reach out if you have any questions I may be able to help with.

3D Printing

With all the grand home automation ideas I had as I got into making my own controllers, sensors, and whatnot, I needed something to put them in or to mount them to something. Plastic project boxes are great, but I found that they were too big, too small, or just not the right thing I was looking for. Several of the YouTube channels and Facebook groups I was following for the electronics related projects had custom 3-D printed enclosures.

This sparked my interest in getting a 3-D printer, but my initial thought was, “man that would be expensive.” As it turns out, they’ve gotten really inexpensive (relatively speaking). Through online research, I decided to go with a Creality product.

Creality makes several different models, and I had settled on the Ender 3. At the time, it was about $250 and the size of things it could print was more than enough for my needs. Just as I was about order it, I found the Ender 5 with a larger build plate (the economist in me tells me more is better, right), but the additional features and improvements are what convinced to go that route. It was about $350, and I think the advantages of the 5 over the 3 justified the extra cost.

I ordered it from Amazon, got it shipped in a couple of days, and it took about and hour and a half to assemble… decent directions but I kept going back and forth between the printed instructions, online assembly videos, and actual assembly. I could probably do it in half that time now. Got it all together, plugged it in, and… nothing! Went back to the instructions and saw where the power supply had a switch for European or US power. Of course it was on the EU setting. Flipped it to US and hit the power switch… success!

I leveled the bed per online instructions, loaded the filament, and printed a couple of the test items that were on the microSD card that came with the printer. Next I was out to find more useful things to print. Fortunately the 3-D print community posts a lot of free designs they’ve made on Thingiverse. I printed a few of different boxes for some controllers but found that most didn’t work for my model/manufacturer of controllers.

I googled around and found a few free online tools where I could make my own basic boxes, but these were pretty rudimentary. I needed better.

I came across Fusion 360 from Autodesk. They offered their product for FREE! to hobbyists like myself for no commercial purposes. Freaking Awesome! (If you get into Fusion 360 and use the free license, please follow the rules… they don’t have to offer it for free to hobbyist and folks like me using it for personal non-commercial purposes).

The learning curve was pretty high at first since I had zero experience, but through perseverance, a lot of cussing, and online videos, I’ve got fairly good at meeting my needs. What took an hour a year ago I can now do in ~15 minutes.

One of the biggest challenges was similar to what I experienced with Thingiverse. I’d get the dimensions close much of the time, but not quite perfect. It helped to go from a ruler to a digital caliper, but over time I’ve learned the tolerances of my printer and can now (usually) compensate for the tolerances in my designs.

I’ve also made some upgrades to the printer. Pretty basic stuff you can learn more about through YouTube searches so I won’t bore you with those details. However I will note that I’ve also added OctoPrint (free software) that runs on a Raspberry Pi connected to the printer. This lets me monitor and control the printer over WiFi. I can also add a camera to the Pi if I ever get around to it. Beats running back and forth to and from the room where the printer is set up.

I’ve tried to leave out a lot of detail of the trials and frustrations I’ve had to keep this post fairly short. Let’s just say I’ve bought 2, 1kg spoils of filament over the past year and just weighed the failed prints (bad designs and printer errors) It came in at about 1.5kg, so that’s 75% waste. Well, not waste really. I learned a lot. That amounts to about $30 total. What I’ve learned in the process is much more valuable.

All in all, I’d say this is one of the best, most fun investments I’ve ever made.

Blog at WordPress.com.

Up ↑