Forever toolmaking?

In the same line as the thread about work desks etc ...

How much time do you spend trying to figure out how to make hardware tools that are supposed to "make life easier"?

I have so far finished only one actual project, controlling lights in a christmas decoration, but already I've created a dedicated "programmer" (nano with the ArduinoISP sketch) with three leds and ISCP header, to execute the "ArduinoISP" sketch, and act as hardware programmer for avrdude from Atmel Studio.

Of course I haven't been using Atmel Studio much after the initial testing, but in time I may switch to it. So its a nice gadget to have, right?

Now I'm contemplating a Monitor to display realtime debug information on a 20x4 LCD, as well as routing certain data to LED's, to be used across different projects.

It seems like a thing that would make debugging SO MUCH EASIER :slight_smile:

Anyone recognize the urge to make "tools"?

I just use the Arduino IDE, it has been more than adequate.
You can make a few simple tools to help in quick fabrication of prototyping.


.

How much time do you spend trying to figure out how to make hardware tools that are supposed to "make life easier"?

Not much...

Years ago, I stuck a couple of LEDs on probe (one for each direction) with a clip on the other end to test for voltages or data-state. It's a handy thing to have when I don't want to bother with a meter. I've also got a little AC voltage tester with a neon light in it, but I bought that.

I also put a couple of alligator clips on one end of a phone cord so I can use a regular phone as a phone-line tester.

I've also made various adapter cables. One that comes to mind is for checking the battery voltage in a car. I has a cigarette lighter plug on one end and banana plugs for the meter on the other end.

But, most of the adapters & adapter cables I have are purchased. I have a ship-load of audio adapter cables, a selection of USB adapters and DB9 & DB25 serial connectors.

And, sometimes I make temporary test setups for whatever I'm building. For example, I've made a few sound-activated lighting effects and sometimes I start with some regular-little LEDs for testing/developing the software. If there's a sensor, I might use a switch (or pot) to simulate the sensor.

Now I'm contemplating a Monitor to display realtime debug information on a 20x4 LCD, as well as routing certain data to LED's, to be used across different projects.

I just use the Serial Monitor. :wink:

I just use the Arduino IDE, it has been more than adequate.

I agree! The coolest thing about the Arduino is that the Arduino itself a complete hardware/software development system.

Anyone recognize the urge to make "tools"?

For many years, when people asked "What Do You Do?" I answered, "I'm a Tool Designer". That means I design (and sometime make) things that other people use to do their job.

In the beginning, those were things like:

  • Disk Jockey Studios ( Human Factors: You should be able to reach out and control everything you need and almost be able to do it in the dark).

  • Recording Studios

  • NewsRooms (And design the rest of the building so that when the newsperson runs put of the newsroom 42 seconds before the 6PM Newscast in another studio, no one gets hurt or killed).

  • Automatic Broadcast Transmitter control and logging systems (So people don't have to spend time every 1/2 hour writing down transmitter readings)..

... and then Computers attacked me ...

  • Automated Measurement Tools that measured thickness of films and sub-micron positions on semiconductor wafers.

  • Semiconductor Testers that automatically probed 100 chips on a wafer.

  • Special Computer Languages that Engineers used to write their own tests of semiconductor chips.

... and closer to home ...

  • Vehicles - that my children and grandchildren have used to travel to islands in Lake Champlain, and drive around the yard at age 6+.

*** I'm glad you made me think about this again!

One of the best things about all this is that it's so human-centered. Feedback about what is NOT good about a tool is really fascinating. Like:

  • The new digital clock on the console in the disk jockey studio is "OK for looking at it and saying, 'It's Ten Forty-Two'. But it sucks for giving me a visual perspective of where I am in the next 15 minute segment and how I'm fitting in songs, commercials and the weather forecast." SOLUTION: BOTH types of clocks.

  • Watching a person who doesn't know who I am, writing code in a language I designed. "How's It Going?" "Umm. OK pretty much. I don't get how to set different timing with the same test pattern as the first part, though..".. (OK, let's see if we can make that easier"..)

  • "Grandpa, there's no speed control any more. It just goes fast on, or Stop".. (Grrr.. I THOUGHT I understood power NFETs and suppression diodes..)


But it's a fantastic trip, and I will sincerely regret when it ends...

Me too, I'm seeing what I need to start as soon as possible. I have just bought a self contained WiFi ESP8266 arduino shield type D1 I want an IoT local network at lowest possible cost partly as an intruder alarm system and one that is impervious to all the normal false triggers like thunder and lightning or sonic booms or sunlight. Not too difficult but already light years ahead of anything commercially available. Now that's progress! As for tools: always a proven working module that can indicate the components of a structured message are being transmitted so that the fault can be rapidly targeted with all subsequent constructions. Leds are all that is required but adding a timebase or sequence indicator may also become necessary depending on the work being carried out? Purely hypothetical for example only.

I would at this time like to design an open source SMD component placement machine to automate the production of circuit boards. This as a repurposing of a 3D printer engine which i have spare together with 1/128 stapper drivers I think the positional accuracy and speed are now up there with a feesible placement design as an affordible distributed manufacturing model - for anybody that would like to see that as a reality to make the IoT the new local economy before the Giants move in with their fossil fuel guzzling low-low cant beat us approach to sealed technology?

arclite_7:
I would at this time like to design an open source SMD component placement machine to automate the production of circuit boards. This as a repurposing of a 3D printer engine which i have spare together with 1/128 stapper drivers I think the positional accuracy and speed are now up there with a feesible placement design as an affordible distributed manufacturing model - for anybody that would like to see that as a reality to make the IoT the new local economy before the Giants move in with their fossil fuel guzzling low-low cant beat us approach to sealed technology?

@arclite_7, you are tail ending technical threads with general pronouncements and proposals that have little relation to the questions or needs of the original poster. It's not that your ideas are unworthy, it's just that they are misdirected. The ideas that are associate with this IoT theme of yours may fit in better in the "gigs and collaborations" section of this site if you are trying to organize a group effort. Failing that, if you want assistance with them, you should start a thread for each one individually, and specify what help you need with it. If you complete a project, you can talk about it in the showcase forum.

Here's another example: 433mhz vs 2.4ghz vs Bluetooth - Project Guidance - Arduino Forum

I have a few LEDs with one leg extended by a piece of wire and the other extended with a resistor. Then it is super easy to get a BLINK program working.

...R

terryking228:
For many years, when people asked "What Do You Do?" I answered, "I'm a Tool Designer". That means I design (and sometime make) things that other people use to do their job.

[...]

  • NewsRooms (And design the rest of the building so that when the newsperson runs put of the newsroom 42 seconds before the 6PM Newscast in another studio, no one gets hurt or killed).

[...]

*** I'm glad you made me think about this again!

  • Watching a person who doesn't know who I am, writing code in a language I designed. "How's It Going?" "Umm. OK pretty much. I don't get how to set different timing with the same test pattern as the first part, though..".. (OK, let's see if we can make that easier"..)

[...]

But it's a fantastic trip, and I will sincerely regret when it ends...

Heh, sounds great!

You clearly come from the hardware side of things, whereas I come from the software side.

I also consider myself a tool maker, even in my job, as I have designed and written a web application framework, with its own internal language, merging the otherwise deep split between application logic and rendering engines. It's been used for all web applications at the company where I work, until someone thought, hey, let's use something standard. Not 'cause its better, but because its what other people do. So my custom framework is being phased out, but still delivers for some of our major customers. I also wrote a custom layout language for PDF layout years ago.

For me tools have a special place, corresponding to my programming philosophy, which has always been: embed the complicated stuff, so you only have to do it once, and preferrably can focus on the stuff that matters. This is so simple a lesson you'd think every programmer would know it, but you'd be wrong. Most people working with programming are not programmers at heart. They just run through the hoops, and are deeply surprised every time the quality of the finished project sucks. Thinking is the major skill in this type of work, and thinking is obviously not just hard, it's considered irrelevant by many.

[/rant]

Compilers and parsers have been a major interest for me, but now I've discovered something even cooler: controlling hardware! I long considered electronics "black magic", but the Arduino has changed that. More like "grey magic" now.

And so I've started thinking about programming and debugging tools for hardware. As with everything else, it's not as if nobody has thought of this before, but I find joy in pondering these things.

LarryD:
I just use the Arduino IDE, it has been more than adequate.
You can make a few simple tools to help in quick fabrication of prototyping.


.

Yeah, I saw a picture of your setup somewhere else, and it looks great. Was thinking about something simpler, like a way of replacing all those Serial.println(), since Serial is slow, and sends way too much data.

arclite_7:
I would at this time like to design an open source SMD component placement machine to automate the production of circuit boards. This as a repurposing of a 3D printer engine which i have spare together with 1/128 stapper drivers I think the positional accuracy and speed are now up there with a feesible placement design as an affordible distributed manufacturing model - for anybody that would like to see that as a reality to make the IoT the new local economy before the Giants move in with their fossil fuel guzzling low-low cant beat us approach to sealed technology?

Really?

Saving the environment with "1/128 stapper drivers"? And freeing us from big capitalism at the same time?

:smiley:

arclite_7:
As for tools: always a proven working module that can indicate the components of a structured message are being transmitted so that the fault can be rapidly targeted with all subsequent constructions. Leds are all that is required but adding a timebase or sequence indicator may also become necessary depending on the work being carried out? Purely hypothetical for example only.

This is the kind of theorethical thinking that I like, thinking a bit outside the regular box. :slight_smile:

Debugging with Serial.println() quicklu overwhelms you with irrelevant data, and in the process spending far too much realtime sending all those bytes. My idea so far is to build a "monitor" device that receives custom data via some protocol, and has buttons to select which ones to display simultaneously on a 20x4 LCD screen (organized as pages), plus some LED's that are connected to special "real-time on/off" events at the system.

The main idea is that the code for doing the logging, inside the application, remains in place forever, so that one can debug a live system, should it suddenly start acting strangely.

Rupert909:
This is the kind of theorethical thinking that I like, thinking a bit outside the regular box. :slight_smile:

Debugging with Serial.println() quicklu overwhelms you with irrelevant data, and in the process spending far too much realtime sending all those bytes. My idea so far is to build a "monitor" device that receives custom data via some protocol, and has buttons to select which ones to display simultaneously on a 20x4 LCD screen (organized as pages), plus some LED's that are connected to special "real-time on/off" events at the system.

The main idea is that the code for doing the logging, inside the application, remains in place forever, so that one can debug a live system, should it suddenly start acting strangely.

sending out a spi data stream to a second Arduino that decodes it and displays the data ?

Does this need to move to Bar Sport ?

...R

dave-in-nj:
sending out a spi data stream to a second Arduino that decodes it and displays the data ?

Yup something like that.

I'd prefer i2c as there is no overhead adding a device when a system already operates an i2c bus, but addressing is an issue, plus the fact that the device will need the i2c bus for talking to the LCD. Possibly a slower soft-i2c could be used, to isolate the LCD from the application i2c-bus.

The SPI library doesn't support slave mode, but I guess it's just about setting the registers. From what I've seen from the code, the SPI library is quite thin paint over the SPI hardware registers.

And finally, serial RX/TX is already in use for Arduino.

Probably SPI is the best candidate. At least its fast.