ESPboy.edu - ESP8266 based Arduboy like gadget with WiFi

ESPboy.edu – educational platform not only for games but also IoT experiments and fun.
It’s compatible with Arduino IDE.

Meet engineering, up hardware and software skills, create games, apps and useful devices, share ideas with huge DIY community and then push brilliant new product to the market )

Make it yourself using standard modules for only 12$ in less than 1 hour!
Just a bit of soldering and programming challenge )

  • ESP8266 microcontroller (80/160Mhz 32bit Tensilica Xtensa CPU and 4/16mb RAM)
  • WiFi connection for multiplayer, communications, telemetry transmission and “over the air” updates
  • OLED 128х64 bw display or/and TFT 128х128 color display
  • 6 buttons with optional MAX6818 hardware debouncing
  • MCP23017 i2c driven gpio extender with 8 free pins on the extension slot
  • RGB WS2812B smart led with data pin for leds array on the extension slot
  • High quality transistor driven speaker
  • 20pin extension slot for sensors and actuators (DC, i2c, UART, SPI, analogue A0 gpio, 8 gpios of MCP23017, leds line pin)
  • Arduino IDE compatible with almost all its libraries
  • Additional development using Scratch, C++, LUA, Pithon, JavaScript, Basic, Lisp
  • Professional SDKs like RTOS, Espressif, GCC and IDEs: PlatformIO, Visual Studio, Iar, Keil, Eclipse, etc.

Espressolite ESPert library porting complete.
Arduboy2 library porting is on the way.
Online mass player tactical strategy in development, simple browser and messenger as a future plans )

On Hackaday:

Demo videos:

Early prototype:

4 Likes

How is developing for this platform? Should Arduboy just be based on the ESP8266?

I don’t have any experience with an actual ESP8266, but from what little research I’ve done it seems like it would be more difficult for beginners.

Aparently the code doesn’t use a main loop,
but it’s not like Arduino’s setup and loop either,
instead it uses an event driven model:

static void ICACHE_FLASH_ATTR procTask(os_event_t *events)
{
    system_os_post(procTaskPrio, 0, 0 );
    printf( "Idle Task\n" );
}

void user_init(void)
{
    system_os_task(procTask, procTaskPrio, procTaskQueue, procTaskQueueLen);
    system_os_post(procTaskPrio, 0, 0 );
}

The main reason people like ESP8266 is because it’s a really cheap wifi-capable chip.
Here’s a sparkfun page for an ESP8266 board:


That’s cheaper than any of the ATmega32u4 boards I could find.
That’s why it’s popular for homemade boards.

I don’t think many people would want this.
The ESP8266 is ridiculously more powerful than an Arduboy,
and by that point you might as well be writing games for a phone (or that chinese emulator thing I can’t remember the name of).

(Of course, I’m going by the spec, in practise it might actually be a bit slower than expected depending on how good the instruction set is. I’d expect it to be more powerful than most basic Cortex boards though.)

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

It’s possible to use Arduino IDE its classic way with “setup” and “loop” and almost all Arduino libs are also works fine, so no difference for beginners ) Just add ESP8266 board to the list of boards https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/

easy WiFi connection is usable for multiplayer games, IoT telemetry transmission, chats…
ESP8266 have OTA (over the air firmware and code update) so theoretically it’s possible to do online app store for easy app downloading directly from device )
https://www.esp8266.com/wiki/doku.php?id=ota-over-the-air-esp8266
hope i can show the proof of concept soon

1 Like

It looks like it doesn’t have enough GPIO?

1 Like

That’s why i use MCP2317 gpio expansion chip.
It’s add 16 gpios i2c driven .

simple scheme:

full scheme:

PCB and actual size prototype ready.
IMG_4431

7 Likes

A Multiplayer pacman would be fun either that or some kind of pong game?

Yepp!
Multiplayer is always fun )
First i have to finish porting Arduboy2 and then i’ll continue with my turn based tactical game, something like good old rebelstar. Much work to do.
Hope i’ll have enough knowledge motivation and time )

If You’d Like/want any help don’t be afraid to ask

2 Likes

1 Like

Reminds me similar style construction to what I suppose became the Arduboy in the end. Arduboy pre-Alpha.

2 Likes

the idea is to keep it as DIY set as makerbuino. so this type of construction the simplest way to assemble it ) there are few plugin attachments already done for it (radio, meteostation, gpsnavigator and cell phone is in progress) and the browser making is also in progress for updating the firmware on the air. and the games are also on the way… there are a lot of ways for games: to use micropython game engine from deshipu, chip8 emulator and espLittleGameEngine from Igor (check hackaday.io for this), porting arduboy2 lib, or gamebuino meta lib and so on… lot of work to do )

Very cool! for how long can you use wifi in that tiny battery?

the battery is 600mah and runs all device much more than 2 hours with LCD, WiFi, TFT, on sometimes with LED blinking and sound… but i have to make more thorough time tests. Anyway it depends on CPU run freq (80/160Mhz), TFT backlit (it could be canged dinamicaly), using CPU sleep mode, sound, led, using WiFi (you can switch it off and only sometimes on) and other cercumstances…

ESPboy porting of Little Game Engine done
It’s not a PIKO8 but also interesting thing with few simple games ready, color 128х128.

Online ESP-LGE SDK, compiler, emulator: https://corax89.github.io/esp8266Game/index.html

Hackaday: https://hackaday.io/project/164205-esp-little-game-engine

Article: https://hackaday.com/2019/03/11/esp8266-gets-its-game-on-with-open-source-engine/

User Guide: https://corax89.github.io/esp8266Game/user_guide/index.html

Games sources to compile: https://github.com/corax89/game_engine_for_esp8266_with_compiler/tree/master/example

1 Like

ESPboy chip8/superchip emulator done with about 90 games

2 Likes

Looks very cool! :slight_smile: