1. Development Schedule
Still, it is still in development. To give an understanding, what is still missing and what we are planning to implement in which order, a short incomplete development schedule is listed below:
2. Access your neonious one
If any of this does not work, please try:
Reset network settings / Factory reset
If you did a mistake while setting your network settings, you might no longer be able to connect to your neonious one. You may then reset the network settings to factory default, which allows you to access your neonious one via the factory access point.
To do a complete factory reset, do hold the the User button for at least 10 seconds. The right LED will start flashing then. When it is done flashing, all your data will be erased and you will be able to login into a clean neonious one.
Finding your neonious one in an DHCP-enabled network
When connecting to an DHCP-enabled network, your neonious one might get a random IP address and you might have difficulties to determine it. If your board has Internet access in this new network and you did not disable the tracking feature in the IDE settings, you can determine the board's IP address via the Find My Neonious feature:
If the website does not report the Internet address of your board, you might have entered wrong network credentials.
3. Features of the neonious one IDE
The on-board browser IDE of the neonious one is the primary way to set up and program the neonious one.
An alternative is to use lowrmt, a tool to program the neonious one and other low.js for ESP32 based devices with external IDEs. Allows the user to sync directories to the device, change settings, start/stop programs and more.
To access the IDE, point your browser to http://192.168.0.1:8000/ or https://192.168.0.1:8443/ if using factory settings. All current versions of the modern browsers are supported.
File Explorer and Editor
The neonious one has it's own file system which you can browse through using the IDE. You can upload and download files and folders. Double-clicking files open them in the IDE.
Image files may only be viewed.
Start/Stop Program / Console output
The output of process.stdout, console.log and the other console methods is shown in the Output pane. This pane can also be cleared by clicking on the corresponding button in the pane.
DebuggerWhen the program runs, the program can be paused through an unhandled exception, with a breakpoint (set by click on the very left of a code line), or by clicking the Pause button in the toolbar When the program is paused, the debugger may be used and the program can be resumed by clicking the Continue button in the toolbar, if it was not paused by an unhandled exception, in which case it can only be stopped.
Whenever the program is paused, the debugger shows all user functions of the current call stack to the current execution point in the Call Stack pane. You can click on each of them to open the corresponding file in the IDE and view the locals in the Locals pane.
The current usage of CPU in %, network bandwidth, program memory and Flash disk space is shown in a graph updated in real-time. The higher the line, the more of the resource is used.
You can view and change the system settings of the neonious one in the IDE. For this, log in, then go to the Settings by clicking on the icon at the top right of your browser window.
Things you can change include:
The neonious one software is a moving target. There will be software updates which make your neonious one far more powerful then it is today.
Software Updates are installable right from the IDE. When your neonious one has Internet access and a software update is available a download button will flash in the top right corner of your browser window after logging in to the IDE.
For this to work neonious one needs Internet access. So this does not work as long as your neonious one provides its own access point.
4. Programming the neonious one
neonious one runs low.js, a port of Node.JS for low-priced low-powered microcontrollers such as the ESP32. Please refer to the low.js documentation for more information.
The modules to use the neonious one's peripherials are also documented in the low.js documentation.
Pins 24-27 are provided directly by the ESP32, pins 1-23 are provided by the LPC822-based I/O controller. As both the ESP32 and the LPC822 have a switch matrix implemented, you can freely choose the pins you wish to use.
Note: UART and SPI both are currently slow as the data is transferred via UART from the ESP32 to the LPC822. A high speed mode will be implemented in a software update very soon, allowing you to use 10 Mhz+ SPI.
Currently not yet supported, but planned and thus shown in the image: UART on pins 24-27, Touch, I2C, I2S.
All pins support 3 mA and 3,3 V.
Pins 4 and 5 can only be driven low, thus need an external pull-up to be driven high. On the upside however, pin 4 and 5 support 20 mA and 5 V. As the pins support 5 V, with an external pull-up resistor you can directly communicate with 5 V devices via I2C or SPI. As 20 mA current is supported, you can also drive standard LEDs without using an transistor.
You can find example projects here: github.com/neonious/neonone_examples