Home > BrewzNET, Tech geeks > BrewzNET 2.0 Development Begins

BrewzNET 2.0 Development Begins

It has been a really long time since I’ve posted anything new related to my brewing and BrewzNET project. Part of that is getting caught up in “The Matrix” (otherwise known as Facebook), and part is that I haven’t been doing much in the way of new development on my gear and brewing equipment. I’ve been using my grant / pump control box / sparge arm assembly pretty regularly and it works great – so there has been little need to mess around with electronics and I’ve focused on brewing batches.

The past year and a half has me thinking quite differently about technology and its place in homebrewing. While I put a lot of effort into the computer / user interface side of the code and it looks pretty great, the difficult truth is it has relatively little to do with the actual brewing. Without the PC end of things, I brew batches regularly and they do not suffer at all as a result – in fact, I hazard to say they benefit because I am out with the brewing gear rather than fooling around on my PC. The graphing, the database capture, the snazzy looking graphics – It’s all quite useless to ensuring better beer.

So here’s where I am at now – I proved to myself that I could design a PC monitored brewing setup programmed in VB.NET, and that’s good enough. I am done with it. BrewzNET 2.0 will not have any interface to a computer, because honestly it does not need it. I do however have strong intentions to overhaul the electronics and gear to streamline them, make them more usable, and easier to maintain.

To that end, I am resurrecting some work I began back in 2010 around using the XBee wireless modems from Digi to send level switch states from the Grant and Sparge arm to the control box. After 2+ years of using the wired version, the promise of wireless is very attractive – I have found the wired version is reliable, but the cords tend to never be quite as long as I need them, I always have to fight with how to route them between the control box and the switches, and it’s just one more tripping hazard when you’ve got hoses running all over the damn place.

Xbee testingI have prototyped a pair of Xbee modems, shown in the picture to the left, to simulate the two that would handle the level switch signals from the Grant (labeled as 1) and the Sparge Arm (labeled as 0). I configured the Grant modem with end device firmware and the Sparge Arm modem with router firmware for now, however they will both ultimately get the end-device firmware so they can have cyclic sleep capabilities to conserve power. The modem hardware has the ability to handle digital and analog inputs natively, so rather than trying to tie the modems to another microprocessor (like an Arduino or whatever), I can use them directly to detect and send the float switch states.

The test circuit is currently powered by a Sparkfun breadboard power supply running to a pair of their Xbee Explorer Regulated boards, however my intent is to ultimately power them through some sort of rechargeable battery setup, most likely a Lithium Polymer battery and an integrated USB recharge circuit.

I wrote an XBee library in VB.NET that works quite well in translating the XBee packets into more easily digestible information, however there are several things I should re-code for efficiency. My final implementation will also not require the full breadth of all the types of packets the Xbee can transmit, so much of the code will be unused. I’ve been considering simply porting the C# code written in the Grommet library over into VB.NET rather than re-inventing the wheel, and I know the C# code works well. We will have to see which direction I take.

xbee testing 20131229As you can see in the screenshot to the left, my library reads in the packets and translates them appropriately. The two frames on the bottom of the list resulted from turning on the breadboard power supply which caused them to send the “Node Join” messages to the coordinator Xbee modem. BEER0 (the Sparge Arm) is configured as a router with address of 0013A200404A6163, and BEER1 (the Grant) is configured as an End Device with an address of 0013A200404A61B1. The next frames are the digital sample frames showing different switch states, which are further translated on the “Form1” screen into understandable values. You can even see some of the VB.NET code that does the translation peaking out from behind the windows.

Finally, I have accepted that the PICAXE chipset is basically a dead-end for my purposes. I had fun messing around with them, but quite honestly the Arduino and Netduino platforms are much better suited for where I am heading. If anybody out there has use for my old PICAXE chips, you’re welcome to them. BrewzNET 2.0 will be based on a Netduino running the 4.2 .NET Micro Framework, and I am going to do my best to code in VB.NET (even though the standard is pretty much C#), primarily because there seems to still be this existing prejudice out there that VB.NET can’t do all the things C# can and annoys me. It may be small and petty but the thought of some other programmer who wants to implement a project like mine having to port VB.NET code over into C# (for a change) makes me smile.

So there you have it… a new post after one and a half years of nothing. I am hoping to make another one by the end of the week – Once I have rewritten and pared down my Xbee code to minimum essentials, I intend on working on the I2C interface to a 20×4 LCD output screen. I prototyped some of this with the Netduino mini and a MCP23017 I2C chip a while back as well, but that was in C#… and my current plan is to use an off-the-shelf LCD backpack and VB.NET, so more coding and wiring is in my immediate future.

Categories: BrewzNET, Tech geeks
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: