October 23, 2009
-----------------------------------------------------------------------
The project is going to be called the Nilok Qube. It can still be changed but I sort of like it. Today (and yesterday, and the day before) I have been working on the bootloader for this. The bootloader is what allows you to update new code without a programmer. I used one by the company Diolan. It sucks. It was poorly written and there is little to no documentation. Luckily, I figured it all out (after learning ASM and extended op codes) and got it working. I officially ran my first USB demo today.
I am adding a new post to the
BLOG right now regarding the process, and within a week there will be a tutorial about how to use the Diolan bootloader at my website
www.nilok.ca under products.
Hope I helped some people out!
================================================== =====
Here's my idea. I am in the process of designing a circuit board for automotive control. A typical IO board but with a couple extra features and a slick form factor!
It will measure about
3" by 3" by 1/2". It will be a small black square created from
aluminum or ABS plastic. It will strongly resemble the sleek look of the Saleae Logic as seen here:
On one side, there will be a simple USB connection, 2 LEDs and a power connector.
On each of the other three sides, there will be 4 small 4-pin molex connectors.
Each one of those 4-pin connectors will have a power pin, a ground pin, and 2 IO pins. In the near future, sensor boards and relay boards will be available for sale. This system keeps the cost lower, and the function high!
The following features will be available for this device:
-
14 High Power outputs. These are powered off a separate driver chip and are capable of up to 500mA each. You can use these for normal outputs too, but they are most suitable for driving relays or solenoids or other large loads.
-
10 Input/Output/Analog pins. These can be switched through software to be a digital input, an analog input, or a digital output with low current. These would be ideal to measure your sensors or drive LEDs.
-
Hardware reset. This is useful if your computer crashes and you want to reset the USB device.
-
USB 2.0. The whole thing will run off simple USB commands and is very fast.
-
All port PWM. Any of the 24 ports can be configured to run in pulse width moderation mode. This is useful for controlling servos or LED brightness.
-
Special function inputs. There are several special functions hard-coded into the device. You chose an input pin and it's function through software, and it can perform differently. For example, there is functionality for latching I/O, toggling outputs based on inputs, rotary encoders, LCDs, IR decoder, etc. You can theoretically use this device to connect and LCD and a volume knob to your computer while still maintaining your high powered outputs or your analog inputs!
-
USB Bootloader. Upgrade the firmware via USB! Configure new special functions and updates as they become available.
-
EEPROM Storage. You can store and read values from the device's internal EEPROM memory simply and quickly. Since the device only uses a fraction to store information, you are free to read and write the rest!
-
Save State. The device can save the state of each input/output/analog set up so that next time it receives power it will keep the same configuration.
-
Auto Update. Configure a port to auto-update and every time that port changes, a report will be sent to the computer. This way your software interface is not overwhelmed with updates every 10ms like many other controllers! If nothing changes, no report is generated and your computer can run quicker and smoother without processing the extras.
-
Interrupts. Get notified the instant one of your inputs changes instead of polling!
-
Serial Interface. There will be an expansion interface using the onboard serial transceiver. With this interface, someone can create an addon board that receives all the messages that the device receives through USB, and it can transmit them to the device for a sort of remote control. The possibilities are endless with this! You can make it wireless, you can add expansion ports, anything you want!
The price for this unit is currently unknown. Since I am running this as low cost as possible, the first prototypes should be available for as little as
about $50. Keep in mind, this is just a guess and would not include the enclosure as they have yet to be made.
Would you be interested in purchasing such a device?
Do you have any new suggestions or requests for a device like this?
Please let me know!