Azz!Duino: A W806 (Winner Micro) MCU on a Arduino Mega shaped board
* * OVERVIEW * *
The W806 is an interesting low cost MCU made by Winner Micro. There is a page about this MCU on Hackaday.io with a lot of useful information. Please note that the official documentation is only in Chinese, so this page is a great help.
The main specs of the W806 are the following:
- 32-bit XT804 processor
- frequency up to 240MHz
- built-in DSP, FPU and security engine
- Built-in 1MB Flash
- 288KB RAM
- Integrated PSRAM interface, supports up to 64MB external PSRAM memory
- 6-channel UART high-speed interface
- 4-channel 16-bit ADC, the highest sampling rate is 1KHz
- 1 high-speed SPI interface (slave interface), supports up to 50MHz; master/slave SPI interface
- 1 SDIO_HOST interface, supports SDIO2.0, SDHC, MMC4.2; 1 SDIO_DEVICE, supports SDIO2.0, the maximum throughput rate is 200Mbps
- 1 I²C controller
- Integrated GPIO controller supporting up to 44 GPIOs
- 5 channel PWM interface
- 1 Duplex I²S controller
- LCD controller, supports 4×32 interface
- 15 Touch Sensors integrated.
This MCU caught my attention, so I decided to make a board with the layout of an Arduino Mega and called it Azz!Duino.
More, as the W806 uses a QFN-56 package with a pitch of 0.35mm, it was a good occasion to put "under pressure" my soldering skills...
In the following images the 2-layer PCB:
* * SETTING THE PCB HW OPTIONS (SJ1/3)* *
The PCB allows two assembling option:
- the EXTPWR option for an auxiliary power input as commonly available on the various Arduino boards;
- the PSRAM option to adds 8MB to the RAM address space of the MCU.
In the BOM file you can see the optional components setting the option you want.
Please note that if the EXTPWR is not populated you have to close the SJ1 and SJ3 solder jumpers.
WARNING!: to avoid potential permanent damages you have to close the SJ1 and SJ3 solder jumpers only if the EXTPWR option is not populated!
In the following images the Azz!Duino with the minimal HW configuration (both EXTPWR and PSRAM options not populated) and with all the options populated:
* * THE AUTORESET SOLDER JUMPER (SJ2) * *
To enable the "autoreset" feature driven with the RTS signal (from the serial-USB link) and used to enable the automated upload with Arduino IDE, you have to close the SJ2 solder jumper.
If the SJ2 solder jumper is open the only way to activate the internal bootloader is the BOOT key (see the * * THE BOOT KEY * * paragraph) or the RST key (the W806 internal serial bootloader is also activated soon after a reset if an ESC char is received from the UART0).
* * THE BOOT KEY * *
The BOOT key allows to manually activate the internal serial bootloader: you have to hold down the RST key, then press the BOOT key and release RST holding down the BOOT key.
When in bootloading mode the MCU sends C ASCII characters to the serial (@115200 bps).
The BOOT key can be also used as an User key when the MCU runs normally.
* * CONFIGURING ARDUINO IDE * *
There is an Arduino core for the W806 MCU that can be found here (works on Windows only).
The core is quite incomplete, but in any case can be an easy starting point to play with this MCU (of course forget to use any ready made Arduino library with that...).
To install it you just have to add the following string:
https://cdn.jsdelivr.net/gh/Hi-LinkDuino/w80x_arduino/package_w80x_index.json
in the File -> Preference setting of Arduino IDE, and then search and install from the Board Manager the W80x_arduino core.
At this point there are two little modifications to the "core" to enable automatic upload (without the need to press any button on the board) and to avoid to "freeze" the board when the Arduino Serial Monitor is in use (as it activates the RTS signal used to reset the board).
NOTE: you have to close the SJ2 solder jumper to enable the automated upload mode.
FIRST MOD:
You have to modify the platform.txt file inside the Arduino IDE local folder (in my system is located at "C:\Users\<UserName>\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.2", so adapt the path to your system), adding the -rs rts option to the following line (it's the last one):
tools.serial_upload.upload.pattern="{cmd.path}" {upload.params.verbose} {serial.port} -ws 115200 -ds {upload.speed} -dl "{build.path}/{build.project_name}.fls"
as shown in the following screenshot:
SECOND MOD:
Add the line "w80x.serial.disableRTS=true" just after the line "w80x.name=w80x_duino" in the boards.txt file inside the Arduino IDE local folder (in the same folder of platform.txt) as shown in the following screenshot:
Now close Arduino IDE (if open) and re-run it. All done!
NOTE: All the files, updates and the details to build it are in the Azz!Duino page here:
https://hackaday.io/project/189549
Azz!Duino: A W806 (Winner Micro) MCU on a Arduino Mega shaped board
*PCBWay community is a shared platform and we are not responsible for any design issues.
- Comments(0)
- Likes(1)
- Arnab Macho Feb 19,2023
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Just4Fun
- SPP (Standard Parallel Port) Adapter for the 68k-MBC The Standard Parallel Port (SPP) Adapter board allows to use the GPIO port of the "retro-board" 68k-...
- uTerm2-S: a multi-emulation color RS232 terminal * * HARDWARE OVERVIEW * *The uTerm2-S (micro Term2 stand-alone) is an easy to build multi-emulation ...
- 68k-MBC: a 3 ICs 68008 homebrew computer * * DESCRIPTION * *The 68k-MBC is an easy to build 68008 CPU SBC (Single Board Computer), using only...
- Parallel Printer (SPP) Emulator Shield * * HARDWARE OVERVIEW * *Playing with retro-computers or messing with dated instruments a simple SPP...
- Azz!Duino: A W806 (Winner Micro) MCU on a Arduino Mega shaped board * * OVERVIEW * *The W806 is an interesting low cost MCU made by Winner Micro. There is a page about ...
- uHat add-on board for uTerm2-S It is a little add-on board with a PSRAM (specific for the ESP32) and a microSD socket. I've called ...
- PicOne (PIC18F47Q10) I was searching a DIL MCU for another "project" and found this one that seems interesting. It is che...
- V20-MBC: an easy to build 8088 + 8080 computer DescriptionThe V20-MBC2 is an easy to build V20HL CPU SBC (Single Board Computer). It follows the sa...
- CH552 Dragon * * HARDWARE OVERVIEW * *The CH552 is a little MCU with a 8051 core and a USB interface, and is damn...
- ARMando (STM32F030R8 board) I wanted a board with a "standard" form factor as the common dev boards, but that could be easily in...
- RC-Z8BASIC Never used a Z8 MCU before, but when I found that chip "forgotten" for decades and started to read t...
- uTerm-S: stand-alone RS232 VT100 terminal with VGA/PS2 * * HARDWARE OVERVIEW * *uTerm-S (micro-Term Stand-alone) is a legacy RS232 VT100-like terminal. It ...
- Dual channel RS232 adapter This is a simple board I made to play with my FPGA board "The Thing". This board has two RS-232 chan...
- uCom (a RS232 adapter for the Z80-MBC2) uCom (micro-Com) is a RS232 adapter for the Z80-MBC2 (https://hackaday.io/project/159973). It has a ...
- uTerm (a VT100-like terminal for the Z80-MBC2) uTerm (micro-Term) is a VT100-like terminal for the Z80-MBC2 (https://hackaday.io/project/159973). I...
- "The Thing": FPGA + STM32, Multicomp compatible ### DESCRIPTIONTwo dev boards into one: a STM32 based Arduino ("Maple Mini" compatible) ...
- ESP-01 NanoBoard (ESP8266) ### DESCRIPTIONThe ESP-01 NanoBoard is a little "motherboard" for the well known ESP-01 ...
- Z80-MBC2: 4ICs homemade Z80 computer ### DESCRIPTIONThe Z80-MBC2 is an easy to build Z80 SBC (Single Board Computer with 8MHz Z80, 128kB ...
-
Open Source Very Large Stick - Freejoy & MMjoy2 breakout board
310 0 0 -
RF Control training board for students based on ESP32 C3
434 0 2 -
Aquarius+ Computer, Standard PCB
627 0 3 -
KINETIC COASTERS with a TWIST! Laser or 3D Print some DIY Magic
459 0 1 -
RPI - 8 IO PLC With ATTiny85 Watch Dog
405 0 0 -
Nintendo Famicom HVC-001 Controller Shells
502 0 1 -
COMMODORE 128 DIAGNOSTIC REV.785260 KEYBOARD DONGLE
482 0 4 -
COMMODORE 128 15KHz DISPLAY ADAPTER (C128 80 COLUMN ADAPTER)
589 1 4 -