Giter VIP home page Giter VIP logo

badgy's People

Contributors

badgymcbadge avatar bmv437 avatar chunkysteveo avatar jpruskin avatar mchughj avatar sqfmi avatar w4ilun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

badgy's Issues

Button Phantom Pressses

I have a working sketch that connects to an api and pulls check-in information and displays it on the badge when I press the right toggle button. I'd like to also display the check-in barcode when I press left.

When I started testing this I found that the left button and down button are triggered all the time.
After I click right it immediately triggers left and down. I've increased the milliseconds on the debounce but it had no effect. It didn't change how fast it was triggered either.

Either my button is defective or something else is interfering?

Is anybody else having this issue?

Has anybody solved it?

Can't upload to device

Hey guys.. Cool device here. Looking to hack it into a weather unit. I followed the instructions to get it on my WiFi and that works. However, now I can't seem to access the device or ping it. When starting I hold the center button and power on. Then get to the "you are now connected.... go to 192.168.2.44:8888 to upload a sketch". However, when I go to that IP in Chrome I get nothing - cant find it. Ping also does not work. The device shows on my router as connected and has a strong wifi signal. Any ideas? Note that I am powering via the PC USB cable. Also no port shows up in Arduino IDE. Am I correct that this does not support upload via USB as I see no USB/TTL converter on board?

Details: Win 10. Arduino 1.8.5. All libraries installed and compiling fine. Choose Generic ESP8266 module. Followed instructions here: https://github.com/sqfmi/badgy. Also note that I tried this all with a 2A power supply as well, so the unit is sufficiently powered.

Q: When compiling, what board should be selected?

OTA stopped working with weather and websocket draw example, does not work after ftdi upload

Hello, I bought 5 Badgys on Tindie.
I uploaded some tests OTA on the badgies, When I tried the weather, 2 of them froze, and when I restarted a 3rd one, it froze also (it had the websocketdraw on it).
Now, I am trying to upload using FTDI, it uploads well (Blinking led, and 100% status), but still stays frozen to the last state when it stopped working.
I jumped 0 and gnd as per your chart. and left rest in the air as per your rst => NC instruction.
What do you think goes wrong? I am uploading the Badgy, and hello INO, but I cannot get it to show on the screen when i plug it back
The only one that keeps on working is the hourly quote, but I do not dare changing anything in the code, nor developing with Badgy until I can get it to work without OTA

Thank you for your help
img_1262

New pcb's

When will a new revision will be available on tindie ?

Badgy does not reset after flashing via USB

Hello,

my Badgy Rev 2B does not reset itself after successfully flashing it via the Arduino IDE through USB. The upload log reads "Hard resetting via RTS pin..." but the display will remain in the state it was in during upload unless I either toggle the on/off switch or I powercycle the badge by unplugging and plugging the USB cable.

The behavior is the same with all example sketches as well as my own test sketches down to the very basics of simply displaying a text without any Wifi capability.

"Reset Method" is set to "ck", but neither of the other available options changes the behavior.

What do I have to do to make Badgy reset itself upon successful upload via the Arduino IDE?

Board will not go into OTA mode

I got the board working just fine out of the box. I downloaded all the files needed to run "Hello". I compiled it and uploaded it just fine.

But now the board will not return to OTA mode. I shut it off, press and hold the center button, turn on the board, and nothing happens. The edisplay still shows the "Hello my name is..." graphic.

I have tried this while powering the board via USB from my laptop, and via USB from a fully charged power brick. When I flip the board's switch to ON, a red LED at the center of the lower edge of the reverse side of the board blinks about once every 7 seconds, in sync with the blue LED on the ESP32. That's all that happens.

When I flip the switch to OFF, the red LED at the center of the lower edge of the reverse side of the board blinks about 5 times per second. THe blue light does not blink at all.

I have tried multiple USB cables and power sources. Nothing works to put the board into OTA mode.

I do not have the skills to solder connectors to the board. What can I do?

Screen Alignment Issue - Rev 2B

Got the new Rev 2B board the other day, but I was sick so I didn't get to tinker right away. Pulled it out earlier today and, upon uploading the hello example (slightly modified with my initials instead), I realized that the screen was misaligned. Even the "Badgy AP" screen seems to be misaligned.

I'm new to... well, all of this, so I apologize if my description isn't quite apt. Is there a simple solution that I'm just completely unaware of?

Thanks!

Possible minor typo in readme.md

readme.md
- Section on Updating over USB.

Shouldn't line 30 and 31's mention of "CP2014" be "CP2104"?
(It seemed like in SiLabs documentation it was 2104 or 210x, rather than 2014).

Boot failure

Hi. I have the original Badgy and just dusted it off to try to get it working (haven't used it for a long time). It was working and was able to access it via OTA. However, after uploading the below sketch, it does not show weather and no longer accesses OTA. I can confirm power on the unit. I try to ping it at 192.168.2.141:8888 and get nothing. Sadly, I only noticed this after uploading - The first few lines suggest different libraries depending on version, so I am wondering if I've bricked it? I used #include <GxGDEW029T5/GxGDEW029T5.h> vs #include <GxGDEH029A1/GxGDEH029A1.h>. Is there a way to recover from this via OTA, or do I have to solder connections to the breakout pins to upload a new sketch?

`/* e-paper display lib /
#include <GxEPD.h>
//Use the GxGDEW029T5 class if you have Badgy Rev 2C. Make sure you are on GxEPD 3.05 or above
#include <GxGDEW029T5/GxGDEW029T5.h>
//Use the GxGDEH029A1 class if you have anything older
//#include <GxGDEH029A1/GxGDEH029A1.h>
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>
/
include any other fonts you want to use https://github.com/adafruit/Adafruit-GFX-Library /
#include <Fonts/FreeMonoBold9pt7b.h>
#include <Fonts/FreeMonoBold18pt7b.h>
#include "icons.h"
/
WiFi libs*/
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPUpdateServer.h>
#include <WiFiManager.h>
/* Util libs */
#include <Time.h>
#include <TimeLib.h>
#include <ArduinoJson.h>

const char* host = "api.openweathermap.org";
const char* API_KEY = "REMOVED"; //Your API key https://home.openweathermap.org/
const char* CITY_ID = "6167865"; //City ID https://openweathermap.org/find
const int time_zone = -5; // e.g. UTC-05:00 = -5
const boolean IS_METRIC_UNITS = true;

/* Always include the update server, or else you won't be able to do OTA updates! /
//const int port = 8888;
/
/ESP8266WebServer httpServer(port);
/**/ESP8266HTTPUpdateServer httpUpdater;
/
*/

/* Configure pins for display */
GxIO_Class io(SPI, SS, 0, 2);
GxEPD_Class display(io); // default selection of D4, D2

void setup()
{
display.init();

pinMode(1,INPUT_PULLUP); //down
pinMode(3,INPUT_PULLUP); //left
pinMode(5,INPUT_PULLUP); //center
pinMode(12,INPUT_PULLUP); //right
pinMode(10,INPUT_PULLUP); //up

/* WiFi Manager automatically connects using the saved credentials, if that fails it will go into AP mode */
WiFiManager wifiManager;
wifiManager.setAPCallback(configModeCallback);
wifiManager.autoConnect("Badgy AP");

if(digitalRead(5) == 0) {
/* Once connected to WiFi, startup the OTA update server if the center button is held on boot */
httpUpdater.setup(&httpServer);
httpServer.begin();
showIP();
while(1){
httpServer.handleClient();
}
}
if (getWeatherData() && getForecastData()) {
// Success in getting weather an forecast data. Sleep for an 3600e6 microseconds -- an hour.
ESP.deepSleep(3600e6, WAKE_RF_DEFAULT);
} else {
// A failure of some sort. Wait for 5 seconds and then retry.
ESP.deepSleep(5e6, WAKE_RF_DEFAULT);
}
}

void loop()
{
// loop is never executed in this program as the setup does all the work
// then puts the ESP into a deep sleep which will cause a reset at the
// conclusion which runs setup again.
}

void configModeCallback (WiFiManager myWiFiManager){
display.setRotation(3); //even = portrait, odd = landscape
display.fillScreen(GxEPD_WHITE);
const GFXfont
f = &FreeMonoBold9pt7b ;
display.setTextColor(GxEPD_BLACK);
display.setFont(f);
display.setCursor(0,50);
display.println("Connect to Badgy AP");
display.println("to setup your WiFi!");
display.update();
}

void showText(char text)
{
display.setRotation(3); //even = portrait, odd = landscape
display.fillScreen(GxEPD_WHITE);
const GFXfont
f = &FreeMonoBold9pt7b ;
display.setTextColor(GxEPD_BLACK);
display.setFont(f);
display.setCursor(10,70);
display.println(text);
display.println("Auto-retry in 5 seconds.");
display.update();
}

void showIP(){
display.setRotation(3); //even = portrait, odd = landscape
display.fillScreen(GxEPD_WHITE);
const GFXfont* f = &FreeMonoBold9pt7b ;
display.setTextColor(GxEPD_BLACK);
display.setFont(f);
display.setCursor(0,10);

String url = WiFi.localIP().toString() + ":"+String(port)+"/update";
byte charArraySize = url.length() + 1;
char urlCharArray[charArraySize];
url.toCharArray(urlCharArray, charArraySize);

display.println("You are now connected!");
display.println("");
display.println("Go to:");
display.println(urlCharArray);
display.println("to upload a new sketch.");
display.update();
}

bool getWeatherData()
{
String type= "weather";
String url = "/data/2.5/"+type+"?id="+CITY_ID+"&units="+getUnitsString()+"&appid="+API_KEY;

// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
showText("connection failed");
return false;
}

// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
showText(">>> Client Timeout !");
client.stop();
return false;
}
}

// Read response
String city;
float current_temp;
int humidity;
float temp_min;
float temp_max;
float wind;
String icon_code;
int condition;
int time;

while(client.available()){
char status[32] = {0};
client.readBytesUntil('\r', status, sizeof(status));
//Serial.println(status);
if(strcmp(status, "HTTP/1.1 200 OK") != 0){
showText("HTTP Status Error!");
return false;
}

/* Find the end of headers */
char endOfHeaders[] = "\r\n\r\n";
if (!client.find(endOfHeaders)) {
  showText("Invalid Response...");
  return false;
}

/* Start parsing the JSON in the response body */
//DynamicJsonBuffer jsonBuffer;
//JsonObject& root = jsonBuffer.parseObject(client);
//if(!root.success()){
//  showText("JSON parsing failed!");
//  return false;
//}

DynamicJsonDocument jsonDoc(4096); 
DeserializationError error = deserializeJson(jsonDoc, client);
if (error)
{
  showText("JSON parsing failed!");
  return false;
}

city = jsonDoc["name"].as<String>();
current_temp = jsonDoc["main"]["temp"];
humidity = jsonDoc["main"]["humidity"];
temp_min = jsonDoc["main"]["temp_min"];
temp_max = jsonDoc["main"]["temp_max"];
wind = jsonDoc["wind"]["speed"];
icon_code = jsonDoc["weather"][0]["icon"].as<String>();
condition = jsonDoc["weather"][0]["id"];
time = jsonDoc["dt"]; //time data was collected

}

time = time + (time_zone6060); //calculate time based on time zone
setTime(time);
/* Get icon for weather condition /
const unsigned char icon;
icon = getIcon(condition, icon_code, false);
/
Display weather conditions /
display.setRotation(3); //even = portrait, odd = landscape
display.fillScreen(GxEPD_WHITE);
display.drawBitmap(icon, -5, 5, 80, 80, GxEPD_WHITE);
const GFXfont
small = &FreeMonoBold9pt7b;
display.setTextColor(GxEPD_BLACK);
display.setFont(small);
//display.setCursor(10,11);
//display.println(city);
//Current Date (actually date of last update)
display.setCursor(120,11);
display.print(dayShortStr(weekday()));
display.print(" ");
display.print(monthShortStr(month()));
display.print(" ");
display.print(day());
display.print(" ");
display.print(year());
//Current Wind
display.drawBitmap(strong_wind_small, 0, 62, 48, 48, GxEPD_WHITE);
display.setCursor(50,92);
if (IS_METRIC_UNITS) {
display.print(String((int)(wind
3.6))+"km/h");
} else {
display.print(String((int)wind)+" mph");
}
//Current Humidity
display.drawBitmap(humidity_small, 0, 97, 32, 32, GxEPD_WHITE);
display.setCursor(50,119);
display.print(String(humidity)+"%");
//Current Temp
display.setCursor(72,55);
const GFXfont* big = &FreeMonoBold18pt7b;
display.setFont(big);
if (IS_METRIC_UNITS) {
display.println(String((int)current_temp) + "C");
} else {
display.println(String((int)current_temp) + "F");
}
display.update();
return true;
}

String getUnitsString() {
if (IS_METRIC_UNITS) {
return "metric";
} else {
return "imperial";
}
}

bool getForecastData()
{
String type= "forecast";
String url = "/data/2.5/"+type+"?id="+CITY_ID+"&units="+getUnitsString()+"&appid="+API_KEY;

// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
showText("connection failed");
return false;
}

// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout > 5000) {
showText(">>> Client Timeout !");
client.stop();
return false;
}
}

// Read response
while(client.available()){
char status[32] = {0};
client.readBytesUntil('\r', status, sizeof(status));
//Serial.println(status);
if(strcmp(status, "HTTP/1.1 200 OK") != 0){
showText("HTTP Status Error!");
return false;
}

/* Find the end of headers */
char endOfHeaders[] = "\r\n\r\n";
if (!client.find(endOfHeaders)) {
  showText("Invalid Response...");
  return false;
}

/* Start parsing the JSON in the response body */
//DynamicJsonBuffer jsonBuffer;
//JsonObject& root = jsonBuffer.parseObject(client);
//if(!root.success()){
//  showText("JSON parsing failed!");
//  return false;
//}

DynamicJsonDocument jsonDoc(4096); 
DeserializationError error = deserializeJson(jsonDoc, client);
if (error)
{
 showText("JSON parsing failed!");
 return false;
}


/* Forecast returns weather data every 3 hours for the next 5 days, we only want the next 3 days for every 24 hours*/
for(int i=1; i<=3; i++){
  int condition= jsonDoc["list"][char(i*8)]["weather"][0]["id"];
  int temp = jsonDoc["list"][char(i*8)]["main"]["temp"];
  String icon_code= jsonDoc["list"][char(i*8)]["weather"][0]["icon"];

  int offset = 100; //x offset for forecast block
    
  const unsigned char *icon;
  icon = getIcon(condition, icon_code, true);
  display.drawBitmap(icon, (offset+(i*48)), 58, 48, 48, GxEPD_WHITE); //(icon, pos_x, pos_y, size_x, size_y, bg)
  int time = jsonDoc["list"][char(i*8)]["dt"];
  time = time + (time_zone*60*60);
  setTime(time);
  //Day of Week
  const GFXfont* small = &FreeMonoBold9pt7b;
  display.setTextColor(GxEPD_BLACK);
  display.setFont(small);
  display.setCursor((offset+7+(i*48)),58);
  display.print(dayShortStr(weekday()));
  //Forecasted temperature
  display.setCursor((offset+10+(i*48)),115);
  display.print(String(temp));    
}
display.update();

}
return true;
}

const unsigned char * getIcon(int condition, String icon_code, bool small)
{
if(condition <= 232){
return small ? thunderstorm_small : thunderstorm;
}else if(condition >= 300 && condition <= 321){
return small ? showers_small : showers;
}else if(condition >= 500 && condition <= 531){
return small ? rain_small : rain;
}else if(condition >= 600 && condition <= 602){
return small ? snow_small : snow;
}else if(condition >= 611 && condition <= 612){
return small ? sleet_small : sleet;
}else if(condition >= 615 && condition <= 622){
return small ? rain_mix_small : rain_mix;
}else if(condition == 701 || condition == 721 || condition == 741){
return small ? fog_small : fog;
}else if(condition == 711){
return small ? smoke_small : smoke;
}else if(condition == 731){
return small ? sandstorm_small : sandstorm;
}else if(condition == 751 || condition == 761){
return small ? dust_small : dust;
}else if(condition == 762){
return small ? volcano_small : volcano;
}else if(condition == 771){
return small ? strong_wind_small : strong_wind;
}else if(condition == 781){
return small ? tornado : tornado_small;
}else if(condition == 800){
if(icon_code == "01d"){
return small ? day_sunny_small : day_sunny;
}else{
return small ? night_clear_small : night_clear;
}
}else if(condition == 801 || condition == 802){
if(icon_code == "02d" || icon_code == "03d"){
return small ? day_cloudy_small : day_cloudy;
}else{
return small ? night_cloudy_small : night_cloudy;
}
}else if(condition == 803 || condition == 804){
if(icon_code == "04d"){
return small ? cloudy_small : cloudy;
}else{
return small ? night_cloudy_small : night_cloudy;
}
}
return day_cloudy_small;
}`

Console log not showing anything in Serial (COM port)

I'm trying to debug my program (badgy connected with USB), so I'm using this in setup() method:

Serial.begin(115200);
Serial.println("Setup");
display.init(115200);

But nothing is showing in terminal (only unreadable characters on boot).

Is Serial supported? Is speed 115200 okay? I've tried 9600 as well, but the same result.
When I open Tools -> Serial monitor (in Arduino IDE), badgy does not restart (as other devices do).

I'm using latest revision 2C.

Thanks.

problem(s) with new Badgy

I just received the new 2B model and started setting it up.
The first thing I see is that it has a bad solder joint on the mini-USB connector. I have to hold it at an angle to force it to connect to the circuit board... - very unpleasant for long sessions...
I was able to set it up to my local WIFI environment and proceeded to play with the examples.
I modified 'hello' to use my name, and verified and compiled it without issue.
But when I load it to the Badgy, with either WIFI or USB, it completes and informs me that Badgy is restarting. But nothing happens after that - the ink display remains with the connected for update image. Power cycling does nothing (other than letting me restart the OTA process if I want). I tried reloading the base version of 'hello' with the same end results.
Any suggestions?

How to use it... as a badge

The project is amazing, I really like it.
But I don't see on pictures how it is supposed to be fixed.
Any holes usable?

Free GPIO pins?

I've got ideas for Badgy that require me to connect to a GPIO pin (e.g. a 1-wire digital temperature sensor). I see that GPIO9 seems to be free. Can I solder to it or is it used internally by the package? Are there other free pins that I'm missing? If there aren't any, I can sacrifice directions of the joystick, right?

List of optimal board settings?

Hi,

after setup of the board in the Arduino IDE the board settings got populated with what looks like defaults. Some of the defaults seem wrong, like the Flash size of 512k (no SPIFFS). During upload the correct flash size of 4MB seems to be negotiated, and the upload works fine, but this made me start wondering what else might not be on the correct setting. I'd like to set up Badgy as well as I can. By playing around with them though I nearly bricked my badge and was very lucky that it recovered to a state in which it would accept new firmware with the reverted settings.

Here's a screenshot of the default settings. Can anyone provide the "correct" settings tailored for Badgy or are these already the best they can be?

Screenshot 2019-05-18 at 11 06 00

Display?

What epaper display is it? I can't see it in the BOM. The waveshare 2.9"?

Failed to connect to ESP8266: Invalid head of packet (0x62)

I was having a go at putting micropython on the board, however mistakenly attempted to upload the "esp8266-20190125-v1.10.bin" micropython file via the OTA method rather than USB.

I'm now trying to install the default badgy.bin file via Arduino to start again however get the following exception:

Sketch uses 333532 bytes (31%) of program storage space. Maximum is 1044464 bytes.
Global variables use 37136 bytes (45%) of dynamic memory, leaving 44784 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.6
2.6
esptool.py v2.6
Serial port COM4
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
  File "C:\...\Arduino15\packages\esp8266\hardware\esp8266\2.5.2/tools/upload.py", line 25, in <module>
    esptool.main(fakeargs)
  File "C:/.../Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py", line 2653, in main
    esp.connect(args.before)
  File "C:/.../Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py", line 468, in connect
    raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Invalid head of packet (0x6C)
esptool.FatalError: Failed to connect to ESP8266: Invalid head of packet (0x6C)

Would this be due to uploading the micropython .bin file via OTA? Can I reset Badgy or still put micropython on it?

Compiler errors

I am getting errors and failure to compile, any suggestions?

Arduino: 1.8.10 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Multiple libraries were found for "DNSServer.h"
Used: /Users/mattpackwood/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/libraries/DNSServer
Multiple libraries were found for "ESP8266WebServer.h"
Used: /Users/mattpackwood/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/libraries/ESP8266WebServer
Multiple libraries were found for "ESP8266HTTPUpdateServer.h"
Used: /Users/mattpackwood/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/libraries/ESP8266HTTPUpdateServer
Multiple libraries were found for "WiFiManager.h"
Used: /Users/mattpackwood/Documents/Arduino/libraries/WiFiManager
Multiple libraries were found for "GxEPD.h"
Used: /Users/mattpackwood/Documents/Arduino/libraries/GxEPD
Multiple libraries were found for "SPI.h"
Used: /Users/mattpackwood/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/libraries/SPI
Multiple libraries were found for "Adafruit_GFX.h"
Used: /Users/mattpackwood/Documents/Arduino/libraries/Adafruit_GFX_Library
Multiple libraries were found for "ESP8266WiFi.h"
Used: /Users/mattpackwood/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/libraries/ESP8266WiFi
fork/exec /Users/mattpackwood/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3: no such file or directory
Error compiling for board Generic ESP8266 Module.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

[micropython] update example for the latest display

Hi, not sure why there is no "new issues" on badgy-python so I'll open the issue here.

Is "epaper2in9.py" working with the latest revision of badgy?
There is an updated "greyscale" demo available also for micropython?

Thanks.

How to reset the wifi credentials?

Connected to a MiFi while on the road and set up the Badgy for the first time. Now I want to connect it to my home network and there's no clear way how to do that. Flashing the badgy.bin default file didn't reset it. Any tips on how to reset the WiFi credentials and go back into AP mode?

Thanks

Badgy no longer booting

Hey,

I just received my Badgy Rev 2C a few days ago. I tried to modify the "Hello" sketch but had issues uploading it onto the device. The connection was somewhat unreliable so I had to restart the process a few times until it worked. I noticed that the Badgy sometimes rapidly restarted itself (the display turned white and then the content appeared again) while the Arduino IDE tried to start flashing.

However after one failed attempt to flash a new program it seems like the Badgy is no longer booting at all. The screen doesn't change any more and I am unable to get into the web flash mode, which is still part of the sketch.

When turning the device on I see this:

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

ets_main.c

in the serial monitor. No further output occurs.

Flashing a new sketch seems impossible, as the process stops with esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header.

I also tried using a different cable and a different computer but that did not solve the issue. Any idea what could be wrong here?

images on badgy

I cannot find any documentation on the specs for formatting images for badgy other than using the xbm format. Things that I tried won't compile. Badgy is great; but, I'd like it to display more than "Hello my names is Badgy." I believe it would be a good service if some more documentation were available on hacking the files.

Works with USB power, not with battery?

Set up badgy on USB power, things behave as expected. Board LED glows flickers blue. Board boots up.

Popped a LIR2450 in with no USB connection and... nothing. Won't wake up, won't reset for new sketches, no LEDs glowing.

Pop in USB with LIR2450 in place, board LED glows bright blue (charging?) and board functions.

Any suggestions as to trouble shooting this?

Showing image from bytes stored in SPIFFS file

I want to save image uploaded in webpage and sent to badgy using JavaScript and websocket.

I'm using ESPAsyncWebServer (and its async websocket) and image is received in chunks:
image

I write it into SPIFFS file in this form:
image

Problem is how to convert these data to valid form for display.drawBitmap(img, 0, 0, 296, 128, GxEPD_BLACK);? I've tried many ways to convert characters to uint8_t array, but device is restarting - I don't know how to do this correctly to have enough memory.

File f = SPIFFS.open("/photo1.txt", "r");
String data = f.readString();
... How to convert it to uint8_t array?

Thanks.

PCB or schematics

Are the schematics or the PCB layout pubilshed anywhere or will there be badgies available on tindie again? Thanks

Unable to wake from DeepSleep

Hi there,

I just realized I did something stupid by calling some function directly from setup() that ends with the sequence below and now I'm unable to flash a new sketch

delay(1000);
ESP.deepSleep(1 - 1000000UL);

I noticed this in the README:

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.

I was trying everything, switching the button, run the flash command using esptool in a loop and connecting the badgy while it runs. Nothing I did allowed me to re-flash it.
My attempts will always end with:

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

I suspect that at some point the esptool failed to flash the firmware to the ESP-12F chip and it causes the fail at boot.
Any chance this would help?

Is the Badgy supposed to charge the battery?

I have the LIR2450 loaded in the badgy, and when I plug the USB, I see a red light in the back.
I am wondering if the badgy is able to charge the battery because when I remove the USB after a few hours, the badgy does not seem to work on battery.

Pcb layout

Hi, can you give the pcb layout?
Or when are you planning to build other board?

Fatal error occurred with esptool.py after erase_flash

I just received my Badgy. I installed a LIR2450 battery, started it up, and played with the defaults. The screen responded to the button and joystick.

I wanted to install MicroPython right away so I followed instructions to get esptool.py for my Mac running macOS 10.14.6. I also installed the SIL USB driver.

I was able to get the โ€œerase_flashโ€ command to work.

esptool.py v2.7
Found 5 serial ports
Serial port /dev/cu.SLAB_USBtoUART
Connecting........_
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 84:f3:eb:84:64:fc
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 7.1s
Hard resetting via RTS pin...

After that, all of my attempts to do anything โ€” erase_flash or write_flash โ€” with esptool.py have failed.

esptool.py v2.7
Serial port /dev/cu.SLAB_USBtoUART
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header

I have tried turning the Badgy off, holding the button down while turning it on, and other tips/tricks Iโ€™ve come across in the issues. Iโ€™ve tried various baud rates, all the way down to 9600.

Other notes:

  • The screen does not flash when I turn the Badgy on
  • The screen is stuck on the last thing I did (โ€œYou pressed the right button!โ€), which is now taunting me
  • The charging LED comes on when I plug into USB on my computer, but Iโ€™ve seen it both bright and dim
  • An LED next to the ESP-12F flashes immediately after turning the Badgy on but is off in an instant
  • update: I saw the deviceโ€™s Wi-Fi network initially, but no longer see it

U2 started smoking

Hi There!

Yesterday I was cleaning out my drawer and found a Badgy REV1 that I hadn't tried for a while. I hooked it up 2 a micro usb connector to see if it would power up (without a battery). The display did a nice redraw, but then I noticed some magic smoke, so I quickly disconnected the USB wire.

It looks like U2 is the one that was fried. But I don't really understand what the reason is for this. Especially without battery.

Any idea what the reason can be?

Thanks!

Weather sketch is broken

Hi, the weather sketch is broken. Forecast request dies with a json parsing error. Not sure where the problem is...tried and failed to figure it out. Best I could tell it looks like stuff is left in the buffer after the first current conditions call. Also setting imperial units does not change the conversions or the displayed units deeper in the code, which makes setting the constant somewhat pointless:
259 display.print(String((int)(wind*3.6))+"km/h");
268 display.println(String((int)current_temp) + "C");

image is broken - micropython - Rev 2C

I followed the steps under badgy-python and everything worked fine except the photo is broken. I used Image-to-cpp to convert the file. Here is the original and the result on badgy. By the way, this is the best result that I randomely got! the image is usually worse. I'll try to upload more photos.
I used the sample python example and I'm sure the python binary representation of my image is correct.
Any ideas?

'WiFiManager' was not declared in this scope

Hi there! I'm trying this out for the first time... all of it. I'm following the 'getting started' type info

  1. First from the 'compiling examples' info at: https://github.com/sqfmi/badgy
  2. and then following the setup section in: https://github.com/sqfmi/badgy/tree/master/examples
  3. before getting the following error when trying to compile:
    https://github.com/sqfmi/badgy/blob/master/examples/hello/hello.ino

Just copied the text from the hello section and pasted it into the IDE and changed it to be my handle. Is there another way this is supposed to be done?

----------------------- begin error text copied from Arduino IDE ------------------
Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

hello:111:25: error: variable or field 'configModeCallback' declared void

void configModeCallback (WiFiManager *myWiFiManager){

                     ^

hello:111:25: error: 'WiFiManager' was not declared in this scope

hello:111:38: error: 'myWiFiManager' was not declared in this scope

void configModeCallback (WiFiManager *myWiFiManager){

                                  ^

C:\Users\Admin\Documents\Arduino\Badgy\Hello\hello.h\hello.ino: In function 'void setup()':

hello:51:31: error: 'configModeCallback' was not declared in this scope

 wifiManager.setAPCallback(configModeCallback);

                           ^

exit status 1
variable or field 'configModeCallback' declared void

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
-------------------- end error dump -------------------

Using Arduino 1.8.9 (Windows Store 1.8.21.0)

Thanks for any help in advance!

Respectfully,

SciaticNerd

Esphome support?

Is badgy supported by esphome? Does anyone have config files if so?

@chunkysteveo you tagged a post with esphome here

The waveshare eink displays seem similar and closest, but different enough it seemed worth asking.

(Rev 2A if it matters)

Exemple hello compilation

Hi,
I receive my badgy today :)
but i can't test examples, hello or weather
(test on three computer)
because there is a problem with GxEPD-master library:

Arduino : 1.8.7 (Windows 7), Carte : "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

libraries\GxEPD-master\GxGDEH029A1\GxGDEH029A1.cpp.o: In function `GxGDEH029A1::fillScreen(unsigned short)':

C:\Users\Fabian\Documents\Arduino\libraries\GxEPD-master\src\GxGDEH029A1/GxGDEH029A1.cpp:113: multiple definition of `GxGDEH029A1::fillScreen(unsigned short)'
.......
compil.txt

I need a little help

Thks

not able to upload firmware over wifi - OTA

Rev 2c was able connect, to wifi network, I can see ESP_AC9D8A as a connected device in the router connected list.
however badgy seems to be going in loop with it blinking from "Hello badgy" and a blank screen.
http://YOUR_IP_ADDRESS:8888/update command does not do anything.

Not connecting via USB

I am unable to connect to Badgy on a MacBook Pro via USB. I was able to connect and program it with the Hello sketch from the repo via WiFi, once, after which it doesn't respond to WiFi, either. So I need USB programming to recover from that. I've tried several ports and several cables and installed some additional drivers suggested in various forums, but so far it's not recognized as a serial device on USB. Any suggestions?

Cannot compile examples in Arduino IDE

I just received my Rev 2B badgy. I'm trying to compile and upload the new bin file to my badgy using Arduino IDE 1.8.8 . I keep getting an ' stray error /'302' in program' when i compile the hello.ino example. I have tried it with the original hello.h file and once that I created withe the image2cpp application. I Even tried including all the recommended libraries ensuring I used the specified version of the libraries. I get the same error.

the following is the text from the error message copied and pasted from the IDE

any help would be appreciated. I thought this was going to be simple, cut and dry.

TIA - john

Arduino: 1.8.8 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

hello:31:3: error: stray '\302' in program

<title>badgy/hello.ino at master ร‚ยท sqfmi/badgy ร‚ยท GitHub</title>

^

hello:31:3: error: stray '\267' in program

hello:31:3: error: stray '\302' in program

hello:31:3: error: stray '\267' in program

hello:268:5: error: missing terminating ' character

 <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="115660478" data-scoped-search-url="/sqfmi/badgy/search" data-unscoped-search-url="/search" action="/sqfmi/badgy/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />

 ^

hello:314:7: error: stray '\342' in program

   <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:314:7: error: stray '\206' in program

hello:314:7: error: stray '\265' in program

hello:319:7: error: stray '\342' in program

   <span class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:319:7: error: stray '\206' in program

hello:319:7: error: stray '\265' in program

hello:355:7: error: stray '\342' in program

   <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:355:7: error: stray '\206' in program

hello:355:7: error: stray '\265' in program

hello:360:7: error: stray '\342' in program

   <span class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:360:7: error: stray '\206' in program

hello:360:7: error: stray '\265' in program

hello:387:7: error: stray '\342' in program

   <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:387:7: error: stray '\206' in program

hello:387:7: error: stray '\265' in program

hello:392:7: error: stray '\342' in program

   <span class="d-inline-block ml-1 v-align-middle">รขโ€ ยต</span>

   ^

hello:392:7: error: stray '\206' in program

hello:392:7: error: stray '\265' in program

hello:623:11: error: missing terminating ' character

       <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/prompt_dismissals/signup" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="BAwVyFv90gvOUvKhmt+W1QsToWg7HRSDLrmmEgUGLg42YZVDhz0xUYu8bqCx+Gv8cpdES8JWrqVelBVasmUwEg==" />

       ^

hello:692:15: error: missing terminating " character

           <a data-pjax="true" title="added commented out code for 2.9&quot; red/white/black e-paper display" class="link-gray" href="/sqfmi/badgy/commit/8337226913017084e4a37874abb0fe2770ee68d7">added commented out code for 2.9" red/white/black e-paper display</a>

           ^

hello:789:69: error: stray '#' in program

     <td id="LC2" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxEPD.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:793:69: error: stray '#' in program

     <td id="LC3" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxGDEH029A1/GxGDEH029A1.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:801:69: error: stray '#' in program

     <td id="LC5" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO_SPI/GxIO_SPI.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:805:69: error: stray '#' in program

     <td id="LC6" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:813:69: error: stray '#' in program

     <td id="LC8" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeMonoBold9pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:817:69: error: stray '#' in program

     <td id="LC9" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeSansBoldOblique24pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                 ^

hello:825:70: error: stray '#' in program

     <td id="LC11" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&quot;</span>hello.h<span class="pl-pds">&quot;</span></span></td>

                                                                  ^

hello:833:70: error: stray '#' in program

     <td id="LC13" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WiFi.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:837:70: error: stray '#' in program

     <td id="LC14" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiClient.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:841:70: error: stray '#' in program

     <td id="LC15" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>DNSServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:845:70: error: stray '#' in program

     <td id="LC16" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WebServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:849:70: error: stray '#' in program

     <td id="LC17" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266HTTPUpdateServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:853:70: error: stray '#' in program

     <td id="LC18" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiManager.h<span class="pl-pds">&gt;</span></span></td>

                                                                  ^

hello:1500:7: error: missing terminating ' character

   <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />

   ^

hello:1555:5: error: stray '\342' in program

 You canรขโ‚ฌโ„ขt perform that action at this time.

 ^

hello:1555:5: error: stray '\200' in program

hello:1555:5: error: stray '\231' in program

hello:7:1: error: expected unqualified-id before '<' token

^

hello:143:25: error: 'up' does not name a type

           Sign&nbsp;up

                     ^

hello:170:267: error: expected unqualified-id before '<' token

                 <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>

                                                                                                                                                                                                                                                                       ^

hello:184:332: error: expected unqualified-id before '<' token

                   <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

                                                                                                                                                                                                                                                                                                                                        ^

hello:185:308: error: expected unqualified-id before '<' token

                   <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

                                                                                                                                                                                                                                                                                                                ^

hello:205:299: error: expected unqualified-id before '<' token

                   <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

                                                                                                                                                                                                                                                                                                       ^

hello:208:113: error: 'contribute' does not name a type

                 <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn &amp; contribute</h4>

                                                                                                             ^

hello:241:262: error: expected unqualified-id before '<' token

                 <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>

                                                                                                                                                                                                                                                                  ^

hello:249:312: error: expected unqualified-id before '<' token

                   <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

                                                                                                                                                                                                                                                                                                                    ^

hello:250:335: error: expected unqualified-id before '<' token

                   <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover"  data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>

                                                                                                                                                                                                                                                                                                                                           ^

hello:411:21: error: 'in' does not name a type

       Sign&nbsp;in

                 ^

hello:417:23: error: 'up' does not name a type

         Sign&nbsp;up

                   ^

hello:789:148: error: expected unqualified-id before '<' token

     <td id="LC2" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxEPD.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:789:187: error: expected unqualified-id before '<' token

     <td id="LC2" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxEPD.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                       ^

hello:793:148: error: expected unqualified-id before '<' token

     <td id="LC3" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxGDEH029A1/GxGDEH029A1.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:793:205: error: expected unqualified-id before '<' token

     <td id="LC3" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxGDEH029A1/GxGDEH029A1.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                         ^

hello:801:148: error: expected unqualified-id before '<' token

     <td id="LC5" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO_SPI/GxIO_SPI.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:801:204: error: expected unqualified-id before '<' token

     <td id="LC5" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO_SPI/GxIO_SPI.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                        ^

hello:805:148: error: expected unqualified-id before '<' token

     <td id="LC6" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:805:191: error: expected unqualified-id before '<' token

     <td id="LC6" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>GxIO/GxIO.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                           ^

hello:813:148: error: expected unqualified-id before '<' token

     <td id="LC8" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeMonoBold9pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:813:205: error: expected unqualified-id before '<' token

     <td id="LC8" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeMonoBold9pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                         ^

hello:817:148: error: expected unqualified-id before '<' token

     <td id="LC9" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeSansBoldOblique24pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                ^

hello:817:213: error: expected unqualified-id before '<' token

     <td id="LC9" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>Fonts/FreeSansBoldOblique24pt7b.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                                 ^

hello:825:151: error: expected unqualified-id before '<' token

     <td id="LC11" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&quot;</span>hello.h<span class="pl-pds">&quot;</span></span></td>

                                                                                                                                                   ^

hello:825:192: error: expected unqualified-id before '<' token

     <td id="LC11" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&quot;</span>hello.h<span class="pl-pds">&quot;</span></span></td>

                                                                                                                                                                                            ^

hello:833:149: error: expected unqualified-id before '<' token

     <td id="LC13" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WiFi.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:833:194: error: expected unqualified-id before '<' token

     <td id="LC13" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WiFi.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                              ^

hello:837:149: error: expected unqualified-id before '<' token

     <td id="LC14" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiClient.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:837:193: error: expected unqualified-id before '<' token

     <td id="LC14" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiClient.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                             ^

hello:841:149: error: expected unqualified-id before '<' token

     <td id="LC15" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>DNSServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:841:192: error: expected unqualified-id before '<' token

     <td id="LC15" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>DNSServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                            ^

hello:845:149: error: expected unqualified-id before '<' token

     <td id="LC16" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WebServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:845:199: error: expected unqualified-id before '<' token

     <td id="LC16" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266WebServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                   ^

hello:849:149: error: expected unqualified-id before '<' token

     <td id="LC17" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266HTTPUpdateServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:849:206: error: expected unqualified-id before '<' token

     <td id="LC17" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>ESP8266HTTPUpdateServer.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                                          ^

hello:853:149: error: expected unqualified-id before '<' token

     <td id="LC18" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiManager.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                 ^

hello:853:194: error: expected unqualified-id before '<' token

     <td id="LC18" class="blob-code blob-code-inner js-file-line">#<span class="pl-k">include</span> <span class="pl-s"><span class="pl-pds">&lt;</span>WiFiManager.h<span class="pl-pds">&gt;</span></span></td>

                                                                                                                                                                                              ^

hello:866:187: error: expected unqualified-id before '<' token

     <td id="LC21" class="blob-code blob-code-inner js-file-line"><span class="pl-k">const</span> <span class="pl-k">char</span>* name = <span class="pl-s"><span class="pl-pds">&quot;</span>Badgy<span class="pl-pds">&quot;</span></span>;</td>

                                                                                                                                                                                       ^

hello:866:226: error: expected unqualified-id before '<' token

     <td id="LC21" class="blob-code blob-code-inner js-file-line"><span class="pl-k">const</span> <span class="pl-k">char</span>* name = <span class="pl-s"><span class="pl-pds">&quot;</span>Badgy<span class="pl-pds">&quot;</span></span>;</td>

                                                                                                                                                                                                                              ^

hello:866:241: error: expected unqualified-id before '<' token

     <td id="LC21" class="blob-code blob-code-inner js-file-line"><span class="pl-k">const</span> <span class="pl-k">char</span>* name = <span class="pl-s"><span class="pl-pds">&quot;</span>Badgy<span class="pl-pds">&quot;</span></span>;</td>

                                                                                                                                                                                                                                             ^

hello:879:253: error: expected unqualified-id before '<' token

     <td id="LC24" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">/*</span><span class="pl-c">*/</span></span><span class="pl-k">const</span> <span class="pl-k">int</span> port = <span class="pl-c1">8888</span>;</td>

                                                                                                                                                                                                                                                         ^

hello:883:213: error: expected unqualified-id before '<' token

     <td id="LC25" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">/*</span><span class="pl-c">*/</span></span>ESP8266WebServer <span class="pl-en">httpServer</span>(port);</td>

                                                                                                                                                                                                                 ^

hello:887:188: error: expected unqualified-id before '<' token

     <td id="LC26" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">/*</span><span class="pl-c">*/</span></span>ESP8266HTTPUpdateServer httpUpdater;</td>

                                                                                                                                                                                        ^

hello:904:180: error: expected unqualified-id before '<' token

     <td id="LC30" class="blob-code blob-code-inner js-file-line">GxIO_Class <span class="pl-en">io</span>(SPI, SS, <span class="pl-c1">0</span>, <span class="pl-c1">2</span>);</td>

                                                                                                                                                                                ^

hello:908:122: error: expected unqualified-id before '<' token

     <td id="LC31" class="blob-code blob-code-inner js-file-line">GxEPD_Class <span class="pl-en">display</span>(io); <span class="pl-c"><span class="pl-c">//</span> default selection of D4, D2</span></td>

                                                                                                                      ^

hello:921:118: error: expected unqualified-id before '<' token

     <td id="LC34" class="blob-code blob-code-inner js-file-line">byte buttonState = <span class="pl-c1">0</span>;</td>

                                                                                                                  ^

hello:925:125: error: expected unqualified-id before '<' token

     <td id="LC35" class="blob-code blob-code-inner js-file-line">byte lastButtonState = <span class="pl-c1">0</span>;   <span class="pl-c"><span class="pl-c">//</span>the previous reading from the input pin</span></td>

                                                                                                                         ^

hello:929:186: error: expected unqualified-id before '<' token

     <td id="LC36" class="blob-code blob-code-inner js-file-line"><span class="pl-k">unsigned</span> <span class="pl-k">long</span> lastDebounceTime = <span class="pl-c1">0</span>;  <span class="pl-c"><span class="pl-c">//</span>the last time the output pin was toggled</span></td>

                                                                                                                                                                                      ^

hello:933:186: error: expected unqualified-id before '<' token

     <td id="LC37" class="blob-code blob-code-inner js-file-line"><span class="pl-k">unsigned</span> <span class="pl-k">long</span> debounceDelay = <span class="pl-c1">50</span>;    <span class="pl-c"><span class="pl-c">//</span>the debounce time</span></td>

                                                                                                                                                                                      ^

exit status 1
stray '\302' in program

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Wake from DeepSleep with button?

Is there any way to wake Badgy up by using the switch, when using ESP.deepSleep()?
Like if I want the HourlyQuote-example to also update when I press the button. :)

Blue PCB not starting on battery, USB is fine

Discussed this on #20 , pasting here the conversation relevant for this new issue:

@sqfmi Hi, I have one of the blue PCB models which was bought in July last year and I suffer from exactly the same behaviour as described on this post. Any idea what's happening?
Works fine on USB power, but on Battery simply flashes the ESP blue LED and the nothing happens.
Any pointers are greatly appreciated - if it helps: Tindie Order #115523

Thanks @chunkysteveo for the quick response

What is the meaning of the blue LED (not the one on the ESP8266)

Hi,

When I apply USB power to the Badgy a blue LED lights up (not the LED on the ESP8266). I have seen before that after a while the blue LED blinks but recently is only fades and it seems the battery is not charged ...

What is the LED supposed to do?
What is the information it gives when on, off, blinking, and faded?

Weather forcast-example

On Tindie, theres a picture showing a weather forecast.
Could the code for it be uploaded to the examples-folder?

Battery voltage

Is it possible to measure the battery voltage?

Or have you considered using the adc with a voltage divider?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.