
BigjBehr's instructables
Achievements
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling Sign
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
I sent it as a .zip file to the address you gave me.
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
Send me your email address or someplace I can post an update for you.
- BigjBehr commented on Markus Opitz's instructable WiFi Sting - to Detect Evil Radio WavesView Instructable »
You should use a separate limiting resistor for each LED. The reason for this is that the current through the resister and therefor the voltage drop, will vary according to the number of LEDs that are on. The result will be that the LEDs will dim somewhat when another LED turns on. With separate limiting resistors the brightness will not change when more LEDs light up.You could also use PWM to control the LED brightness.The WiFi circuit from a tablet cannot be run stand alone. It requires a micocontroller to run it.This could also be built using an ESP8266 (4MB) dev kit or an ESP8266-01 (512B) or -01S (1MB) would be smaller and less expensive. Using the -01 variants would require a 3.3V regulator (AMS1117-3.3 and a couple of capacitors; 10uf Tantalum @ 10V or a buck regulator) to be added…
see more » - BigjBehr commented on DustinWatts's instructable Bluetooth System Monitor Using ESP32 + TFT Screen
Lacybad,The RPi 480x320 TFT display board uses an ILI9486 chip. The board is setup to use an SPI interface to write data to a shift register to control the display using a parallel interface. Hope this helps.
View Instructable »I have been working on something different that uses the same ESP32 and TFT display. I would like to point out that the TFT display board has a built-in 3.3V regulator on the VCC pin, so you can power the display with 5V on the VCC pin. All the other pins are 3.3V. The Backlight pin (LED) has an on-board transistor to drive the backlight. You can connect this pin to 5V, 3.3V or an output pin on the ESP32 if you want to be able to turn off the backlight.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Glad to hear that you were successful.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote Control
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Send me an email address or the link to somewhere I can upload the file to.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote Control
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Thelast two lines from the debug output indicate that the BLE Server youare using is not advertising it's name. Therefore the ESP32 BLEClient fails to connect because the name does not match. Thisis why you see the message "Server name does not match, not ourserver".However,the BLE Server is advertising it's MAC address. You can use theMAC address to make a connection in a similar manner to using theserver's name. Ido not know how familiar you are with C++ or BLE so I will try tomake this as simple as possible. The classMyAdvertisedDeviceCallbacks has a method voidonResult(BLEAdvertisedDevice advertisedDevice) that checks to see ifthe BLE Server has the same name that was defined by the line; #define ServerName "VR BOX". If it does then a connectionis established. If…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
The Pi4B has a faster processor than the Pi3B. It may be that the faster processor is causing the timing of the pulses to the matrix to be too fast. This issue would need to be solved in the driver for the matrix. Unfortunately I cannot help you with issues in the driver. You could verify this by using an oscilloscope to measure the timing of the clock and enable signals to the matrix. A Saleae logic analyzer or similar device may not be fast enough to capture the timing pulses.
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
I have not done anything with that project since 2-21-2018. Check the dates on the files you downloaded and see what thedate on RGB-32x64.py file is. If it is before 2-21-18 then I may have an update.Can you give me more details about the problem you are having. OpenWeatherMap changed how you specify the location that you want the weather data for. The latest requires the zip code and country (ie "14502,us") or city and state (ie "fairport,ny").As I stated in an earlier reply, I have designed a 3D printed part that holds the HUB75 interface board and the RPiZW securely in place. If you have access to a 3D printer I can send you the files for the part.
- BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)View Instructable »
First, BMEADRS is not a var, it is a macro. Near the end of the BME280.h file is the line; #define BMEADRS 0x76 // I2C address of the BME280. Macros are replaced by their defined value by the 'C' preproccessor. In other words, BMEADRS is replaced by 0x76 where ever it appears in the source code.BME280_DIG_T1_LSB_REG is also a macro.If the BME280.h file is in the same directory as the .ino file and the #include "BME280.h" directive is in the beginning of the .ino file then it should be added to the source code by the preprocessor.What version of the Arduino IDE are you using ?What OS are you using (Mac, Windows, linux) ?I have the same code and cannot reproduce your issue. I am running Windows 10 and Arduino IDE version 1.8.12.If you are still having an issue then co…
see more » - BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)View Instructable »
You are missing the file; BME280.h. This file should be in the same directory as WeatherStation.ino. Go back and check your github download, the file should be there. If you cannot find it give me your email address and I will email it to you.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Did you change the "VR BOX" in the line; #define ServerName "VR BOX" to match the advertised name of your BLE joystick device ? Must be an exact match. Do you have a good battery in you joystick device ? Are you in range (<30ft) ?
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
So you are new to Python. I am not a Python master, I use itsporadically. I prefer C/C++ or Java over Python.BadError Code: 401 looks like an internet error code. Maybe a bad URL ?Try wrapping a try/except block around the code that is generatingthe error. In the exception block print out the URL that caused theproblem. Maybe that will shed some light on the issue.Headlines works byiterating through a list of headline URLs. For each URL in the listall the headlines found are parsed into the headlines list. When donethe headlines list is merged with the master display list and theheadlines list is destroyed. There is no way to know how manyheadlines one URL will produce. You can limit the number of headlinesin several ways. You can check thelength of the headlines list after each headline…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
From the output; "ValueError: invalid literal for float(): 87}", it would appear that there was a parsing error.The line; "humidity = float(l[l.find(':') + 1:])" is searching "l" (a line of text) to find a colon. Then skip over it and parse a floating point value. The text after the colon is not in the proper format to be parsed as a float.You could wrap a try/catch block around the statement. Then if an error occurs the system would not crash, the catch block would run.Or you could dump the line of text and see what is actually after the colon that is causing the problem. it may be as simple as replacing the float() function with an integer() function.Open Weather Map has made some changes since I originally wrote that code. I did a complete re-write of that…
see more » - BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
I never said I was not a programmer. I said that I am a retired Embedded Systems Engineer. I developed hardware and software. So, yes, a programmer. I probably said that I am not a BLE expert. I just learned enough about how BLE works to be able to program the ESP32. Glad to hear that it works for you.BTW, I got my VRBOX controller from my local 5Below store for $5.00. Where did you get your Utopia 360 controller & what did you pay for it ?
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
After you do the @+D the device should be in mouse mode. You only need to do this once. The ESP32 looks for the joystick on startup. If it does not find it then the scanning stops after about 30 seconds. You should always turn the joystick on first, then power up the ESP32. The line, "pBLEScan->start(30);" in startup() sets the timeout to 30 seconds. Change the "30" to increase or decrease the time. Once a connection is established the ESP32 is able to re-connect if the connection is lost.You can fix this problem by modifying the code to do an ESP32 soft-reset if a no connection timeout occurs before a connection is established. This is the only way that I know of to reset the BLE stack so that it will try to connect again.If you made the connection before being i…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
This message will address the last three message that I received. Asfar as I know, Raspian Stretch comes with Python 2.7 and Python 3already installed. Python code written for one may not work with theother. Same for libraries. All you should have to do would be toupdate Raspian to get the latest Python updates. I believe that theRGB32x64 code was written for Python 2.7. One last note on Python,Raspian Buster did away with Python 2.7 and only has Python 3.The issue with thenews is that the websites that have the news do not present it usingthe same digital formatting. As it turns out, the three that I usedwere similar enough that I was able to parse them using some commoncode. The are some libraries available for Python that attempt toparse headlines from news feeds. I used them in an ea…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
If you are using display modules with a Hub75 interface then you can daisy chain more modules to achieve more columns. However, you cannot daisy chain module to achieve more rows.The software would need to be adjusted to handle the greater number of columns. If you are using the Linkit Smart 7688 Duo to drive the display then you are out of luck. The Duo part of the Linkit Smart 7688 Duo is an Arduino Leonardo. The Leonardo has more RAM than an Arduino Uno, but not enough to run a bigger display. You will need to move the project to different controller board. Adafruit has Hub75 boards for the Raspberry Pi and the Teensy. The Teensy does not have a built-in WiFi interface. I have used a Raspberry Pi W to run a 64x32 module. 64x32 is four times the pixels of the 32x16 module. If you go awa…
see more » - BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)View Instructable »
The first error message indicates that you did not declare what GPIO pin is used when 'D4' is the target. This error is most likely caused by using a different ESP8266 module than the one I called out. In the Arduino IDE, some ESP8266 modules have the GPIO defined similarly to how they are defined for the Arduino Uno board. Other ESP8266 modules use the actual GPIO pin number. To fix this problem add a "#define D4 xx" statement at the top of the file. xx should be the GPIO pin number that you want to use (for GPIO 5 then just use 5).The second error appears to be because you do not have the Brzo I2C library installed. The documentation tells you where to get the library and how to install it. The Brzo library is used because the Arduino Wire library for I2c did not always work o…
see more » - BigjBehr commented on FlawedDesign's instructable Magnetic LED HexagonsView Instructable »
You did a fine job of explaining how to calculate the currentrequired for each hexagon. Then you displayed a lack of understandingof how PWM driving of LEDs works. If you measure the current drawwith an ammeter you are getting the average current, not the peakcurrent. When an LED is driven by PWM the LED will draw the full 20mAfor as long as it is powered on. PWM allows you to set how long theLED is on for in a fixed window of time. The longer the LED is on,the brighter it appears to the human eye. If you were to use opticalequipment to measure the brightness, you would see that the LED has aconstant brightness, no matter the PWM on time. PWM is a trick usedto fool the human eye into thinking that the LED is dimming.My main point hereis that no matter the perceived brightness, the LEDs a…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
You are welcome.I am glad to hear that you made a similar device and that you were able to figure out how to make the changes that you wanted to make.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
You can comment out the line: #include controller.h.This project will no longer compile. The latest release of the Expressif SDK for the Arduino IDE no longer has the Bluetooth support files for this program.There is a new BLE_client example that uses Neil Kolban's class based Bluetooth library (which is built-in to the SDK). You will have to modifiy it to change the UUIDs of the service to connect to and the characteristic to use. This can be made to work. However, there is a bug in the Expressif Bluetooth stack that will crash the stack if you try to use more than one characteristic with a service. I have code somewhere that sort of works, only the joystick and trigger buttons work. Let me know if you would like this and I will look for it.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Your device looks a lot like mine. Are you sure that it is a Bluetooth BLE device ?Did you turn it on before trying yo scan for it ?Are you using a fresh battery ?On my device you press the power button and the blue LED starts blinking. Does yours do the same ?Some issues with my code have come up in the past few months. It seems that somewhere between when I wrote the code and posted it on Instructables, a new Arduino SDK for the ESP32 came out. The new SDK broke a few things and has a bug in it that prevents you from using more than one characteristic with a service. I have posted updated code that fixes some of the broken parts, but I cannot fix the issue with one characteristic per service. None of this matters if you cannot find your device and none of the issues had to do with findi…
see more » - BigjBehr's instructable ESP32 Dual H Bridge Breakout Board's weekly stats:
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
John,I recently posted a new project on Instructables that you may be interested in. It is for an ESP32 breakout board with a built-in dual H bridge motor controller
- BigjBehr entered ESP32 Dual H Bridge Breakout Board in the PCB Contest contest
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
John,Jim, not Ben.I posted the files for the ESP8266/ESP32 Breakout board to github.Use this link; https://github.com/BigJBehr/ESP-Breakout-Board
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote Control
Cute robot. The controller in the picture, is it Bluetooth ?The board that you want is part of a three board set. The other two boards are an IR blaster and an HC-11 Bluetooth module breakout board. All three are together as one layout. When you get the boards you will have to cut them apart. I use a bandsaw with a metal cutting blade to separate the boards. A hacksaw will also work, but takes longer. There are no cut lines on the board, but it is fairly obvious where to cut them apart. Order the board as one layout. This will minimize the price.I will post all the files in a day or two. If you are adept at using Eagle, you can modify the schematic to remove the other two boards and then change the board outline. You would then have to make all new files. I could do this for you, but will…
see more »View Instructable »Hello John in the UK,Nice to hear from someone across the pond. The red board that you are asking about is one that I made myself. The board was designed in either Eagle or Kicad and manufactured for me in China. The bare bards are hand soldered by myself. If you are fairly good with a soldering iron then you should be able to solder the board yourself.I have designed several breakout boards for the ESP32 and ESP8266. The one you are asking about will accept ESP32 boards that have two rows of fifeteen pins that are 1.0 and 1.1 inch apart. The board has all the GPIO pins broken out to headers, a pushbutton switch, tri-color LED and a place for an IR sensor.I have other ESP32 breakout boards. All have headers for all of the GPIO pins and a tri-color LED. Some have places to connect a 5V HC-…
see more » - BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling Sign
- BigjBehr's instructable 3D Printed Tablet Holder's weekly stats:
- BigjBehr entered 3D Printed Tablet Holder in the Plastics Contest contest
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote ControlView Instructable »
Martin,Bad news. I have been going over the problems caused by the new SDK from Expressif. I am unable to fix what the new SDK broke. After spending time searching the Internet, it seems that lots of people are having the same or similar issues with the changes Expressif made to the SDK. It looks like the only solution is to wait for Expressif to acknowledge and fix their problems. If you can somehow download and install the previous SDK the project will compile and function. To be clear, I have corrected the issue with the code not compiling. The current issue is that a runtime error is occurring that is causing the ESP32 to do a reset. I cannot tell exactly when the error occurs. The ESP32 finds the server, connects and then crashes sometime after that. Looks like it might be a watchdog…
see more » - BigjBehr commented on BigjBehr's instructable Cubic ArtView Instructable »
You are correct, the spacers.stl file is incorrect. I have uploaded the correct file to the github repository. If you download it again you will have the correct file. The file LedCubJig.scad has the source code for the LEDCubeSpacers.stl file. If you install OpenSCAD and comment out line 20 and change the "70" in line 21 to "0", render the object and create an STL, you will have the LedCubeSpacers.stl file (you will have to change the file name when it goes to save the stl file).I am glad to hear that someone (you are the first as far as I know) is attempting to build one of these. It is quite fascinating to watch it go through its range of effects. Let me know if you have any problems with this. I am happy to help.
- BigjBehr commented on BigjBehr's instructable ESP32 Bluetooth BLE Remote Control
Martin,This is a little strange. The error you are having is due tothe ‘esp_ble_gattc_open’ function requiring four parameters and only beingpassed three. When I wrote this it only required three parameters. So it mustbe a library difference.The code was written for the Arduino IDE (ver 1.8.5) usingthe ESP32 add on library ver 0.0.0 (as far as I can tell). I was not awarethere was another release.Are you using the Arduino IDE ?
View Instructable »Martin,I was able to compile without any errors. After I realized that this is a problem with the ESP32 SDK for the Arduino, I updated to the latest version and am now getting the same error that you are getting. I made a change to the code to fix the error. The code now compiles, but generates a run-time error. I am looking into fixing the run-time error. I do not know how long it will take me. Once I have everything working correctly I will update the code on github and let you know that the new code is there.
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling Sign
Mike,I am glad that it is working for you. I had a thought thismorning, you may be having the problem because of the editor that you used toedit the options.ini file. Options.ini is a plain text (ASCII) file. It assumes thateach line of the file is terminated with a carriage return(0x0D) and a linefeed(0x0A). Most programming languages convert the CR/LF combo to what is referredto as a newline character (in ‘C’, ‘\n’ or linefeed only). When a text file isread the CR/lf is converted to newline and when written the newline characteris expanded to CR/LF.Editors like MS Word or WordPad do not do a proper job ofworking with plain text files. This is due to them being paragraph oriented andnot line oriented. They may display the text as lines, but the actual file doesnot…
see more »Mike,New RGB-32x64.py has been posted to GitHub. New version fixes issues with options.ini, using military time format and does weather forecasts. Enjoy
View Instructable »Mike,I took a look at what you said. The options.ini file asdownloaded from GitHub does indeed have the 0x0Ds missing from each line (onlythe 0x0A is present). I reposted the original file (with 0x0D & 0x0A) anddownloaded it again only to find that the 0x0Ds had been stripped out !!! Thismust be something that GitHub is doing. Very strange. If I download as a zip file from therepository the 0x0Ds are stripped out. If I push the repository to my computerusing GitHub Desktop the 0x0Ds are in the file.I am going to look into a proper fix for this issue and thenupload a new Python script. I will let you know when the new code is up.
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
I have attempted to reproduce the error you are seeing. Ichanged my options.ini file to have ‘military=t’. This ran without a problem. Ithen changed it to ‘military=’. This caused the exact error that you arehaving. Please check your options.ini file and make sure that you have at leastone character after the ‘=’.The problem is that the variable ‘value’ is ending up as anempty string. You can add the line; ‘print len(value)’ after the line ‘value =s[1][:len(s[1]) – 1’. If you see that value has a length of zero then yourissue is that options.ini does not have any characters after the equals sign inone of the true/false lines.You could change truefalse(str) to add a test for an emptystring.def truefalse(str): if…
see more » - BigjBehr's instructable ESP32 Bluetooth BLE Remote Control's weekly stats:
- BigjBehr entered ESP32 Bluetooth BLE Remote Control in the Microcontroller Contest contest
- BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)View Instructable »
Sorry, I do not know anything about an 'aggressive mode' in the ESP8266. I do not believe that you can do what you described. If you could, then the system would be extremely vulnerable to attack.What you could try is to run the ESP8266 in station mode. That way it will be like a router with DHCP and allow you to log on to it to get the weather data. It would appear in the list of available WiFi networks. You could also try running in dual mode, station and AP (access point). Then it is part of your network and also its own network.As far as forecasts go, I know how to do that with openweathermap. I do not know how to get forecasts from other weather services.I hope this helps.
- BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)View Instructable »
There are many display driver libraries for the OLED display. I used one that was specifically for the ESP8266/ESP32 and an SSD1306 based OLED display. There are some small ESP8266 boards that are about the same size as the OLED display. Look for a Witty ESP8266 or a WeMos D1. Banggood or AliExpress should have them. I found that the BME280s that I have were reading the temperature about five degrees Fahrenheit too high, so I adjusted for it in the code. Glad to hear that you made one. I recently figured out how to get forecasts from openweathermap.com. I added forecasting to my scrolling sign projects. If you are interested in adding forecasts let me know.
- BigjBehr commented on BigjBehr's instructable Raspberry Pi Scrolling SignView Instructable »
Xavier,It looks like you changed something in the options.ini file. You are trying to use something other than 't', 'T', 'f' or 'F' for a true/false entry.If you are still having issues, show me entire options.ini file.
- BigjBehr's instructable Cubic Art's weekly stats:
- BigjBehr entered Cubic Art in the Epilog Challenge 9 contest
- BigjBehr entered Cubic Art in the Arduino Contest 2017 contest
- BigjBehr's instructable Raspberry Pi Scrolling Sign's weekly stats:
- BigjBehr entered Raspberry Pi Scrolling Sign in the LED Contest 2017 contest
- BigjBehr entered Raspberry Pi Scrolling Sign in the Raspberry Pi Contest 2017 contest
- BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)'s weekly stats:
- BigjBehr commented on BigjBehr's instructable Yet Another Weather Station (Y.A.W.S.)
- BigjBehr entered Yet Another Weather Station (Y.A.W.S.) in the Wireless Contest contest
The email address you gave me was rejected as invalid.