

This is a PCB/FW project for a WiFi enabled electronic load
- Size
- 115 × 77 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 74
- Nets
- 70
- Pads
- 286
- Tracks, vias
- 555, 353
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 11 Nov 2019
- Updated
- 11 Nov 2019
Overview
Eload is an open-source printed circuit board by dimtass, from the dimtass/esp8266-web-eload repository on GitHub. It is a 2-layer board of 115 × 77 mm with 74 parts on 70 nets, routed with 555 tracks and 353 vias.
It is built around the ESP-12F, FT232RL and MCP4821-E/P, with the MCP6H04-E/ST, SP6661EN-L and AMS1117-3.3 among its other parts. Its parts include 31 resistors, 18 capacitors, 6 ICs, 4 diodes and 4 connectors. It belongs with the radio and wireless and power boards and the ESP8266 boards of this library.
Main components
10ESP-12F
SMD,24x16mm-40℃~+85℃ -96dBm 15dBm 2.4GHz 3.3V 375mA 55mA PCB UART WIFI4 SMD,24x16mm WiFi Modules ROHSDOITWiFi ModulesFT232RL
SSOP-28-208mil-40℃~+85℃ 3.3V~5.25V、4V~5.25V USB 2.0 USB to UART SSOP-28-208mil USB Converters ROHSFTDIUSB ConvertersMCP4821-E/P
PDIP-8-40℃~+125℃ 1 12 12LSB 2.7V~5.5V 330uA 4.5us SPI Voltage Buffer PDIP-8 Digital to Analog Converters (DAC) ROHSMicrochip TechnologyDigital To Analog Converters (DAC)MCP6H04-E/ST
TSSOP-14-40℃~+125℃ 1.2MHz 10pA 125uA 1pA 2.5uV/℃ 3.5mV 30nV/√Hz@10kHz 4 50mA 800V/ms 93dB Built-in compensation Rail-to-rail output TSSOP-14 Operational Amplifier ROHSMicrochip TechnologyOperational AmplifierSP6661EN-L
SOIC-8SOIC-8 Charge Pumps ROHSMaxLinearDC-DC ConvertersAMS1117-3.3
SOT-223-40℃~+125℃ 0.003%Vout 1 1.1V@(800mA) 15V 1A 3.3V 5mA 72dB@(120Hz) Fixed Over Current Protection、Short Circuit Protection、Thermal shutdown Positive SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsMMBT3904
SOT-23-55℃~+150℃ 1 NPN 100 100nA 200mA 200mW 300MHz 300mV 40V 6V NPN SOT-23 Bipolar (BJT) ROHSJiangsu Changjing Electronics Technology (CJ)Bipolar (BJT)FDP6030BL
TO-220-65℃~+175℃ 1 N-channel 17nC@5V 24mΩ@4.5V 30V 3V 40A 60W N-Channel TO-220 MOSFETs ROHSonsemiMOSFETsLSM115JE3/TR13
DO-214BA1 Independent 10mA@15V 15V 1A 220mV@1A DO-214BA Schottky Diodes ROHSMicrochip TechnologySchottky DiodesMH2029-400Y
0805Ferrite BeadsBourns
README
README.mdesp8266-web-eload
This project is how to build an electronic load with a web interface by using the esp8266-E12 module and some other electronic components. This version is using the Arduino ESP8266 for simplicity, but I would like to make this soon also baremetal and use the ESP API instead.

Board
You can also find the scematics to build a small pcb for that. As you may already know, the esp8266 has a 10-bit ADC, but it lacks a DAC. Therefore, we need an external SPI DAC. You can use any DAC but as it is a home-project I prefer to use a bit more expensive components.
The main components I've used are:
FDP6030BL: N-Channel Logic Level MOSFET. This mosfet is features 40A, 30V, Rds(on)=0.024Ω @ Vgs=4.5V, 175oC max junction tempMCP4821: 12-bit SPI DAC with an internal Vref. This one has an internal 2.048V reference and a 2x gain, therefore the Vref can be up to 4.096V with a great accuracy. This means that we can drive the Vgs on the MOSFET up to 4.096V, which means up to 4A with 1Ω load resistor. If you need more current, then you can use theMCP4921opamp which has an external reference, but that also means that you need to provide a very clean and stable reference, too.MCP6H04: 4x single-supply, rail-to-rail opamp. This IC has four opamps in the case. One is used to multiply the DAC output by a factor of 2.2. One is used to drive the MOSFET and another one to buffer the negative feedback loop to drive the ADC via a low pass RC filter and a voltage divider with a 1/10 ratio.FT232RL: A USB to serial IC that is used for two reasons. One is to power the circuit with 5V from the USB and the other is to flash the esp8266. You need an IC that also has the DTR/RTS signals in order to reset the board and put it into flash mode.
The DAC is 12-bit and it can take values 0-2.048V when the gain is set to 1x or 0-4.096V when the gain is 2x. Also the ADC is 10-bits with max input voltage 3V3, therefore it has 1024 steps. This means that you need to use a voltage divider to feed the ADC.
Build
You need to have the arduino IDE installed. I'm using Linux, so I'm
describing how to do that on Linux. First, download the IDE from
here. I usually prefer
specific versions because arduino IDE versions are known to be
incopatible with each other and some commands may not work between
versions. Therefore, for this project prefer to use version 1.8.6
from here.
This is the x86_64 Linux version.
Extract the contents somewhere. I prefer /opt, for example
/opt/arduino-1.8.6.
Then open a console and run these commands:
mkdir -p ~/Arduino/hardware/esp8266com
cd ~/Arduino/hardware/esp8266com
git clone https://github.com/esp8266/Arduino.git esp8266
cd esp8266/tools
python get.py
/opt/arduino-1.8.6/arduino --install-boards esp8266:esp8266 --save-prefsThen run the Arduino IDE and click Tools -> Manage Libraries and search
for the websockets by Markus Sattler library and select version 2.1.1.
Then exit the Arduino IDE and from the source code folder run:
./build.shIf your arduino IDE is not installed in /opt/arduino-1.8.6 or you're
using a different version then you need to edit the build.sh script
and change the ARDUINO= variable with the correct path.
If everything goes right then you should have a folder named build and
inside that fodler a file named esp8266-web-eload.ino.bin.
Then connect you esp8266-E12 board with a USB cable on your computer and verify which port is enumerated on it
dmesg | grep ttyUsually it will be the last port listed after you run the above command.
Finally, run the upload-http-files.sh script with the port you've found:
./upload-http-files.sh /dev/ttyUSB0You might need to change the paths of the mkspiffs and esptool for the
script to work properly. If you want to be able to upload the web interface
from the Arduino IDE, then have a look to this plugin here.
This will integrate this functionality in the IDE. I'm using the script
as it flashes everything on one go, but for development you don't have
to upload everything, so if you just change something in the code and the
web interface remains the same or the opposite, then better use the IDE.
Parts
74| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 10K | Resistors_SMD:R_0805_HandSoldering | R204, R205, R206, R207, R208, R303, R502, R503, R601, R602 |
| 10 | 10Ω/1W | Resistors_THT:R_Axial_Power_L20.0mm_W6.4mm_P30.48mm | R505, R506, R507, R508, R509, R510, R511, R512, R513, R514 |
| 7 | 10uF | Capacitors_SMD:C_0805_HandSoldering | C303, C405, C406, C407, C408, C502, C503 |
| 4 | 100nF | Capacitors_SMD:C_0805_HandSoldering | C301, C302, C403, C501 |
| 4 | MountingHole | Mounting_Holes:MountingHole_2.5mm_Pad_Via | H401, H402, H403, H404 |
| 3 | 12K | Resistors_SMD:R_0805_HandSoldering | R301, R302, R504 |
| 3 | 470 | Resistors_SMD:R_0805_HandSoldering | R201, R203, R209 |
| 2 | 100n | Capacitors_SMD:C_0805_HandSoldering | C202, C601 |
| 2 | Conn_01x15_Male | Pin_Headers:Pin_Header_Straight_1x15_Pitch2.54mm | J201, J202 |
| 2 | MMBT3904 | TO_SOT_Packages_SMD:SOT-23_Handsoldering | Q301, Q302 |
| 2 | R | Resistors_SMD:R_0805_HandSoldering | R304, R305 |
| 1 | 0 (NC) | Resistors_SMD:R_0805_HandSoldering | R202 |
| 1 | 10nF | Capacitors_SMD:C_0805_HandSoldering | C401 |
| 1 | 10uF 25V | Capacitors_SMD:C_0805_HandSoldering | C402 |
| 1 | 15K | Resistors_SMD:R_0805_HandSoldering | R515 |
| 1 | 1K | Resistors_SMD:R_0805_HandSoldering | R501 |
| 1 | 1u | Capacitors_SMD:C_0805_HandSoldering | C201 |
| 1 | 1uF | Capacitors_SMD:C_0805_HandSoldering | C602 |
| 1 | 220uF | Capacitors_THT:CP_Radial_D10.0mm_P2.50mm | C404 |
| 1 | AMS1117-3.3 | TO_SOT_Packages_SMD:SOT-223 | U401 |
| 1 | ESP-12F | RF_Modules:ESP-12E | U201 |
| 1 | FDP6030BL | Power_Integrations:TO-220 | Q501 |
| 1 | FLASH_BTN | mod_switch:smd_push | SW202 |
| 1 | FT232RL | Housings_SSOP:SSOP-28_5.3x10.2mm_Pitch0.65mm | U301 |
| 1 | Heatsink | Heatsinks:Heatsink_Fischer_SK104-STCB_35x13mm__2xDrill3.5mm_ScrewM3 | HS501 |
| 1 | LED | LEDs:LED_0805_HandSoldering | D201 |
| 1 | LOAD | Connectors_Terminal_Blocks:TerminalBlock_Altech_AK300-2_P5.00mm | J501 |
| 1 | LSM115JE3/TR13 | Diodes_SMD:D_SMA_Handsoldering | D401 |
| 1 | MCP4821 | SMD_Packages:SOIC-8-N | U601 |
| 1 | MCP6H04 | SMD_Packages:SOIC-14_N | U501 |
| 1 | MH2029-400Y | Diodes_SMD:D_0805 | FB401 |
| 1 | RESET_BTN | mod_switch:smd_push | SW201 |
| 1 | RXLED | LEDs:LED_0805_HandSoldering | D302 |
| 1 | SP6661 | Housings_SSOP:MSOP-8_3x3mm_Pitch0.65mm | U402 |
| 1 | TXLED | LEDs:LED_0805_HandSoldering | D301 |
| 1 | USB_B_Micro | mod_conn_pc:conn_usb_B_micro_smd-3 | J301 |
Questions
How big is the Eload PCB?
It measures 115 × 77 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Eload use?
74 parts, built around the ESP-12F, FT232RL, MCP4821-E/P and MCP6H04-E/ST. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Eload KiCad files?
From the dimtass/esp8266-web-eload repository on GitHub, at the commit this page was made from: the board is kicad/eload/eload.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Eload design in my own project?
Its repository states no licence, so its author keeps all rights: ask dimtass before reusing the design.
Similar boards
- 2 layers80 × 90 mm

- 4 layers70 × 50 mm

STM32G041F8P6 dev
NAIT-CNT-CMPE2750-1241-A02/SimonDemos
Demos used in this course, including the sample project.
46 parts1 - 2 layers110 × 119 mm

V2 Queens2026
FelixStA52/BRACHIOSAURUS
Boxed Recorder Analyzing Change in Height of Ice with On Site Accelerometer and Ultrasonic Readers Utilizing Support (BRACHIOSAURUS)
55 parts - 4 layers65 × 35 mm

- 2 layers21.2 × 82.8 mm

- 4 layers57.2 × 57.2 mm

- 2 layers69.9 × 69.9 mm

- 2 layers100 × 54 mm

Ms2-card
ST-Oldie/Lokkarten-Emulator
Emulator für eine Märklin MS2 Lokkarte, Firmware und Kopie der Hardware von GBert
63 parts1GPL-3.0