Know Your Badgy
Since launching the first revision of Badgy, we have made various updates and fixes to the hardware and design. Refer to the diagram below to know which revision of Badgy you have. This is helpful for getting started and troubleshooting.
This is the latest revision of Badgy (September 2019) with a new display that supports 2-bit 4 color grayscale (Black/Dark Gray/Light Gray/White). It can be uniquely identified by the closed solder jumper on the back marked with the asterisk *. It also has a green tab on the screen protector film.
This revision of Badgy (May 2019) can be uniquley identified by the small green PCB on the bottom left corner. It supports programming over USB (updated from CH340 to CP2104, woohoo!) and WiFi OTA. It fixes the battery issue with Rev 2A.
This revision of Badgy adds USB programming capability with the CH340 USB-UART controller. It also has two additional jumper pads: 1) ADC broken out if you choose to measure the battery voltage 2) jumper pad for driving other E-ink displays (e.g. 2.13" flexible E-ink). This version has a hardware bug that causes Badgy to not work on battery power, full description with hacks/fixes described here #20.
This is the original and first revision of Badgy. It only supports firmware uploading via WiFi OTA, but the programming pads are broken out so you could also use your own USB-Serial adapter.
By default your Badgy displays the welcome message when powered on. To upload new firmware, you can simply connect via USB (Rev 2A/2B), or to your WiFi network (Rev 1/2A/2B). You will also need a LIR2450 rechargeable coin cell battery if you wish to run on battery power only.
WARNING: Make sure you are using a rechargeable battery (LIR2450 coin cell or 1S LiPo). Other batteries such as the CR2450 or CR2032 are undervoltage (3.0V) and will not work. The battery charging IC also does not have reverse polarity protection! Check the polarity before inserting the battery
Over USB (for Rev 2A & Rev 2B)
- Download and install the latest version of Arduino IDE
- Install board support for the ESP8266 using the Arduino Board Manager using instructions found here.
- If you are using a windows machine then you need to add support for the CP201X by installing drivers from here.
- The USB-Serial device should show up on the list of ports (e.g. COM8, /dev/cu.* , /dev/tty.*). If you don't see it then it is possible that you need to install the drivers for CP2104 on your system.
- From Tools -> Board choose "NodeMCU 1.0 (ESP-12E Module)".
- Compile and upload one of our code samples, or create your own! See the 'compiling' section below for some details.
Note that if the ESP chip is in a deep sleep then it will not automatically respond to the upload request and you may see something like "error: espcomm open failed" when trying to upload. A manual restart of the ESP chip, using the power slide button, just prior to upload gives you a small window of time to upload.
- Power your Badgy through USB or a rechargeable battery, or both. Make sure the power switch is in the off position (up)
- Hold down the center button and slide the power switch on (down). Note: On older firmware versions it is not necessary to hold down the center button and OTA is on by default
- The screen should now update letting you know to connect to the "Badgy AP" network. You can now let go of the center button
- Using your mobile phone, connect to the "Badgy AP" WiFi network
- Follow the captive portal instructions to select your desired WiFi connection
- Once connected, Badgy is ready to receive new firmware! Go to http://YOUR_IP_ADDRESS:8888/update to upload your new firmware
- WiFi credentials are automatically saved onboard, your Badgy will automatically connect to your selected network the next time you perform an update
Check out the examples folders for various code samples, we're constantly adding more!
The readme files within the example directories contain specific library and version information for that example. At a minimum though you should consider installing the following libraries as they are very useful and/or necessary for any real functionality.
- GxEPD library: you can find the repo here.
- AdaFruit GFX library: installation instructions available here.
- WifiManager library: you can find the repo here. You can also find this in the Library Manager under 'WiFiManager by tzapu'.
- Time library: you can find the repo here.
- ArduinoJson library: you can find the repo here. You can also find this in the Library Manager under 'ArduinoJson by Benoit Blanchon'. Make sure that you install a 5.x version since some of the examples require that.
Some users have reported that Badgy doesn't automatically reset after uploading a new sketch via USB; this appears to be an issue with the ESP8266 Arduino library v2.5.0+. You can either toggle the power switch to reset, or downgrade to v2.4.2. This issue does not affect the operation of Badgy