Smart Poi

Using the SmartPoi WebApp

Hello fellow SmartPoi users.

As you may know I am a professional circus performer and during the holidays I get very busy with shows. Just pointing this out in case you wonder why you don’t see any development on the project in December and January (January is holiday time for me after much hard work).

I made a quick video demonstrating the Desktop WebApp to upload images – see it here:

I might do another showing the Android app at some point, although it’s basically the same JavaScript in a web container.

And finally here is a happy holidays present – lots of 100px poi images I scraped from the Visual Poi site http://circusscientist.com/Pics_100px_5000.zip– all credits to their respective authors, originals are from https://visualpoi.zone/

Enjoy! And see you next year for the continuation of improving SmartPoi and building Magic Poi for affordable DIY POV spinning.

Best wishes

Tom

Setting up Smart Poi

Just follow the steps.

1. Go to smartpoifirmware.circusscientist.com

2. download (after changing values) – downloads a file blink.zip

3. extract blink.zip

4. open extracted main.ino in Arduino ide (I am using 1.8.19

5. Settings for Arduino:

6. Upload ->

7. Tools -> ESP8266 LittleFS Data Upload

(Don’t have the ESP8266 LittleFS Data Uploader intalled yet? Follow this tuturial to install it – on Arduino 1.8.x)

8. Open Serial Ouput in Arduino IDE (Tools -> Serial Monitor)

9. Press Reset button on D1 Mini

10. It should say “Started, some stuff about files a.bin etc, Changed to image 1 Pattern 1..”

11. Open WiFi settings (I am using Linux, Windows should be similar?) and look for AP

12. Connect to AP (Default name is Smart_Poi7)

13. Once connected to Smart_Poi_7, open the browser (tested on FireFox and Chrome)

14. In Firefox open a new tab – you should see this: 

Clicking on “Open Network Login page” takes you to the built-in controls. 

In Chrome you have to manually type in the Main poi IP address, In Chrome it looks like this:

This is just a basic web page which is on the poi already.

15. Test the built-in control page by changing the Pattern to 2. The Serial output should reflect this..

pattern change requested: 2
Changed to image: 0 Pattern: 2

16. Now you are ready to try the smartpoi-js-utilities or Android app. https://www.circusscientist.com/smartpoi-8-0-software/

If you got this far it really should work!

Try and try again

The verdict after having the new MagicPoi test board for two weeks:

We learned a lot from our first test board!

What worked

  • ESP32 breakout.
  • Power circuit
  • Charging
  • APA102 strip breakout
  • WiFi connection to server (code)
  • POV (yes the poi images look good!)

What needs work

  • Buttons (we got the wrong component)
  • Small routing error, needed soldering, quick fix
  • Charger (inside the poi, outside?)

what’s next?

  • Fix the problems we found and add LED’s!
  • Maybe we do one at a time, 2 more prototypes?

Progress on the server

Just a bit of UI improvements, slow progress! Many thanks to my Patreon Supporters, who now have access to the new test server to try it out. Join them here!

Magic Poi first test board arrived!

Good news, the Magic Poi “Alpha” first test board arrived at the EnterAction factory! We are currently testing it with an LED strip and have already found some areas we can improve on.

The next version will address the issues we encounter here, then there will be another version which adds embedded LED’s (the “full” version) and so on, refining and testing as we go.

Thanks to my supporters on Patreon, I have made some strides in the online part of the software, deploying the first version. This is not publicly available yet – my upgrade to PostgreSQL didn’t go as planned in production (it “works on my laptop” though) so there is a lot to do to make it usable.

If you haven’t already, come support the work on Patreon (funds go towards virtual server costs and AI development assistance). Once we start selling Magic Poi the project will hopefully fund itself but until then, every dollar counts!

More SmartPoi news

In other news, I added a page for “The History of SmartPoi“, as well as instructions for making the charger and installing software (firmware and web/Android controls)

UPDATES:

Sign up for our update alerts:

MagicPoi is going online soon

The magicpoi.com website I set up was fun but it was only ever a placeholder for the real thing – a place where people can share poi images for instant deployment on their MagicPoi hardware.

Now the time has almost arrived to switch it over. Right now, thanks to my Patreon supporters I am in the process of setting up a brand new server – with the latest Ubuntu Server OS. This will be the base of many things, which I need to port over from the old one (currently 2020 version).

Things which I host on my “Experimental Server” include: LED Website Indicator, Monkey Detector api, AI Website Generation, LED Juggling simulator, the old test MagicPoi site, and a lot more. Soon the main magicpoi.com will live here too, with improved specs so hopefully it can handle the cool stuff it’s going to be doing (like image classification on upload and streaming direct to the poi).

Look out for updates on the blog – my Patreon supporters will hear about it first, though. Did you know you can support someone on Patreon without paying anything? “Free supporter” is a thing – check it out: come support me on patreon!

Don’t forget to yield

I had a fun few hours last week troubleshooting my “finished” SmartPoi firmware – which somehow decided to not do the one thing it really needs to do, connect to WiFi.

Turns out that in an effort to make everything more efficient I removed all of the delay() statements and gave the WiFi part of the microcontroller software no time to execute!

A simple yield(); in the main FastLED display loop sending image data to the LED’s solved the problem. So remember, don’t forget to yield.

Wireless Streaming to your phone from LibreElec Kodi

  1. Install the Snapcast Server addon from Kodi addons and enable it.
  2. Install the Snapcast Client app (find it in the in F-Droid store, search for “snapcast”).
  3. Later versions of LibreElec have PulseAudio disabled – but it’s needed by Snapcast, so you have to force enable PulseAudio (Link) for it to work.
  4. Select Snapcast audio in Settings -> System -> Audio
  5. When playing video sound over WiFi you have to put the audio offset to +1 second (+1000) then it syncs up.

SmartPoi and Magic Poi updates again

Just a quick note about some updates – some done and some to come.

I really like the SmartPoi Downloader idea, so I am going to be upgrading this to include downloads of the Smartpoi-js-utilities and associated Android app as well as automatically updating the data folder with the right size compressed images (currently they are 72px by default). Soon it will be a one-click affair to get up and running with Smart Poi!

Speaking of Smartpoi-js-utilities, I am making this more user-friendly, now the number of pixels is fetched from the poi you are connected to. I also added some UI updates, check out the github for changes, more to come soon (give it a star while you are there, why not?). Please make sure to get the latest SmartPoi firmware at the same time – from github or the new SmartPoi Downloader webapp (you can tell I like it because it’s got https).

Magic Poi has a new feature – Timelines! I went a bit overboard with the css – check out the video below:

Obligatory plug of my patreon:

Support me on patreon

SmartPoi AI Podcast Episode 1

The Overview episode:

This episode was generated by AI!

How To:

I used Google NotebookLM for this, and uploaded all of my blog posts and web pages relating to the SmartPoi and Magic Poi projects. Check out this link to learn more (it’s free and really easy to do) https://www.forbes.com/sites/rogerdooley/2024/10/04/how-to-create-an-ai-podcast-about-anything-in-seconds-with-notebooklm/

Is it any good?

Well.. It kind of mixed everything up and confused some things but that is possibly not helped by the input. I did like the format, though, and I’m used to robot voices – check out the hacker news recap for a great example.

Also, who doesn’t like flattery? These guys went on for +10 mins about how cool my project is!

SmartPoi Firmware Downloader – made with AI

I made a Flask app from scratch using Aider – the AI coding assistant – and FREE LLM’s.

This is for the SmartPoi Arduino Firmware project – POV Poi, now easier than ever to use, just add your details in and download the custom Arduino sketch.

If you don’t have a big budget to pay for ChatGPT or Claude access it turns out AI coding for free is surprisingly effective. I generate a Flask app from scratch – all the way to deployment – using only free models. I also briefly compare some of the best free ones.

YouTube video of the Aider developent process:

Aider with FREE LLM’s

Some notes:

  • The free LLM’s are rate limited, on OpenRouter at least – so they take longer to load, and do make mistakes sometimes.
  • Claude 3.5 Sonnet is apparently the best?
  • Thinking of trying Aider for yourself? Check out IndyDevDan on YouTube first: https://www.youtube.com/watch?v=QlUt06XLbJE – here he explains the “advanced AI workflow” nicely.
  • Thanks to my new Patreon supporter Flavio I will be trying the paid version on the SmartPoi and MagicPoi code bases very soon

Links:

Support me on Patreon: https://www.patreon.com/CircusScientist

Aider open source code assistant: https://aider.chat/

OpenRouter – link your LLM’s: https://openrouter.ai/

SmartPoi project info: smart poi project page

SmartPoi Downloader app: https://smartpoifirmware.circusscientist.com

SmartPoi Downloader code (with LLM comparison): https://github.com/tomjuggler/SmartPoi-Downloader

Note: While recording I forgot the name of the best paid LLM for coding: Anthropic’s Claude 3.5 as of record date. Join my patreon to help pay for my AI addiction and subscribe to the channel for more video’s!

UPDATE:

I am getting the best results lately from aider –model gemini/gemini-1.5-pro-exp-0827 – currently free with sign-up to google.

AIDER LEADERBOARD (best performing models)