My suggestion is the LowCost approach which would take around the same amount of that expected time, just doing. The tasks really aren't that hard and the community got me up and running with a bit of hair pulling (oops no pun intended) on my end:
Espruino Build issues using README_BuildProcess.md and Extending+Espruino+1 within Windows10 environment
Specifically see @AkosLukacs #8 post, link found in the very first link #comment14873557 in post #1 of the thread above, for specific instructions on setting up environment.
Take a peek under the hood, kick the tires and take 'er for a spin, which should provide a good overview, if not would generate some well formed questions to reduce your development costs. With your Java background, C shouldn't be that much of a struggle. (I had C/C++/C# background before Java)
Should you be on the FastTrack expectation however, I'm sure others will respond.
thanks @Robin I appreciate the response, though it's mostly focused on being able to build Espruino on WSL, which doesn't apply to me, because:
a) I use Ubuntu on my desktops, laptops, and servers, and
My budget is $1,000 for the first few lessons....
Just a quick note: Gordon (the creator of Espruino) works on Linux, builds are running on Linux, build docs were primarily written for Linux as well. What works in WSL should work in Linux, because WSL is "just" MS's attempt at creating a linux command line on windows.
npm init -y
Similarly in the case of Java you have Maven and Gradle.
so, in both cases very easy to get a project going.
Now let's look at embedded C/C++, no standard way of getting started, tons of cryptic makefiles, no standard way of packaging and including libraries, lot's of magical incantations.
Java was like that 15 years ago with Ant files.
So, for someone looking to get started, it's not a pretty sight, let's just say.
Take a closer look at this:
another example how to build extensions is here
There are some unusual args used for make
@David, you obviously have been around for a while. Concepts like the 'old' / first PCs apply, such as the Commodore PET system: nothing of the kind of what you have today, just a bare naked, standalone Language Interpreter, that also includes all - commands and libs - what the app needs to control the system. Of course, the firmware - the Espruino Interpreter and HW platform libs - build system is modern, but your app and debugging of it is not part of that.
Many of the things in Espruino - Espruino's uniqueness - throw you a loop, because it just behaves differently than main stream, last but not least due to the goals set in the very beginning: very easy to get going - though without 'kiss' - and to be frugal when it comes to resources and power.
In addition to the links provided by JumJum, I have found the following to be exceptionally useful while building custom extensions for Espruino on the ESP32.
JSON Extension Format:
Thanks @allObjects, yes I have been around, first device I programmed was the HP65, which was essentially assembly.
Hi! Sorry for the delay!
For me, that's quite a bit under what I'd usually charge per hour, but hopefully someone else will be able to help out if you do still need that amount of assistance.
Given what's been posted here so far I'd hope that you would be able to get up and running pretty quick though. Being a Linux user will really help you out.
I noticed you've supported Espruino on Patreon - thanks! If you're hitting any specific problems just give me a ping on the Patreon Slack channel and I can see what I can do to help out though - if I can get you out of a hole with a few minutes work I'm more than happy to do that.
adding this link to the list of interesting esp32-related stuff (once I've figured this out, I'll compile a proper document, just using this thread as a placeholder):
Just a note: The official Espruino firmware is build using Github Actions, and this would be the best option to build custom firmware, too.
That's a good thought! Is there a nice way of getting the files out of it? For builds on the main repo I do a push to our server, but that could be more of a pain to set up for someone else
Specifically, help getting familiar with deploying Espruino on ESP32 and creating custom firmware.
Budget: $50/hr x 10-20 hours of mentoring.