I have exciting news for everyone. For many of you who started following my work oh so long ago (2+ years now!) you know that I started this website as a hobby. During that time I was off and on again with other projects although my love of electronics kept me coming back. There was a couple times when I almost gave up, but the people who emailed for my help kept me going through the tough times. Now I'm happy to announce....
PracticalMaker.com is my full time job! If you asked me 2 years ago I would have said that it was a pipe dream. There were already several large players in the open source electronics world and who thought I could take them on??? Certainly not me. That was before I realized that my unique take on shield design and programming was different than pretty much everyone else... and people loved what I was doing.
Moving forward my core vision remains the same... make electronics for the people that are user configurable. Of course, I always build to solve a problem I want solved first, but that user configurable part is soo nice to have (ie. BNC Sensor shield lets you select which analog pin and which CS pin to use). For those who have supported me in the past (and those who will support me in the future) I say thank you!!!! I'm honored that my solution to my problem also fixes your problem as well.
All that aside, there's a huge update. The I2C HD44780 LCD/Keypad Backpack is now available as a PCB or Assembled. You can find the full documentation here (including the Arduino library and sample code).
I've been using it with the USB hookup (though there are headers for jumper wire hookup) and it's the nicest thing I've used in awhile. There's nothing quite like modifying a USB cable and plugging it in and everything just works.
Arduarium Controller Basic
The Basic boards are in, assembled and everything works! The first batch will be going on sale as soon as the double high headers come in (they were on backorder). If you're interested sign up for the newsletter as they will be the first to be notified when the boards are available (hopefully sometime next week).
Here's a video to give you some idea of what's been going on
It's amazing what you can accomplish in 3 full days of coding. The MacroDuino code now supports multiple DS18B20 sensors and you can setup macros based on temperature readings. There is support for 9 temperature sensors and you can display 3 different temperatures on an LCD screen.
The Serial Control module for the code is almost finsihed (it's a bit embarassing to release the code as it is so I'm going to clean it up before releasing it).
For those just learning about the code think of it as a little operating system for the arduino. You have your control interfaces (which can be serial, ethernet, etc.) which control the control and macro functions.
Here's a small list of the things you can now do:
- Set a digital pin to change state based on a reading (digital, analog, RTC or DS18B20)
- Find 1Wire devices using a single command (addresses stored in eeprom so you can poll them by number)
- Display time, temperatures and pH on an LCD screen (you can turn on and off any of the elements as well as change their position all through serial commands ... ethernet control is coming soon)
- Hook up multiple 1Wire sensors and be able to query individual ones (addresses stored in eeprom so you just say... give me temp of sensor 1)
- Control the RTC (setting time, printing time etc.)
- Hook up the I2C HD44780 LCD/Keypad Backpack and print to it
That's just a small sampling (go to Projects -> MacroDuino Code to look at all you can do). Here's the most important part... this program is 40kb and yet I can still get it to fit on an Arduino with an Atmega 328.
The reason we can do that is because you don't actually need all the functions so you can turn them off and on by just changing variables at the top of the code. So, if you want to have serial control, ds18b20 and a ds1307 you just enable those parts of the code and turn off the rest which trims the code down to 20kb or so.
The best part is I'm just getting started with this code. Next up is integrating a PCF8574 port expander. That means you'll be able to use time, analog or digital readings and temperature to control each individual output of the port expander... and you can set it up via whatever communication protocol you want (serial and ethernet are being worked on at the moment).