Dsinned
Well-known member
The software side is fairly "technical". If you know anything about C programming you should be able to understand it. I am NOT a programmer, so I find it difficult to understand, but there are enough "comments" in the JB's firmware source code to help figure it out. MINOR modifications are not overly difficult to make yourself, although there is most definitely a "learning curve".
The Arduino platform and application programming for it is generally used by DIY "hobbyist", so it is not meant to be overly difficult to learn. But, if you have no software programming experience whatsoever, it can be formidable. I had a few Basic programming classes in college, but never learned a high level language like C++. I did, however, dabble in 8 bit microprocessor machine code programming at one time, which taught me about "source code" and compiling to create "executable" code. I learned enough to be able to modify an existing program such as used by the Juicebox, provided the original source code is well documented, and thankfully it is, fairly so, by eMW. I believe the JB code was written with the virtues of "open source" in mind, and therefore intended to be more easily modified by end users. But, sometimes, I think the original programmer "assumes" too much for the sake of others who may want to understand the code to make custom modifications themselves.
To get started, first you'll need to buy an FTDL Programming Cable from the eMW Online Store, iff your JB did not already come with this accessory. It includes an Arduino I/O interface board to plug in to the main PCB in the JB. Both items sell together for $13. All pre-assembled units (both Premium and Basic) are preprogrammed by eMW, so the FTDI Programming Cable would be considered an "option" and can be ordered separately.
http://emotorwerks.com/products/online-store/product/show/68-ftdi-programming-cable-for-arduino-juicebox
Next, download the Arduino "IDE" (V1.05 or greater) from the following website.
http://arduino.cc/en/main/software
Then, download the JB firmware Arduino source code from the eMW website's "public" webpage that corresponds to your hardware version of the JuiceBox (where 8.9 is the latest version just released about a month ago). My JB is based on V8.7, which I purchased with firmware version V8.7.9, and then modified myself. Note that there are specific "version" directories to choose from for your hardware version of the JB. The higher the version (e.g. V8.9.x) the more updated the firmware to go with it.
http://emotorwerks.com/JuiceBox_Public/
The rest will entail many hours of studying the code before attempting the mods you desire. Plan on spending some additional time correcting your programming mistakes, before you have reached the point of doing a successful compile of your modified code for uploading into the JB hardware via the FTDI Programming Cable. The Arduino IDE Compiler will help to pin point all invalid lines of source code programming before you can attempt to upload the JB hardware. A source code Editor, Source Code Verifier and Compiler are included in the Arduino "IDE" software.
Have fun and GOOD LUCK! And if anyone has something more to contribute, please post, so that we can all learn from each other and get more fulfillment out of the JuiceBox EVSE.
The Arduino platform and application programming for it is generally used by DIY "hobbyist", so it is not meant to be overly difficult to learn. But, if you have no software programming experience whatsoever, it can be formidable. I had a few Basic programming classes in college, but never learned a high level language like C++. I did, however, dabble in 8 bit microprocessor machine code programming at one time, which taught me about "source code" and compiling to create "executable" code. I learned enough to be able to modify an existing program such as used by the Juicebox, provided the original source code is well documented, and thankfully it is, fairly so, by eMW. I believe the JB code was written with the virtues of "open source" in mind, and therefore intended to be more easily modified by end users. But, sometimes, I think the original programmer "assumes" too much for the sake of others who may want to understand the code to make custom modifications themselves.
To get started, first you'll need to buy an FTDL Programming Cable from the eMW Online Store, iff your JB did not already come with this accessory. It includes an Arduino I/O interface board to plug in to the main PCB in the JB. Both items sell together for $13. All pre-assembled units (both Premium and Basic) are preprogrammed by eMW, so the FTDI Programming Cable would be considered an "option" and can be ordered separately.
http://emotorwerks.com/products/online-store/product/show/68-ftdi-programming-cable-for-arduino-juicebox
Next, download the Arduino "IDE" (V1.05 or greater) from the following website.
http://arduino.cc/en/main/software
Then, download the JB firmware Arduino source code from the eMW website's "public" webpage that corresponds to your hardware version of the JuiceBox (where 8.9 is the latest version just released about a month ago). My JB is based on V8.7, which I purchased with firmware version V8.7.9, and then modified myself. Note that there are specific "version" directories to choose from for your hardware version of the JB. The higher the version (e.g. V8.9.x) the more updated the firmware to go with it.
http://emotorwerks.com/JuiceBox_Public/
The rest will entail many hours of studying the code before attempting the mods you desire. Plan on spending some additional time correcting your programming mistakes, before you have reached the point of doing a successful compile of your modified code for uploading into the JB hardware via the FTDI Programming Cable. The Arduino IDE Compiler will help to pin point all invalid lines of source code programming before you can attempt to upload the JB hardware. A source code Editor, Source Code Verifier and Compiler are included in the Arduino "IDE" software.
Have fun and GOOD LUCK! And if anyone has something more to contribute, please post, so that we can all learn from each other and get more fulfillment out of the JuiceBox EVSE.