Introducing MagicPoi Alpha

TLDR: Magic Poi Alpha is getting test circuit boards, new firmware which works with the new web service and development is being accelerated by AI. At the end I ask for money to fund the AI coding assistant – via my Patreon Account.

Major updates to the Magic Poi project:

HARDWARE:

  • ESP32 S3 chip
  • Buttons
  • 2020 size LED’s for more pixels
  • Lithium battery
  • Full housing re-design

FIRMWARE:

  • OTA programming
  • Dual Core with FreeRTOS background processes (downloading images won’t interfere with display)
  • Streaming from web functionality
  • Full integration with magicpoi web service API but works offline
  • Any number of LED’s supported
  • Timed events supported

Instagram video of magicpoi breadboard in action: https://www.instagram.com/reel/C-KaTrBOwb_/

WEB SERVICE:

  • Friends – share with friends (working on this now)
  • Products – currently legacy 36px, 72px and new 200px with more to be supported.
  • Image classification with AI on upload
  • Moved back-end data to PostgreSQL for scaling purposes
  • Actually complete re-write of the whole thing (old version online at http://magicpoi.circusscientist.com, new version to be hosted at https://magicpoi.com soon)
Adding friends to the new magicpoi.com alpha version

Development:

Firmware and Web Service are moving forward really fast now – recently I moved over to Cursor IDE, the AI based IDE that’s so easy to use my kid loves it: https://www.circusscientist.com/2024/09/05/my-10-year-old-son-made-an-android-game-with-no-coding-experience

There have been some challenges – recently I found out that the new ESP32 boards I bought aren’t even fully supported by PlatformIO – but I found a way to work around that.

Ultimately I want MagicPoi to work seamlessly. Add your friends on the web dashboard, create some timelines and push a button on your poi to sync everything up.

Hardware:

The first test board is coming out soon. The design is finished, using EasyEDA. We will be sending the board for production by JLPCB in the very near future – look out for an update.

After that it’s on to the poi body full re-design and finally Indigogo when you will be able to purchase the very first Magic Poi.

You can help!

If you want to be a part of MagicPoi development and the road to the Alpha production line, you can. I have started a Patreon to fund my AI dev tool and services addiction* as well as web hosting costs** – until we have something to sell that is. A few dollars per month from you would really help make this thing go faster. Also, anyone who signs up will get some exclusive discounts on the finished product.

*Go check out Cursor IDE and also the open source Aider they are so worth it.

**I’m spending $25 per month on hosting, $20 per month on AI coding tools and of course my friends over at EnterAction are putting up their own money to do the prototypes.

Feel free to reach out to me and don’t forget to subscribe to the magicpoi mailing list if you haven’t already.

UPDATES:

Sign up for our update alerts:

The deal with PlatformIO and ESP32 Arduino

I recently purchased a new board, the ESP32S3 Super Mini. That’s an S3 dual core version of ESP32 on a tiny yet powerful board.

The problem

The issue was that this board wasn’t working right – I had my code all set up (the new “Alpha” version of Magic Poi firmware – not published) and parts of it ran great for testing in Arduino IDE but as soon as I ported to PlatformIO it wasn’t compiling.

The real problem

It turns out that ESP32 S3 Super Mini and many newer ESP32 boards are simply not supported any more in PlatformIO. In fact, anything that relies on Espressif Arduino framework > version 4 is out of luck – as far as I can tell the owner of PlatformIO had a falling out with Espressif (business? personal? no reason at all?) and now they don’t support the new versions which work great on Arduino by the way (now version 6.something) Here is the issue on Espressif arduino-esp32 github: https://github.com/espressif/arduino-esp32/pull/8606#issuecomment-1805781410 for reference.

PlatformIO has their own version of arduino-esp32 called platform-espressif32. Here is a long discussion about the dropping of support on their github: https://github.com/platformio/platform-espressif32/issues/1225 for reference.

After reading more discussions on the PlatformIO github, Reddit and other places, I finally stumbled on this thread https://github.com/platformio/platform-espressif32/issues/1435 which contained:

The Solution

A very smart and intrepid PlatformIO user, Jason2866 made a fork of the PlatformIO Arduino Espressif base and put it here, with instructions on how to use it – and he updated it on his own to use the latest arduino-esp32. After some light editing and moving stuff around (including accidentally putting GND into +5v and vice versa – thank you Super Mini board for not blowing up) everything is now working. The Magic Poi project moves forward!

Magic Poi 2022 update

Current state of Magic Poi – and some ideas for the future.

First of all, an announcement: Magic Poi is now available for ESP32, as well as ESP8266 architecture. This will bring improvements in performance. I plan on continuing support for both, and in the near future a combined code base will be provided.

I am going to list current features here, and improvements I plan to implement.

On-board images:

  • I have partnered with EnterAction, an awesome Sydney based fabrication company who are taking over the hardware development from now on. Improvements will include an SD card add-on for limitless on-board storage. This will require changes to the code, as currently the maximum is 52 images supported.

UDP streaming:

  • this is a defining feature of Magic Poi. The images are generated off-device, and “streamed” via UDP pixel by pixel. I plan to keep improving this functionality but change it to not be the default mode. Due to WiFi interference the UDP stream is sometimes interrupted, making the LED’s stutter, so work is being done to mitigate that.

“Timeline” – images changing in time to music:

  • currently there is a desktop app to generate the timeline (and associated images) and save as a zip file, which needs to be uploaded to the Android app in order to be “streamed” to the poi. I plan on changing this functionality to rather happen in the poi code, thus avoiding the WiFi interference problem. The timeline editor will be made into a web app, with the option to download directly to the poi.

Station mode:

  • poi connected to a router provides more stable WiFi than the current AP mode. I have made a start on providing a way to use this mode.

Online account:

  • like a PlayStation or Kindle, there is a benefit to having a cloud aspect to any product that consumes media. The Magic Poi website is going to be a place where you can upload and share images and timelines, as well as interact with other poi owners. All uploaded images will be private of course, unless shared. I have made a start on this cloud aspect, with an option in testing to download images directly from your cloud account to the poi. The ultimate goal is to be able to sync any two pairs of poi with two clicks!

Android app:

  • Still not working: text to image (stream words directly to the poi).
  • Once the online portal is finished, this will be added to the app, so shared images and timelines can be viewed without need for a web browser.

The above is a small part of the list – thanks to EnterAction taking over the hardware development side, I will have more time to devote to the software improvements. We also plan on adding a battery level indicator, and a higher power battery for more play time.

Thanks for reading!

Keep an eye on this blog, and sign up to the newsletter (if you haven’t already) for more updates as Magic Poi moves forward towards it’s inevitable crowd funder launch!

UPDATES:

Sign up for our update alerts: