Regular Irregularities: A Move to Semi-Regular Blog Posts
Written on December 18th, 2023 by Sean WebsterPicture: Jordan Pond Loop, Acadia National Park, ME
The hardest part, to me, about project design, is starting it. The second hardest part is figuring out how to do the rest of it.
I’ve had some parts laying around to build an IoT temperature probe, and I figure it’s time I design and assemble this project. The goal is to create an IoT Temperature Probe as a design to production product. The hope is to showcase some skills, and become more comfortable with the process. And to hopefully learn something. Hopefully by fully documenting the process, it can work as a sort of tutorial or stepping stone for other people.
Project Updates: IoT Temperature Probe
I’m officially introducing my IoT Temperature Probe project as in development. The ideal use case is to put a probe in my compost, aquariums, and beehives. This project is as much about learning as it is about teaching. I plan to document each step meticulously, hoping to fill any gaps in my understanding and provide a comprehensive guide for others interested in similar IoT ventures.
This project will consist of an ESP-01, a DS18B20 temperature probe, and a (so far unspecced) power supply.
IoT Temperature Probe: Design Considerations
Foreward
I’ve started this project, mainly as a way to utilize hardware I’ve had sitting around, but also to gain experience and learn about the whole product development process. Key ideas I want to come away from this product are: a better understanding of Wifi, circuit development, and powering electronics. I want this project to become a sort of stepping stone for future projects. Hopefully some of the modules I create and some of the things I learn are immediately transferable to the next project.
Before I start writing the proof of concept software, it’s a good idea to have a vague feeling of the direction I want the project to go.
Project Goal and Scope
To measure temperature, and send that data back to a server via MQTT over Wifi.
What are my constraints?
- Hardware: I want to use hardware I already have, namely ESP8266 and DS18B20.
- Languages: I want to use C and C++. These are my bread and butter languages, and learning new ones is not in the scope of this project.
- I’m lazy: I want to find open source libraries that do the things I want. I don’t want to spend too much time reinventing the wheel.
Are there potential conflicts?
No, all of these things work together.
Foreseeable Problems?
- Power supply: How to efficiently get 3.3V to the device?
- Weatherproofing: Is making the device weatherproof necessary for this version?
- WiFi Security: This area is somewhat unfamiliar to me.
- Limited Hardware: Contingency plans if ESP8266 or DS18B20 supplies run low.
- OTA Updates: Understanding ESP8266 OTA functionality.
Areas of Unfamiliarity
- Powering ESP8266 without Arduino.
Familiar Areas but Not Expertise
- OneWire: Previously used with DS18B20 on Arduino. Familiar with the basics.
- ESP8266 SDK: Some experience in running examples, curious about its similarities with ESP32 IDF.
- DS18B20: Operational experience with Arduino libraries.
- OTA Updates: Experience with other systems, but not ESP8266.
Known Unknowns
- Power: My understanding beyond the basic requirement of 3.3V input and basic circuits is limited.
- Enclosure: Deciding between indoor or outdoor use.
- WiFi Security: Recognizing its importance but lacking deep knowledge.
Confident Areas
- FreeRTOS: Extensive experience in a professional setting.
- MQTT: Frequently used in home automation projects.
- Sensor Data Handling: Both sending and receiving, in work and home contexts.
This can be found at the IoT Temp Probe Design Considerations page
Blog Updates
Site Improvements
I’ve made numerous updates to the blog. It’s almost in a place where I can finally leave it and start doing the projects I want to share on the blog. I’ve moved to bi-weekly blog posts (as opposed to weekly updates), in an effort to keep updates regular, but to also give time to improve quality. For the time being, I want to commit to these semi-weekly blog posts, even if they’re not of much substance, themselves. However, some of the pages and changes I’ve made are more work than a blog post. I would also like to move to a point where the blog is not the main focus of my time, as it seems to have eaten most of my project time.
I’m still in the mode of throwing everything at the wall to see what sticks, and to find the voice and audience of this blog. Right now, it’s still just a personal projects blog, with some (hopefully helpful) info sprinkled about. I plan to narrow the focus to electronics, but also keep my hobbies on the peripheral.
A recent blog update had caused it to greatly slow down. I’ve tried batch editing my photos to make them much smaller, and it seams to have worked. Thanks to BIMP, a plugin for GIMP. It turns out I did not need to upload print quality photos to my blog.
I’ve found a quick workaround to embed project pages in blog posts thanks to Kevin Workman on stackoverflow using Jekyll’s liquid tags.
{% assign myOtherPost = site.pages | where:"url", "/Projects/iot_temp_probe/design_considerations/" | first %}
{{ myOtherPost.content }}
More Pages and Sections
I’ve added my guitars projects, and specifically my work on my Aria Pro II Knight Warrior that I recently completed, and My First Partscaster that I did before then.
I’ve added the ViewSTL Plugin, with a lot of help from Slim Nate. This allowed me to display my 3d models that I’ve created, here
I’ve added the Tutorials Section and have condensed my previous tutorials and put them there.
I still have a bunch of completed and in progress projects that I plan to add to the projects pages.
Misc
A little retrospective
I’ve been reviewing old blog posts, specifically the post “Inspecting esp-open-sdk and esp-open-rtos”. I’ve been looking at the ESP8266 RTOS SDK, and honestly, I have no idea why I made the post. I think I may have had misconceptions of licensing for the idea I was thinking of productizing. Having worked professionally with the ESP32 IDF, that concern was a moot point. I now plan to work with the official SDK, which uses FreeRTOS, which removes a lot of the hassle of setup, due to the amount of people testing and contributing to it.
What’s on the workbench
Here’s a peak to what I’m physically working on. I’m finding guitar maintenance and building to be a zen-like activity. I can throw on a podcast or audiobook, and just get to work.
I recently picked up this bass as a thank you gift for a friend. This one was made in Korea, at the same factories that Fender had contracted to make their instruments in the 80’s and 90’s, post CBS acquisition. I plan to give it a good cleanup and send it on its way. My workbench is a bit busy, and I’m still trying to figure out a happy medium for it, and this has caused the organization to be in a state of flux.
Some interesting papers I’ve come across this week:
I’ve come across some interesting papers these weeks in discussions and research over/into hobbies.
From a discussion of acoustic guitar bracing in a luthier facebook group: Frequency Response Evaluation of Guitar Bodies with Different Bracing Systems
From a discussion with friends about automating knitting: A compiler for 3D machine knitting
From a google search after a question about the curious death of some of my bees: A New Threat to Honey Bees, the Parasitic Phorid Fly Apocephalus borealis