author
1Instructables36,159Views50CommentsGent, B
MSc Electrical/Electronics Engineering

Achievements

10K+ Views Earned a bronze medal
  • ESP8266 Firmware Upgrade or Flashing

    Since writing this tutorial I made some changes in the way I program the ESP8266. First of all install the ESP8266 library for Arduino, next connect with an FTDI (connect RX to TX and vice versa, and make sure you get the ESP in programming mode), connect the USB side to your pc and verify the port number in Peripheral Management or something (Windows), I am not sure of the English term because I have the Dutch version.Next select in the Arduino IDE the ESP8266 generic board (if you use the ESP8266 properly, not any prototype board). I buy the ESP8266 from Ali Express at about 1 USD each, and solder them to a little board with 0.1" pin spacing.Key toi this all is to install the Arduino hardware library for the ESP8266.

    View Instructable »
  • Can you please post your ESP8266 code?

    View Instructable »
  • Thanks! Hopefully you can keep creating these very helpfull articles!

    Thank you for your fast reply! I never used EEPROM, do you have any references to read up on this?

    Hi, what is the purpose of setting the EEPROM preserve flag (ie not erasing during programming)?

    View Instructable »
  • Hi, when setting up for ESP8266 (adding ESP8266WiFi.h, WiFiClient client; and wifi credentials) I get a compile error for RTC.set(now). Can you adapt this program so it would run on a ESP8266? Thanks!!

    View Instructable »
  • Used TinyWireM from BroHogan, dated 1/21/2011; and LiquidCrystal_ATtiny v2.0, originally from BroHogan but modified to support ATtiny85. I don't know where I got them from, but type them in Google, and the first you encounter (from PlatisD) is the one. The second one same: TinyWireM BroHogan

    View Instructable »
  • Hi, I try not to forget: currently not at my desk, + it was more than a year ago so I need to delve in my archives but for sure I have the info on my pc. If no response in a few weeks plse remind me. Grts, Erik

    View Instructable »
  • Some progress! Your blink suggestion is excellent, I changed the program a bit to blink both GPIO 2 and 0, and now GPIO0 performs well.And then I discovered a defective component on the output stage of my development board.Conclusion: all works well, I made a mistake by not critically examining the fault symptoms. Thank you for your assistance!

    View Instructable »
  • Yes, blink test is ok (uses GPIO2); I will do some more investigations and let you know

    Hi, I checked again, with another brand new ESP8266-12F, this time using following manual programming procedure: at power up tie GPIO0 to GND, then remove GND connection (release floating), and download program. Then restart with GPIO0 connected with 3k3 to +3.3V. The output remains low!So no oscillations, (as I had with a 10k pullup), but no reaction at all.Your suggestions:i. no it is not rebooting continually because the other outputs work as expectedii. this was prevented with the latest new ESP8266-12F chip, so now guaranteed no jeopardising of chip output circuitConclusion:1. 10k pullup causes oscillations when output is supposed to be low2. 3.3k pullup does not change the output state to anything but lowI am lost now.

    View Instructable »
  • Just now tested a brand new ESP8266-12F: manual download (wire GPIO0 to 0V, start up and download). Same issue. And when removing any load or pull up from GPIO0 it just stays low!I thought there is an internal pullup to GPIO0?

    View Instructable »
  • Hi, thanks for taking the time for such a complete response.By now I suspect an auto-reset circuit that I use in combination with a FTDI serial interface. The DTR isgnal is used to get the ESP8266-12F automatically in proramming mode in the following hardware fashion:1. GPIO0: Schottky diode, cathode to DTR and 330pF to ground2. CH_PD: Schottky diode, cathode to 3.3V and 100nF to DTRReset to 3.3V over 10k.I will try and do programming the manual way on a new ESP8266-12F and report back here (as soon as I have time to do this).

    View Instructable »
  • I challenge you to show that GPIO0 can be used as an output and driven to LOW without issues. I tested several new ESP8266-12F and on every single one I get (70kHz) oscillations on its output. Even GPIO15 is working perfectly as an output.

    View Instructable »
  • Hi, since this tutorial I have moved on to use the Arduino IDE to directly download compiled programs into ESP8266. I use the 12E or 12F versions.For downloading the same pin connections need to be used: GPIO0, and GPIO15 to GND on startup.I also started using DTR from the FTDI USB to serial converter to use the auto-reset feature. This way I can test code, and on the fly download again whatever whenever needed. Search for "ESP8266 auto reset".

    View Instructable »
  • ErikA45 commented on Nobilis's instructable GSM/GPRS Module DIY Kit

    Great work! I had bought two of these modules but nowhere could I find an assembly guide. This blog did it for me: bookmarked!!

    Nowhere does the M590 datasheet state you should place 4.7k between RX and TX. Page 18 shows a 4.7k connected between RX and VCC, and a series diode between RX and MCU_TXD with anode to RX.

    Why would you have to downloas "special" software? When a USB-to-UART converter is used, its drivers are available anyway.Serial interface: numerous other software is just as usefull or better htan Putty: Accessport, ttermpro, ..

    Absolute care must be taken not to exceed 2.85V at the IO pins including RX and TX. If the external MCU operates at 3.3V then a series 220R resistor must be placed in series between RX and MCU_TXD and between TX and MCU_RXD.

    View Instructable »
    • ESP8266 Firmware Upgrade or Flashing
      199 views
      16 favorites
      1 comments
  • Hi, to me thisis just for learning purposes, later I will use the applications as you refer to.I did not even know you can connect ESP8266 over I2C. Interesting!

    I would use here an Arduino Uno with ethernet shield. How can a NodeMCU be used with ethernet?

    ok, but that is in step 3 (with wifi). I was refering to step 2: Arduino with ethernet shield.

    well, you have 2 programs, one that runs with Uno and Ethernet shield. And the other with Uno and ESP8266: that is what I am referring to here; the ESP8266 is by default set to communicate at 115200 baud (if you use a fairly recent firmware version).

    View Instructable »
  • I found that now in step 3; compiles perfect. Just need to test with Thingspeak now.I read you would now program ESP8266 for all this instead of combining with Arduino. Can you give some url's where I can find more beginners' info on that please?

    View Instructable »
  • Hi, thank you for your reply. I had wrongly loaded the wifi sketch into the ESP module. I know better now.

    For this trial I loaded the wifi code in an Arduino Uno. Now I just have to figure out the sketch for use with analog inputs instead of the sensor modules. Will take some time but I will report back.

    View Instructable »
  • Hi, re the ethernet code compilation error: the cause is the absence of the DHT11 and BMP085 modules. Is it possible to write code for a simple analog input to be read and transmitted? Thanks!

    View Instructable »
  • Loading the ethernet code in an Arduino Uno gives a general compiler error: exit status 1: what do I do wrong?

    Can the wireless sketch be used with a Node MCU 1.0 development board? I get a compiler error stating 'A1' was not declared in this scope.

    View Instructable »
  • Interesting article. But the resistor calculation can be much simpler:1. measure current with coil in hot state (usually 30 to 50% lower than "cold" current)2. reduce voltage of the power supply until the coil drops out (usually 10% of nominal voltage).3. Multiply this voltage by at least factor 3 (safety margin); I would take this value, or at least half the nominal supply voltage: the "actual voltage"4. Measure the current at that "actual voltage"5. R = (difference between nominal and actual voltage) / actual current6. Power dissipation in resistor: P = R x (square of current); choose a resistor at least twice that value.

    View Instructable »
  • Amazing what you do here: fantastic educational tool for tech high school kids; it shows some great principles of brushless motors in a very down-to-kids-world manner. I admire your work! Erik

    View Instructable »
  • How to unlock Digispark ATtiny85 and convert it to a Trinket

    Forgot to add this spaghetti-picture-underside.

    View Instructable »
  • How to unlock Digispark ATtiny85 and convert it to a Trinket

    I made an all-in-one plug-in board with HV programmer for Digispark (left) and regular ICSP programmer for Digispark (right) and ATmega328/168. I have room for a 5V-to-12V booster lower left to be added (item ordered and in transit). The capacitor for the reset is activated by a simple jumper. I added two tiny LED (from analog outputs 18 & 19): one that flashes at low intensity while waiting for character entry, and runs full light when in program mode, and one that runs full light when 12V is active. ..a bit of gadgetry but fun to see.Delay time for 12V kick-in in program adapted to 40usec. Fuses for Digispark adapted equally: see my previous note here.

    View Instructable »
  • ok I will as soon as I get to it.

    View Instructable »
  • How do you set the extended fuse with this program? Or don't you need a HV programmer for this fuse?

    I looked at this instruction, can you upload the "HV rescue Simple schematic.png": the resolution is too low for reading. Thks!

    I looked at this instruction; can you upload the "HV Rescue Simple schematic.png" with higher resolution? The current one is barely readable. Thks!

    View Instructable »
      • HV Rescue Simple
      • How to unlock Digispark ATtiny85 and convert it to a Trinket
      • Bluetooth Serial Adapter for Pro Mini
  • Hi diy_bloke, could you modify your program so that some status is visible on LED's? For example HV on, or programming done, or busy, ..?

    View Instructable »
  • I think I may have solved it: I increased "delayMicroseconds(20);" to 60: page 156 of the datasheets specifies between 20 and 60 microseconds delay between Vcc and Reset High..

    Fuse settings are wrong if you want to emulate the Digispark settings without pin5 reset disabled. Lfuse needs to be E1 and Hfuse need to be DD. Efuse should be FE.

    Works well, except on two Digispark where I had the RSTDSBL set (pin5 as output, no reset). On one Digispark the program hangs 2 minutes at reading lfuse, then finalises ok. The other Digispark causes the program to hang after lfuse reading as E0.Strange thing is it works well on Digisparks where RSTDSBL is not set.What could be the reason?Erik

    You are right, your instructable says "..return to a trinket.", not "return to Digispark". I should have used the word "different".However, it would still be usefull for anyone wanting to use their Digispark with the USB downloader, that the fuse settings must be adapted in your program.

    View Instructable »
  • You probably have a point with issue in difference in libraries. Address, pins etc are ok but Arduino is not very selective in library usage, In my case I only have one single library for LiquidCrystal as downloaded from you but I would not be surprised there would be an issue. I have several other computers on which to experiment, amongst them a almost virgin one: I will try there too and post the result.

    View Instructable »
  • Followed instructions, but LCD backlight flashes every 2 seconds for about 1/50 of a second, and first row all blocks. When I use LiquidCrystal_attiny (dated 21/03/2015) it works.

    View Instructable »
  • Hi, thks for your quick reply! I am confused: Arduino Uno SCK is on pin 13 (PB5), MISO is on pin 12 (PB4) and MOSI is on pin 11 (PB3).In your drawing ATtiny pin 5 (PB0, MOSI) goes to Arduino D9 (pin 9?), ATtiny pin 6 (PB1, MISO) goes to Arduino D10, ATtiny pin 7 (SCK, PB2) goes to Arduino D11 (MOSI), ATtiny pin 2 (PB3) goes to Arduino D12 (MISO).And in the sketch pin 5, 6, 7, 2 and 1 are respectively configured as SDI, SII, SDO, SCI and Reset.So my question:1. MISO, MOSI and SCK are not on the corresponding pins on the Arduino Uno: what do I miss?2. In high voltage programming it seems as if rather SDI, SII, SDO , SCI and Reset are used as variables: what is the difference with MISO and MOSI?Thks,have a great New Year!Erik

    Ah ok!! Now next question.I am in process of making a pcb to do both ISP and HV programming for all ATtiny MCU's, based on initial work by Kai Bader: https://github.com/kaibader/ISP-HVP-Shield/tree/ma...We agreed I could develop his unfinished project. But I am in need of someone to help me program this project.Goal: use HV serial programming on one pcb for ATtiny85/45/25/15/13, ATtiny84/44/24, ATtiny26/261/461/861, ATtiny2313/4313 and ATmega328/168.Question: is HV programming for all these MCU's possible, and what changes to my pcb would be needed to get this programmed (see attachment)Thks!!Erik

    I wonder why SCK, MISO and MOSI from the Arduino Uno are not used?Erik$

    View Instructable »
  • Download link for the HC-SR0R Libraryis not working: can you provide a good link plse? Or can we use the regular HC-SR04 library from Arduino?

    View Instructable »