Beer Projects

Beer related projects such a new tools, equipment, or process

This post is a quick summary of the things I’ve done to get my iSpindles built and configured along with a few tips for things I’ve stumbled on. It certainly isn’t a step-by-step explanation of how to do everything.

The Build

I ordered parts through ebay to make things more simple. This seller was awesome and the kit is excellent

iSpindel (Tilt) Parts Kit + Stand Wireless Digital Hydrometer/Thermometer

This kit includes:

  • iSpindel Stand (color varies)
  • PCB (Jeffrey 2.69 designed by Open Source Distilling)
  • Wemos D1 Mini v3 (flashed with firmware for verification)
  • MPU-6050 IMU (sensitivity and range verified)
  • TP4056 USB-C Charging/Protection Board
  • DS18B20 Temperature Sensor
  • 18650 3.7V Lithium Cell
  • Battery Holder
  • Miniature Switch
  • BAT43 Diode
  • 4.7K Resistor
  • 220K Resistor
  • PET Preform Tube
  • 5x #10 Hex Nuts + Small roll of Gorilla Tape (for calibration)

The Open Source Distilling build video was spot on. Would be nice if he paused for a moment a few times, but nothing a rewind and pause couldn’t solve.

Build the ispindle with this video: https://www.youtube.com/watch?v=z0Gwi09C-Yk

Once build you can use ESP8266Flasher.exe to flash firmware (https://github.com/universam1/iSpindel/releases) , but I found that my D1 Mini’s were already flashed by the Ebay seller.
I have been wanting to configure the iSpindle to send to my influxdb, but was having issues with firmware v2.5.1 integration. Then I found an alternate firmware to use called GravityMon. Gravity Mon seems to have a much pretty interface, calibration mode, and the ability to send data to multiple destinations. In my case I knew I could use Ubidots as I figured out my influxdb/grafana configurations.

l flashed gravitymon binary (https://github.com/mp-se/gravitymon) with the ispindle firmware update option. When I flashed the first iSpindle it took a while (~1 min) for the iSpindle to come online after the flash but it worked. The second iSpindle seem to flash right away.

Follow the configuration instructions on the Documentation section. While it is in the documentation, don’t foget that to enter calibration mode after the accellerometer has been configured that the iSpindle needs to be flat when is it turned on or reset.

mDNS

GravityMon broadcasts in mDNS and it seemed nice to use this rather than my set IP addresses (I’ve set a fixed IP address to each devices MAC address). My Win7 machine doesn’t support this natively and I installed: Download Bonjour Print Services for Windows v2.0.2 (https://support.apple.com/kb/dl999?locale=en_US), but at the moment this isn’t working for some reason and I’ll have to get back to it

Ubitdots Configuration

I have previously setup Ubidots with two devices that had broken. So I set out to configure the new devices to push into those instances. To configure the iSpindle for Ubidots see the Service Integration section. I placed the the ubitdots call into the Push Section of the Configuration page, HTTP 1 (Push) field using the option 2 from the Service integration documentation.

 Header 1 (Header: value):   http://industrial.api.ubidots.com/api/v1.6/devices/<devicename>

Replace the device name in the <devicename>. I had titled my device in Ubidots as ispindle001

Then click on the Header button to configuration the Ubidots API token. Use the the default token or other token created (it is not the API Token) in Ubidots.

Token from the API Credentials

influxdb Configuration

I am pretty new to influxdb and this took me a bit to get the iSpindle configured correctly. However, GravityMon supports influxdb with no issues once you actually do things write
go to push2 settings to enter the influxdb config

In the About section get the hex value of organization ID (not the Text name)

The bucket will have an ID (in hex) to enter. Also the Auth is from the API Tokens section. Note, when you create a token it will give you the Auth code that one time only. Save it somewhere.

I made two tweaks to the influxdb format. First was to change “host” to “deviceName” as that is just easier for me to reccognize. Second, was to add an Event field which is populated with the value filled in the Token field on the Push 1 setting section. Now I can change the Token field to the brew day and quickly filter my flux queries to that one day.

measurement,deviceName=${mdns},deviceID=${id},event=${token},temp-format=${temp-unit},gravity-format=${gravity-unit} gravity=${gravity},corr-gravity=${corr-gravity},angle=${angle},temp=${temp},battery=${battery},rssi=${rssi}

Grafana Cloud Configuration

Grafana is new to me as well, but this wasn’t too hard to setup. following the documentation (https://docs.influxdata.com/influxdb/cloud/tools/grafana/). Just like the iSpindle setup, use the used hex values rather than text names for org, bucket. Since I’m using Grafana Cloud with influxdb hosted at home I needed to add a port route into my router settings.

I am certainly a flux script editor novice, but I found I could create a sample query in influxdb and then copy the query into Grafana. To do this, create the query that you want. Then click the Script Editor button to get the flux query. Paste this into the Grafana Query. At this time I’ve proven I can create queries in Grafana, but I have more to do to get a good dashboard setup.

Script Editor Query

Tags: , , , , , , , ,

After many nights stretched over a few years, I’ve finally finished the preliminary design for my Raspberry Pi Brew Controller. All the circuits appear to work and now I’m ready to buy some parts to breadboard the design. I’m sure things will change along the way, but getting to the point where I can purchase things has been a huge hurdle for me. Expect to see many more posts as the prototyping comes along and hopefully I’ll get to a real brew controlled some time in the future.

Tags: , ,

I had been using Raspberry Pints ported over to my windows server for a while. Getting it installed was a hack job and the database calls never worked right. After upgrading my database and PHP, my Raspberry Pints install stopped working and a reinstall didn’t work either (I was hoping that my upgrades eliminated the need for my hacks, but no luck). Raspberry Pints hasn’t been updated in a few years so rather than figuring out how to do another hack install, I started searching for other options. I came across Kegerface which looked nice and rather than using database is just reads simple csv file.  This worked out of the box, but I kind of liked the Raspberry Pints display better.   This inspired me to mix the simplicity of Kegerface with the display of Raspberry Pints. I started with the raspberry pints code base. Then I cut out the database calls and added in a file read scheme. With a few more tweaks the first working version is online. There is more to do. The code is still messy with old code commented out and random test lines also commented out. Also, I’d like to change up the style.css a bit, but I’m also happy with what is working now.  I’ve named it Simple Pints and posted to github.com to share just in case there is someone else who might find it useful.  Here is my running version

 

Tags: , , ,

I have my own bar coasters!  I don’t know why, but this seems so much fun.  I was fortunate enough to have a few beers reviewed on The Brewing Network’s Dr. Homebrew podcast from which I won a gift certificate to GrogTag.  After looking at the various products I settled on getting bar coasters.  I spent way too much time thinking about this.  I think I received the gift card in February and then thought about it for a good six months.  When I actually sat down to make something I spent several nights working on various designs.  In the end I settled on a somewhat modern theme loaded things with Easter eggs about my background.  Can you find everything?

 

I will have to say when I sent this to get printed I suspected the print quality wouldn’t be that great. Much to my surprise everything looks fantastic. Below is a photo of the real coaster

 

And finally here are all the easter eggs exposed

  1.  ViaSat-2: The last satellite I help build at Boeing. I helped design several of the unique digital payload units. 
  2. Silhouette of Engineer Mountain as seen from Purgatory:  Purgatory is where I grew up skiing
  3. Iron Cross 360 with a grab:  I’m still trying to land my dream trick from Tommy Mosley’s 1998 gold medal Olympic run
  4. A Zia symbol: New Mexico state symbol as a look back to where I was born and raised
  5. Delta Chi: My college fraternity 
  6. A pull down circuit: A reflection of my EE background. Also this is a variant of what I designed into my future brewstand controller
  7. My family:  two boys, my wife, and I
  8. Palm Trees:  These are the plam trees that could be seen from our old Hermosa Beach balcony
  9. NMSU:  where I attended undergrad
  10. Standford:  where I completed my masters’ degree  
  11. My mash paddle:  Not really and Easter egg, but this corner got charred one brew session when I left it too close to the burner and later cut it off
  12. Norte Dame!!!!!
  13. Soccer ball:  I’ve been playing since a kid, still play, and am having fun teaching the boys to play
  14. Abbey of St. Peter in Oudenburg: Abbey founded by St. Arnold, commonly referred to as the brewer’s saint

 

Tags: , , ,

In playing around with the Raspberry Pi and Craftbeerpi, I came across a project called Raspberry Pints. This project is intended to enable a single screen behind a bar show what is on tap.  It has fancy features to monitor the kegs if you add flowmeters and stuff.  Somewhere along the way I read that someone noticed that this can be ‘ported’ to work on a normal apache/php/mysql server.  So I thought, I have one of those (the website that you are reading) and decided to give it a whirl.

Turns out the project is kind of dead or at least stalled for a while, but I managed to learn that the 2.0.1 zip file was a good start.  I kicked off the install and ta-da it said everything was a success. So I went to the main page and immediately ran into several errors.  

Error 1:  I think the install script running on my server didn’t update config files for the username and passwords that I was asked for in the install script.  There are a few files this had to be updated.

Error 2: The main page didn’t recognize some variables setup in a few include files.  I’m pretty not php savy, but it seemed that if I setup a variable as a global things went fine.

Error 3:  Some of the includes were missing from the admin page to get into the mysql database.  Simple adding the include files to the files that generated errors seemed to overcome this.

Once I was past that I was in and able to set things up.  Quickly I discovered that I need to learn how to use this better. It seemed like some pages were overwriting information about beers when I didn’t think they should and subsequently mixed up the data on the beers. After a bit of trial and error I was able to get my info added.

I then made a few updates.  I wanted a way to jump back to my wordpress site added to the display.  The logo on the top left normally takes you to the admin page, but I changed this to go back to my own page.  This took some effort as I didn’t realize how the project was converting the mysql data into php variables.  Several hours later I discovered an include file was doing this magic.  Simply adding my new variables to this and adding the data to the mysql database got this all going.  I tried to make an Admin link right below the logo, but my random attempts to update the php and css files failed.  So instead I setup and Admin link on the left header in a ugly way.

So there we go I have my digital taplist up and going.  Now I can get back to my brewstand controller design, but at some point I need to create my own logo.

5/10/2018 Update: I figured out how to add some PHP code that will convert a snapshot of my current raspberry pints webpage to an image using khtmltoimage and add it to this post and my homepage rather than using iframe. This allows the image to size correctly in my post.

Image of Raspberry Pints taplist
 
(note, I’ve since moved to SimplePints)

Tags: , , , , ,

« Older entries